Hello,
I recently installed Fedora 9 PPC on a Powerbook G4 Titanium. I have
been trying to configure the Airport Extreme wireless card without
success. The b43 loads, and the interface is available, but after
installing the firmware, the system freezes and requires a hard reboot.
At first, I thought I should use b43 and new firmware, since this is
kernel 2.6.25 (and Fedora wanted to use that driver!). Although,
perhaps I should use b43legacy and old firmware, since this is a
"BCM4306 ... rev(03)" card.
Has anyone got this card working?
Below is the entire procedure I went through already, trying both
drivers and firmware; sorry for the long post. :)
Regards,
Richard
-----------------------------
# uname -a
Linux localhost.localdomain 2.6.25.6-55.fc9.ppc #1 Tue Jun 10 15:58:33 EDT 2008
ppc ppc ppc GNU/Linux
# lspci -v -v -v -s 0001:10:12.0
0001:10:12.0 Network controller: Broadcom Corporation BCM4306 802.11b/g
Wireless LAN Controller (rev 03)
Subsystem: Apple Computer Inc. AirPort Extreme
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort-
<MAbort- >SERR- <PERR- INTx-
Latency: 16
Interrupt: pin A routed to IRQ 52
Region 0: Memory at a0006000 (32-bit, non-prefetchable) [size=8K]
Capabilities: [40] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA
PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=2 PME-
Kernel driver in use: b43-pci-bridge
Kernel modules: ssb
# ./ssb-sprom -i ssb_sprom_copy -P
SPROM(0x04, Subsystem product ID) = 0x004E
SPROM(0x06, Subsystem vendor ID) = 0x106B
SPROM(0x08, PCI Product ID) = 0x4320
Reading the supported devices list on the b43 website, this is an
Airport Extreme Mini-PCI Card, and should work.
Fedora automagically wanted to use the b43 driver. F9 ships:
# modinfo b43
filename:
/lib/modules/2.6.25.6-55.fc9.ppc/kernel/drivers/net/wireless/b43/b43.ko
firmware: FW13
license: GPL
author: Michael Buesch
author: Stefano Brivio
author: Martin Langer
description: Broadcom B43 wireless driver
srcversion: 9A886AA7ED4F1A447449875
alias: pcmcia:m02D0c0448f*fn*pfn*pa*pb*pc*pd*
alias: ssb:v4243id0812rev0D*
alias: ssb:v4243id0812rev0B*
alias: ssb:v4243id0812rev0A*
alias: ssb:v4243id0812rev09*
alias: ssb:v4243id0812rev07*
alias: ssb:v4243id0812rev06*
alias: ssb:v4243id0812rev05*
depends: mac80211,ssb,input-polldev,rfkill
vermagic: 2.6.25.6-55.fc9.ppc mod_unload
parm: bad_frames_preempt:enable(1) / disable(0) Bad Frames Preemption
(int)
parm: fwpostfix:Postfix for the .fw files to load. (string)
parm: hwpctl:Enable hardware-side power control (default off) (int)
parm: nohwcrypt:Disable hardware encryption. (int)
parm: qos:Enable QOS support (default on) (int)
parm: btcoex:Enable Bluetooth coexistance (default on) (int)
I followed the instructions on the b43 website to use b43-fwcutter to
extract the firmware. b43-fwcutter version 011 ships with Fedora:
# b43-fwcutter --version
b43-fwcutter version 011
Initially, I used the b43-new instructions because I (Fedora) was using
the b43 driver from 2.6.25. I verified the MD5SUM of the firmware file
matched an acceptable one from "b43-fwcutter --list":
b43 wl_apsta_mimo.o 410.2160 FW13
cb8d70972b885b1f8883b943c0261a3c
After installing the firmware into /lib/firmware/b43, I "modprobe
-r"/"modprobe" cycled the b43 driver. During "ifup wlan0" (I believe
it's when dhclient starts), the system simply freezes; a total lockup,
holding down the power button to force a shutdown was necessary. I
rebooted to try again, but the same problem occurred.
Based on "lspci -v -v" telling me I had a "BCM4306 ... (rev 03)"
Broadcom card, and this from the website:
> b43legacy should be used on all 4301 and 4303 cards. 4306 and 4309
> cards with a MAC core revision of 4 or less should also use b43legacy.
> b43 should be used on all other cards. You can safely have both
> versions built on the same system. The full MAC core version is
> printed in the kernel logs when "SSB debugging" is enabled in KConfig
> and the driver finds a board.
I decided perhaps I was supposed to use the b43legacy driver and
therefore also a different firmware.
I then followed the firmware extraction and installation for the older
firmware. I again verified the firmware matched "b43-fwcutter --list",
and b43-fwcutter installed the firmware into /lib/firmware/b43legacy.
b43legacy wl_apsta.o 295.14 FW10
e08665c5c5b66beb9c3b2dd54aa80cb3
# b43-fwcutter -i wl_apsta-3.130.20.0.o
This file is recognised as:
ID : FW10
filename : wl_apsta.o
version : 295.14
MD5 : e08665c5c5b66beb9c3b2dd54aa80cb3
I insured there were no b43 modules inserted ("lsmod | grep 43"), then
modprobed b43legacy. Strangely, Fedora also loaded the b43 driver.
dmesg showed me the driver couldn't find the ucode5.fw file, it wasn't
looking in /lib/firmware/b43legacy, it was looking in /lib/firmware/b43.
So, I linked /lib/firmware/b43 -> /lib/firmware/b43legacy. Then it told
me the firmware was too old.
Figuring b43 was still involved somehow, but it shouldn't be, I
blacklisted b43. Now, after "modprobe b43legacy" there is no wlan0
interface, so I cannot "ifup wlan0". In syslog I find:
Jun 29 16:46:57 localhost kernel: ssb: Sonics Silicon Backplane found on PCI
device 0001:10:12.0
Jun 29 16:46:57 localhost kernel: Broadcom 43xx-legacy driver loaded [
Features: PLRID, Firmware-ID: FW10 ]
While "modprobe b43" now yields:
(with /lib/firmware/b43 -> /lib/firmware/b43legacy)
Jun 29 16:44:21 localhost kernel: ssb: Sonics Silicon Backplane found on PCI
device 0001:10:12.0
Jun 29 16:44:21 localhost kernel: b43-phy0: Broadcom 4306 WLAN found
Jun 29 16:44:21 localhost kernel: b43-phy0 debug: Found PHY: Analog 2, Type 2,
Revision 2
Jun 29 16:44:21 localhost kernel: b43-phy0 debug: Found Radio: Manuf 0x17F,
Version 0x2050, Revision 2
Jun 29 16:44:21 localhost kernel: phy0: Selected rate control algorithm 'pid'
Jun 29 16:44:21 localhost kernel: Broadcom 43xx driver loaded [ Features: PMLR,
Firmware-ID: FW13 ]
but, "ifup wlan0" yields:
Jun 29 16:44:57 localhost kernel: b43-phy0 ERROR: YOUR FIRMWARE IS TOO OLD.
_______________________________________________
Bcm43xx-dev mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev