I built OpenWrt for the Linksys wrt54g v1.0 router, which reports to have a bcm4306 rev 02 device even though its pci-id is 14e4:4320. This contradicts <a href="http://wireless.kernel.org/en/users/Drivers/b43#Known_PCI_devices">http://wireless.kernel.org/en/users/Drivers/b43#Known_PCI_devices</a> , which says this device should be at rev 03. Not surprisingly, b43legacy works but b43 does not.<br>
<br>--------------------------------------------------------------------------------------------------------------------------------------------------------------------<br>root@OpenWrt:~# uname -a<br><br>Linux OpenWrt 2.6.32.9 #3 Fri Mar 26 13:03:34 PDT 2010 mips GNU/Linux<br>
<br><br>--------------------------------------------------------------------------------------------------------------------------------------------------------------------<br>root@OpenWrt:~# lspci -vvn | grep 43 -A7<br><br>
00:08.0 0280: 14e4:4320 (rev 02)<br> Subsystem: 16a5:1603<br> Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-<br> Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-<br>
Latency: 64<br> Interrupt: pin A routed to IRQ 6<br> Region 0: Memory at 40000000 (32-bit, non-prefetchable) [size=8K]<br> Capabilities: [40] Power Management version 2<br>--<br> Kernel driver in use: b43-pci-bridge<br>
<br><br>--------------------------------------------------------------------------------------------------------------------------------------------------------------------<br>root@OpenWrt:~# dmesg<br> <br>
Linux version 2.6.32.9 (nowlans@ubuntu) (gcc version 4.3.3 (GCC) ) #3 Fri Mar 26 13:03:34 PDT 2010<br>CPU revision is: 00024000 (Broadcom BCM4710) <br>ssb: Core 0 found: SDRAM (cc 0x803, rev 0x00, vendor 0x4243) <br>
ssb: Core 1 found: ILine 20 (cc 0x801, rev 0x00, vendor 0x4243) <br>ssb: Core 2 found: Fast Ethernet (cc 0x806, rev 0x00, vendor 0x4243) <br>ssb: Core 3 found: V90 (cc 0x807, rev 0x00, vendor 0x4243) <br>
ssb: Core 4 found: USB 1.1 Hostdev (cc 0x808, rev 0x00, vendor 0x4243) <br>ssb: Core 5 found: PCI (cc 0x804, rev 0x00, vendor 0x4243) <br>ssb: Core 6 found: MIPS (cc 0x805, rev 0x00, vendor 0x4243) <br>
ssb: Core 7 found: EXTIF (cc 0x811, rev 0x00, vendor 0x4243) <br>ssb: Core 8 found: Fast Ethernet (cc 0x806, rev 0x00, vendor 0x4243) <br>ssb: Initializing MIPS core... <br>
ssb: set_irq: core 0x0806, irq 4 => 4 <br>ssb: set_irq: core 0x0811, irq 7 => 2 <br>ssb: set_irq: core 0x0801, irq 5 => 2 <br>
ssb: set_irq: core 0x0806, irq 7 => 5 <br>ssb: after irq reconfiguration <br>ssb: core 0x0803, irq : 2(S) 3 4 5 6 D I* <br>
ssb: core 0x0801, irq : 2(S)* 3 4 5 6 D I <br>ssb: core 0x0806, irq : 2(S) 3 4* 5 6 D I <br>ssb: core 0x0807, irq : 2(S) 3 4 5 6 D* I <br>
ssb: core 0x0808, irq : 2(S) 3* 4 5 6 D I <br>ssb: core 0x0804, irq : 2(S) 3 4 5 6* D I <br>ssb: core 0x0805, irq : 2(S) 3 4 5 6 D I* <br>
ssb: core 0x0811, irq : 2(S)* 3 4 5 6 D I <br>ssb: core 0x0806, irq : 2(S) 3 4 5* 6 D I <br>ssb: Sonics Silicon Backplane found at address 0x18000000 <br>
Serial init done. <br>Determined physical RAM map: <br> memory: 01000000 @ 00000000 (usable) <br>
Initrd not found or empty - disabling initrd <br>Zone PFN ranges: <br> Normal 0x00000000 -> 0x00001000 <br>
Movable zone start PFN for each node <br>early_node_map[1] active PFN ranges <br> 0: 0x00000000 -> 0x00001000 <br>
On node 0 totalpages: 4096 <br>free_area_init_node: node 0, pgdat 80281b00, node_mem_map 802c7000 <br> Normal zone: 32 pages used for memmap <br>
Normal zone: 0 pages reserved <br> Normal zone: 4064 pages, LIFO batch:0 <br>Built 1 zonelists in Zone order, mobility grouping off. Total pages: 4064 <br>
Kernel command line: root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200 <br>PID hash table entries: 64 (order: -4, 256 bytes) <br>Dentry cache hash table entries: 2048 (order: 1, 8192 bytes) <br>
Inode-cache hash table entries: 1024 (order: 0, 4096 bytes) <br>Enabling BCM4710A0 cache workarounds. <br>Primary instruction cache 8kB, VIPT, 2-way, linesize 16 bytes. <br>
Primary data cache 4kB, 2-way, VIPT, no aliases, linesize 16 bytes <br>Memory: 13396k/16384k available (2217k kernel code, 2988k reserved, 347k data, 136k init, 0k highmem)<br>Hierarchical RCU implementation. <br>
NR_IRQS:128 <br>Calibrating delay loop... 82.68 BogoMIPS (lpj=165376) <br>Mount-cache hash table entries: 512 <br>
NET: Registered protocol family 16 <br>bio: create slab <bio-0> at 0 <br>Switching to clocksource MIPS <br>
ssb: PCIcore in host mode found <br>PCI: Fixing up bridge 0000:00:00.0 <br>PCI: Setting latency timer of device 0000:00:00.0 to 64 <br>
PCI: Fixing up device 0000:00:00.0 <br>PCI: Fixing latency timer of device 0000:00:00.0 to 168 <br>pci 0000:00:00.0: reg 10 32bit mmio: [0x000000-0x001fff] <br>
pci 0000:00:00.0: reg 14 32bit mmio pref: [0x000000-0x7ffffff] <br>pci 0000:00:08.0: reg 10 32bit mmio: [0x000000-0x001fff] <br>pci 0000:00:08.0: supports D1 D2 <br>
pci 0000:00:08.0: PME# supported from D0 D1 D2 D3hot D3cold <br>pci 0000:00:08.0: PME# disabled <br>PCI: Enabling device 0000:00:08.0 (0000 -> 0002) <br>
PCI: Fixing up device 0000:00:08.0 <br>PCI: Setting latency timer of device 0000:00:08.0 to 64 <br>ssb: Core 0 found: ChipCommon (cc 0x800, rev 0x02, vendor 0x4243) <br>
ssb: Core 1 found: IEEE 802.11 (cc 0x812, rev 0x04, vendor 0x4243) <br>ssb: Core 2 found: PCMCIA (cc 0x80D, rev 0x01, vendor 0x4243) <br>ssb: Core 3 found: V90 (cc 0x807, rev 0x01, vendor 0x4243) <br>
ssb: Core 4 found: PCI (cc 0x804, rev 0x07, vendor 0x4243) <br>ssb: Core 5 found: IEEE 802.11 (cc 0x812, rev 0x04, vendor 0x4243) <br>ssb: Ignoring additional 802.11 core <br>
ssb: SPROM revision 1 detected. <br>ssb: Sonics Silicon Backplane found on PCI device 0000:00:08.0 <br>NET: Registered protocol family 2 <br>
IP route cache hash table entries: 1024 (order: 0, 4096 bytes) <br>TCP established hash table entries: 512 (order: 0, 4096 bytes) <br>TCP bind hash table entries: 512 (order: -1, 2048 bytes) <br>
TCP: Hash tables configured (established 512 bind 512) <br>TCP reno registered <br>NET: Registered protocol family 1 <br>
squashfs: version 4.0 (2009/01/31) Phillip Lougher <br>Registering mini_fo version $Id$ <br>JFFS2 version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc. <br>
msgmni has been set to 26 <br>io scheduler noop registered <br>io scheduler deadline registered (default) <br>
Serial: 8250/16550 driver, 2 ports, IRQ sharing enabled <br>flash init: 0x1fc00000 0x00400000 <br>Physically mapped flash: Found 1 x16 devices at 0x0 in 16-bit bank <br>
Amd/Fujitsu Extended Query Table at 0x0040 <br>number of CFI chips: 1 <br>cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness. <br>
Flash device: 0x400000 at 0x1fc00000 <br>bootloader size: 262144 <br>Creating 4 MTD partitions on "Physically mapped flash": <br>
0x000000000000-0x000000040000 : "cfe" <br>0x000000040000-0x0000003f0000 : "linux" <br>
0x000000111c00-0x0000003f0000 : "rootfs" <br>mtd: partition "rootfs" must either start or end on erase block boundary or be smaller than an erase block -- forcing read-only<br>
mtd: partition "rootfs" set to be root filesystem <br>mtd: partition "rootfs_data" created automatically, ofs=2B0000, len=140000 <br>
0x0000002b0000-0x0000003f0000 : "rootfs_data" <br>0x0000003f0000-0x000000400000 : "nvram" <br>
b44.c:v2.0 <br>eth0: Broadcom 44xx/47xx 10/100BaseT Ethernet 00:06:25:c5:35:4f <br>
eth1: Broadcom 44xx/47xx 10/100BaseT Ethernet 00:06:25:c5:35:50 <br>BCM47xx Watchdog Timer enabled (30 seconds, nowayout) <br>
TCP westwood registered <br>NET: Registered protocol family 17 <br>
802.1Q VLAN Support v1.8 Ben Greear <<a href="mailto:greearb@candelatech.com">greearb@candelatech.com</a>> <br>All bugs added by David S. Miller <<a href="mailto:davem@redhat.com">davem@redhat.com</a>> <br>
VFS: Mounted root (squashfs filesystem) readonly on device 31:2. <br>Freeing unused kernel memory: 136k freed <br>
Please be patient, while OpenWrt loads ... <br>diag: Detected 'Linksys WRT54G V1.x' <br>
b44: eth0: Link is up at 100 Mbps, full duplex. <br>b44: eth0: Flow control is off for TX and off for RX. <br>
roboswitch: Probing device eth0: No Robo switch in managed mode found, phy_id = 0xffffffff <br>roboswitch: Probing device eth1: <br>
roboswitch: [/home/nowlans/openwrt/kamikaze/build_dir/linux-brcm47xx/kmod-switch/switch-robo.c:130] SIOCGETCPHYRD failed! <br>roboswitch: [/home/nowlans/openwrt/kamikaze/build_dir/linux-brcm47xx/kmod-switch/switch-robo.c:130] SIOCGETCPHYRD failed! <br>
No Robo switch in managed mode found, phy_id = 0xffffffff <br>roboswitch: Probing device eth2: No such device <br>
roboswitch: Probing device eth3: No such device <br>b44: eth0: powering down PHY <br>
b44: eth0: Link is up at 100 Mbps, full duplex. <br>b44: eth0: Flow control is off for TX and off for RX. <br>
b44: eth0: powering down PHY <br>b44: eth0: Link is up at 100 Mbps, full duplex. <br>
b44: eth0: Flow control is off for TX and off for RX.<br>b44: eth0: powering down PHY<br>mini_fo: using base directory: /<br>mini_fo: using storage directory: /overlay<br>b44: eth0: Link is up at 100 Mbps, full duplex.<br>
b44: eth0: Flow control is off for TX and off for RX.<br>b44: eth0: powering down PHY<br>b44: eth0: Link is up at 100 Mbps, full duplex.<br>b44: eth0: Flow control is off for TX and off for RX.<br>b44: eth0: powering down PHY<br>
b44: eth0: Link is up at 100 Mbps, full duplex.<br>b44: eth0: Flow control is off for TX and off for RX.<br>device eth0.0 entered promiscuous mode<br>device eth0 entered promiscuous mode<br>br-lan: port 1(eth0.0) entering forwarding state<br>
Generic kernel compatibility enabled based on linux-next next-20100113<br>cfg80211: Calling CRDA to update world regulatory domain<br>There is already a switch registered on the device 'eth0'<br>roboswitch: Probing device eth1:<br>
roboswitch: [/home/nowlans/openwrt/kamikaze/build_dir/linux-brcm47xx/kmod-switch/switch-robo.c:130] SIOCGETCPHYRD failed!<br>roboswitch: [/home/nowlans/openwrt/kamikaze/build_dir/linux-brcm47xx/kmod-switch/switch-robo.c:130] SIOCGETCPHYRD failed!<br>
No Robo switch in managed mode found, phy_id = 0xffffffff<br>roboswitch: Probing device eth2: No such device<br>roboswitch: Probing device eth3: No such device<br>cfg80211: World regulatory domain updated:<br> (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)<br>
(2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)<br> (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)<br> (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)<br> (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)<br>
(5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)<br>Broadcom 43xx driver loaded [ Features: PNL, Firmware-ID: FW13 ]<br>PPP generic driver version 2.4.2<br>ip_tables: (C) 2000-2006 Netfilter Core Team<br>NET: Registered protocol family 24<br>
nf_conntrack version 0.5.0 (211 buckets, 844 max)<br>