Recent comments

You are here

fixing the e100 module in linux

Ok I have two machines I recently installed linux on one is a Compaq Armada E500 and the other is a Toshiba Portege 3500. The Armada is running Suse 6.0 and the Portege is running BackTrack R2. Both machines came up with the same error message for my network adapters they both happen to be Intel NIC's.

First lets descibe the problem. I couldn't use my adapters due to an error message when I tried to bring up the network adapter it threw a message. Sure I can just use apt-get or dpkg to obtain the firmware oh wait no I can't I need this file im installing so the network adapter works. Great so we have to manually download and install so lets get to work on it.

Failed to load firmware "e100/d101s_ucode.bin": -2

and the other

Failed to load firmware "e100/d102e_ucode.bin": -2

This happens because it loaded the e100 module but not the needed firmware for your NIC.

Ok so what should we do?

Well first we need to download the file which it says is missing. Yours may be different than mine but you can either download the missing file below or you can go to and download the file: firmware-nonfree_0.29.tar.gz

Then you need to extract it and navigate to firmware-nonfree\linux-nonfree inside the extracted folder, now look in the e100 folder inside that folder is the file you need

Ok got the file what's next?

Well after some research I found out that the file needs to go into the folder /lib/firmware/e100 on the machine you are installing it on
If the e100 folder doesnt exist make the folder

at bash do this by navigating to the /lib/firmware/ folder then type:

mkdir e100

and hit ENTER

now type:


this shows the files and folders there should now be a e100 folder if so all is good and we can proceed

Also lets make sure we have the e100 module loaded.type:


look in the list for a line that says e100
it's there yes? Good
if not cant even be getting the error I am fixing here so I have no clue why your reading this perhaps your bored?

Now at this point you can transfer the file in many ways you can use floppy, cd ,usb drive , external harddisk, and many other ways. Here what I did was downloaded the file on my Windows machine then saved the file to a usb thumbdrive

Now we plug it into our linux machine.

Lets make sure its there in linux for us to mount type:

fdisk -l

the L means list we are listing all partitions available to us

Next we will mount it but we need somewhere to mount it first

I changed directories to the root directory "\" then made a new folder with command:

mkdir usbstick

now an


makes sure it was created

in my case fdisk had shown my thumbdrive on /dev/sdb1

so now I mount it to the directory usbstick ( which we just made )

mount /dev/sdb1 /usbstick/

If you used a different device to transfer it then you may have to mount it differently and the dev name will be different in most cases. If you need help though then leave a comment I respond pretty fast :)

If all goes well we can now access out thumbdrive. Navigate now to /usbstick/
cool our file is there almost done

Next we just need to copy it to the correct directory which we know is /lib/firmware/e100/
Make sure you are in the directory /usbstick/ and that the file you were missing is present with the ls command
so now we do command:

cp d102e_ucode.bin /lib/firmware/e100/d102e_ucode.bin

If you had a different file name then please replace it with the one you are transfering to your machine

Now if all is well you can start your interface use:

ifconfig eth0 up

you may need to replace the eth0 part with your adapters correct name to see a list of the adapters on your machine type:

ifconfig -a

we can now cleanup and unmount our usb device with:

umount /dev/sdb1

Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer