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 &gt;TAbort- &lt;TAbort- &lt;MAbort- &gt;SERR- &lt;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 =&gt; 4                                                             <br>ssb: set_irq: core 0x0811, irq 7 =&gt; 2                                                             <br>ssb: set_irq: core 0x0801, irq 5 =&gt; 2                                                             <br>
ssb: set_irq: core 0x0806, irq 7 =&gt; 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 -&gt; 0x00001000                                                               <br>
Movable zone start PFN for each node                                                              <br>early_node_map[1] active PFN ranges                                                               <br>    0: 0x00000000 -&gt; 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 &lt;bio-0&gt; 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 -&gt; 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 &quot;Physically mapped flash&quot;:                                              <br>
0x000000000000-0x000000040000 : &quot;cfe&quot;                                                                <br>0x000000040000-0x0000003f0000 : &quot;linux&quot;                                                              <br>
0x000000111c00-0x0000003f0000 : &quot;rootfs&quot;                                                             <br>mtd: partition &quot;rootfs&quot; must either start or end on erase block boundary or be smaller than an erase block -- forcing read-only<br>
mtd: partition &quot;rootfs&quot; set to be root filesystem                                                                              <br>mtd: partition &quot;rootfs_data&quot; created automatically, ofs=2B0000, len=140000                                                     <br>
0x0000002b0000-0x0000003f0000 : &quot;rootfs_data&quot;                                                                                  <br>0x0000003f0000-0x000000400000 : &quot;nvram&quot;                                                                                        <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 &lt;<a href="mailto:greearb@candelatech.com">greearb@candelatech.com</a>&gt;                                                                  <br>All bugs added by David S. Miller &lt;<a href="mailto:davem@redhat.com">davem@redhat.com</a>&gt;                                                                           <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 &#39;Linksys WRT54G V1.x&#39;                                                                                           <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 &#39;eth0&#39;<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>