On Sat, 25 Mar 2006, 10:52 GMT+00 David Woodhouse wrote:
If you haven't already done so, update to the 2.6.16-1.2071_FC5
or later
kernel, from
http://people.redhat.com/davej/kernels/Fedora/FC5/ if it
isn't in the official repos yet. The bcm43xx driver _does_ work in the
2054 release kernel, and I've been using it like that for months, but
it's far less picky about its initialisation in 2071, and doesn't lose
the network every time NetworkManager scans -- so for the sake of the
HOWTO it's just easier if you upgrade. The improvements to the driver
_will_ be in the official kernel update when it eventually comes out.
Thanks a lot for this detailed HOWTO! I have successfully updated the
kernel to 2.6.16-1.2074_FC5. An easy way for updating to davej test
kernels would be to save
[kernels-testing]
name=davej test kernels for Fedora Core $releasever
baseurl=http://people.redhat.com/davej/kernels/Fedora/FC$releasever/RPMS....
enabled=0
gpgcheck=0
into '/etc/yum.repos.d/davej-kernels-testing.repo'. Then, executing
yum --enablerepo=kernels-testing update kernel
would currently result in
Installed: kernel.ppc 0:2.6.16-1.2074_FC5
Install the bcm43xx-fwcutter package from Extras. It's in
extras-devel,
but not yet in extras-fc5 yet because my request to create the branch
hasn't been honoured yet. There's a copy of it at
http://david.woodhou.se/bcm43xx-fwcutter-003-2.ppc.rpm (there's also
i386 and src rpms there).
(By next week, hopefully the above will be reduced to
'yum update kernel ; yum install bcm43xx-fwcutter')
yum --enablerepo=extras-development install bcm43xx-fwcutter
worked fine for me on FC5:
Installed: bcm43xx-fwcutter.ppc 0:003-2.fc6
Then proceed as described
in /usr/share/doc/bcm43xx-fwcutter-003/README.Fedora:
As root, extract the firmware from your Windows or MacOS driver by
running the command
bcm43xx-fwcutter -w /lib/firmware <DRIVERFILE>
The README file in the same directory (not README.Fedora but just
README) contains a bunch of links to drivers if you don't have one.
Apparently, any of them should be OK; it doesn't matter which you use.
I used 'AppleAirPort2' from the mounted MacOSX partition:
# bcm43xx-fwcutter -w /lib/firmware
/mnt/macosx/System/Library/Extensions/AppleAirPort2.kext/Contents/MacOS/AppleAirPort2
fwcutter can cut the firmware out of
/mnt/macosx/System/Library/Extensions/AppleAirPort2.kext/Contents/MacOS/AppleAirPort2
filename : AppleAirPort2
version : 3.90.34.0.p16 (404.2)
MD5 : 7200d1aef5f413ebc811046d068b40dc
WARNING! This firmware doesn't include support for 802.11a cards.
WARNING! Use this firmware only for 802.11b/g cards.
extracting bcm43xx_microcode2.fw ...
extracting bcm43xx_microcode4.fw ...
extracting bcm43xx_microcode5.fw ...
*****: Sorry, it's not posible to extract "bcm43xx_microcode11.fw".
*****: Extracting firmware from an old driver is bad. Choose a more recent one.
*****: Luckily bcm43xx driver doesn't include microcode11 uploads at the moment.
*****: But this can be added in the future...
extracting bcm43xx_pcm4.fw ...
extracting bcm43xx_pcm5.fw ...
extracting bcm43xx_initval01.fw ...
extracting bcm43xx_initval02.fw ...
extracting bcm43xx_initval03.fw ...
extracting bcm43xx_initval04.fw ...
extracting bcm43xx_initval05.fw ...
extracting bcm43xx_initval06.fw ...
extracting bcm43xx_initval07.fw ...
extracting bcm43xx_initval08.fw ...
extracting bcm43xx_initval09.fw ...
extracting bcm43xx_initval10.fw ...
The /lib/firmware directory now contains:
-rw-r--r-- 1 root root 3504 25. Mär 18:07 bcm43xx_initval01.fw
-rw-r--r-- 1 root root 16 25. Mär 18:07 bcm43xx_initval02.fw
-rw-r--r-- 1 root root 0 25. Mär 18:07 bcm43xx_initval03.fw
-rw-r--r-- 1 root root 0 25. Mär 18:07 bcm43xx_initval04.fw
-rw-r--r-- 1 root root 2536 25. Mär 18:07 bcm43xx_initval05.fw
-rw-r--r-- 1 root root 248 25. Mär 18:07 bcm43xx_initval06.fw
-rw-r--r-- 1 root root 0 25. Mär 18:07 bcm43xx_initval07.fw
-rw-r--r-- 1 root root 0 25. Mär 18:07 bcm43xx_initval08.fw
-rw-r--r-- 1 root root 0 25. Mär 18:07 bcm43xx_initval09.fw
-rw-r--r-- 1 root root 0 25. Mär 18:07 bcm43xx_initval10.fw
-rw-r--r-- 1 root root 16200 25. Mär 18:07 bcm43xx_microcode2.fw
-rw-r--r-- 1 root root 19952 25. Mär 18:07 bcm43xx_microcode4.fw
-rw-r--r-- 1 root root 22512 25. Mär 18:07 bcm43xx_microcode5.fw
-rw-r--r-- 1 root root 1312 25. Mär 18:07 bcm43xx_pcm4.fw
-rw-r--r-- 1 root root 1312 25. Mär 18:07 bcm43xx_pcm5.fw
Is this all fine or could the message regarding
"bcm43xx_microcode11.fw" cause a problem?
Load the driver by 'modprobe bcm43xx'. NetworkManager should
work with
it, as should system-config-network and the standard initscripts.
We disabled the automatic loading of the bcm43xx driver in FC5
because
it's quite new and experimental, and partly because of the bugs which
have now been fixed in the 2071 kernel. To make sure the driver gets
loaded automatically, either add '/sbin/modprobe bcm43xx' to
your /etc/rc.local script, or copy the alias list
from /usr/share/doc/bcm43xx-fwcutter-003/modprobe.bcm43xx into
the /etc/modprobe.d directory, which tells the module loaded which PCI
IDs to associate with the bcm43xx driver.
I tried the second suggested method
cp /usr/share/doc/bcm43xx-fwcutter-003/modprobe.bcm43xx /etc/modprobe.d
however, after restarting, the 'bcm43xx' Module did not get loaded
(checked with 'lsmod').
Before proceeding, I want to make sure all steps so far worked fine.
Thanks again for your great support!
rob.