Please note: This project is no longer active. The website is kept online for historic purposes only.
If you´re looking for a Linux driver for your Atheros WLAN device, you should continue here .

Ticket #756: foreign_ap_assoc_fix.diff

File foreign_ap_assoc_fix.diff, 1.3 kB (added by tomas@simek.info, 13 years ago)

Patch correcting association many hardware APs in client mode to madwifi AP

  • madwifi/net80211/ieee80211_input.c

    old new  
    30313031                        FREE(ni->ni_challenge, M_DEVBUF); 
    30323032                        ni->ni_challenge = NULL; 
    30333033                } 
     3034                 
    30343035                /* 802.11 spec says to ignore station's privacy bit */ 
     3036                 
     3037                /* this code was disabled (changed to debug warning only) 
     3038                 * due to incompatibility with many hardware access points  
     3039                 * in client modes.  
     3040                 * I don't know if this is okay, but we need it 
     3041                 */ 
    30353042                if ((capinfo & IEEE80211_CAPINFO_ESS) == 0) { 
    30363043                        IEEE80211_NOTE_MAC(vap, IEEE80211_MSG_ANY, wh->i_addr2, 
    3037                                 "deny %s request, capability mismatch 0x%x", 
     3044                                "%s request, capability mismatch 0x%x, continuing anyway", 
    30383045                                reassoc ? "reassoc" : "assoc", capinfo); 
    3039                         IEEE80211_SEND_MGMT(ni, resp, IEEE80211_STATUS_CAPINFO); 
    3040                         ieee80211_node_leave(ni); 
    3041                         vap->iv_stats.is_rx_assoc_capmismatch++; 
    3042                         return; 
    30433046                } 
     3047                    
     3048                /* IEEE80211_SEND_MGMT(ni, resp, IEEE80211_STATUS_CAPINFO); 
     3049                 *      ieee80211_node_leave(ni); 
     3050                 *      vap->iv_stats.is_rx_assoc_capmismatch++; 
     3051                 *      return; 
     3052                 * } 
     3053                 */ 
    30443054                rate = ieee80211_setup_rates(ni, rates, xrates, 
    30453055                        IEEE80211_F_DOSORT | IEEE80211_F_DOFRATE | 
    30463056                        IEEE80211_F_DONEGO | IEEE80211_F_DODEL);