Bug 156761

Summary: kudzu gets confused by an Atheros card
Product: [Fedora] Fedora Reporter: Florin Andrei <florin>
Component: kudzuAssignee: Bill Nottingham <notting>
Status: CLOSED CURRENTRELEASE QA Contact: David Lawrence <dkl>
Severity: medium Docs Contact:
Priority: medium    
Version: 3CC: rvokal
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: FC4 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2005-09-28 21:26:37 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:

Description Florin Andrei 2005-05-04 01:10:20 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.7) Gecko/20050416 Fedora/1.0.3-1.3.1 Firefox/1.0.3

Description of problem:
Dell Latitude D600 laptop, has an Intel Pro 2200 wireless card onboard. I did a fresh FC3 install while in the spare PCMCIA slot was plugged a multiband Atheros (madwifi) wireless card.
Then i did a "yum update" then reboot.
After reboot, kudzu detected the onboard Intel Pro 2200 wireless card, but created it as eth2. I installed the ipw2200 firmware from atrpms then reboot.
I could not configure the 2200 card, it won't come up:

# ifup eth2
ipw2200 device eth2 does not seem to be present, delaying
initialization.

I then installed the madwifi drivers from atrpms for the Atheros card, and that one was detected and configured just fine, as ath0. No problems with Atheros.

On a whim, i tried "ifconfig eth1 up" and guess what - the 2200 card came up!
It looks like kudzu got confused by the Atheros card, somehow skipped eth1 (thinking that Atheros is eth1) and assigned the 2200 to eth2. But in fact, the kernel thinks that the 2200 is eth1.

To confirm, i nuked the system and reinstalled it, this time without plugging in the Atheros card.
Sure thing, the 2200 card got detected correctly by kudzu, as eth1. Then i installed the madwifi drivers and the Atheros card got detected as ath0. So everything's fine now.

But anyway, kudzu should not skip over eth1 just because an Atheros card is plugged in (which is not even configured, has no drivers installed yet).

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

How reproducible:
Always

Steps to Reproduce:
1.see above
2.
3.
  

Additional info:

See discussion here:

http://lists.atrpms.net/pipermail/atrpms-users/2005-May/thread.html#2895

Thread name: "ipw2200 not working"

Comment 1 Florin Andrei 2005-05-04 01:15:01 UTC
I mean, kudzu should not skip eth1 and assign the 2200 to eth2 just because the
Atheros card is plugged in. Atheros is ath0, not eth1!

Comment 2 Bill Nottingham 2005-05-04 01:24:59 UTC
What config files did it write?

Comment 3 Florin Andrei 2005-05-04 18:23:00 UTC
You mean kudzu? When it got confused?
Well... Let me see. I think it added "alias eth2 ipw2200" to modprobe.conf, it
created ifcfg-eth2 (which was self-consistent and consistent with modprobe.conf,
but it contradicted what the kernel was seeing as far as the Intel Pro/2200 card
was concerned) and... i guess that's it? I am not familiar with everything else
kudzu is doing behind the scenes.

In any case, when i reinstalled the system without plugging in the Atheros
(madwifi) card from the very beginning, the modprobe.conf alias and the ifcfg
file were created correctly, the Intel Pro/2200 card was mapped to eth1.
It looks like, the first time, when the Atheros card was plugged during
installation and during the first boot, kudzu thought it should reserve eth1 for
the Atheros card and push the Intel Pro/2200 over to eth2, while the kernel was
thinking all along that Pro/2200 was eth1.
In both cases, in the end kudzu correctly did all the configuration bits
(modprobe.conf, ifcfg) for the Atheros card as ath0. It's just that, in the
first case, it erroneously moved the Intel Pro/2200 over to eth2.

Both the ipw2200 and the madwifi drivers were yum'ed up from the atrpms.net
repository.
In both cases, the ipw2200 driver was installed first, while the madwifi driver
was installed after that, plenty of reboots between all major steps.

Comment 4 Florin Andrei 2005-05-04 18:25:06 UTC
The laptop is a Dell Latitude D600
The Atheros card is Linksys WPC55AG

