On Fri, 2007-09-14 at 12:32 +0200, David Woodhouse wrote:
> This device is basically identical to the one I handed to John in
> Cambridge last week. How do I force the b43 driver to bind to it? 

This (and copying b0g0initvals2 from the b43legacy/ directory to b43/)
didn't work... it seems it can't transmit.
http://david.woodhou.se/b43-not-working.txt

This card is working fine with bcm43xx-mac80211 right now though.

--- drivers/net/wireless/b43/main.c~    2007-09-14 01:05:37.000000000 +0200
+++ drivers/net/wireless/b43/main.c     2007-09-14 12:41:32.000000000 +0200
@@ -109,6 +109,7 @@ module_param_named(nohwcrypt, modparam_n
 MODULE_PARM_DESC(nohwcrypt, "Disable hardware encryption.");
 
 static const struct ssb_device_id b43_ssb_tbl[] = {
+       SSB_DEVICE(SSB_VENDOR_BROADCOM, SSB_DEV_80211, 4),
        SSB_DEVICE(SSB_VENDOR_BROADCOM, SSB_DEV_80211, 5),
        SSB_DEVICE(SSB_VENDOR_BROADCOM, SSB_DEV_80211, 6),
        SSB_DEVICE(SSB_VENDOR_BROADCOM, SSB_DEV_80211, 7),
@@ -1648,7 +1649,9 @@ static int b43_request_firmware(struct b
 
        tmshigh = ssb_read32(dev->dev, SSB_TMSHIGH);
        if (!fw->ucode) {
-               if ((rev >= 5) && (rev <= 10))
+               if (rev == 4)
+                       filename = "ucode4";
+               else if ((rev >= 5) && (rev <= 10))
                        filename = "ucode5";
                else if ((rev >= 11) && (rev <= 12))
                        filename = "ucode11";
@@ -1661,7 +1664,9 @@ static int b43_request_firmware(struct b
                        goto err_load;
        }
        if (!fw->pcm) {
-               if ((rev >= 5) && (rev <= 10))
+               if (rev == 4)
+                       filename = "pcm4";
+               else if ((rev >= 5) && (rev <= 10))
                        filename = "pcm5";
                else if (rev >= 11)
                        filename = NULL;
@@ -1683,7 +1688,9 @@ static int b43_request_firmware(struct b
                                goto err_no_initvals;
                        break;
                case B43_PHYTYPE_G:
-                       if ((rev >= 5) && (rev <= 10))
+                       if (rev == 4)
+                               filename = "b0g0initvals2";
+                       else if ((rev >= 5) && (rev <= 10))
                                filename = "b0g0initvals5";
                        else if (rev >= 13)
                                filename = "lp0initvals13";
@@ -1713,7 +1720,7 @@ static int b43_request_firmware(struct b
                case B43_PHYTYPE_G:
                        if ((rev >= 5) && (rev <= 10))
                                filename = "b0g0bsinitvals5";
-                       else if (rev >= 11)
+                       else if (rev == 4 || rev >= 11)
                                filename = NULL;
                        else
                                goto err_no_initvals;

-- 
dwmw2

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

Reply via email to