Bug 125475 - SMC Ether Power 10Mbs NIC Tulip Driver Failure
Summary: SMC Ether Power 10Mbs NIC Tulip Driver Failure
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: 2
Hardware: athlon
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Dave Jones
QA Contact: Brian Brock
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2004-06-07 20:41 UTC by Norman Smith
Modified: 2015-01-04 22:06 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2005-04-16 06:09:36 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Norman Smith 2004-06-07 20:41:47 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040510

Description of problem:
The SMC Ether Power 10Mbs NIC is detected and configured to use
tulip.o and works properly under FC1.

Under FC2 it is detected and configured to use tulip.ko and fails:

Bringing up interface eth0:  tulip device eth0 does not seem to be
present, delaying initialization.

When eth0 is modprobed no eth0 entry is added to the links.

[root@twinkie root]# ip link
1: lo: <LOOPBACK,UP> mtu 16436 qdisc noqueue
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: sit0: <NOARP> mtu 1480 qdisc noop
    link/sit 0.0.0.0 brd 0.0.0.0

FC2 has several tulip driver files de2104x.ko, de4x5.ko ...

The NIC uses the DEC 21041 chip.  I tried the de2104x.ko driver.  It
fails with a kernel panic.  The de4x5.ko driver seems to work.

[root@twinkie root]# /etc/rc.d/init.d/network restart
Shutting down loopback interface:                          [  OK  ]
Setting network parameters:                                [  OK  ]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface eth0:  tulip device eth0 does not seem to be
present, delaying initialization.
                                                           [FAILED] 
[root@twinkie root]# vi /etc/modprobe.conf
     changed "alias eth0 tulip" to "alias eth0 de4x5"

[root@twinkie root]# /etc/rc.d/init.d/network restart
Shutting down loopback interface:                          [  OK  ]
Setting network parameters:                                [  OK  ]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface eth0:                                [  OK  ]


root@twinkie root]# lspci -v
.....
00:0e.0 Ethernet controller: Digital Equipment Corporation DECchip
21041 [Tulip Pass 3] (rev 21)
        Flags: bus master, medium devsel, latency 32, IRQ 5
        I/O ports at d400
        Memory at dc140000 (32-bit, non-prefetchable) [size=128]
.....

EITHER
the wrong driver is being configured
OR
the tulip.ko driver has a problem with this NIC


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


How reproducible:
Always

Steps to Reproduce:
1. Do a complete install of FC2
2. Reboot
3.
    

Actual Results:  
Bringing up interface eth0:  tulip device eth0 does not seem to be
present, delaying initialization.
                                                           [FAILED] 

Expected Results:  
Bringing up interface eth0:                              [  OK  ]

Additional info:

Comment 1 Zoltán Böszörményi 2004-06-12 07:13:17 UTC
I reported the same on the LKML, subject was:
"DEC 2104x driver confusion with 2.6.5+"

Machine parameters I installed FC2/i386:
Pentium 166MMX, PCI mainboard USB
Two SMC branded ethernet card:

# lspci
...
00:0f.0 Ethernet controller: Digital Equipment Corporation DECchip
21041  Tulip Pass 3] (rev 11)
00:10.0 Ethernet controller: Digital Equipment Corporation DECchip
21041 [Tulip Pass 3] (rev 11) 
# lspci -n -vvv -s 00:0f.0
00:0f.0 Class 0200: 1011:0014 (rev 11)
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
        Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 96
        Interrupt: pin A routed to IRQ 10
        Region 0: I/O ports at fc00
        Region 1: Memory at fedffc00 (32-bit, non-prefetchable)
[size=128] 
# lspci -n -vvv -s 00:10.000:10.0 Class 0200: 1011:0014 (rev 11)
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
        Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 96
        Interrupt: pin A routed to IRQ 11
        Region 0: I/O ports at f880
        Region 1: Memory at fedff800 (32-bit, non-prefetchable) [size=128]

One and a half year ago I installed RH9 on this machine
that acts as a firewall. RH9 tried to drive those with
"tulip_old.o" but id didn't work. "tulip.o" needed
setting up media type in modules.conf but then it worked
7x24 until the harddisk died.

FC2 loaded "tulip.ko" but it did not work. I tried
"modprobe de2104x.ko" but it oopsed approximately 2 minutes
later with this:

