Hi Jakub, That commit was for "ethtool -e" and not "ethtool -m".
There was some firmware support required to implement "ethtool -m" missing in original X722 NVM images that, ttbomk, still was not present in early 2019. My situation is similar to Todd's -- we know a request to add this support has been submitted, but are not clear if it has been approved, completed, or shipped yet. - Don > -----Original Message----- > From: Jakub Jankowski [mailto:sha...@toxcorp.com] > Sent: Wednesday, August 28, 2019 12:18 AM > To: Fujinaka, Todd <todd.fujin...@intel.com>; e1000- > de...@lists.sourceforge.net > Cc: net...@vger.kernel.org; mhems...@open-systems.com; Yang, Lihong > <lihong.y...@intel.com> > Subject: Re: [E1000-devel] SFP+ EEPROM readouts fail on X722 (ethtool -m: > Invalid argument) > > This commit suggests that it should be possible: > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/ > ?id=c271dd6c391b535226cf1a81aaad9f33cb5899d3 > (It has been in upstream kernel since v4.12, so my test kernel does have > it, and so does the out-of-tree driver I'm testing with) > > On 8/28/19 2:53 AM, Fujinaka, Todd wrote: > > Sorry about the top posting, but if I don't do it this way I can't read > anything in Outlook (not my preferred MUA). > > > > I think I may have been wrong about things. I'm not as familiar with the > x722, and the NVM versions are completely different than the x710 and I > was confused. > > > > Even worse, I'm not sure if the x722 is able to read the data from the > SFP/SFP+ EEPROM. I remembered that was a feature we requested internally > but I don't remember what the progress was. > > > > I'm asking around to see if I can get clarification. I haven't heard > anything yet. > > > > Todd Fujinaka > > Software Application Engineer > > Datacenter Engineering Group > > Intel Corporation > > todd.fujin...@intel.com > > > > > > -----Original Message----- > > From: Jakub Jankowski [mailto:sha...@toxcorp.com] > > Sent: Tuesday, August 27, 2019 4:01 PM > > To: Fujinaka, Todd <todd.fujin...@intel.com>; e1000- > de...@lists.sourceforge.net > > Cc: net...@vger.kernel.org; mhems...@open-systems.com > > Subject: Re: [E1000-devel] SFP+ EEPROM readouts fail on X722 (ethtool - > m: Invalid argument) > > > > Hi, > > > > On 8/27/19 7:56 PM, Fujinaka, Todd wrote: > >> The hints should be: > >> # ethtool -m eth10 > >> Cannot get module EEPROM information: Invalid argument # dmesg | tail - > n 1 [ 445.971974] i40e 0000:3d:00.3 eth10: Module EEPROM memory read not > supported. Please update the NVM image. > >> > >> # ethtool -i eth10 > >> driver: i40e > >> version: 2.9.21 > >> firmware-version: 3.31 0x80000d31 1.1767.0 > >> > >> And the working case: > >> # ethtool -i eth8 > >> driver: i40e > >> version: 2.9.21 > >> firmware-version: 6.01 0x800035cf 1.1876.0 > >> > >> If you don't see it, 6.01 > 3.31. > > The reason why firmware between the two is (that much) different is > because the non-working case is from X722 NIC, while the working one is > from X710. > > > >> The NVM update tool should be available on downloadcenter.intel.com > > Thanks for the pointer to NVM updater. I'd like to offer some additional > comments about my experience with the newest one (v4.00): > > > > a) running ./nvmupdate64e (from X722_NVMUpdate_Linux_x64 subdir) errors > out without really saying what's wrong: > > > > # ./nvmupdate64e > > > > Intel(R) Ethernet NVM Update Tool > > NVMUpdate version 1.30.2.11 > > Copyright (C) 2013 - 2017 Intel Corporation. > > > > > > WARNING: To avoid damage to your device, do not stop the update or > reboot or power off the system during this update. > > Inventory in progress. Please wait [+.........] > > Tool execution completed with the following status: The > configuration file could not be opened/read, or a syntax error was > discovered in the file > > Press any key to exit. > > > > after enabling logging (-l out.log) a bit more is revealed: > > > > # tail -n 2 out.log > > Error: Config file line 2: Not supported config file version. > > Error: Missing CONFIG VERSION parameter in configuration file. > > > > but that's not entirely true, CONFIG VERSION is set in the default > configuration file: > > > > # head -n 2 nvmupdate.cfg > > CURRENT FAMILY: 1.0.0 > > CONFIG VERSION: 1.14.0 > > > > so why isn't this understood? > > Manually editing nvmupdate.cfg and setting CONFIG VERSION: 1.11.0 seems > to make this particular problem go away. > > > > b) Re-doing this with downgraded config version exposes another problem: > > > > Config file read. > > Error: Can't open NVM map file [Immediate_offset_2.txt] > > > > and indeed, there is no Immediate_offset_2.txt in > NVMUpdatePackage_WFT_WFQ&WF0_v4.00/X722_NVMUpdate_Linux_x64/ > > There is one, however, in > > NVMUpdatePackage_WFT_WFQ&WF0_v4.00/X722_NVMUpdate_EFIx64/ subdir. > > Copying it over to the _Linux_x64 resolves this particular problem > > > > c) Re-doing this with Immediate_offset_2.txt in place exposes third > problem: > > > > Error: Can't open NVM image file > > > [LBG_B2_Wolf_Pass_WFT_X557_P01_PHY_Auto_Detect_P23_NCSI_v3.31_800016DB.bin > ] > > > > and once again - same story. It exists in > NVMUpdatePackage_WFT_WFQ&WF0_v4.00/X722_NVMUpdate_EFIx64/ but not > NVMUpdatePackage_WFT_WFQ&WF0_v4.00/X722_NVMUpdate_Linux_x64/ - had to copy > it over. > > > > > > Once I managed to get all these out of the way, the tool finally ran: > > > > Num Description Ver. DevId S:B Status > > === ======================================== ===== ===== ====== > =============== > > 01) Intel(R) Ethernet Server Adapter I350-T4 1.99 1521 00:024 > Update not available > > 02) Intel(R) Ethernet Connection X722 for 3.49 37D2 00:061 > Update > > 10GBASE-T available > > 03) Intel(R) Ethernet Server Adapter I350-T4 1.99 1521 00:175 > Update not available > > > > > > The initial starting point was: > > > > 0) firmware-version: 3.31 0x80000d31 1.1767.0 > > > > After first update+reboot, this was bumped to: > > > > 1) firmware-version: 3.1d 0x800016db 1.1767.0 (but ethtool -m ethX > still doesn't work) > > > > So I ran the tool the second time, it said 'Update available' again, but > this time: > > > > Num Description Ver. DevId S:B Status > > === ======================================== ===== ===== ====== > =============== > > 01) Intel(R) Ethernet Server Adapter I350-T4 1.99 1521 00:024 > Update not available > > 02) Intel(R) Ethernet Connection X722 for 3.29 37D2 00:061 > Update > > 10GBASE-T available > > 03) Intel(R) Ethernet Server Adapter I350-T4 1.99 1521 00:175 > Update not available > > > > Options: Adapter Index List (comma-separated), [A]ll, e[X]it > > Enter selection:02 > > Would you like to back up the NVM images? [Y]es/[N]o: Y > > Update in progress. This operation may take several minutes. > > [*******+..] > > Tool execution completed with the following status: <---------- why > is there no status printed? > > Press any key to exit. > > > > > > Checking output log: > > > > # cat out3.log > > Intel(R) Ethernet NVM Update Tool > > NVMUpdate version 1.30.2.11 > > Copyright (C) 2013 - 2017 Intel Corporation. > > > > ./nvmupdate64e -c nvmupdate.cfg -l out3.log > > > > Config file read. > > Inventory > > [00:061:00:00]: Intel(R) Ethernet Connection X722 for 10GBASE-T > > Flash inventory started > > Shadow RAM inventory started > > Alternate MAC address is not set > > Shadow RAM inventory finished > > Flash inventory finished > > OROM inventory started > > OROM inventory finished > > PHY NVM inventory started > > PHY NVM inventory finished > > [00:061:00:01]: Intel(R) Ethernet Connection X722 for 10GBASE-T > > Device already inventoried. > > [00:061:00:02]: Intel(R) Ethernet Connection X722 for 10GbE SFP+ > > Device already inventoried. > > PHY NVM inventory started > > PHY NVM inventory finished > > [00:061:00:03]: Intel(R) Ethernet Connection X722 for 10GbE SFP+ > > Device already inventoried. > > Update > > [00:061:00:00]: Intel(R) Ethernet Connection X722 for 10GBASE-T > > Creating backup images in directory: A4BF0164884A > > Backup images created. > > Flash update started > > NVM image verification started > > Shadow RAM image verification started > > > > Image differences found at offset 0x3AE [Device=0xF, Buffer=0x0] - > > update required. > > Error: Flash update failed > > [00:061:00:02]: Intel(R) Ethernet Connection X722 for 10GbE SFP+ > > # > > > > However, ethtool -i suggests that firmware was updated to: > > > > 2) firmware-version: 4.00 0x80001577 1.1580.0 <------- so it did > > _something_ after all? > > > > At this point, every subsequent attempt to run the NVM updater yields > > the same results: an update is available, but attempting to apply it > > fails with the same message in log. > > > > And my initial issue still persists - ethtool -m <iface> still returns > > "invalid argument" with "Module EEPROM memory read not supported. Please > > update the NVM image" logged in dmesg. > > > > How can I resolve this? > > > > Cheers, > > Jakub. > > > >> Todd Fujinaka > >> Software Application Engineer > >> Datacenter Engineering Group > >> Intel Corporation > >> todd.fujin...@intel.com > >> > >> > >> -----Original Message----- > >> From: Jakub Jankowski [mailto:sha...@toxcorp.com] > >> Sent: Tuesday, August 27, 2019 4:03 AM > >> To: e1000-devel@lists.sourceforge.net > >> Cc: net...@vger.kernel.org; sha...@toxcorp.com; mhemsley@open- > systems.com > >> Subject: [E1000-devel] SFP+ EEPROM readouts fail on X722 (ethtool -m: > Invalid argument) > >> > >> Hi, > >> > >> We can't get SFP+ EEPROM readouts for X722 to work at all: > >> > >> # ethtool -m eth10 > >> Cannot get module EEPROM information: Invalid argument # dmesg | tail - > n 1 [ 445.971974] i40e 0000:3d:00.3 eth10: Module EEPROM memory read not > supported. Please update the NVM image. > >> # lspci | grep 3d:00.3 > >> 3d:00.3 Ethernet controller: Intel Corporation Ethernet Connection X722 > for 10GbE SFP+ (rev 09) > >> > >> > >> We're running 4.19.65 kernel at the moment, testing using the newest > out-of-tree Intel module > >> > >> # modinfo -F version i40e > >> 2.9.21 > >> > >> We also tried: > >> - 4.19.65 with in-tree i40e (2.3.2-k) > >> - stock Arch Linux (kernel 5.2.5, driver 2.8.20-k) and the results are > the same, as shown above. > >> > >> # ethtool -i eth10 > >> driver: i40e > >> version: 2.9.21 > >> firmware-version: 3.31 0x80000d31 1.1767.0 > >> expansion-rom-version: > >> bus-info: 0000:3d:00.3 > >> supports-statistics: yes > >> supports-test: yes > >> supports-eeprom-access: yes > >> supports-register-dump: yes > >> supports-priv-flags: yes > >> # dmidecode -s baseboard-manufacturer > >> Intel Corporation > >> # dmidecode -s baseboard-product-name > >> S2600WFT > >> # dmidecode -s baseboard-version > >> H48104-853 > >> > >> # lspci -vvv > >> (...) > >> 3d:00.3 Ethernet controller: Intel Corporation Ethernet Connection X722 > for 10GbE SFP+ (rev 09) > >> DeviceName: Intel PCH Integrated 10 Gigabit Ethernet Controller > >> Subsystem: Intel Corporation Ethernet Connection X722 for 10GbE SFP+ > >> Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ > Stepping- SERR+ FastB2B- DisINTx+ > >> Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- > <TAbort- <MAbort- >SERR- <PERR- INTx- > >> Latency: 0, Cache Line Size: 32 bytes > >> Interrupt: pin A routed to IRQ 112 > >> NUMA node: 0 > >> Region 0: Memory at ab000000 (64-bit, prefetchable) [size=16M] > >> Region 3: Memory at b0000000 (64-bit, prefetchable) [size=32K] > >> Expansion ROM at <ignored> [disabled] > >> Capabilities: [40] Power Management version 3 > >> Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2- > ,D3hot+,D3cold+) > >> Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=1 PME- > >> Capabilities: [50] MSI: Enable- Count=1/1 Maskable+ 64bit+ > >> Address: 0000000000000000 Data: 0000 > >> Masking: 00000000 Pending: 00000000 > >> Capabilities: [70] MSI-X: Enable+ Count=129 Masked- > >> Vector table: BAR=3 offset=00000000 > >> PBA: BAR=3 offset=00001000 > >> Capabilities: [a0] Express (v2) Endpoint, MSI 00 > >> DevCap: MaxPayload 512 bytes, PhantFunc 0, Latency L0s > <512ns, L1 <64us > >> ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset+ > SlotPowerLimit 0.000W > >> DevCtl: CorrErr+ NonFatalErr+ FatalErr+ UnsupReq+ > >> RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop- FLReset- > >> MaxPayload 256 bytes, MaxReadReq 512 bytes > >> DevSta: CorrErr+ NonFatalErr- FatalErr- UnsupReq+ AuxPwr+ > TransPend- > >> LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, > Exit Latency L0s <64ns, L1 <1us > >> ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp+ > >> LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+ > >> ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt- > >> LnkSta: Speed 2.5GT/s (ok), Width x1 (ok) > >> TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt- > >> DevCap2: Completion Timeout: Range AB, TimeoutDis+, LTR-, OBFF > Not Supported > >> AtomicOpsCap: 32bit- 64bit- 128bitCAS- > >> DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, > OBFF Disabled > >> AtomicOpsCtl: ReqEn- > >> LnkSta2: Current De-emphasis Level: -6dB, > EqualizationComplete-, EqualizationPhase1- > >> EqualizationPhase2-, EqualizationPhase3-, > LinkEqualizationRequest- > >> Capabilities: [e0] Vital Product Data > >> Product Name: Example VPD > >> Read-only fields: > >> [V0] Vendor specific: > >> [RV] Reserved: checksum good, 0 byte(s) reserved > >> End > >> Capabilities: [100 v2] Advanced Error Reporting > >> UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- > RxOF- MalfTLP- ECRC- UnsupReq- ACSViol- > >> UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- > RxOF- MalfTLP- ECRC- UnsupReq+ ACSViol- > >> UESvrt: DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- > RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol- > >> CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- > AdvNonFatalErr+ > >> CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- > AdvNonFatalErr+ > >> AERCap: First Error Pointer: 00, ECRCGenCap+ ECRCGenEn- > ECRCChkCap+ ECRCChkEn- > >> MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap- > >> HeaderLog: 00000000 00000000 00000000 00000000 > >> Capabilities: [150 v1] Alternative Routing-ID Interpretation (ARI) > >> ARICap: MFVC- ACS-, Next Function: 0 > >> ARICtl: MFVC- ACS-, Function Group: 0 > >> Capabilities: [160 v1] Single Root I/O Virtualization (SR-IOV) > >> IOVCap: Migration-, Interrupt Message Number: 000 > >> IOVCtl: Enable- Migration- Interrupt- MSE- ARIHierarchy- > >> IOVSta: Migration- > >> Initial VFs: 32, Total VFs: 32, Number of VFs: 0, Function > Dependency Link: 03 > >> VF offset: 109, stride: 1, Device ID: 37cd > >> Supported Page Size: 00000553, System Page Size: 00000001 > >> Region 0: Memory at 00000000af000000 (64-bit, prefetchable) > >> Region 3: Memory at 00000000b0020000 (64-bit, prefetchable) > >> VF Migration: offset: 00000000, BIR: 0 > >> Capabilities: [1a0 v1] Transaction Processing Hints > >> Device specific mode supported > >> No steering table available > >> Capabilities: [1b0 v1] Access Control Services > >> ACSCap: SrcValid- TransBlk- ReqRedir- CmpltRedir- > UpstreamFwd- EgressCtrl- DirectTrans- > >> ACSCtl: SrcValid- TransBlk- ReqRedir- CmpltRedir- > UpstreamFwd- EgressCtrl- DirectTrans- > >> Kernel driver in use: i40e > >> Kernel modules: i40e > >> > >> > >> Same kernel+i40e, same SFP+ module - but on Intel X710, works like a > treat: > >> > >> # lspci | grep X7 > >> 81:00.0 Ethernet controller: Intel Corporation Ethernet Controller X710 > for 10GbE SFP+ (rev 01) > >> 81:00.1 Ethernet controller: Intel Corporation Ethernet Controller X710 > for 10GbE SFP+ (rev 01) # ethtool -m eth8 > >> Identifier : 0x03 (SFP) > >> Extended identifier : 0x04 (GBIC/SFP defined > by 2-wire interface ID) > >> Connector : 0x07 (LC) > >> Transceiver codes : 0x10 0x00 0x00 0x01 0x00 > 0x00 0x00 0x00 0x00 > >> Transceiver type : 10G Ethernet: 10G Base- > SR > >> Transceiver type : Ethernet: 1000BASE-SX > >> Encoding : 0x06 (64B/66B) > >> BR, Nominal : 10300MBd > >> (...) > >> # ethtool -i eth8 > >> driver: i40e > >> version: 2.9.21 > >> firmware-version: 6.01 0x800035cf 1.1876.0 > >> expansion-rom-version: > >> bus-info: 0000:81:00.0 > >> supports-statistics: yes > >> supports-test: yes > >> supports-eeprom-access: yes > >> supports-register-dump: yes > >> supports-priv-flags: yes > >> # > >> > >> > >> Is this a known problem? > >> > >> > >> Best regards, > >> Jakub > >> > >> > >> > >> _______________________________________________ > >> E1000-devel mailing list > >> E1000-devel@lists.sourceforge.net > >> https://lists.sourceforge.net/lists/listinfo/e1000-devel > >> To learn more about Intel® Ethernet, visit > http://communities.intel.com/community/wired > > > -- > Jakub Jankowski|sha...@toxcorp.com|http://toxcorp.com/ > GPG: FCBF F03D 9ADB B768 8B92 BB52 0341 9037 A875 942D > > > > _______________________________________________ > E1000-devel mailing list > E1000-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/e1000-devel > To learn more about Intel® Ethernet, visit > http://communities.intel.com/community/wired