Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 453058 - sundance driver only activating two ports on four-port DFE-580TX card
Summary: sundance driver only activating two ports on four-port DFE-580TX card
Alias: None
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: kernel
Version: 5.3
Hardware: All
OS: Linux
Target Milestone: rc
: ---
Assignee: Michal Schmidt
QA Contact: Red Hat Kernel QE team
Depends On:
TreeView+ depends on / blocked
Reported: 2008-06-26 23:56 UTC by Paul Howarth
Modified: 2012-07-19 13:45 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2012-07-19 13:45:27 UTC
Target Upstream Version:

Attachments (Terms of Use)
dmesg output immediately after booting (deleted)
2008-06-26 23:56 UTC, Paul Howarth
no flags Details
Output of lspci -vvxxx (deleted)
2008-06-26 23:57 UTC, Paul Howarth
no flags Details
Dmesg output (deleted)
2010-05-21 10:45 UTC, Oguz Yilmaz
no flags Details
lspci -vvxxx output (deleted)
2010-05-21 10:46 UTC, Oguz Yilmaz
no flags Details

Description Paul Howarth 2008-06-26 23:56:27 UTC
Version-Release number of selected component (if applicable):

At boot time only two of the four ports are activated, with the diagnostic for
other two ports being:

  eth0: No MII transceiver found, aborting.  ASIC status ffffffff

I found a LKML post describing the exact same symptoms, a diagnosis, and a
partial workaround:

It's only a partial workaround at the moment because I cannot get all interfaces
to come up without manual intervention. I've tried adding this to modprobe.conf:

install sundance setpci -s 04:00.0 3e.b=00; /sbin/modprobe --ignore-install sundance

That doesn't seem to have any effect at boot time, but if I then log in and do
"rmmod sundance; modprobe sundance", the four interfaces all come up. I've also
tried this in modprobe.conf to try to reproduce the manual step:

install sundance setpci -s 04:00.0 3e.b=00; /sbin/modprobe --ignore-install
sundance; /sbin/modprobe -r sundance; sleep 2; /sbin/modprobe --ignore-install

That didn't help either.

I appreciate that this is probably a BIOS problem but a workaround that could
bring all four interfaces up at boot time without manual intervention would be
very helpful.

Comment 1 Paul Howarth 2008-06-26 23:56:27 UTC
Created attachment 310402 [details]
dmesg output immediately after booting

Comment 2 Paul Howarth 2008-06-26 23:57:39 UTC
Created attachment 310403 [details]
Output of lspci -vvxxx

Comment 3 Paul Howarth 2009-04-23 14:53:20 UTC
Same thing happens with 2.6.18-128.el5.

Comment 4 Oguz Yilmaz 2010-05-17 16:26:26 UTC
Same thing happens with 2.6.18-194
Workaround for PCI-to-PCI Bridge NoISA bit also works.

Comment 6 Michal Schmidt 2010-05-18 11:55:20 UTC
Some notes for better understanding of the bug:

The DFE-580TX card consists of 4 Sundance DL10050 chips on a PCI bus which is connected to the system's PCI bus via the PCI-to-PCI bridge (Intel 21152).
A picture of the card confirms it:

Datasheet of the Intel 21152 bridge:

Articles describing the ISA aliasing problem (i.e. why the "ISA enable" was introduced):

Does the system's BIOS have any options related to ISA aliasing?

Comment 7 Oguz Yilmaz 2010-05-18 21:01:27 UTC
Unfortunately no options exist about ISA Aliasing.Actually the card is Intel D410Pt and has the lightest BIOS features I have ever seen.

Comment 8 Michal Schmidt 2010-05-18 22:18:29 UTC
Oguz Yilmaz,
would you also attach the output of "dmesg" and "lspci -vvxxx" please?

Comment 9 Paul Howarth 2010-05-19 10:08:04 UTC
My motherboard doesn't have any options relating to ISA aliasing either. I can attach dmesg and lspci output from an EL 5.5 kernel now if it's useful (original data in Comment #1 and Comment #2).

Comment 10 Oguz Yilmaz 2010-05-21 10:45:59 UTC
Created attachment 415642 [details]
Dmesg output

Comment 11 Oguz Yilmaz 2010-05-21 10:46:21 UTC
Created attachment 415643 [details]
lspci -vvxxx output

Comment 14 Nikolay Aleksandrov 2012-07-19 13:30:35 UTC
After investigating the issue and going through upstream commits and PCI code, I think that it affects only specific similar types of BIOS (which incorrectly configure the I/O range). I couldn't find fixes in upstream for this, however I could find similar issues dating back from 2002 which got custom workarounds but since they changed general functions for specific needs, they weren't integrated in upstream. Disabling the NoISA flag in BridgeCtl register before loading the module is a valid workaround.

Comment 15 Michal Schmidt 2012-07-19 13:45:27 UTC
Nikolay, thank you for the research about this problem.
So it appears that the impact is limited to specific BIOSes and the past attempts to get workarounds for this into upstream failed. Therefore I'm closing this as WONTFIX.

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