Bug 53119
Summary: | Ethernet card not recognized by kernel 2.4.7-2.9 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | [Retired] Red Hat Linux | Reporter: | Peter H. Jones <jones.peter> | ||||||||||
Component: | kernel | Assignee: | Arjan van de Ven <arjanv> | ||||||||||
Status: | CLOSED CURRENTRELEASE | QA Contact: | Brock Organ <borgan> | ||||||||||
Severity: | medium | Docs Contact: | |||||||||||
Priority: | medium | ||||||||||||
Version: | 9 | CC: | jones.peter | ||||||||||
Target Milestone: | --- | ||||||||||||
Target Release: | --- | ||||||||||||
Hardware: | i686 | ||||||||||||
OS: | Linux | ||||||||||||
Whiteboard: | |||||||||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||||||||
Doc Text: | Story Points: | --- | |||||||||||
Clone Of: | Environment: | ||||||||||||
Last Closed: | 2003-06-05 11:36:48 UTC | Type: | --- | ||||||||||
Regression: | --- | Mount Type: | --- | ||||||||||
Documentation: | --- | CRM: | |||||||||||
Verified Versions: | Category: | --- | |||||||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||||||
Embargoed: | |||||||||||||
Attachments: |
|
Description
Peter H. Jones
2001-09-04 01:28:10 UTC
Created attachment 30754 [details]
dmesg output file
Created attachment 30755 [details]
lsmod showing absenceof e100
Created attachment 30756 [details]
lspci -vvx showing hardware configuration
The e100 is not a GPL driver, so cannot and will not be included in the Linus tree. (it's a BSD + advertising clause license) But what's wrong with eepro100 ? That should just work And it was working fine in Redhat 7.1. It works fine under Windows 98, so it's not broken. I'm confused now. Wasn't your bugreport saying that the 2.4.9 Linus kernel didn't have e100.o ? If not, could you please refine the bugreport a bit ? Also eepro100.o should just work for your hardware, and that IS in 2.4.9 as released by Linus. Created attachment 31055 [details]
Verification of all rpm files
1) In response to your question, here are the files I have: 66108 Apr 8 20:57 /lib/modules/2.4.2-2/kernel/drivers/net/e100.o 23952 Apr 8 20:57 /lib/modules/2.4.2-2/kernel/drivers/net/eepro100.o 63287 Jun 8 15:33 /lib/modules/2.4.3-12/kernel/drivers/net/e100.o 22628 Jun 8 15:33 /lib/modules/2.4.3-12/kernel/drivers/net/eepro100.o 75424 Aug 24 13:31 /lib/modules/2.4.7-2.9/kernel/drivers/net/e100.o 29188 Aug 24 13:31 /lib/modules/2.4.7-2.9/kernel/drivers/net/eepro100.o 69472 Aug 14 05:27 /lib/modules/2.4.7-2/kernel/drivers/net/e100.o 28688 Aug 14 05:27 /lib/modules/2.4.7-2/kernel/drivers/net/eepro100.o 2) Applying rpm -V to the kernel, I noticed /boot was missing. I fixed up /etc/fstab to mount /boot. My fstab contained: LABEL=/ / ext2 defaults 1 1 /dev/hda11 /home ext2 exec,dev,suid,rw 1 2 /dev/fd0 /mnt/floppy auto noauto,owner 0 0 none /proc proc defaults 0 0 none /dev/shm tmpfs exec,dev,suid,rw 0 0 none /dev/pts devpts gid=5,mode=620 0 0 /dev/hda12 swap swap defaults 0 0 /dev/cdrom /mnt/cdrom iso9660 noauto,owner,kudzu,ro 0 0 /dev/hda3 /boot ext2 exec,dev,suid,rw 1 1 /dev/hda13 /CDs vfat user,noexec,nodev,nosuid,ro 1 1 and it now contains: LABEL=/ / ext2 exec,dev,suid,rw 1 1 LABEL=/boot /boot ext2 exec,dev,suid,rw 1 1 LABEL=/honme /home ext2 exec,dev,suid,rw 1 1 /dev/fd0 /mnt/floppy auto owner,exec,dev,suid,rw,noauto 0 0 none /proc proc defaults 0 0 /dev/hda12 none swap exec,dev,suid,rw 0 0 /dev/cdrom /mnt/cdrom iso9660 owner,exec,dev,suid,ro,noauto,kudzu 0 0 Q. Do I need to be concerned with /dev/shm? 3) I was also checked all the system files with rpm. (see attachment) 4) Sometimes, I see this: xd:/lib/modules/2.4.7-2.9/kernel/drivers/block/xd.o: init_module: Operation not permitted xd:/lib/modules/2.4.7-2.9/kernel/drivers/block/xd.o: insmod /lib/modules/2.4.7-2.9/kernel/drivers/block/xd.o failed xd:/lib/modules/2.4.7-2.9/kernel/drivers/block/xd.o: insmod xd failed xd:Hint: insmod errors can be caused by incorrect module parameters, including invalid IO or IRQ parameters Q. Is this message to be expect for my hardware? 4) When I try verbose insmod, I get lstat failed messages. insmod:bash-2.05# insmod -vn e100 insmod:xftw starting at /lib/modules/boot lstat on /lib/modules/boot failed insmod:xftw starting at /lib/modules/2.4.7-2.9 insmod:xftw_readdir /lib/modules/2.4.7-2.9 ... Q. Do I need /lib/modules/boot? When I created it manually, rpm said it was not part of any package. 5. My system is configured to start in init 1. If I try init 3, I can use the system, but when I attempt to shut down, the system often hangs after the message "Shutting Down eth0". I seem to have to reset/power off, which results in e2fsck messages on reboot.. Ah. the "2.4.9" in the subject threw me off balance. Ok, first of all, try to use "modprobe" instead of "insmod". Also try using the eepro100.o module as well; e100.o and eepro100.o both work for 95% (or so) of the hardware, but a different 95% I have found that modprobe works. But the system still locks up when I try to shutdown, or go to a level without the ethernet card. I believe the code fragment below, from the initscripts rpm on Rawhide, is causing the lockup. The code appears to take the device name and call itself recursively using a filename where the device name was found, doing nothing to put the device down (2nd line of code). Hence the system locks up. I think I have a workaround: ip link eth0 down (I`m not quite sure of the word order), then a shutdown. Then, ifdown sees the eth0 device as down already, and the bug does not occur. I suggest one pass through should be enough for one device. Recursion would be useful to put down devices dependent on the one shutting down. Code fragment: # Check to make sure the device is actually up check_device_down ${DEVICE} && [ "$BOOTPROTO" != "dhcp" -a "$BOOTPROTO" != "bootp" ] && exit 0 if [ -n "${HWADDR}" ]; then FOUNDMACADDR=`LC_ALL= LANG= ip -o link show ${REALDEVICE} | \ sed 's/.*link\/ether \([[:alnum:]:]*\).*/\1/'` if [ "${FOUNDMACADDR}" != "${HWADDR}" ]; then NEWCONFIG=`fgrep -l "HWADDR=${HWADDR}" /etc/sysconfig/network-scripts/ifcfg-*` if [ -n "${NEWCONFIG}" ]; then exec /sbin/ifdown ${NEWCONFIG} fi NEWCONFIG=`fgrep -l "HWADDR=${HWADDR}" /etc/sysconfig/networking/default/ifcfg-*` if [ -n "${NEWCONFIG}" ]; then exec /sbin/ifdown ${NEWCONFIG} else echo $"Device ${DEVICE} has different MAC address than expected, ignoring." exit 1 fi fi fi End of code fragment Roswell did not offer a manually selected NETWORK card or SCSI component install fro the "expert" install mode like 7.1. My 3Com 3c509b etherlinkIII ISA was not automatically detected, (pnp disabled in NIC bios). Modprobing it worked but Kudzu did not pick up the new hardware. The old "netcfg" has been replaced, the new slicker GUI utility picked up the card. When I start the card activates but much laterin the boot-process than on my 7.1 box. "Init 0" or "poweroff " hangs during shutdown trying to turn off "eth0". Doing "ifconfig eth0 down" first is necessary for a normal shutdown. The mobo is an Abit BE6-II. Seawolf had a problem with my Creative Labs 3630 CD-ROM during install, had to use the CD-RW. At a particular place it would always hang and I had to install from the CD-RW. Roswell did not have this problem with the Creative Labs 3630 CD-ROM at install ,nor did the Wolverine. Later e100/eepro100 drivers added 8086,2449. |