Files
RadioControl/uninstall.sh
sssnake db07b4f7ef v1.1.0: Complete kernel modules, fix WebUI bugs
Kernel modules fully implemented for kernel 6.6/Tensor G5:
- rc_wifi_mon: kprobes kallsyms, bcmdhd iovar monitor/promisc/allmulti,
  sysfs status at /sys/kernel/rc_wifi_mon/, clean unpatch on unload
- rc_shannon_cmd: ioctl interface (AT_CMD, GET_URC, SET_TIMEOUT,
  GET_STATUS, FLUSH), URC ring buffer (64 entries), modem probe on init
- rc_diag_bridge: HDLC decode with CRC-16 validation, FTM ioctl,
  EFS read/write/stat/unlink, version query, subsystem dispatch
- rc_ioctl.h: shared userspace header for all ioctl definitions
- All modules handle class_create() API change in kernel 6.4+

WebUI fixes:
- Fix malformed WiFi firmware JSON output
- Add vonr/vt/apn/nradv to carrier config read endpoint
- Fix carrier toggle state loading in frontend
- Fix redundant replace in kmod toggle logic

Makefile: single-module build (MOD=), make package target
uninstall.sh: unload kernel modules before cleanup
2026-03-31 20:25:44 -07:00

29 lines
678 B
Bash
Executable File

#!/system/bin/sh
# RadioControl — cleanup on uninstall
CONFIG_DIR="/data/adb/radiocontrol"
PID_FILE="$CONFIG_DIR/webui.pid"
# Stop WebUI server
if [ -f "$PID_FILE" ]; then
kill $(cat "$PID_FILE") 2>/dev/null
fi
# Unload kernel modules
for mod in rc_wifi_mon rc_shannon_cmd rc_diag_bridge; do
lsmod 2>/dev/null | grep -q "$mod" && rmmod "$mod" 2>/dev/null
done
# Restore WiFi to managed mode
for iface in wlan0 wlan1 wifi0; do
if [ -d "/sys/class/net/$iface" ]; then
ip link set "$iface" down 2>/dev/null
iw dev "$iface" set type managed 2>/dev/null
ip link set "$iface" up 2>/dev/null
break
fi
done
# Remove persistent config
rm -rf "$CONFIG_DIR"