tech-net archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: iwn0: fatal firmware error



On Fri, Jan 20, 2012 at 09:52:50PM -0600, Jeremy C. Reed wrote:
> I cc'd Patrick regarding his 
> http://mail-index.netbsd.org/tech-kern/2011/08/06/msg011131.html email 
> and patch... Did you ever get a solution to your problem?
> 
> I next installed the firmware files:
> 
> iwlwifi-6000g2b-6.ucode
> iwlwifi-6000g2b-5.ucode
> 
> I see these weren't mentioned in code. So I tried patch from email 
> above. Now I get the same:
> 
> iwn0: could not configure bluetooth coexistence
> iwn0: could not configure device
> iwn0: cannot assign link-local address

I'm sorry I missed your email!

I am currently writing this logged into another netbsd box using
iwn0 with the following patch (I just removed the troublesome
bluetooth, as it doesn't work anyway on this laptop). This would
remove it for everyone using iwn0, so not good to commit...

Cheers,

Patrick
Index: if_iwn.c
===================================================================
RCS file: /cvsroot/src/sys/dev/pci/if_iwn.c,v
retrieving revision 1.62
diff -u -r1.62 if_iwn.c
--- if_iwn.c    30 Jan 2012 19:41:20 -0000      1.62
+++ if_iwn.c    6 Apr 2012 11:01:01 -0000
@@ -717,7 +717,16 @@
                break;
        case IWN_HW_REV_TYPE_6005:
                sc->limits = &iwn6000_sensitivity_limits;
-               sc->fwname = "iwlwifi-6000g2a-5.ucode";
+               /* The following are type 6030, yet a test WIFI_LINK_6230_2
+                  card returned "11" = IWN_HW_REV_TYPE_6005 */
+               if (pid == PCI_PRODUCT_INTEL_WIFI_LINK_1030_1 ||
+                   pid == PCI_PRODUCT_INTEL_WIFI_LINK_1030_2 ||
+                   pid == PCI_PRODUCT_INTEL_WIFI_LINK_6230_1 ||
+                   pid == PCI_PRODUCT_INTEL_WIFI_LINK_6230_2) {
+                       sc->fwname = "iwlwifi-6000g2b-5.ucode";
+               }
+               else
+                       sc->fwname = "iwlwifi-6000g2a-5.ucode";
                break;
        default:
                aprint_normal(": adapter type %d not supported\n", sc->hw_type);
@@ -4112,7 +4121,9 @@
        struct iwn_ops *ops = &sc->ops;
        struct ieee80211com *ic = &sc->sc_ic;
        struct ifnet *ifp = ic->ic_ifp;
+#ifdef XXXPRLW1
        struct iwn_bluetooth bluetooth;
+#endif
        uint32_t txmask;
        uint16_t rxchain;
        int error;
@@ -4141,6 +4152,7 @@
                }
        }
 
+#ifdef XXXPRLW1
        /* Configure bluetooth coexistence. */
        memset(&bluetooth, 0, sizeof bluetooth);
        bluetooth.flags = IWN_BT_COEX_CHAN_ANN | IWN_BT_COEX_BT_PRIO;
@@ -4153,6 +4165,7 @@
                    "could not configure bluetooth coexistence\n");
                return error;
        }
+#endif
 
        /* Set mode, channel, RX filter and enable RX. */
        memset(&sc->rxon, 0, sizeof (struct iwn_rxon));


Home | Main Index | Thread Index | Old Index