Comment 5 Florin Andrei 2005-05-04 18:26:25 UTC
In both cases, first thing i did right after install was "yum update".
Then i proceeded to install drivers, configure stuff, etc.

Comment 6 Florin Andrei 2005-05-04 18:29:47 UTC
Here is the install document template i derived from this experience:

Do not plug in the multiband (A/B/G) wireless card just yet or you may get hit
by a Kudzu bug!

1. Install Fedora Core 3

2. Import the Red Hat GPG keys:

rpm --import /usr/share/rhn/RPM-GPG-KEY*

3. Fully update the system

export http_proxy="http://www-proxy.XXXXXX.com:YYYY"
yum update
chkconfig kudzu on
reboot

Make sure the system comes up running the updated kernel.
Configure the new network interface when Kudzu finds it (only on systems with an
embedded wireless card, such as the Dell Latitude D600 laptops).

4. Enable custom RPM repositories

export http_proxy="http://www-proxy.XXXXXX.com:YYYY"

wget http://ATrpms.net/RPM-GPG-KEY.atrpms
rpm --import RPM-GPG-KEY.atrpms
rm -f RPM-GPG-KEY.atrpms
cat > /etc/yum.repos.d/at-stable.repo << "AT-STABLE"
[at-stable]
name=ATrpms for Fedora Core $releasever stable
baseurl=http://apt.atrpms.net/fedora/$releasever/en/$basearch/at-stable
gpgcheck=1
enabled=0
AT-STABLE

wget http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt
rpm --import RPM-GPG-KEY.dag.txt
rm -f RPM-GPG-KEY.dag.txt
cat > /etc/yum.repos.d/dag.repo << "DAG"
[dag]
name=Dag RPM Repository for Fedora Core
baseurl=http://apt.sw.be/fedora/$releasever/en/$basearch/dag
gpgcheck=1
enabled=0
DAG

5. Install wireless drivers

5.1. Only on Dell Latitude D600, install the Intel PRO/Wireless 2200 driver for
the embedded B/G wireless card

On systems that do not use the Pro/2200 embedded wireless interface, you can
skip this step.

yum --enablerepo=at-stable install ipw2200
reboot

Make sure that this wireless interface works properly after reboot.

5.2. Install the driver for the Atheros A/B/G wireless card

Now plug the multiband wireless card into the laptop.

export http_proxy="http://www-proxy.XXXXXX.com:YYYY"
yum --enablerepo=at-stable install madwifi
reboot

Configure the new interface to use DHCP when the system comes up and Kudzu sees
it. It may seem to fail to come up after that, but that's because there's no
DHCP-enabled access point nearby - therefore, it's no problem. Now edit its
configuration file...

vi /etc/sysconfig/network-scripts/ifcfg-ath0

...and change BOOTPROTO like this:

BOOTPROTO=static

Don't change anything else.
Reboot one more time; this time, if there's an access point nearby, the card
will hook up to it, but will not get an address; this means everything works
properly.

6. Install wireless software

....


Comment 7 Bill Nottingham 2005-05-04 18:35:33 UTC
As long as modprobe.conf matches ifcfg-eth2, and ifcfg-eth2 has a HWADDR= line
in it, the device name should be more or less irrelevant.

Comment 8 Florin Andrei 2005-05-04 18:54:21 UTC
Bingo!

I am looking at ifcfg-eth1 now, and there's no HWADDR= line
I am pretty sure that was the case too when i did the previous install and the
interface didn't work - i remember not seeing the HWADDR= line in ifcfg-eth2 (as
it was labeled eth2 back then)

Neither ifcfg-eth0 has a HWADDR= line now. That's the embedded GigE card, using
the tg3 module. But it's always been working fine nevertheless.

The ifcfg-ath0 does have a HWADDR= line.


Comment 9 Bill Nottingham 2005-09-28 21:26:37 UTC
This should be better in FC4; it contains some fixes to the network device name
detection code. Please open a new bug if it still behaves strangely there.