On Jun 29, 2008, at 16:52 PM, Richard Michael wrote:

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?

I can confirm that I have this working in PPC and x86 without issues in Ubuntu Hardy-Heron.


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

This is not quite right but just be lspci/pcitools, it's a BCM4318MPKAG and not a BCM4306EFKB because it's a/b/g.

b43 is the correct driver to use.


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.

This explains why it's not working for you.

_______________________________________________
Bcm43xx-dev mailing list
Bcm43xx-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev


-- Dale



Attachment: PGP.sig
Description: This is a digitally signed message part

_______________________________________________
Bcm43xx-dev mailing list
Bcm43xx-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev

Reply via email to