[Prism54-users] Default channel is unsupported?
Bjørn Mork
bjorn@mork.no
Tue, 11 Nov 2003 14:58:33 +0100
First let me say thay I'm really impressed by the speed the driver is
currently improving. Thanks for all the hard work. Let's hope the
licensing issue is resolved soon.
I have been using a SMC2802W as an accesspoint with the old (islpci)
version of the driver for a while. This works fine as long as I run
'setoid eth1 17000019 long 5'. I thought that was needed because the
client is 802.11b only, but experimenting with the newer driver from
CVS makes me suspect that the real reason is a bad choice of default
channel.
Note that I don't know anything about how the card/driver do scanning
in different modes, so my observations may be based on totally wrong
assumptions.
This is what I have noticed: After loading prism54 with all settings
(both compile time and run time) set to default, I get a client
scanning all the 2.4 GHz channels for an accesspoint, as expected:
canardo:/home/bjorn# /usr/local/src/wireless_tools.26/iwconfig eth1
eth1 PRISM Duette Mode:Managed Frequency:2.427GHz
Access Point: 00:00:00:00:00:00 Bit Rate:0kb/s Sensitivity=20/200
Retry min limit:8 RTS thr:2347 B Fragment thr:2346 B
Encryption key:off
Link Quality:0 Signal level:0 Noise level:235
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
But I notice that the list of supported frequencies also include the
5.15 - 5.35 GHz band:
canardo:/home/bjorn# /usr/local/src/wireless_tools.26/iwlist eth1 freq
eth1 26 channels in total; available frequencies :
Channel 00 : 5.17 GHz
Channel 01 : 5.18 GHz
Channel 02 : 5.19 GHz
Channel 03 : 5.2 GHz
Channel 04 : 5.21 GHz
Channel 05 : 5.22 GHz
Channel 06 : 5.23 GHz
Channel 07 : 5.24 GHz
Channel 08 : 5.26 GHz
Channel 09 : 5.28 GHz
Channel 10 : 5.3 GHz
Channel 11 : 5.32 GHz
Channel 12 : 2.412 GHz
Channel 13 : 2.417 GHz
Channel 14 : 2.422 GHz
Channel 15 : 2.427 GHz
Channel 16 : 2.432 GHz
Channel 17 : 2.437 GHz
Channel 18 : 2.442 GHz
Channel 19 : 2.447 GHz
Channel 20 : 2.452 GHz
Channel 21 : 2.457 GHz
Channel 22 : 2.462 GHz
Channel 23 : 2.467 GHz
Channel 24 : 2.472 GHz
Channel 25 : 2.484 GHz
Current Frequency:2.432GHz (channel 16)
A comment in isl_ioctl.c explains why:
/* Request the device for the supported frequencies
* not really revelant since some devices will report the 5 GHz band
* frequencies even if they don't support them.
*/
I also notice that the channels are enumerated with the 5 GHz band
listed first, and that this makes channel numbers rather meaningless.
More specifically, these channel numbers are in no way related to the
802.11a/b channel numbering.
But no real problem so far.
The problems start when I change to master mode, which makes the
driver change to channel 03 (why? the default is supposed to be 6?)
according to the above enumeration, i.e. 5.2 GHz (channel 40 according
to 802.11a). That doesn't make much sense with a 802.11g card...
canardo:/home/bjorn# /usr/local/src/wireless_tools.26/iwconfig eth1
eth1 PRISM Duette ESSID:"default"
Mode:Master Frequency:5.2GHz Access Point: 00:04:E2:64:53:A0
Bit Rate:54Mb/s Sensitivity=20/200
Retry min limit:8 RTS thr:2347 B Fragment thr:2346 B
Encryption key:off
Link Quality:192 Signal level:0 Noise level:64
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
Naturally, I can't get any client to connect at this point. Well,
802.11b clients at least - I don't really have any 802.11a clients to
test with.
But if I try setting the channel, then suddenly the driver (or
iwconfig? I'm a bit confused here) uses 802.11b channel numbers
(ch 5 => 2432 MHz):
canardo:/home/bjorn# /usr/local/src/wireless_tools.26/iwconfig eth1 channel 5
canardo:/home/bjorn# /usr/local/src/wireless_tools.26/iwconfig eth1
eth1 PRISM Duette ESSID:"default"
Mode:Master Frequency:2.432GHz Access Point: 00:04:E2:64:53:A0
Bit Rate:54Mb/s Sensitivity=20/200
Retry min limit:8 RTS thr:2347 B Fragment thr:2346 B
Encryption key:off
Link Quality:31 Signal level:0 Noise level:225
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
But still not when listing the available channels. Note the channel
number listed after "Current Frequency":
canardo:/home/bjorn# /usr/local/src/wireless_tools.26/iwlist eth1 freq
eth1 26 channels in total; available frequencies :
Channel 00 : 5.17 GHz
Channel 01 : 5.18 GHz
Channel 02 : 5.19 GHz
Channel 03 : 5.2 GHz
Channel 04 : 5.21 GHz
Channel 05 : 5.22 GHz
Channel 06 : 5.23 GHz
Channel 07 : 5.24 GHz
Channel 08 : 5.26 GHz
Channel 09 : 5.28 GHz
Channel 10 : 5.3 GHz
Channel 11 : 5.32 GHz
Channel 12 : 2.412 GHz
Channel 13 : 2.417 GHz
Channel 14 : 2.422 GHz
Channel 15 : 2.427 GHz
Channel 16 : 2.432 GHz
Channel 17 : 2.437 GHz
Channel 18 : 2.442 GHz
Channel 19 : 2.447 GHz
Channel 20 : 2.452 GHz
Channel 21 : 2.457 GHz
Channel 22 : 2.462 GHz
Channel 23 : 2.467 GHz
Channel 24 : 2.472 GHz
Channel 25 : 2.484 GHz
Current Frequency:2.432GHz (channel 16)
However, at this point things seem to be working. iwconfig interpretes
channels 1 - 14 as they are specificed in 802.11b and refuses to set
channel 0 or 15 - 25. But the card can still be set to a nonworking
mode by specifiying 802.11a channels:
canardo:/home/bjorn# /usr/local/src/wireless_tools.26/iwconfig eth1 channel 36
canardo:/home/bjorn# /usr/local/src/wireless_tools.26/iwconfig eth1
eth1 PRISM Duette ESSID:"default"
Mode:Master Frequency:5.18GHz Access Point: 00:04:E2:64:53:A0
Bit Rate:54Mb/s Sensitivity=20/200
Retry min limit:8 RTS thr:2347 B Fragment thr:2346 B
Encryption key:off
Link Quality:190 Signal level:0 Noise level:66
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
So my question is: Can iwlist list the standard 802.11a/b channel
numbers as expected by iwconfig? And more important: Is there some
way to ensure that a working channel is used by default? Why do I end
ut with channel 40 as default on a 802.11g card?
Bjørn