Passive Scanning Bugreport

Thomas King <[email protected]>
Newsgroups gmane.linux.drivers.ipw2100.devel
Message-ID <[email protected]>
Hi all,
unfortunately, I figured out that my passive scanning implementation does not 
work in all circumstances. However, I believe this is not a bug in my 
implementation, instead it is a bug in the firmware or somewhere else inside 
the driver (at least I hope so ;-)). To clarify this, I need your help!

I attachted two files containing the scenarios in which passive scanning does 
work respectively does not work. I set the debug level to 0xfff.

Scenario 1 (passive scanning does not work): Please refer to bugreport1.txt. 
From line 2 you see that a passive scan is initiated at 00:02:07 (am in the 
morning *grr*). Line 132 shows you that the scan completion watchdog jumps in 
and resets the card. (Please keep in mind that in this scenario the driver 
did not miss any beacon as you can see from the log file.)

Scenario 2 (passive scanning does work): Please check out the bugreport2.txt 
file. As you see from line 38 the driver missed a beacon and hence aborts the 
(still running) passive scan. Line 41 shows that the scan is (normally) 
completed. The difference between Scenario 1 and 2 is that the driver missed 
a beacon in Scenario 2 and hence stopped the scan process. In Scenario 1 no 
scan completed event shows up.

Unfortunately, in my environment at the University I usually see Scenario 2 
and hence my patch worked most of the time. Even if the card gets resetted 
the driver reports a correct answer and this is why it took me some time to 
figure out that there is something wrong.
As far as I understand how the driver works, I believe the firmware is not 
generating a scan completed event. Another solution might be that I am not 
supposed to setup a scan watchdog for the passive scanning case. To clarify 
this problem I need your help! Please let me know what you think about this 
problem.

Greetings,
Thomas

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV

