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
Jorge Castro
  • 70,934
  • 124
  • 466
  • 653
Touseef
  • 334
  • 3
  • 12
  • Welcome to Ask Ubuntu! We need more hardware information to help you, can you look at [this question](http://askubuntu.com/questions/14008/i-have-a-hardware-detection-problem-what-logs-do-i-need-to-look-into) and then edit your question adding the information. – Danatela Mar 31 '14 at 08:44
  • What version of kernel are you using? Type this command yo find out: uname -a – Moga Mar 31 '14 at 10:10
  • linux 3.5.0-17 @Moga – Touseef Mar 31 '14 at 10:20
  • @Danatela I will provide the hardware info that is needed. – Touseef Mar 31 '14 at 10:24
  • 1
    @Touseef don't forget to edit your question with those facts, don't put them into comments. – guntbert Apr 01 '14 at 17:56
  • @Danatela Here you go, and thank you for your valuable suggestions! – Touseef Apr 02 '14 at 06:25
  • 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 07 '14 at 13:51

1 Answers1

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.

Aditya
  • 13,256
  • 17
  • 64
  • 95
Touseef
  • 334
  • 3
  • 12