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

Reply via email to