#!/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