#!/bin/sh # NOTE: Close any non-standard fds, so that it doesn't come back to bite us in the ass with USBMS later... for fd in /proc/"$$"/fd/*; do fd_id="$(basename "${fd}")" if [ -e "${fd}" ] && [ "${fd_id}" -gt 2 ]; then # NOTE: dash (meaning, in turn, busybox's ash, uses fd 10+ open to /dev/tty or $0 (w/ CLOEXEC)) fd_path="$(readlink -f "${fd}")" if [ "${fd_path}" != "/dev/tty" ] && [ "${fd_path}" != "$(readlink -f "${0}")" ] && [ "${fd}" != "${fd_path}" ]; then eval "exec ${fd_id}>&-" echo "[enable-wifi.sh] Closed fd ${fd_id} -> ${fd_path}" fi fi done # Load wifi modules and enable wifi. lsmod | grep -q sdio_wifi_pwr || insmod "/drivers/${PLATFORM}/wifi/sdio_wifi_pwr.ko" # Moar sleep! usleep 250000 # NOTE: Used to be exported in WIFI_MODULE_PATH before FW 4.23 lsmod | grep -q "${WIFI_MODULE}" || insmod "/drivers/${PLATFORM}/wifi/${WIFI_MODULE}.ko" # Race-y as hell, don't try to optimize this! sleep 1 ifconfig "${INTERFACE}" up [ "${WIFI_MODULE}" != "8189fs" ] && [ "${WIFI_MODULE}" != "8192es" ] && wlarm_le -i "${INTERFACE}" up pkill -0 wpa_supplicant || env -u LD_LIBRARY_PATH \ wpa_supplicant -D wext -s -i "${INTERFACE}" -c /etc/wpa_supplicant/wpa_supplicant.conf -O /var/run/wpa_supplicant -B