diff --git a/devices/ssc338q_fpv_openipc-urllc-aio/general/overlay/usr/bin/wfb-power b/devices/ssc338q_fpv_openipc-urllc-aio/general/overlay/usr/bin/wfb-power index d6800eb..f68dfc8 100755 --- a/devices/ssc338q_fpv_openipc-urllc-aio/general/overlay/usr/bin/wfb-power +++ b/devices/ssc338q_fpv_openipc-urllc-aio/general/overlay/usr/bin/wfb-power @@ -18,8 +18,9 @@ fi trap 'rmdir "$LOCK" 2>/dev/null || true' EXIT HUP INT TERM if pidof wfb_tx wfb_rx wfb_tun wifilink >/dev/null; then - # RTL8812EU expects the OpenIPC scalar multiplied by 50 mBm. - iw wlan0 set txpower fixed $((POWER * 50)) + # RTL8812EU accepts 0..3150 mBm driver units; map the user-facing 0..100 + # scalar over that complete hardware-supported range. + iw wlan0 set txpower fixed $((POWER * 3150 / 100)) logger -t wfb-power "runtime txpower=$POWER" exit 0 fi diff --git a/devices/ssc338q_fpv_openipc-urllc-aio/general/overlay/usr/bin/wifibroadcast b/devices/ssc338q_fpv_openipc-urllc-aio/general/overlay/usr/bin/wifibroadcast index 9fbbf6d..857dfb0 100755 --- a/devices/ssc338q_fpv_openipc-urllc-aio/general/overlay/usr/bin/wifibroadcast +++ b/devices/ssc338q_fpv_openipc-urllc-aio/general/overlay/usr/bin/wifibroadcast @@ -86,7 +86,7 @@ load_interface() { iw "$wfb_dev" set channel "$channel" "$wfb_width" iw reg set 00 - [ "$driver" = "88XXau" ] && wfb_power=$((txpower * -100)) || wfb_power=$((txpower * 50)) + [ "$driver" = "88XXau" ] && wfb_power=$((txpower * -100)) || wfb_power=$((txpower * 3150 / 100)) iw "$wfb_dev" set txpower fixed "$wfb_power" }