Raspberry Pi 3B with Alfa AWUS036ACHM Wifi Adapter transmit power issues

I just purchased an Alfa USB wifi network adapter with the MediaTek 7610U chipset and although it's a great USB adapter one of it's major selling points is supposed to be its power. But I can't even get it to the US standard of 100mW because OpenWrt will not allow me to set anything above 18dBm (63mW) in wireless AC mode and a completely unusable 4 dBm (2mW!!!) in wireless N mode. This thing is supposed to be capable of the 100mW US maximum (I thought), why such the disparity? Have I configured something incorrectly or is it a bug?

There are 3 USB wifi adapters attached to this Pi (2X Alfa AWUS036ACM MT7612U chipset & 1X Alfa AWUS036ACHM MT7610U chipset) and only the adapter with the MT7610U chipset is having issues with tx power. All devices are powered by a 3amp USB powered hub(s) and the issue persists whether directly connected to the Pi or through a USB hub. The issue persists if the MT7610U adapter is the only device attached to the Pi. When I'm sitting next to it tx speeds are a little low (there's room for adjustment) but that's not my major concern at the moment.

I've modified the etc/wireless/config by changing the 18dBm to 20/22/30dBm, whatever, it has no bearing on the transmit power even after a network reload and/or system reboot. I'm under the impression this is actually hardcoded into the firmware so editing that particular setting is useless? How do I correct this?

Here is what iwinfo tells me. Below that is the /tmp/run/hostapd-phy3.conf for the MT7610U adapter.

wlan3     ESSID: "YourWifiPasswordSucks"
          Access Point: 00:C0:CA:XX:XX:XX
          Mode: Master  Channel: 48 (5.240 GHz)
          Center Channel 1: 42 2: unknown
          Tx-Power: 18 dBm  Link Quality: 70/70
          Signal: -36 dBm  Noise: unknown
          Bit Rate: 292.5 MBit/s
          Encryption: WPA2 PSK (CCMP)
          Type: nl80211  HW Mode(s): 802.11nac
          Hardware: unknown [Generic MAC80211]
          TX power offset: unknown
          Frequency offset: unknown
          Supports VAPs: yes  PHY name: phy3

------------------------------------------------------------------------------------

driver=nl80211
logger_syslog=127
logger_syslog_level=2
logger_stdout=127
logger_stdout_level=2
country_code=US
ieee80211d=1
ieee80211h=1
hw_mode=a
beacon_int=100
dtim_period=2
channel=48
chanlist=48
noscan=1
tx_queue_data2_burst=2.0
ieee80211n=1
ht_coex=0
ht_capab=[HT40-][SHORT-GI-20][SHORT-GI-40][RX-STBC1]
ieee80211ac=1
vht_oper_chwidth=1
vht_oper_centr_freq_seg0_idx=42
vht_capab=[SHORT-GI-80][RX-ANTENNA-PATTERN][TX-ANTENNA-PATTERN][RX-STBC-1][MAX-A-MPDU-LEN-EXP3]

radio_config_id=b9921f8c8f997ecd6fc45f6f3e2f880f
interface=wlan3
ctrl_interface=/var/run/hostapd
bss_load_update_period=60
chan_util_avg_period=600
disassoc_low_ack=1
skip_inactivity_poll=0
preamble=1
wmm_enabled=1
ignore_broadcast_ssid=0
uapsd_advertisement_enabled=1
utf8_ssid=1
multi_ap=0
wpa_passphrase=XXXXXX
wpa_psk_file=/var/run/hostapd-wlan3.psk
auth_algs=1
wpa=2
wpa_pairwise=CCMP
ssid=YourWifiPasswordSucks
wpa_disable_eapol_key_retries=0
wpa_key_mgmt=WPA-PSK
okc=0
disable_pmksa_caching=1
dynamic_vlan=0
vlan_naming=1
vlan_file=/var/run/hostapd-wlan3.vlan
config_id=1fac86c578ade03c5d2bd07a4c3516aa
bssid=00:c0:ca:XX:XX:XX
1 Like

I'm attempting to use one of these (Alfa AWUS036ACHM with MT7610U chipset) as a client radio to a 5GHz network, and in my case don't have any option to set tx power higher than 14dBm in Luci, on OpenWRT 22.03.

Edit: try the latest build (including snapshots) and see https://github.com/openwrt/mt76/issues/657

Apparently nobody is able to get it to go above 14dBm in Luci because the adapter uses an amp that isn't calculated into the total dBm. Here's a good thread on it. https://github.com/morrownr/USB-WiFi/issues/34. There's a huge thread here: https://github.com/openwrt/mt76/issues/633 that discusses low transmission power issues on multiple Mediatek chipsets that includes possible firmware fixes.

After using my AWUS036AHCM I've determined I'm happy with its performance and transmission distance. .

1 Like

can you show iw reg get?

I would although I've unfortunately disassembled that configuration and am now running just the two AWUS036ACM adapters. When I did have it assembled, I traveled around the world and it did not increase the displayed transmission power. Departed the U.S. with layovers in DE, FR, IN.. no change.

In case it will still help anyone, this is from an Alfa AWUS036ACHM (MT7610U) on a GL.iNet GL-MV1000 running SNAPSHOT, 5.15.144

root@OpenWrt:~# dmesg | grep mt76
[    6.225967] mt76x0u 1-1:1.0: ASIC revision: 76100002 MAC revision: 76502000
[    6.573933] mt76x0u 1-1:1.0: EEPROM ver:02 fae:04
[    6.629847] usbcore: registered new interface driver mt76x0u

root@OpenWrt:~# iw reg get
global
country 00: DFS-UNSET
    (755 - 928 @ 2), (N/A, 20), (N/A), PASSIVE-SCAN
    (2402 - 2472 @ 40), (N/A, 20), (N/A)
    (2457 - 2482 @ 20), (N/A, 20), (N/A), AUTO-BW, PASSIVE-SCAN
    (2474 - 2494 @ 20), (N/A, 20), (N/A), NO-OFDM, PASSIVE-SCAN
    (5170 - 5250 @ 80), (N/A, 20), (N/A), AUTO-BW
    (5250 - 5330 @ 80), (N/A, 20), (0 ms), DFS, AUTO-BW, PASSIVE-SCAN
    (5490 - 5730 @ 160), (N/A, 20), (0 ms), DFS, PASSIVE-SCAN
    (5735 - 5835 @ 80), (N/A, 20), (N/A), PASSIVE-SCAN
    (57240 - 63720 @ 2160), (N/A, 0), (N/A)

I've found that I can set my AWUS036ACHM up to 14dBm, but the txpower is hobbled to 1dBm on 2.4GHz, related to the bugs already linked above.

There is some talk of being able to edit the binary module directly at https://github.com/openwrt/mt76/issues/633#issuecomment-1445294226 but I have not gotten this method to allow me to get Luci to display power above 1dBm no matter what I set it, after a reboot, etc. I have not yet tested whether actual range has increased.