_______________________________________________
ipw2100-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ipw2100-devel
bugreport1.txt (text/plain, 11.1 KB)
Jul 29 00:02:07 encelados kernel: ipw2200: U ipw_wx_set_scan Start scan
Jul 29 00:02:07 encelados kernel: ipw2200: U ipw_request_scan_helper use passive scanning
Jul 29 00:02:07 encelados kernel: 00000000 AA 00 00 00 4D 02 03 04  05 06 07 08 09 0A 0B 0C   ....M... ........
Jul 29 00:02:07 encelados kernel: 00000010 0D 0E 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ........ ........
Jul 29 00:02:07 encelados kernel: 00000020 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ........ ........
Jul 29 00:02:07 encelados kernel: 00000030 00 00 00 00 00 00 00 00  00 00 01 11 11 11 11 11   ........ ........
Jul 29 00:02:07 encelados kernel: 00000040 11 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ........ ........
Jul 29 00:02:07 encelados kernel: 00000050 00 00 00 00 00 00 00 00  C8 00 00 00 00 00 00 00   ........ ........
Jul 29 00:02:07 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 29 00:02:07 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 29 00:02:07 encelados kernel: ipw2200: U ipw_wx_get_range GET Range
Jul 29 00:02:07 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 29 00:02:07 encelados kernel: ipw2200: U ipw_wx_get_name Name: IEEE 802.11g
Jul 29 00:02:07 encelados kernel: ipw2200: U ipw_wx_get_freq GET Freq/Channel -> 1
Jul 29 00:02:07 encelados kernel: ipw2200: U ipw_wx_get_essid Getting essid: 'Doniluma'
Jul 29 00:02:07 encelados kernel: ipw2200: U ipw_wx_get_mode Get MODE -> 2
Jul 29 00:02:07 encelados kernel: ipw2200: U ipw_wx_get_range GET Range
Jul 29 00:02:07 encelados kernel: ipw2200: U ipw_wx_get_sens GET roaming threshold -> OFF 8
Jul 29 00:02:07 encelados kernel: ipw2200: U ipw_wx_get_wap Getting WAP BSSID: 00:11:88:28:5e:e0
Jul 29 00:02:07 encelados kernel: ipw2200: U ipw_wx_get_nick Getting nick
Jul 29 00:02:07 encelados kernel: ipw2200: U ipw_wx_get_rate GET Rate -> 54000000
Jul 29 00:02:07 encelados kernel: ipw2200: U ipw_wx_get_rts GET RTS Threshold -> 2304
Jul 29 00:02:07 encelados kernel: ipw2200: U ipw_wx_get_frag GET Frag Threshold -> 2346
Jul 29 00:02:07 encelados kernel: ipw2200: U ipw_wx_get_power GET Power Management Mode -> 06
Jul 29 00:02:07 encelados kernel: ipw2200: U ipw_wx_get_txpow GET TX Power -> ON 20
Jul 29 00:02:07 encelados kernel: ipw2200: U ipw_wx_get_retry GET retry -> 7
Jul 29 00:02:07 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 29 00:02:08 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 29 00:02:08 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 29 00:02:08 encelados kernel: ipw2200: U ipw_wx_get_range GET Range
Jul 29 00:02:08 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 29 00:02:08 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 29 00:02:08 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 29 00:02:08 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 29 00:02:08 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 29 00:02:08 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 29 00:02:08 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 29 00:02:08 encelados kernel: ipw2200: U ipw_wx_get_name Name: IEEE 802.11g
Jul 29 00:02:08 encelados kernel: ipw2200: U ipw_wx_get_freq GET Freq/Channel -> 1
Jul 29 00:02:08 encelados kernel: ipw2200: U ipw_wx_get_essid Getting essid: 'Doniluma'
Jul 29 00:02:08 encelados kernel: ipw2200: U ipw_wx_get_mode Get MODE -> 2
Jul 29 00:02:08 encelados kernel: ipw2200: U ipw_wx_get_range GET Range
Jul 29 00:02:08 encelados kernel: ipw2200: U ipw_wx_get_sens GET roaming threshold -> OFF 8
Jul 29 00:02:08 encelados kernel: ipw2200: U ipw_wx_get_wap Getting WAP BSSID: 00:11:88:28:5e:e0
Jul 29 00:02:08 encelados kernel: ipw2200: U ipw_wx_get_nick Getting nick
Jul 29 00:02:08 encelados kernel: ipw2200: U ipw_wx_get_rate GET Rate -> 54000000
Jul 29 00:02:08 encelados kernel: ipw2200: U ipw_wx_get_rts GET RTS Threshold -> 2304
Jul 29 00:02:08 encelados kernel: ipw2200: U ipw_wx_get_frag GET Frag Threshold -> 2346
Jul 29 00:02:08 encelados kernel: ipw2200: U ipw_wx_get_power GET Power Management Mode -> 06
Jul 29 00:02:08 encelados kernel: ipw2200: U ipw_wx_get_txpow GET TX Power -> ON 20
Jul 29 00:02:08 encelados kernel: ipw2200: U ipw_wx_get_retry GET retry -> 7
Jul 29 00:02:09 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 29 00:02:09 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 29 00:02:09 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 29 00:02:09 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 29 00:02:09 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 29 00:02:09 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 29 00:02:09 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 29 00:02:09 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 29 00:02:09 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 29 00:02:09 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 29 00:02:09 encelados kernel: ipw2200: U ipw_wx_get_name Name: IEEE 802.11g
Jul 29 00:02:09 encelados kernel: ipw2200: U ipw_wx_get_freq GET Freq/Channel -> 1
Jul 29 00:02:09 encelados kernel: ipw2200: U ipw_wx_get_essid Getting essid: 'Doniluma'
Jul 29 00:02:09 encelados kernel: ipw2200: U ipw_wx_get_mode Get MODE -> 2
Jul 29 00:02:09 encelados kernel: ipw2200: U ipw_wx_get_range GET Range
Jul 29 00:02:09 encelados kernel: ipw2200: U ipw_wx_get_sens GET roaming threshold -> OFF 8
Jul 29 00:02:09 encelados kernel: ipw2200: U ipw_wx_get_wap Getting WAP BSSID: 00:11:88:28:5e:e0
Jul 29 00:02:09 encelados kernel: ipw2200: U ipw_wx_get_nick Getting nick
Jul 29 00:02:09 encelados kernel: ipw2200: U ipw_wx_get_rate GET Rate -> 54000000
Jul 29 00:02:09 encelados kernel: ipw2200: U ipw_wx_get_rts GET RTS Threshold -> 2304
Jul 29 00:02:09 encelados kernel: ipw2200: U ipw_wx_get_frag GET Frag Threshold -> 2346
Jul 29 00:02:09 encelados kernel: ipw2200: U ipw_wx_get_power GET Power Management Mode -> 06
Jul 29 00:02:09 encelados kernel: ipw2200: U ipw_wx_get_txpow GET TX Power -> ON 20
Jul 29 00:02:09 encelados kernel: ipw2200: U ipw_wx_get_retry GET retry -> 7
Jul 29 00:02:10 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 29 00:02:10 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 29 00:02:10 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 29 00:02:10 encelados kernel: ipw2200: U ipw_wx_get_range GET Range
Jul 29 00:02:10 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 29 00:02:10 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 29 00:02:10 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 29 00:02:10 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 29 00:02:10 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 29 00:02:10 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 29 00:02:10 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 29 00:02:10 encelados kernel: ipw2200: U ipw_wx_get_name Name: IEEE 802.11g
Jul 29 00:02:10 encelados kernel: ipw2200: U ipw_wx_get_freq GET Freq/Channel -> 1
Jul 29 00:02:10 encelados kernel: ipw2200: U ipw_wx_get_essid Getting essid: 'Doniluma'
Jul 29 00:02:10 encelados kernel: ipw2200: U ipw_wx_get_mode Get MODE -> 2
Jul 29 00:02:10 encelados kernel: ipw2200: U ipw_wx_get_range GET Range
Jul 29 00:02:10 encelados kernel: ipw2200: U ipw_wx_get_sens GET roaming threshold -> OFF 8
Jul 29 00:02:10 encelados kernel: ipw2200: U ipw_wx_get_wap Getting WAP BSSID: 00:11:88:28:5e:e0
Jul 29 00:02:10 encelados kernel: ipw2200: U ipw_wx_get_nick Getting nick
Jul 29 00:02:10 encelados kernel: ipw2200: U ipw_wx_get_rate GET Rate -> 54000000
Jul 29 00:02:10 encelados kernel: ipw2200: U ipw_wx_get_rts GET RTS Threshold -> 2304
Jul 29 00:02:10 encelados kernel: ipw2200: U ipw_wx_get_frag GET Frag Threshold -> 2346
Jul 29 00:02:10 encelados kernel: ipw2200: U ipw_wx_get_power GET Power Management Mode -> 06
Jul 29 00:02:10 encelados kernel: ipw2200: U ipw_wx_get_txpow GET TX Power -> ON 20
Jul 29 00:02:10 encelados kernel: ipw2200: U ipw_wx_get_retry GET retry -> 7
Jul 29 00:02:11 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 29 00:02:11 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 29 00:02:11 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 29 00:02:11 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 29 00:02:11 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 29 00:02:11 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 29 00:02:11 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 29 00:02:11 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 29 00:02:11 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 29 00:02:11 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 29 00:02:11 encelados kernel: ipw2200: U ipw_wx_get_name Name: IEEE 802.11g
Jul 29 00:02:11 encelados kernel: ipw2200: U ipw_wx_get_freq GET Freq/Channel -> 1
Jul 29 00:02:11 encelados kernel: ipw2200: U ipw_wx_get_essid Getting essid: 'Doniluma'
Jul 29 00:02:11 encelados kernel: ipw2200: U ipw_wx_get_mode Get MODE -> 2
Jul 29 00:02:11 encelados kernel: ipw2200: U ipw_wx_get_range GET Range
Jul 29 00:02:11 encelados kernel: ipw2200: U ipw_wx_get_sens GET roaming threshold -> OFF 8
Jul 29 00:02:11 encelados kernel: ipw2200: U ipw_wx_get_wap Getting WAP BSSID: 00:11:88:28:5e:e0
Jul 29 00:02:11 encelados kernel: ipw2200: U ipw_wx_get_nick Getting nick
Jul 29 00:02:11 encelados kernel: ipw2200: U ipw_wx_get_rate GET Rate -> 54000000
Jul 29 00:02:11 encelados kernel: ipw2200: U ipw_wx_get_rts GET RTS Threshold -> 2304
Jul 29 00:02:11 encelados kernel: ipw2200: U ipw_wx_get_frag GET Frag Threshold -> 2346
Jul 29 00:02:11 encelados kernel: ipw2200: U ipw_wx_get_power GET Power Management Mode -> 06
Jul 29 00:02:11 encelados kernel: ipw2200: U ipw_wx_get_txpow GET TX Power -> ON 20
Jul 29 00:02:11 encelados kernel: ipw2200: U ipw_wx_get_retry GET retry -> 7
Jul 29 00:02:12 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 29 00:02:12 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 29 00:02:12 encelados kernel: ipw2200: U ipw_wx_get_range GET Range
Jul 29 00:02:12 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 29 00:02:12 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 29 00:02:12 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 29 00:02:12 encelados kernel: ipw2200: U ipw_scan_check Scan completion watchdog resetting adapter after (5000ms
).
Jul 29 00:02:12 encelados kernel: ipw2200: U ipw_deinit Aborting scan during shutdown.
Jul 29 00:02:12 encelados kernel: ipw2200: U ipw_deinit Disassociating during shutdown.
bugreport2.txt (text/plain, 3.6 KB)
Jul 28 23:56:25 encelados kernel: ipw2200: U ipw_wx_set_scan Start scan
Jul 28 23:56:25 encelados kernel: ipw2200: U ipw_request_scan_helper use passive scanning
Jul 28 23:56:25 encelados kernel: 00000000 A5 00 00 00 4D 02 03 04  05 06 07 08 09 0A 0B 0C   ....M... ........
Jul 28 23:56:25 encelados kernel: 00000010 0D 0E 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ........ ........
Jul 28 23:56:25 encelados kernel: 00000020 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ........ ........
Jul 28 23:56:25 encelados kernel: 00000030 00 00 00 00 00 00 00 00  00 00 01 11 11 11 11 11   ........ ........
Jul 28 23:56:25 encelados kernel: 00000040 11 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ........ ........
Jul 28 23:56:25 encelados kernel: 00000050 00 00 00 00 00 00 00 00  C8 00 00 00 00 00 00 00   ........ ........
Jul 28 23:56:25 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 28 23:56:26 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 28 23:56:26 encelados kernel: ipw2200: U ipw_wx_get_range GET Range
Jul 28 23:56:26 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 28 23:56:26 encelados kernel: ipw2200: U ipw_wx_get_range GET Range
Jul 28 23:56:26 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 28 23:56:26 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 28 23:56:26 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 28 23:56:26 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 28 23:56:26 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 28 23:56:26 encelados kernel: ipw2200: U ipw_wx_get_name Name: IEEE 802.11g
Jul 28 23:56:26 encelados kernel: ipw2200: U ipw_wx_get_freq GET Freq/Channel -> 1
Jul 28 23:56:26 encelados kernel: ipw2200: U ipw_wx_get_essid Getting essid: 'Doniluma'
Jul 28 23:56:26 encelados kernel: ipw2200: U ipw_wx_get_mode Get MODE -> 2
Jul 28 23:56:26 encelados kernel: ipw2200: U ipw_wx_get_range GET Range
Jul 28 23:56:26 encelados kernel: ipw2200: U ipw_wx_get_sens GET roaming threshold -> OFF 8
Jul 28 23:56:26 encelados kernel: ipw2200: U ipw_wx_get_wap Getting WAP BSSID: 00:11:88:28:5e:e0
Jul 28 23:56:26 encelados kernel: ipw2200: U ipw_wx_get_nick Getting nick
Jul 28 23:56:26 encelados kernel: ipw2200: U ipw_wx_get_rate GET Rate -> 54000000
Jul 28 23:56:26 encelados kernel: ipw2200: U ipw_wx_get_rts GET RTS Threshold -> 2304
Jul 28 23:56:26 encelados kernel: ipw2200: U ipw_wx_get_frag GET Frag Threshold -> 2346
Jul 28 23:56:26 encelados kernel: ipw2200: U ipw_wx_get_power GET Power Management Mode -> 06
Jul 28 23:56:26 encelados kernel: ipw2200: U ipw_wx_get_txpow GET TX Power -> ON 20
Jul 28 23:56:26 encelados kernel: ipw2200: U ipw_wx_get_retry GET retry -> 7
Jul 28 23:56:26 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 28 23:56:26 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 28 23:56:26 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 28 23:56:27 encelados kernel: ipw2200: I ipw_rx_notification type = 25 (4 bytes)
Jul 28 23:56:27 encelados kernel: ipw2200: I ipw_rx_notification type = 17 (8 bytes)
Jul 28 23:56:27 encelados kernel: ipw2200: I ipw_handle_missed_beacon Aborting scan with missed beacon.
Jul 28 23:56:27 encelados kernel: ipw2200: I ipw_handle_missed_beacon Missed beacon: 1
Jul 28 23:56:27 encelados kernel: ipw2200: I ipw_rx_notification type = 13 (4 bytes)
Jul 28 23:56:27 encelados kernel: ipw2200: I ipw_rx_notification Scan completed: type 1, 1 channels, 2 status
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.