Files
openipc-builder/devices/ssc338q_apfpv/general/overlay/usr/bin/adapter
T
2025-07-11 20:50:30 +02:00

65 lines
1.1 KiB
Bash
Executable File

#!/bin/sh
set_config() {
cat << EOF > /tmp/hostapd.conf
ctrl_interface=/var/run/hostapd
interface=wlan0
hw_mode=g
channel=1
ieee80211n=1
ieee80211ac=1
wmm_enabled=1
rsn_pairwise=CCMP
wpa=2
ssid=$(fw_printenv -n wlanssid || echo OpenIPC)
wpa_passphrase=$(fw_printenv -n wlanpass || echo 12345678)
EOF
}
case "$1" in
setup)
for card in $(lsusb | awk '{print $6}' | uniq); do
case "$card" in
"0bda:8812" | "0bda:881a" | "0b05:17d2" | "2357:0101" | "2604:0012")
driver=88XXau
rate=0x8D
;;
"0bda:a81a")
driver=8812eu
rate=0x8D
;;
"0bda:f72b" | "0bda:b733")
driver=8733bu
rate=0x8D
;;
esac
done
if [ -z "$driver" ]; then
echo "Wireless module not detected!"
exit 1
fi
echo "Detected driver: $driver"
modprobe "$driver" rtw_tx_pwr_by_rate=0 rtw_tx_pwr_lmt_enable=0
echo "$rate" > $(ls /proc/net/*/wlan0/rate_ctl)
;;
start)
set_config
hostapd /tmp/hostapd.conf -B
udhcpd -S
;;
stop)
killall -q udhcpd wpa_supplicant
;;
*)
echo "Usage: $0 {setup|start|stop}"
exit 1
;;
esac