| 228 | [=#VN10] |
| 229 | == VN10 LAN7430 EEPROM OTP not programmed |
| 230 | |
| 231 | Issue: |
| 232 | * A small number of GW7200-G and GW7201-G shipped between 2024-07-17 and 2024-09-16 did not have the LAN7430 (eth1 PCIe GbE controller) EEPROM programmed on the Gateworks test fixture. This causes the RJ45 LED's on eth1 to not be configured properly (will never illuminate) but otherwise the network device is fully functional. |
| 233 | |
| 234 | Resolution: |
| 235 | * You can manually program the LAN7430 EEPROM to correct this using ethtool which is on the default Ubuntu based firmware image by executing (can cut-and-paste) the following: |
| 236 | {{{#!bash |
| 237 | DEV=eth1 |
| 238 | ethtool --eeprom-dump eth1 offset 0 length 1 | tail -1 | grep f3 && echo "already programmed" && exit |
| 239 | |
| 240 | M1=$(hexdump -C /sys/devices/platform/soc@0/30800000.bus/30a30000.i2c/i2c-1/1-0052/eeprom | head -1 | cut -d" " -f8) |
| 241 | M2=$(hexdump -C /sys/devices/platform/soc@0/30800000.bus/30a30000.i2c/i2c-1/1-0052/eeprom | head -1 | cut -d" " -f7) |
| 242 | M3=$(hexdump -C /sys/devices/platform/soc@0/30800000.bus/30a30000.i2c/i2c-1/1-0052/eeprom | head -1 | cut -d" " -f6) |
| 243 | M4=$(hexdump -C /sys/devices/platform/soc@0/30800000.bus/30a30000.i2c/i2c-1/1-0052/eeprom | head -1 | cut -d" " -f5) |
| 244 | M5=$(hexdump -C /sys/devices/platform/soc@0/30800000.bus/30a30000.i2c/i2c-1/1-0052/eeprom | head -1 | cut -d" " -f4) |
| 245 | M6=$(hexdump -C /sys/devices/platform/soc@0/30800000.bus/30a30000.i2c/i2c-1/1-0052/eeprom | head -1 | cut -d" " -f3) |
| 246 | ethtool --set-priv-flags $DEV OTP_ACCESS on |
| 247 | ethtool --eeprom-dump $DEV # dump eeprom like hexdump |
| 248 | ethtool --eeprom-dump $DEV raw on > eeprom-backup.bin |
| 249 | ethtool --change-eeprom $DEV magic 0x74f3 offset 0x00 length 1 value 0xf3 # OTP Programmed indicator |
| 250 | ethtool --change-eeprom $DEV magic 0x74f3 offset 0x01 length 1 value 0x$M1 |
| 251 | ethtool --change-eeprom $DEV magic 0x74f3 offset 0x02 length 1 value 0x$M2 |
| 252 | ethtool --change-eeprom $DEV magic 0x74f3 offset 0x03 length 1 value 0x$M3 |
| 253 | ethtool --change-eeprom $DEV magic 0x74f3 offset 0x04 length 1 value 0x$M4 |
| 254 | ethtool --change-eeprom $DEV magic 0x74f3 offset 0x05 length 1 value 0x$M5 |
| 255 | ethtool --change-eeprom $DEV magic 0x74f3 offset 0x06 length 1 value 0x$M6 |
| 256 | ethtool --change-eeprom $DEV magic 0x74f3 offset 0x07 length 1 value 0x03 # PCIe Configuration Enables: 0x00140003 |
| 257 | ethtool --change-eeprom $DEV magic 0x74f3 offset 0x09 length 1 value 0x14 # |
| 258 | ethtool --change-eeprom $DEV magic 0x74f3 offset 0x0b length 1 value 0x55 # VID:0x1055 |
| 259 | ethtool --change-eeprom $DEV magic 0x74f3 offset 0x0c length 1 value 0x10 # |
| 260 | ethtool --change-eeprom $DEV magic 0x74f3 offset 0x0d length 1 value 0x30 # PID:0x7430 |
| 261 | ethtool --change-eeprom $DEV magic 0x74f3 offset 0x0e length 1 value 0x74 # |
| 262 | ethtool --change-eeprom $DEV magic 0x74f3 offset 0x15 length 1 value 0x05 # PCI-PM/ASPM L1.2 supported |
| 263 | ethtool --change-eeprom $DEV magic 0x74f3 offset 0x1b length 1 value 0xb8 # MAC Configuration Values: ASC/ADD/ADP/EEEEN |
| 264 | ethtool --change-eeprom $DEV magic 0x74f3 offset 0x1d length 1 value 0x33 # enable LED0/LED1 and invert polarity |
| 265 | ethtool --change-eeprom $DEV magic 0x74f3 offset 0x1f length 1 value 0x10 # CSR 0x18[7:0]; LED1 Link1000, LED0 Link |
| 266 | ethtool --change-eeprom $DEV magic 0x74f3 offset 0x20 length 1 value 0x44 # CSR 0x1c[15:8]; LED Activity Output select, 5Hz blink rate / 200 ms pulse-stretch |
| 267 | ethtool --change-eeprom $DEV magic 0x74f3 offset 0x21 length 1 value 0x02 # CSR 0x1c[7:0]; LED0 blink/combo enable; LED1 blink/combo disable |
| 268 | }}} |
| 269 | |
| 270 | Affected Products: |
| 271 | * The following baseboards are affected (provide Gateworks with the serial number of your board to inquire if this is an issue on your product) |
| 272 | - GW7200-G and GW7201-G shipped between 2024-07-17 and 2024-09-16 |
| 273 | |