Jun  6 17:49:48 localhost kernel: irq 11: nobody cared! (screaming
interrupt?)
Jun  6 17:49:48 localhost kernel: Call Trace:
Jun  6 17:49:48 localhost kernel:  [<c0106ee5>] __report_bad_irq+0x2b/0x67
Jun  6 17:49:48 localhost kernel:  [<c0106f7d>] note_interrupt+0x43/0x66
Jun  6 17:49:48 localhost kernel:  [<c0107143>] do_IRQ+0x109/0x169
Jun  6 17:49:48 localhost kernel:  [<c0287338>] common_interrupt+0x18/0x20
Jun  6 17:49:48 localhost kernel:  [<c011c254>] __do_softirq+0x2c/0x73
Jun  6 17:49:48 localhost kernel:  [<c0107708>] do_softirq+0x46/0x4d
Jun  6 17:49:48 localhost kernel:  =======================
Jun  6 17:49:48 localhost kernel:  [<c0107197>] do_IRQ+0x15d/0x169
Jun  6 17:49:48 localhost kernel:  [<c0287338>] common_interrupt+0x18/0x20
Jun  6 17:49:48 localhost kernel:  [<d091599f>] de_set_rx_mode+0xb/0xd
[de2104x]
Jun  6 17:49:48 localhost kernel:  [<d0916339>] de_init_hw+0x68/0x6e
[de2104x]
Jun  6 17:49:48 localhost kernel:  [<d09165e2>] de_open+0x60/0xdd
[de2104x]
Jun  6 17:49:48 localhost kernel:  [<c023b589>] dev_open+0x5f/0xc6
Jun  6 17:49:48 localhost kernel:  [<c023c582>] dev_change_flags+0x45/0xe7
Jun  6 17:49:48 localhost kernel:  [<c026e437>] devinet_ioctl+0x296/0x50c
Jun  6 17:49:48 localhost kernel:  [<c026ff3f>] inet_ioctl+0x47/0x73
Jun  6 17:49:48 localhost kernel:  [<c023557d>] sock_ioctl+0x25e/0x274
Jun  6 17:49:48 localhost kernel:  [<c0150576>] sys_ioctl+0x207/0x23d
Jun  6 17:49:48 localhost kernel:  [<c0287147>] syscall_call+0x7/0xb
Jun  6 17:49:48 localhost kernel:
Jun  6 17:49:48 localhost kernel: handlers:
Jun  6 17:49:48 localhost kernel: [<c021995d>] (usb_hcd_irq+0x0/0x4b)
Jun  6 17:49:48 localhost kernel: Disabling IRQ #11 

IRQ 11 is shared between the USB host chip and eth1, in one occasion
from five try the machine locked up. "de4x5.ko" drives the cards
nicely BUT ONLY AFTER LOADING AND REMOVING "de2104x.ko"
Rebooting into single mode and loading "de4x5.ko" does not
emit any messages into dmesg. loading "de2104x.ko" gives these
messages:

de2104x PCI Ethernet driver v0.7 (Mar 17, 2004)
PCI: Enabling device 0000:00:0f.0 (0004 -> 0007)
de0: SROM leaf offset 30, default media 10baseT auto
de0:   media block #0: 10baseT-FD
de0:   media block #1: BNC
de0:   media block #2: 10baseT-HD
divert: allocating divert_blk for eth0
eth0: 21041 at 0xd0843c00, 00:e0:29:09:84:99, IRQ 10
PCI: Enabling device 0000:00:10.0 (0004 -> 0007)
de1: SROM leaf offset 30, default media 10baseT auto
de1:   media block #0: 10baseT-FD
de1:   media block #1: BNC
de1:   media block #2: 10baseT-HD
divert: allocating divert_blk for eth1
eth1: 21041 at 0xd08a9800, 00:e0:29:09:84:ab, IRQ 11

The "PCI: Enabling..." messages are suspicious, maybe these
card are disabled, that's why "de4x5.ko" did not see them
by itself. After removing "de2104x.ko" and loading "de4x5.ko"
I have these messages:

divert: freeing divert_blk for eth0
divert: freeing divert_blk for eth1
0000:00:0f.0: DC21041 at 0xfc00, h/w address 00:e0:29:09:84:99,
      and requires IRQ10 (provided by PCI BIOS).
de4x5.c:V0.546 2001/02/22 davies.com
divert: allocating divert_blk for eth0
0000:00:10.0: DC21041 at 0xf880, h/w address 00:e0:29:09:84:ab,
      and requires IRQ11 (provided by PCI BIOS).
de4x5.c:V0.546 2001/02/22 davies.com
divert: allocating divert_blk for eth1
eth0: media is TP.
eth1: media is TP. 

From that point, both cards operate well, the machine is not
restarted since:

# uptime
 09:03:35 up 5 days, 13:49,  1 user,  load average: 0.00, 0.00, 0.00

I have put "modprobe de2104x ; rmmod de2104x" into
/etc/rc.d/init.d/network at the beginning of the "start)" section and

alias eth0 de4x5
alias eth1 de4x5

into /etc/modprobe.conf. The machine brings up eth0 and eth1
as it should.

Comment 2 Norman Smith 2004-11-21 17:38:25 UTC
Problem continues in Fedora 3

Comment 3 Charles R. Anderson 2005-02-08 21:45:15 UTC
Same problem on #fedora with a "D-Link, System Inc DE-530+" card which
uses the same chipset:

00:0e.0 Ethernet controller: Digital Equipment Corporation DECchip
21041 [Tulip Pass 3] (rev 21)

Using the de4x5 driver instead of tulip works.

I'm assuming this person was using the kernel that shipped with FC3
(2.6.9-1.667), since it was a new install, and was unable to get on
the net yet to do updates.


Comment 4 Dave Jones 2005-04-16 06:09:36 UTC
Fedora Core 2 has now reached end of life, and no further updates will be
provided by Red Hat.  The Fedora legacy project will be producing further kernel
updates for security problems only.

If this bug has not been fixed in the latest Fedora Core 2 update kernel, please
try to reproduce it under Fedora Core 3, and reopen if necessary, changing the
product version accordingly.

Thank you.



Note You need to log in before you can comment on or make changes to this bug.