From: Alexander D. <ale...@gm...> - 2016-07-25 16:26:57
|
The flash and NVM are two separate items. The flash enables things like PXE booting and iSCSI whereas the NVM stores things like the Network Address. One workaround that you might be able to use would be to just modify your driver to skip over the loop that actually invokes the NVM check. If you download the e1000e driver from e1000.sf.net, or have a kernel build you can modify you could then modify the following lines so that the checksum validation is skipped: /* systems with ASPM and others may see the checksum fail on the first * attempt. Let's give it a few tries */ for (i = 0;; i++) { if (e1000_validate_nvm_checksum(&adapter->hw) >= 0) break; if (i == 2) { dev_err(&pdev->dev, "The NVM Checksum Is Not Valid\n"); err = -EIO; goto err_eeprom; } } Basically all that would need to happen is to add a 0 or false between the two semicolons in the for loop. Doing that should be enough to force checksum validation to be skipped. As far as fixing this in a more permanent fashion what would need to happen is the NVM image would need to be update on the adapter so that the NVM checksum gets rewritten. That was why I had originally suggested checking with the manufacturer on this as they should be responsible for maintaining that on your system. One thing you might try doing is toggling the PXE boot settings in your BIOS to see if that has any effects on the issue as I believe the NVM has to be changed in such a case in order to advertise the functionality to the system. - Alex On Sat, Jul 23, 2016 at 10:17 AM, Alexey Muranov <ale...@gm...> wrote: > I think i might have new information about my problem with I219-V under > Linux, where e1000e reports "The NVM Checksum Is Not Valid". > > I executed bootutil64e from Intel Ethernet Connections Boot Utility ( > https://downloadcenter.intel.com/download/19186 ) under Ubuntu, here is the > output: > > Intel(R) Ethernet Flash Firmware Utility > BootUtil version 1.6.13.0 > Copyright (C) 2003-2016 Intel Corporation > > Type BootUtil -? for help > > Port Network Address Location Series WOL Flash Firmware Version > ==== =============== ======== ======= === ============================= ======= > 1 D017C2201F59 0:31.6 Gigabit N/A FLASH Not Present > > > This made me think: if BootUtil reports that "FLASH Not Present", could it > mean that NVM is not used at all and its contents is random? If this is the > case, shouldn't e1000e detect this and not test the checksum? > > "BootUtil is a utility that can be used to program the PCI option ROM on the > flash memory of supported Intel PCI and PCI-Express-based network adapters, > and to update configurations." ( > https://downloadmirror.intel.com/19186/eng/bootutil.txt ) > It does not seem to be designed for "on-board" (OEM) Ethernet controllers, > like I219-V. Thus i do not feel like trying to manipulate the NVM with it. > It is stated here > https://thesorcerer.wordpress.com/2011/07/01/guide-intel-82573l-gigabit-ethernet-with-ubuntu-11-04-and-fix-pxe-e05/ > in Disclaimer in the last paragraph that where is no sure way to predict the > interactions with others on-board components, like USB or SOUND controllers. > Here in Comment 5 it is explicitly advised against running ibautil in a > similar case: > https://bugzilla.redhat.com/show_bug.cgi?id=459202#c5 (Comment 5) > IBAUTIL is one of the predecessors of BootUtil. > > Thus i do not dare trying to flash the NVM of I219 with BootUtil for PCI > network adapters, but i would like to know what "FLASH Not Present" means in > my case. > > Thanks, > > - Alexey. > > > On 23 Jul 2016, at 13:15, Alexey Muranov <ale...@gm...> wrote: > >> I have exchanged my laptop for a new one. The online store accepted to exchange it because besides Ethernet under Linux, i also had problems with keyboard backlight under Windows. >> >> The new one has no problems with keyboard backlight, but the issue with Ethernet is the same: under Linux i get "The NVM Checksum Is Not Valid." >> >> Previously, ASUS customer support responded to me that they have not tools for fixing the NVM. >> >> Now it looks like the NVM might not be exactly "corrupted," since i have the same issue after exchange. >> >> Could this me a sign of incompatibility of e1000e with Intel Ethernet Connection I219-V? >> >> Could you, please, give me some details about this checksum verification? Is the expected value of the checksum the same for all Ethernet controllers, or does the driver know about expected checksums for all supported models? Or is the checksum expected value stored in the NVM? >> >> - Alexey. >> >> On 20 Jul 2016, at 21:21, Rustad, Mark D <mar...@in...> wrote: >> >>> Alexey Muranov <ale...@gm...> wrote: >>> >>>> I wrote to Asus (my laptop maker), and they responded that they can only help with setting up the original hardware and software, and they cannot help if i have installed Linux, because the laptop was sold with Windows. I wrote to them again explaining that it looks like there is a hardware problem. I am waiting for an answer, but taking into account that Ethernet works under Windows 7, i imagine they can keep refusing to take care of my problem. >>> >>> Possibly, unless you can get the issue escalated to a higher level of support somehow. It is not a surprise that the "front line" can only deal with Windows. >>> >>> If they can provide a tool to modify the MAC address in the NVM, you may be able to use such a tool to correct the checksum by setting a different MAC address, and then setting the original MAC address back. That would only work if the tool they provide properly calculates the checksum, but there is at least a possibility that it would. >>> >>>> Could you recommend me by any chance some tests to run under Windows and some Intel Ethernet Connection documentation to demonstrate to Asus that i have a hardware problem? >>> >>> You probably won't find anything wrong in that way. The Windows driver doesn't check the checksum, so if it works properly under Windows, it is very likely that the only thing wrong is the checksum itself. I doubt very much that there is a true hardware problem - just an incorrect checksum. >>> >>> Correcting the NVM checksum is the best solution, but modifying your system's NVM is something best done by your vendor or by tools and directions provided by your vendor. The potential for bricking the laptop is the reason to be very careful with NVM issues. >>> >>> If you are able and willing, something that can be tried is to modify the driver to not error out on a bad checksum. If that works, it would tend to confirm that the only problem is the checksum itself. There are all kinds of issues with doing that so I am not strongly advocating doing that but only offering it as something to try if you understand what you are getting into when modifying drivers. >>> >>> -- >>> Mark Rustad, Networking Division, Intel Corporation >> > > > ------------------------------------------------------------------------------ > What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic > patterns at an interface-level. Reveals which users, apps, and protocols are > consuming the most bandwidth. Provides multi-vendor support for NetFlow, > J-Flow, sFlow and other flows. Make informed decisions using capacity planning > reports.http://sdm.link/zohodev2dev > _______________________________________________ > E1000-devel mailing list > E10...@li... > https://lists.sourceforge.net/lists/listinfo/e1000-devel > To learn more about Intel® Ethernet, visit http://communities.intel.com/community/wired |