Skip to content

Commit

Permalink
Rework the WiFi scripts to suit the Clara 2E
Browse files Browse the repository at this point in the history
  • Loading branch information
baskerville committed Nov 5, 2022
1 parent 7528598 commit fc25e3f
Show file tree
Hide file tree
Showing 2 changed files with 61 additions and 9 deletions.
19 changes: 16 additions & 3 deletions scripts/wifi-disable.sh
@@ -1,19 +1,32 @@
#! /bin/sh

grep -q '^sdio_wifi_pwr\b' /proc/modules || exit 1
grep -q "^${WIFI_MODULE}\b" /proc/modules || exit 1

SCRIPTS_DIR=$(dirname "$0")
PRE_DOWN_SCRIPT=$SCRIPTS_DIR/wifi-pre-down.sh
[ -e "$PRE_DOWN_SCRIPT" ] && $PRE_DOWN_SCRIPT

killall udhcpc default.script wpa_supplicant 2> /dev/null
HAS_SDIO_WIFI_PWR=1
[ "$WIFI_MODULE" = moal ] && HAS_SDIO_WIFI_PWR=0

killall -q udhcpc default.script

wpa_cli -i "$INTERFACE" terminate
[ "$WIFI_MODULE" = dhd ] && wlarm_le -i "$INTERFACE" down
ifconfig "$INTERFACE" down

sleep 0.2

rmmod "$WIFI_MODULE"
rmmod sdio_wifi_pwr

[ "$WIFI_MODULE" = moal ] && rmmod mlan

if [ "$HAS_SDIO_WIFI_PWR" -eq 1 ]; then
rmmod sdio_wifi_pwr
else
# CM_WIFI_CTRL
ioctl -q -v 0 /dev/ntx_io 208
fi

POST_DOWN_SCRIPT=$SCRIPTS_DIR/wifi-post-down.sh
[ -e "$POST_DOWN_SCRIPT" ] && $POST_DOWN_SCRIPT
51 changes: 45 additions & 6 deletions scripts/wifi-enable.sh
@@ -1,17 +1,54 @@
#! /bin/sh

grep -q '^sdio_wifi_pwr\b' /proc/modules && exit 1
grep -q "^${WIFI_MODULE}\b" /proc/modules && exit 1

SCRIPTS_DIR=$(dirname "$0")
PRE_UP_SCRIPT=$SCRIPTS_DIR/wifi-pre-up.sh
[ -e "$PRE_UP_SCRIPT" ] && $PRE_UP_SCRIPT

insmod /drivers/"$PLATFORM"/wifi/sdio_wifi_pwr.ko
HAS_SDIO_WIFI_PWR=1
WPA_SUPPLICANT_DRIVER=wext

if [ "$WIFI_MODULE" = moal ]; then
HAS_SDIO_WIFI_PWR=0
WPA_SUPPLICANT_DRIVER=nl80211
fi

if [ "$HAS_SDIO_WIFI_PWR" -eq 1 ]; then
insmod /drivers/"$PLATFORM"/wifi/sdio_wifi_pwr.ko
else
# CM_WIFI_CTRL
ioctl -q -v 1 /dev/ntx_io 208
fi

COUNTRY_CODE=$(grep "^WifiRegulatoryDomain=" "/mnt/onboard/.kobo/Kobo/Kobo eReader.conf")
if [ "$COUNTRY_CODE" ]; then
case "$WIFI_MODULE" in
8821cs)
MODULE_PARAMETERS="${MODULE_PARAMETERS} rtw_country_code=${COUNTRY_CODE#*=}"
;;
moal)
MODULE_PARAMETERS="${MODULE_PARAMETERS} reg_alpha2=${COUNTRY_CODE#*=}"
;;
esac
fi

if [ "$WIFI_MODULE" = moal ]; then
WIFI_DEP_MODULE=mlan
MODULE_PARAMETERS="${MODULE_PARAMETERS} mod_para=nxp/wifi_mod_para_sd8987.conf"
if [ -e /drivers/"${PLATFORM}/${WIFI_DEP_MODULE}".ko ]; then
insmod /drivers/"${PLATFORM}/${WIFI_DEP_MODULE}".ko
else
insmod /drivers/"$PLATFORM"/wifi/"$WIFI_DEP_MODULE".ko
fi
fi

if [ -e /drivers/"${PLATFORM}/${WIFI_MODULE}".ko ]; then
insmod /drivers/"${PLATFORM}/${WIFI_MODULE}".ko
# shellcheck disable=SC2086
insmod /drivers/"${PLATFORM}/${WIFI_MODULE}".ko$MODULE_PARAMETERS
else
insmod /drivers/"$PLATFORM"/wifi/"$WIFI_MODULE".ko
# shellcheck disable=SC2086
insmod /drivers/"$PLATFORM"/wifi/"$WIFI_MODULE".ko$MODULE_PARAMETERS
fi

REM_TRIES=20
Expand All @@ -24,9 +61,11 @@ done
ifconfig "$INTERFACE" up
[ "$WIFI_MODULE" = dhd ] && wlarm_le -i "$INTERFACE" up

pidof wpa_supplicant > /dev/null || wpa_supplicant -D wext -s -i "$INTERFACE" -c /etc/wpa_supplicant/wpa_supplicant.conf -C /var/run/wpa_supplicant -B
pidof wpa_supplicant > /dev/null || env -u LD_LIBRARY_PATH \
wpa_supplicant -D "$WPA_SUPPLICANT_DRIVER" -s -i "$INTERFACE" -c /etc/wpa_supplicant/wpa_supplicant.conf -C /var/run/wpa_supplicant -B

udhcpc -S -i "$INTERFACE" -s /etc/udhcpc.d/default.script -t15 -T10 -A3 -b -q > /dev/null &
env -u LD_LIBRARY_PATH \
udhcpc -S -i "$INTERFACE" -s /etc/udhcpc.d/default.script -t15 -T10 -A3 -b -q > /dev/null &

POST_UP_SCRIPT=$SCRIPTS_DIR/wifi-post-up.sh
[ -e "$POST_UP_SCRIPT" ] && $POST_UP_SCRIPT

0 comments on commit fc25e3f

Please sign in to comment.