#!/bin/sh
# S45wifi-bt — aktiverar WiFi/BT-chipet (RTL8723D) via GPIO
#
# X6200:s WiFi/BT-chip är avstängt vid boot och måste aktiveras
# via GPIO pin 357 (active low) innan kernel-drivern kan använda det.
#
# Måste köras innan S40bluetoothd startar.

case "$1" in
    start)
        echo "Starting WiFi/BT hardware"
        python3 - << 'PYEOF'
import ctypes
lib = ctypes.CDLL("libaether_x6200_control.so")
lib.x6200_gpio_init.restype = ctypes.c_bool
lib.x6200_gpio_set.argtypes = [ctypes.c_int, ctypes.c_int]
lib.x6200_gpio_init()
lib.x6200_gpio_set(357, 0)   # active low — 0 = ON
PYEOF
        sleep 1
        modprobe btusb
        modprobe uhid
        modprobe hidp
        sleep 3
        echo "OK"
        ;;
    stop)
        python3 - << 'PYEOF'
import ctypes
lib = ctypes.CDLL("libaether_x6200_control.so")
lib.x6200_gpio_init.restype = ctypes.c_bool
lib.x6200_gpio_set.argtypes = [ctypes.c_int, ctypes.c_int]
lib.x6200_gpio_init()
lib.x6200_gpio_set(357, 1)   # 1 = OFF
PYEOF
        echo "WiFi/BT hardware stopped"
        ;;
    restart)
        $0 stop; sleep 1; $0 start
        ;;
    *)
        echo "Usage: $0 {start|stop|restart}" >&2
        exit 1
        ;;
esac
