Results 1 to 1 of 1
Enjoy an ad free experience by logging in. Not a member yet? Register.
- Join Date
- Jul 2007
Strange issue with wireless LAN adapter
Computer: Asus G1S laptop
OS: Slackware 13.1.0
Kernel: Custom/optimized 2.6.38, however 22.214.171.124, 126.96.36.199 and 188.8.131.52 have also been tested.
WLAN adapter: 03:00.0 Network controller: Intel Corporation PRO/Wireless 4965 AG or AGN [Kedron] Network Connection (rev 61), using kernel module iwlagn
When I attempt to use my WLAN adapter the following issue occurs:
x86# wpa_supplicant -Dwext -iwlan0 -c /etc/wpa_supplicant.conf ioctl[SIOCGIWSCAN]: Resource temporarily unavailable ioctl[SIOCSIWSCAN]: Device or resource busy Failed to initiate AP scan. ^CCTRL-EVENT-TERMINATING - signal 2 received x86#
x86_20# iwlist wlan0 scan wlan0 Interface doesn't support scanning : Network is down x86_20# ifconfig wlan0 up x86_20# iwlist wlan0 scan wlan0 Interface doesn't support scanning : Device or resource busy x86_20# iwlist wlan0 scan wlan0 Interface doesn't support scanning : Device or resource busy x86_20# iwlist wlan0 scan wlan0 Scan completed :
However I'm completely unable to associate with an AP, even when I specify the MAC address and frequency of the AP. This is not an issue with the AP itself, as it happens on several different APs that have no issues with being used by other STAs.
Past issues with the system:
The following past issues are known for this computer.
Issue with CRDA:
wlan0: authenticate with xx:xx:xx:xx:xx:xx (try 1) wlan0: authenticated wlan0: associate with xx:xx:xx:xx:xx:xx (try 1) wlan0: RX AssocResp from xx:xx:xx:xx:xx:xx (capab=0x421 status=0 aid=2) wlan0: associated wlan0: deauthenticating from xx:xx:xx:xx:xx:xx by local choice (reason=3) cfg80211: Calling CRDA to update world regulatory domain cfg80211: World regulatory domain updated: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp) (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm) (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm) (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
A hack around this issue was to simply use wpa_supplicant which will instantly reassociate with the AP whenever this happened; although it could at times happen in a more continuous manner, causing the connection to be somewhat unstable.
I never found a proper solution for this issue, even though I even tried to modify the kernel source to avoid using the CRDA subsystem altogether.
I have already attempted to use different ucodes for the WLAN adapter, to no avail. I also tried this for the CRDA issue.
I attempted to use ndiswrapper as an alternative to the native kernel driver. The problem with this is that it simply does not compile, as such:
make -C driver make: Entering directory `/temp_install/ndiswrapper-1.56/driver' make -C /usr/src/linux-2.6.38 M=/temp_install/ndiswrapper-1.56/driver make: Entering directory `/usr/src/linux-2.6.38' CC [M] /temp_install/ndiswrapper-1.56/driver/iw_ndis.o /temp_install/ndiswrapper-1.56/driver/iw_ndis.c:1966: error: unknown field 'num_private' specified in initializer /temp_install/ndiswrapper-1.56/driver/iw_ndis.c:1966: warning: initialization makes pointer from integer without a cast /temp_install/ndiswrapper-1.56/driver/iw_ndis.c:1967: error: unknown field 'num_private_args' specified in initializer /temp_install/ndiswrapper-1.56/driver/iw_ndis.c:1967: warning: excess elements in struct initializer /temp_install/ndiswrapper-1.56/driver/iw_ndis.c:1967: warning: (near initialization for 'ndis_handler_def') /temp_install/ndiswrapper-1.56/driver/iw_ndis.c:1970: error: unknown field 'private' specified in initializer /temp_install/ndiswrapper-1.56/driver/iw_ndis.c:1970: warning: initialization makes integer from pointer without a cast /temp_install/ndiswrapper-1.56/driver/iw_ndis.c:1970: error: initializer element is not computable at load time /temp_install/ndiswrapper-1.56/driver/iw_ndis.c:1970: error: (near initialization for 'ndis_handler_def.num_standard') /temp_install/ndiswrapper-1.56/driver/iw_ndis.c:1971: error: unknown field 'private_args' specified in initializer /temp_install/ndiswrapper-1.56/driver/iw_ndis.c:1971: warning: initialization from incompatible pointer type make: *** [/temp_install/ndiswrapper-1.56/driver/iw_ndis.o] Error 1 make: *** [_module_/temp_install/ndiswrapper-1.56/driver] Error 2 make: Leaving directory `/usr/src/linux-2.6.38' make: *** [modules] Error 2 make: Leaving directory `/temp_install/ndiswrapper-1.56/driver' make: *** [all] Error 2