Manage GPU, WiFi, Bluetooth, SDR, and game controller drivers. Supports PowerVR mode switching, BCM4390/Nexmon WiFi modes, RTL-SDR/HackRF/Airspy with DVB-T/SDR mode toggle, Xbox/PS5/ Switch Pro controllers, and QCA Bluetooth pentest mode. WebUI control panel for KernelSU manager.
86 lines
2.4 KiB
Bash
86 lines
2.4 KiB
Bash
#!/system/bin/sh
|
|
# Driver Manager - Installation Script
|
|
|
|
SKIPUNZIP=0
|
|
|
|
ui_print "================================================"
|
|
ui_print " Driver Manager v1.0.0"
|
|
ui_print "================================================"
|
|
ui_print ""
|
|
|
|
DEVICE=$(getprop ro.product.device)
|
|
MODEL=$(getprop ro.product.model)
|
|
SOC=$(getprop ro.soc.model)
|
|
PLATFORM=$(getprop ro.board.platform)
|
|
GPU=$(getprop ro.hardware.egl)
|
|
API=$(getprop ro.build.version.sdk)
|
|
|
|
ui_print "- Device: $MODEL ($DEVICE)"
|
|
ui_print "- SoC: $SOC ($PLATFORM)"
|
|
ui_print "- GPU: $GPU"
|
|
ui_print "- API: $API"
|
|
ui_print ""
|
|
|
|
# Detect WiFi chip
|
|
WIFI_MOD=$(ls /sys/module/ 2>/dev/null | grep -iE "^bcmdhd" | head -1)
|
|
ui_print "- WiFi module: ${WIFI_MOD:-unknown}"
|
|
|
|
# Detect Bluetooth
|
|
BT_MOD=$(ls /sys/module/ 2>/dev/null | grep -iE "^(btqca|btusb|btbcm|hci)" | head -1)
|
|
ui_print "- BT module: ${BT_MOD:-unknown}"
|
|
|
|
ui_print ""
|
|
|
|
# Create default config
|
|
mkdir -p "$MODPATH/config"
|
|
echo "performance" > "$MODPATH/config/gpu_mode"
|
|
echo "standard" > "$MODPATH/config/wifi_mode"
|
|
echo "standard" > "$MODPATH/config/bt_mode"
|
|
echo "sdr" > "$MODPATH/config/sdr_mode"
|
|
echo "auto" > "$MODPATH/config/gamepad_mode"
|
|
echo "off" > "$MODPATH/config/decoder_mode"
|
|
echo "100.0M" > "$MODPATH/config/fm_freq"
|
|
echo "24M:1800M" > "$MODPATH/config/spectrum_range"
|
|
|
|
# Create modules directory for .ko files
|
|
mkdir -p "$MODPATH/modules"
|
|
mkdir -p "$MODPATH/firmware"
|
|
|
|
ui_print "- Default config written"
|
|
ui_print "- Kernel module dir: modules/"
|
|
ui_print "- Firmware dir: firmware/"
|
|
ui_print ""
|
|
|
|
# Check for kernel module support
|
|
if [ -d "/proc/modules" ]; then
|
|
ui_print "- Kernel module loading: supported"
|
|
else
|
|
ui_print "! Kernel module loading: not detected"
|
|
ui_print "! SDR and controller .ko files may not load"
|
|
fi
|
|
|
|
# Check USB OTG
|
|
if [ -d "/sys/class/udc" ]; then
|
|
ui_print "- USB OTG: supported"
|
|
else
|
|
ui_print "! USB OTG: not detected"
|
|
fi
|
|
|
|
ui_print ""
|
|
ui_print "- Setting permissions..."
|
|
|
|
set_perm_recursive $MODPATH 0 0 0755 0644
|
|
set_perm $MODPATH/post-fs-data.sh 0 0 0755
|
|
set_perm $MODPATH/service.sh 0 0 0755
|
|
set_perm_recursive $MODPATH/config 0 0 0755 0644
|
|
set_perm_recursive $MODPATH/modules 0 0 0755 0644
|
|
set_perm_recursive $MODPATH/firmware 0 0 0755 0644
|
|
set_perm_recursive $MODPATH/system/etc 0 0 0755 0644
|
|
|
|
ui_print ""
|
|
ui_print "- Installation complete!"
|
|
ui_print "- Use WebUI in KernelSU to switch driver modes"
|
|
ui_print "- Place .ko modules in modules/ dir"
|
|
ui_print "- Place firmware in firmware/ dir"
|
|
ui_print ""
|