JoaoBR wrote:
On Wednesday 26 April 2006 01:02, Sam Leffler wrote:
Attached are two patches; one for the ath driver and another for
sys/net80211/ieee80211.c in releng6 (note changes to the latter in head
are different). I believe this will resolve your problem; you can check
by updating your code and looking at what ifconfig ath0 list chan gives
you.
I checked now with an unaltered ag530 (regdomain18) and look how strange
Channel 1 : 2412 Mhz 11g Channel 136 : 4942* Mhz 11a
Channel 2 : 2417 Mhz 11g Channel 136 : 4945* Mhz 11a
Channel 3 : 2422 Mhz 11g Channel 136 : 4950* Mhz 11a
Channel 4 : 2427 Mhz 11g Channel 137 : 4955* Mhz 11a
Channel 5 : 2432 Mhz 11g Channel 137 : 4960* Mhz 11a
Channel 6 : 2437 Mhz 11g Channel 137 : 4965* Mhz 11a
Channel 7 : 2442 Mhz 11g Channel 137 : 4970* Mhz 11a
Channel 8 : 2447 Mhz 11g Channel 138 : 4975* Mhz 11a
Channel 9 : 2452 Mhz 11g Channel 138 : 4980* Mhz 11a
Channel 10 : 2457 Mhz 11g Channel 138 : 4985* Mhz 11a
Channel 11 : 2462 Mhz 11g
the 5,3 and 5.8Ghz range is gone
this card should show the 2.4b/g range as usual, the 4.9, the 5.3 and the 5.8
range
regdomain 18 gives you b/g channels 1-11 and public safety channels in
the range 4942-4985. What you are seeing is that ifconfig does not know
how to handle mapping the public safety channels to ieee channel numbers.
ath sysctl from this machine
hw.ath.hal.swba_backoff: 0
hw.ath.hal.sw_brt: 10
hw.ath.hal.dma_brt: 2
hw.ath.hal.version: 0.9.16.16
hw.ath.txbuf: 100
hw.ath.rxbuf: 40
hw.ath.regdomain: 0
hw.ath.countrycode: 0
hw.ath.xchanmode: 1
hw.ath.outdoor: 1
hw.ath.calibrate: 30
hw.ath.dwell: 200
user.cs_path: /usr/bin:/bin:/usr/sbin:/sbin:
dev.ath.0.%desc: Atheros 5212
dev.ath.0.%driver: ath
dev.ath.0.%location: slot=8 function=0
dev.ath.0.%pnpinfo: vendor=0x168c device=0x0013 subvendor=0x1186
subdevice=0x3a14 class=0x020000
dev.ath.0.%parent: pci0
dev.ath.0.rate_interval: 1000
dev.ath.0.rate_raise: 10
dev.ath.0.rate_raise_threshold: 10
dev.ath.0.countrycode: 0
dev.ath.0.regdomain: 18
dev.ath.0.slottime: 20
dev.ath.0.acktimeout: 48
dev.ath.0.ctstimeout: 48
dev.ath.0.softled: 0
dev.ath.0.ledpin: 0
dev.ath.0.ledon: 0
dev.ath.0.ledidle: 2700
dev.ath.0.txantenna: 0
dev.ath.0.rxantenna: 2
dev.ath.0.diversity: 0
dev.ath.0.txintrperiod: 5
dev.ath.0.diag: 0
dev.ath.0.tpscale: 0
dev.ath.0.tpc: 0
dev.ath.0.tpack: 63
dev.ath.0.tpcts: 63
dev.ath.0.monpass: 24
setting 0x10 I get then
Channel 1 : 2412 Mhz 11g Channel 48 : 5240 Mhz 11a
Channel 2 : 2417 Mhz 11g Channel 50 : 5250 Mhz 11a Turbo
Channel 3 : 2422 Mhz 11g Channel 52 : 5260 Mhz 11a
Channel 4 : 2427 Mhz 11g Channel 56 : 5280 Mhz 11a
Channel 5 : 2432 Mhz 11g Channel 58 : 5290 Mhz 11a Turbo
Channel 6 : 2437 Mhz 11g Channel 60 : 5300 Mhz 11a
Channel 7 : 2442 Mhz 11g Channel 64 : 5320 Mhz 11a
Channel 8 : 2447 Mhz 11g Channel 149 : 5745 Mhz 11a
Channel 9 : 2452 Mhz 11g Channel 152 : 5760 Mhz 11a Turbo
Channel 10 : 2457 Mhz 11g Channel 153 : 5765 Mhz 11a
Channel 11 : 2462 Mhz 11g Channel 157 : 5785 Mhz 11a
Channel 36 : 5180 Mhz 11a Channel 160 : 5800 Mhz 11a Turbo
Channel 40 : 5200 Mhz 11a Channel 161 : 5805 Mhz 11a
Channel 42 : 5210 Mhz 11a Turbo Channel 165 : 5825 Mhz 11a
Channel 44 : 5220 Mhz 11a
ath sysctl from this machine:
hw.ath.hal.swba_backoff: 0
hw.ath.hal.sw_brt: 10
hw.ath.hal.dma_brt: 2
hw.ath.hal.version: 0.9.16.16
hw.ath.txbuf: 100
hw.ath.rxbuf: 40
hw.ath.regdomain: 0
hw.ath.countrycode: 0
hw.ath.xchanmode: 1
hw.ath.outdoor: 1
hw.ath.calibrate: 30
hw.ath.dwell: 200
dev.ath.0.%desc: Atheros 5212
dev.ath.0.%driver: ath
dev.ath.0.%location: slot=11 function=0
dev.ath.0.%pnpinfo: vendor=0x168c device=0x0013 subvendor=0x1186
subdevice=0x3a14 class=0x020000
dev.ath.0.%parent: pci0
dev.ath.0.rate_interval: 1000
dev.ath.0.rate_raise: 10
dev.ath.0.rate_raise_threshold: 10
dev.ath.0.countrycode: 0
dev.ath.0.regdomain: 16
dev.ath.0.slottime: 20
dev.ath.0.acktimeout: 48
dev.ath.0.ctstimeout: 48
dev.ath.0.softled: 0
dev.ath.0.ledpin: 0
dev.ath.0.ledon: 0
dev.ath.0.ledidle: 2700
dev.ath.0.txantenna: 0
dev.ath.0.rxantenna: 1
dev.ath.0.diversity: 0
dev.ath.0.txintrperiod: 5
dev.ath.0.diag: 0
dev.ath.0.tpscale: 0
dev.ath.0.tpc: 0
dev.ath.0.tpack: 63
dev.ath.0.tpcts: 63
dev.ath.0.monpass: 24
It turns out that handling this correctly is more involved than I
remembered. Not only are the public safety channels special in their
freq<->ieee# mapping but they also require 1/4- and 1/2-speed tx rates.
The linux code handles this but it's done with some awkward code that
I'd prefer to cleanup before integrating into freebsd. Regardless I
suspect most people aren't going to use these channels since they
require a special license (search for "public safety channels" and
you'll find the relevant documentation). To be honest I have no idea
why vendors are shipping cards with these channels enabled.
I can hack the ath driver to just ignore the public safety channels and
may do that. Otherwise it seems like the best thing is to change the
regdomain in the eeprom (those who don't know how can find it with a
search engine).
Sam
_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "[EMAIL PROTECTED]"