On Monday 05 March 2012 18:42:12 Mitsuru IWASAKI wrote: > Hi, > > I've fixed iwi(4) so that Intel(R) PRO/Wireless 2915ABG work > in WEP mode, which seems to be broken since 8.0-RELEASE. > > The patches against HEAD at: > http://people.freebsd.org/~iwasaki/iwi/iwi-20120305.diff > > I'm not sure that changes on ieee80211 layer are right fixes, > but all of mbufs were discarded in ieee80211_start() in WEP mode. > > ---- > void > ieee80211_start(struct ifnet *ifp) > { > [snip] > if (ni->ni_associd == 0 && > (ni->ni_flags & IEEE80211_NODE_ASSOCID)) { > IEEE80211_DISCARD_MAC(vap, IEEE80211_MSG_OUTPUT, > eh->ether_dhost, NULL, > "sta not associated (type 0x%04x)", > htons(eh->ether_type)); > vap->iv_stats.is_tx_notassoc++; > ifp->if_oerrors++; > m_freem(m); > ieee80211_free_node(ni); > continue; > } > ---- > > My patches set IEEE80211_NODE_ASSOCID bit only if ni->ni_associd > is set. Any suggestions on this part are welcome. Are you sure the net80211 part is correct? It looks to me as if you are just masking the real issue. The IEEE80211_NODE_ASSOCID flag is ment to be used to verify that an associd has actually been set, not doing so will break other things I guess. iwi(4) is a bit tricky in that regard, as it sets the associd itself, check iwi_checkforqos(). I'd verify that function is actually called and if so if the parameters are correct. I fumbled around there once, might have wrong WEP.. > I'm going to commit the changes coming weekend. What's the reason behing adding if_qflush()/if_transmit()? -- BernhardReceived on Mon Mar 05 2012 - 21:41:02 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:24 UTC