Bug 453058 - sundance driver only activating two ports on four-port DFE-580TX card
sundance driver only activating two ports on four-port DFE-580TX card
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: kernel (Show other bugs)
All Linux
low Severity low
: rc
: ---
Assigned To: Michal Schmidt
Red Hat Kernel QE team
Depends On:
  Show dependency treegraph
Reported: 2008-06-26 19:56 EDT by Paul Howarth
Modified: 2012-07-19 09:45 EDT (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2012-07-19 09:45:27 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
dmesg output immediately after booting (23.93 KB, text/plain)
2008-06-26 19:56 EDT, Paul Howarth
no flags Details
Output of lspci -vvxxx (36.23 KB, text/plain)
2008-06-26 19:57 EDT, Paul Howarth
no flags Details
Dmesg output (16.79 KB, text/plain)
2010-05-21 06:45 EDT, Oguz Yilmaz
no flags Details
lspci -vvxxx output (36.69 KB, text/plain)
2010-05-21 06:46 EDT, Oguz Yilmaz
no flags Details

  None (edit)
Description Paul Howarth 2008-06-26 19:56:27 EDT
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 19:56:27 EDT
Created attachment 310402 [details]
dmesg output immediately after booting
Comment 2 Paul Howarth 2008-06-26 19:57:39 EDT
Created attachment 310403 [details]
Output of lspci -vvxxx
Comment 3 Paul Howarth 2009-04-23 10:53:20 EDT
Same thing happens with 2.6.18-128.el5.
Comment 4 Oguz Yilmaz 2010-05-17 12:26:26 EDT
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 07:55:20 EDT
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 17:01:27 EDT
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 18:18:29 EDT
Oguz Yilmaz,
would you also attach the output of "dmesg" and "lspci -vvxxx" please?
Comment 9 Paul Howarth 2010-05-19 06:08:04 EDT
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 06:45:59 EDT
Created attachment 415642 [details]
Dmesg output
Comment 11 Oguz Yilmaz 2010-05-21 06:46:21 EDT
Created attachment 415643 [details]
lspci -vvxxx output
Comment 14 Nikolay Aleksandrov 2012-07-19 09:30:35 EDT
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 09:45:27 EDT
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.