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: kernelAssignee: Arjan van de Ven <arjanv>
Status: CLOSED CURRENTRELEASE QA Contact: Brock Organ <borgan>
Severity: medium Docs Contact:
Priority: medium    
Version: 9CC: 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 Flags
dmesg output file
none
lsmod showing absenceof e100
none
lspci -vvx showing hardware configuration
none
Verification of all rpm files none

Description Peter H. Jones 2001-09-04 01:28:10 UTC
From Bugzilla Helper:
User-Agent: Mozilla/4.75 [fr] (Win98; U)

Description of problem:
I have upgraded from Linux 7.1 to Roswell. At normal runlevels, system often hangs when booting or shutting down. 
I have used linuxconf to set Linux to start at runlevel 1.

When I boot with kernel 2.4.2, using a custom diskette. module e100 loads. When booting same version from hard disk, this module 
does 
not load.
I shall upload the following files from an attempted boot to kernel 2.4.9:
dmesg
lspci -vvx
lsmod



Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
1. Power off
2. Boot, selecting kernel 2.4.9
3. Issue dmesg, lspci and lsmod commands
	

Actual Results:  e100 module not present


Expected Results:  e100 module should be present

Additional info:

Comment 1 Peter H. Jones 2001-09-04 01:28:59 UTC
Created attachment 30754 [details]
dmesg output file

Comment 2 Peter H. Jones 2001-09-04 01:30:46 UTC
Created attachment 30755 [details]
lsmod showing absenceof e100

Comment 3 Peter H. Jones 2001-09-04 01:32:05 UTC
Created attachment 30756 [details]
lspci -vvx showing hardware configuration

Comment 4 Arjan van de Ven 2001-09-04 08:03:03 UTC
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

Comment 5 Peter H. Jones 2001-09-05 12:26:03 UTC
And it was working fine in Redhat 7.1. It works fine under Windows 98, so it's
not  broken.

Comment 6 Arjan van de Ven 2001-09-05 12:29:36 UTC
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.

Comment 7 Peter H. Jones 2001-09-06 06:00:52 UTC
Created attachment 31055 [details]
Verification of all rpm files

Comment 8 Peter H. Jones 2001-09-06 06:05:15 UTC
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..




Comment 9 Arjan van de Ven 2001-09-06 08:51:37 UTC
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%

Comment 10 Peter H. Jones 2001-09-07 11:49:09 UTC
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

Comment 11 baulv 2001-10-04 01:51:53 UTC
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.

Comment 12 baulv 2001-10-04 02:01:41 UTC
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.

Comment 13 Alan Cox 2003-06-05 11:36:48 UTC
Later e100/eepro100 drivers added 8086,2449.