5

I have Toshiba Portege M400 Tablet PC with Intel 82573L Gigabit Ethernet Controller. It works fine with Windows, but in Ubuntu it doesn't work!

During startup CMOS shows the following:

PXE-E05 error, LAN Adapter configuration not initialized, Boot Agent cannot continue.

I figured out that it was due to NVM Checksum error, and I tried to flash EEPROM using Intel Boot Utility with no success. Flashing EEPROM always returned the following error:

PXE not flashed on port 1, Firmware not present.

I restored to Kernel to edit driver files and bypass NVM Checksum error again to lure without any fruitful outcome.

Here are some terminal output:

$ lspci -v | grep 82573L
02:00.0 Ethernet controller: Intel Corporation 82573L Gigabit Ethernet Controller

$ ifconfig -a
just listed wlan0 only
7
  • Welcome to Ask Ubuntu! We need more hardware information to help you, can you look at this question and then edit your question adding the information.
    – Danatela
    Mar 31, 2014 at 8:44
  • What version of kernel are you using? Type this command yo find out: uname -a
    – Moga
    Mar 31, 2014 at 10:10
  • linux 3.5.0-17 @Moga
    – Touseef
    Mar 31, 2014 at 10:20
  • 1
    @Touseef don't forget to edit your question with those facts, don't put them into comments.
    – guntbert
    Apr 1, 2014 at 17:56
  • 1
    Exactly how this doesn't work in Ubuntu? The CMOS message is because it tries to boot from the NIC, and is totally irrelevant.
    – Braiam
    Apr 7, 2014 at 13:51

1 Answer 1

10

Finally I got the solution. I just skipped the NVM Checksum at Ubuntu startup by editing the device drivers of my Ethernet Controller (82573L gigabit).

Here are the steps:

  1. Download latest e1000e drivers from Intel site
  2. Decompress the source as follows

    tar zxvf e1000e-[VERSION].tar.gz
    cd e1000e-[VERSION]/src
    
  3. Open netdev.c and search for the following code and delete it:

    /* make sure the NVM is good */
    if(e1000_validate_nvm_checksum(hw) < 0)
    {
        dev_err(pci_dev_to_dev(pdev), "The NVM Checksum Is Not Valid\n");
        err = -EIO;
        goto err_eeprom;
    }
    
  4. Now run these commands:

    sudo modprobe -r e1000e
    sudo make install
    sudo modprobe e1000e
    sudo update-initramfs -u
    

    This will replace the old drivers and initialize these drivers at startup.

Note: The best way to correct the checksum error is to flash the EEPROM, but in my Case EEPROM was corrupted and wouldn't flash. So, I had to skip the Checksum Error Checkup at startup.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.