44 lines
1016 B
Bash
44 lines
1016 B
Bash
#!/bin/sh
|
|
|
|
# The bit settings of drv_mode are:
|
|
# Bit 0 : STA
|
|
# Bit 1 : uAP
|
|
# Bit 2 : WIFIDIRECT
|
|
# eg, for STA + uAP + WIFIDIRECT, set 7 (b'111)
|
|
DRIVER_MODE=1 # Only STA
|
|
|
|
# MREG_D(00000200), MERROR(00000004),MFATAL(00000002)
|
|
DRIVER_DEBUG="0x206"
|
|
|
|
MOAL_PARAMS=" \
|
|
cfg80211_wext=0xf \
|
|
max_vir_bss=1 \
|
|
cal_data_cfg=none \
|
|
ps_mode=1 \
|
|
auto_ds=1 \
|
|
host_mlme=1 \
|
|
drv_mode=${DRIVER_MODE} \
|
|
drvdbg=${DRIVER_DEBUG} \
|
|
sta_name=wlan \
|
|
txpwrlimit_cfg=nxp/txpower_US.bin \
|
|
init_hostcmd_cfg=nxp/rutxpower_US.bin \
|
|
fw_name=nxp/sd_w61x_v1.bin.se\
|
|
"
|
|
|
|
log() {
|
|
printf "<3>iw612-wifi: $1\n" >/dev/kmsg
|
|
}
|
|
|
|
if ! [ -e "/proc/device-tree/wireless/mac-address" ]; then
|
|
log "[ERROR] wireless mac-address not found"
|
|
exit 1
|
|
fi
|
|
|
|
WLANADDR=$(hexdump -ve '1/1 "%02X" ":"' /proc/device-tree/wireless/mac-address 2>/dev/null | sed 's/:$//g')
|
|
modprobe mlan && \
|
|
modprobe moal ${MOAL_PARAMS} mac_addr=${WLANADDR} && \
|
|
[ -d "/sys/class/net/wlan0" ] && log "Wi-Fi activated" && exit 0
|
|
|
|
log "[ERROR] cannot load Wi-Fi driver"
|
|
exit 1
|