On Fri, Apr 18, 2008 at 8:30 PM, Larry Finger <[EMAIL PROTECTED]> wrote:
> What is happening on the bcm43xx mailing list? I keep getting the mail > way out of order. It certainly makes following a thread difficult. > Sorry for that, it's most likely because I often forgot to CC the list when I answer a message coming from it. Gmail defaults to sending the answer directly to the sender, rather than the mailing list. > > In any case, the following patch makes my ASUS-138G work. > > Index: wireless-testing/drivers/net/wireless/b43/main.c > =================================================================== > --- wireless-testing.orig/drivers/net/wireless/b43/main.c > +++ wireless-testing/drivers/net/wireless/b43/main.c > @@ -4413,6 +4413,9 @@ static void b43_sprom_fixup(struct ssb_b > if (bus->boardinfo.vendor == SSB_BOARDVENDOR_DELL && > bus->chip_id == 0x4301 && bus->boardinfo.rev == 0x74) > bus->sprom.boardflags_lo |= B43_BFL_BTCOEXIST; > + if (bus->boardinfo.vendor == SSB_BOARDVENDOR_ASUS && > + bus->chip_id == 0x4318 && bus->boardinfo.rev == 0x02) > + bus->sprom.boardflags_lo |= B43_BFL_BTCMOD; That's wrong. You shouldn't force BTCMOD to be always 1, you should force BTCOEXIST to be always 0. > > if (bus->boardinfo.vendor == PCI_VENDOR_ID_APPLE && > bus->boardinfo.type == 0x4E && bus->boardinfo.rev > 0x40) > bus->sprom.boardflags_lo |= B43_BFL_PACTRL; > Index: wireless-testing/include/linux/ssb/ssb.h > =================================================================== > --- wireless-testing.orig/include/linux/ssb/ssb.h > +++ wireless-testing/include/linux/ssb/ssb.h > @@ -212,6 +212,7 @@ enum ssb_bustype { > #define SSB_BOARDVENDOR_BCM 0x14E4 /* Broadcom */ > #define SSB_BOARDVENDOR_DELL 0x1028 /* Dell */ > #define SSB_BOARDVENDOR_HP 0x0E11 /* HP */ > +#define SSB_BOARDVENDOR_ASUS 0x1043 /* AsusTek */ > /* board_type */ > #define SSB_BOARD_BCM94306MP 0x0418 > #define SSB_BOARD_BCM4309G 0x0421 > > The value for boardinfo.rev is a bit troubling. The SPROM dump shows 0x42, > but test printk's show it to be 0x02 at this point. > > Larry > > > > Index: wireless-testing/drivers/net/wireless/b43/main.c > =================================================================== > --- wireless-testing.orig/drivers/net/wireless/b43/main.c > +++ wireless-testing/drivers/net/wireless/b43/main.c > @@ -4413,6 +4413,9 @@ static void b43_sprom_fixup(struct ssb_b > if (bus->boardinfo.vendor == SSB_BOARDVENDOR_DELL && > bus->chip_id == 0x4301 && bus->boardinfo.rev == 0x74) > bus->sprom.boardflags_lo |= B43_BFL_BTCOEXIST; > + if (bus->boardinfo.vendor == SSB_BOARDVENDOR_ASUS && > + bus->chip_id == 0x4318 && bus->boardinfo.rev == 0x2) > + bus->sprom.boardflags_lo |= B43_BFL_BTCMOD; Again, disable BTCOEXIST altogether, as this card doesn't have a Bluetooth chip at all. > > if (bus->boardinfo.vendor == PCI_VENDOR_ID_APPLE && > bus->boardinfo.type == 0x4E && bus->boardinfo.rev > 0x40) > bus->sprom.boardflags_lo |= B43_BFL_PACTRL; > Index: wireless-testing/include/linux/ssb/ssb.h > =================================================================== > --- wireless-testing.orig/include/linux/ssb/ssb.h > +++ wireless-testing/include/linux/ssb/ssb.h > @@ -212,6 +212,7 @@ enum ssb_bustype { > #define SSB_BOARDVENDOR_BCM 0x14E4 /* Broadcom */ > #define SSB_BOARDVENDOR_DELL 0x1028 /* Dell */ > #define SSB_BOARDVENDOR_HP 0x0E11 /* HP */ > +#define SSB_BOARDVENDOR_ASUS 0x1043 /* AsusTek */ > /* board_type */ > #define SSB_BOARD_BCM94306MP 0x0418 > #define SSB_BOARD_BCM4309G 0x0421 > > > -- Vista: [V]iruses, [I]ntruders, [S]pyware, [T]rojans and [A]dware. :-)
_______________________________________________ Bcm43xx-dev mailing list Bcm43xx-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/bcm43xx-dev