can't associate
Holger Schurig
hs4233 at mail.mn-solutions.de
Sun Feb 18 04:10:23 EST 2007
> Can you please try to associate with the following patch:
Sorry, it did not work with this patch.
Can't you reproduce my problem easily when you set your AP to a
high channel? Because the unpatched usb8xxx scans at channel 1
and 2 (and bandwith problems), my USB dongle detects the AP on
channels 1..4 (on channels 3 and 4 with a smaller signal, but
anyway). However, when I put my AP at channel 8 it's far enought
away to notget detected by the scan. That should be easy to
reproduce.
If your patch attached, debug_libertas=0 (because it outputs toooo much
debug, the debug comes more into the way than beeing helpful) but some
debug statements I saw this:
10:44:43 kernel: usb8xxx: eth1: Marvell Wlan 802.11 adapter
10:44:43 kernel: usbcore: registered new interface driver usb8xxx
10:44:46 root: ifconfig eth1 up
10:44:49 root: iwconfig eth1 essid MRVTEST
10:44:50 kernel: //HS libertas_send_specific_SSID_scan: calling wlan_scan_networks with full_scan
10:44:50 kernel: //HS wlan_scan_create_channel_list: nextchan 0, chanidx 0
10:44:50 kernel: //HS wlan_scan_create_channel_list: nextchan 1, chanidx 1
10:44:50 kernel: //HS wlan_scan_create_channel_list: nextchan 2, chanidx 2
10:44:50 kernel: //HS wlan_scan_create_channel_list: nextchan 3, chanidx 3
10:44:50 kernel: //HS wlan_scan_create_channel_list: nextchan 4, chanidx 4
10:44:50 kernel: //HS wlan_scan_create_channel_list: nextchan 5, chanidx 5
10:44:50 kernel: //HS wlan_scan_create_channel_list: nextchan 6, chanidx 6
10:44:50 kernel: //HS wlan_scan_create_channel_list: nextchan 7, chanidx 7
10:44:50 kernel: //HS wlan_scan_create_channel_list: nextchan 8, chanidx 8
10:44:50 kernel: //HS wlan_scan_create_channel_list: nextchan 9, chanidx 9
10:44:50 kernel: //HS wlan_scan_create_channel_list: nextchan 10, chanidx 10
10:44:50 kernel: //HS wlan_scan_channel_list: full_scan 1, last_scanned_channel 0
10:44:50 kernel: //HS wlan_scan_channel_list: scan chan 1
10:44:50 kernel: //HS wlan_scan_channel_list: scan chan 2
So, you patch inside libertas_send_specific_SSID_scan() set's full_scan
to 1. But this part of the patch
> - if (scanned >= 2) {
> + if (scanned >= 2 && full_scan) {
> priv->adapter->last_scanned_channel = ptmpchan->channumber;
> return 0;
> }
> + scanned = 0;
>
> }
then keeps the code path at this place the same as before. I think you need
to test for && !full_scan here.
At least it worked with this modification:
...
10:57:57 kernel: //HS wlan_scan_channel_list: full_scan 1, last_scanned_channel 0
10:57:57 kernel: //HS wlan_scan_channel_list: scan chan 1
10:57:57 kernel: //HS wlan_scan_channel_list: scan chan 2
10:57:57 kernel: //HS wlan_scan_channel_list: scan chan 3
10:57:57 kernel: //HS wlan_scan_channel_list: scan chan 4
10:57:57 kernel: //HS wlan_scan_channel_list: scan chan 5
10:57:57 kernel: //HS wlan_scan_channel_list: scan chan 6
10:57:57 kernel: //HS wlan_scan_channel_list: scan chan 7
10:57:57 kernel: //HS wlan_scan_channel_list: scan chan 8
10:57:57 kernel: //HS wlan_scan_channel_list: scan chan 9
10:57:57 kernel: //HS wlan_scan_channel_list: scan chan 10
10:57:57 kernel: //HS wlan_scan_channel_list: scan chan 11
And then:
# iwconfig eth1
eth1 MRVL-USB8388 ESSID:"MRVTEST" Nickname:""
Mode:Managed Frequency:2.447 GHz Access Point: 00:15:0C:A8:BF:24
Bit Rate:1 Mb/s Tx-Power=18 dBm
Retry limit:8 RTS thr=2347 B Fragment thr=2346 B
Encryption key:off
Power Management:off
Link Quality=100/100 Signal level=-2 dBm Noise level=-2 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
Voila!
I'm not sure about implications with debugfs/extscan or debugfs/setuserscan
here. When I do things like
echo "probes=2 dur=2000" >setuserscan
echo "probes=2 dur=2000 types=3" >setuserscan
echo "probes=2 dur=2000 types=3" >setuserscan
echo "essid=XX" >setuserscan
echo "essid=MRVTEST" >setuserscan
echo XX >extscan
echo MRVTEST >extscan
iwconfig eth1 essid any
All of this scanning methods call wlan_scan_channel_list() with
full_scan 1 and last_scanned_channel 0.
More information about the libertas-dev
mailing list