Home Page › Forums › Network Management › Signal a BUG › System with both e100 and e1000 NIC won’t load driver
- This topic is empty.
-
AuthorPosts
-
March 5, 2009 at 9:40 am #41514
HakanL
MemberI’m using ZS 1.0 beta11 and I have low-end DELL Optiplex GX270 with an onboard e1000 and I added an old Intel 82559 InBusiness 10/100 PCI card. The 82559 card is using the e100 driver.
My issue is that the e100 card was not detected by ZS. I tried another Linux on this box before and it detected both cards fine. lspci shows the card. dmesg shows a warning saying “Firmware left e100 interrupts enabled; disabling”, but it never loads the driver.
I can load the driver manually (modprobe e100), but then the if name is eth0 and not ETH01.
So I messed with this all night and finally I figured out what’s going on!
The issue is in the S04pciprobe file:
#!/bin/sh
echo "Checking for other PCI hardware ..."
for m in `pcimodules` ; do
if ! lsmod |cut -f1 -d " " | grep -q $m ; then
echo "Loading ................................... [$m]"
modprobe -k $m 2> /dev/null
fi
done
when it goes thru all PCI modules to load it checks if the module is already loaded and skips that one. The issue is with the grep part. If e1000 is loaded and you grep for e100 then you’ll get a hit, and the driver is skipped! My fix is to change this line to this:
if ! lsmod |cut -f1 -d " " | grep -q -w $m ; then
which forces it to grep on whole words. It was a little messy to update this file as it resides in the ramdisk (which is loaded from rootfs), so I ended up making a copy of it in initrd and overwrite the file in the rootfs in linuxrc, but that’s just a workaround until the file can be properly patched in the source.
Well, I hope this gets added to the distribution so I don’t have to redo this in next beta.
Thanks for an outstanding product though!
/HakanDecember 4, 2009 at 11:52 pm #47701Roop
MemberI am under the same situation right now. In my circumstance, I cannot simply get the e100 nics working with the modprobe e100.
if the e1000 nics are removed, the e100s appear. lspci shows the e100s regardless of weather the extra cards are present or not.
i have placed the 1GB flash card image onto a hard disk and am booting off that. could you please provide more detailed instructions of how you made your workaround? I don’t know how to edit the binary files you mentioned.
December 5, 2009 at 1:10 am #47702HakanL
Memberdo you get anything in dmesg when you do the modprobe? Note that modprobe will only load the driver, it probably won’t show up in the UI, etc since the name will be wrong.
December 5, 2009 at 4:31 pm #47703atheling
MemberTo get my patched versions of scripts into the scripts directory I put the following into my “pre-boot” script on the UI:
for file in /Database/custom/*
do
cp ${file} /root/kerbynet.cgi/scripts/
done
Then I created the directory /Dabatabase/custom/ and put my updated scripts there.
In the specific case of you needed to do a modprobe for the e100, you could just do the modprobe in the pre-boot script?
January 28, 2010 at 9:08 am #47704somleac
MemberHi there,
I got a Dell Optiplex 270 – hardware configuration same like HakanL with the difference of two additional Intel 10/100 cards.
HakanL explained quite OK what the bug is and it is the same in Release 1.0.beta12. Because I could not manage to modify the binaries on the rootfs I tried atheling’s sugestion and it is working:
Pre-boot scripts:
modprobe e100That’s it.
somleac
-
AuthorPosts
- You must be logged in to reply to this topic.