Bug 16358 - rt2800pci: rt2860 transmit power is limited to 6dBm
Summary: rt2800pci: rt2860 transmit power is limited to 6dBm
Alias: None
Product: Drivers
Classification: Unclassified
Component: network-wireless (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: drivers_network-wireless@kernel-bugs.osdl.org
Depends on:
Reported: 2010-07-09 11:56 UTC by Darren Salt
Modified: 2010-07-14 05:16 UTC (History)
3 users (show)

See Also:
Kernel Version: 2.6.35-rc4
Tree: Mainline
Regression: No

dmesg output (regdom=EU) (43.64 KB, text/x-log)
2010-07-12 21:08 UTC, Darren Salt

Description Darren Salt 2010-07-09 11:56:56 UTC
I find that the transmission power of the rt2860 card in my netbook is limited to 6dBm. I believe this to be a driver problem.

I would expect it to be able to handle 15dBm, but I cannot easily test this due to my present location and having temporarily swapped the card for an Intel 3945 card.

(The chip is an rt2872.)
Comment 1 John W. Linville 2010-07-12 17:20:42 UTC
I suspect you are being limited by regulatory enforcement code.  Please attach the output of dmesg shortly after booting and establishing a wireless connection.
Comment 2 Darren Salt 2010-07-12 21:08:52 UTC
Created attachment 27079 [details]
dmesg output (regdom=EU)

Kernel log attached.

However, I don't see how regulatory enforcement code explains how all is well with the card swapped out for an Intel 3945 card...
Comment 3 John W. Linville 2010-07-12 21:33:21 UTC
"EU" isn't a valid regulatory domain, and hasn't been for some time.  Judging from your email address, I would suggest "GB" as an alternative.

With the (non-existant) "EU" setting, you are defaulting to the "world" regulatory enforcement.  This limits you to 6dB.  In the case of the Intel device, it specifies a default regulatory domain based upon values in its EEPROM instead.

I suspect that setting an appropriate regulatory domain will resolve this, so I'm going to close it preemptively.
Comment 4 Darren Salt 2010-07-13 11:42:44 UTC
Looks like making that change has fixed things, though iwconfig is still reporting 6dBm and attempting to set the tx power to 15dBm causes an "invalid argument" error.
Comment 5 John W. Linville 2010-07-13 13:08:51 UTC
I'm not sure why you would still be limited to 6dBm, but it is possible I misread the regulatory database.  The output of dmesg would be helpful for determining the cause.
Comment 6 Darren Salt 2010-07-13 18:19:47 UTC
Looks like the problem is either a dummy net/wireless/db.txt or a lack of Debian packages for wireless-regdb and crda...

I've taken the quick way out: replace db.txt, recompile, re-install. After reboot, I have the following in the kernel log:

cfg80211: Calling CRDA to update world regulatory domain
cfg80211: World regulatory domain updated:
    (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
    (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
    (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
    (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
    (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
    (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
cfg80211: Calling CRDA for country: GB
cfg80211: Regulatory domain changed to country: GB
    (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
    (2402000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 2000 mBm)
    (5170000 KHz - 5250000 KHz @ 40000 KHz), (N/A, 2000 mBm)
    (5250000 KHz - 5330000 KHz @ 40000 KHz), (N/A, 2000 mBm)
    (5490000 KHz - 5710000 KHz @ 40000 KHz), (N/A, 2700 mBm)

Still showing 6dBm maximum, though.
Comment 7 John W. Linville 2010-07-13 18:49:01 UTC
The rt2800 code reads info from EEPROM regarding tx power.  It would seem that your device has EEPROM info limiting it to 6dBm.
Comment 8 Helmut Schaa 2010-07-14 05:16:02 UTC
This is more or less known. rt2x00 reports incorrect txpower values to mac80211 on rt2800 devices and hence artificially lowers the used txpower in some cases.

See [1] for more details.

[1] http://rt2x00.serialmonkey.com/pipermail/users_rt2x00.serialmonkey.com/2010-June/001448.html

Note You need to log in before you can comment on or make changes to this bug.