Modify

Opened 3 years ago

Last modified 3 years ago

#20222 new defect

2.4Ghz limited to 50mW in DFS-ETSI

Reported by: nicoduck Owned by: developers
Priority: normal Milestone: Chaos Calmer 15.05
Component: kernel Version: Trunk
Keywords: wndr3800 Cc:

Description

I have got a Netgear WNDR 3800 running with openwrt since quite a while.
I now upgraded to the latest version (trunk) and wanted to use WLAN within the regulations here in Germany but also wanted to max out the output power (within the regulations).
Switching the country to Germany limits the maximum output power to 17dBm, although it does show as being limited on 20dBm:
root@OpenWrt:/# iwinfo wlan0 txpower

0 dBm ( 1 mW)
1 dBm ( 1 mW)
2 dBm ( 1 mW)
3 dBm ( 1 mW)
4 dBm ( 2 mW)
5 dBm ( 3 mW)
6 dBm ( 3 mW)
7 dBm ( 5 mW)
8 dBm ( 6 mW)
9 dBm ( 7 mW)

10 dBm ( 10 mW)
11 dBm ( 12 mW)
12 dBm ( 15 mW)
13 dBm ( 19 mW)
14 dBm ( 25 mW)
15 dBm ( 31 mW)
16 dBm ( 39 mW)

  • 17 dBm ( 50 mW) 18 dBm ( 63 mW) 19 dBm ( 79 mW) 20 dBm ( 100 mW)

What I did: reset the device, flash it with various builts from trunk and try to figure out what was going on.
I now modified my regdb and was able to isolate the source of the problem:
country DE: DFS-ETSI

# entries 279004 and 280006
(2400 - 2483.5 @ 40), (100 mW)
# entry 303005
(5150 - 5250 @ 80), (200 mW), NO-OUTDOOR, AUTO-BW
# entries 304002 and 305002
(5250 - 5350 @ 80), (100 mW), NO-OUTDOOR, DFS, AUTO-BW
# entries 308002, 309001 and 310003
(5470 - 5725 @ 160), (500 mW), DFS
# 60 gHz band channels 1-4, ref: Etsi En 302 567
(57000 - 66000 @ 2160), (40)

Thas does not work and has the mentioned behaviour, 2.4Ghz is limited at 17dBm. It also does not depend on which values are set in the regulatory database for the 2.4Ghz channels, anything over 17dBm will be limited to 17dBm.
running "iw phy phy0 set txpower fixed 2000" gives no error but does not change it to 20dBm. Changing the value to anything below 17dBm works though.

country DE: DFS-FCC

# entries 279004 and 280006
(2400 - 2483.5 @ 40), (100 mW)
# entry 303005
(5150 - 5250 @ 80), (200 mW), NO-OUTDOOR, AUTO-BW
# entries 304002 and 305002
(5250 - 5350 @ 80), (100 mW), NO-OUTDOOR, DFS, AUTO-BW
# entries 308002, 309001 and 310003
(5470 - 5725 @ 160), (500 mW), DFS
# 60 gHz band channels 1-4, ref: Etsi En 302 567
(57000 - 66000 @ 2160), (40)

Thad does work. The only change to the entry above is "DFS-FCC" instead of "DFS-ETSI". I can now select any powerlevel between 1 and 20dBm and it is also reported as being used:
root@OpenWrt:/# iwinfo wlan0 txpower

0 dBm ( 1 mW)
1 dBm ( 1 mW)
2 dBm ( 1 mW)
3 dBm ( 1 mW)
4 dBm ( 2 mW)
5 dBm ( 3 mW)
6 dBm ( 3 mW)
7 dBm ( 5 mW)
8 dBm ( 6 mW)
9 dBm ( 7 mW)

10 dBm ( 10 mW)
11 dBm ( 12 mW)
12 dBm ( 15 mW)
13 dBm ( 19 mW)
14 dBm ( 25 mW)
15 dBm ( 31 mW)
16 dBm ( 39 mW)
17 dBm ( 50 mW)
18 dBm ( 63 mW)
19 dBm ( 79 mW)

  • 20 dBm ( 100 mW)

I have no idea why but there seems to be a bug in the code parsing the DFS regulations, limiting 2.4Ghz to lot lower values than allowed. Changing it to DFS-FCC works for using the applicaple output power but does not seem to be in compliance which German law.

Do you have an idea where the problem could be? I'm happy to try out more builds and future versions.

Also (kind of off-topic): Do you know why 5Ghz channels 36-48 are forced to be 17dBm only on the WNDR3800? I found two possible explanations: either because of the factory calibration (is it possible to get them in a human readable form somehow? The hexdump is not really readable and I have not been able to find the code which pases them) or because these channels are considered as "edge-channels" and someone thought it would be safe to limit the power, to not disturb any other systems running on even lower channels. The latter explanation is kind of weird because it would make no sense to limit these 4 channels but no other ones. I find it especially strange because that is typically the job of regulatory authorities, to define those power levels.

Attachments (0)

Change History (1)

comment:1 Changed 3 years ago by anonymous

17db make only sence for me, when you calculate the +3db Gain for the antenna(s) to this
value, so the result is 20dbm. But: This makes only sense, when the used antenna(s)
really have +3db Gain !

By using external Antennas or cables/Pigtai,s, etc. you have a loss, and 17db as max output is a little bit to less i think...

Add Comment

Modify Ticket

Action
as new .
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.