summaryrefslogtreecommitdiff
path: root/multitech/recipes/wl12xx-scripts/wl12xx-scripts-1.0/enable-wifi.sh
blob: bb51bc614db1e895e5b59f2ac44a64bb4cce0f67 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#!/bin/bash

source /etc/default/wifi

OEM_DIR="/var/oem"
NVS_DIR="mts"
NVS_OEM_FILE="$OEM_DIR/$NVS_DIR/wl1271-nvs.bin"
NVS_FILE="/lib/firmware/ti-connectivity/wl1271-nvs.bin"
NVS_DEFAULT_FILE="$NVS_FILE.factory"

# detect mci driver
if find /lib/modules -name "atmel-mci.ko" | grep -q "atmel-mci"; then
	MCI_MODULE="atmel_mci"
else
	MCI_MODULE="at91_mci"
fi

if [[ $WIFIENABLED == "yes" ]]; then
	echo "Wifi: enabling"

	# make sure nvs file exists in /var/oem/mts/
	if [[ ! -f $NVS_OEM_FILE ]]; then
		echo "Copying nvs file to $OEM_DIR"
		mount -o remount,rw $OEM_DIR
		mkdir -p $OEM_DIR/$NVS_DIR
		cp $NVS_DEFAULT_FILE $NVS_OEM_FILE
		mount -o remount,ro $OEM_DIR
	fi

	# make sure nvs file exists in /lib/firmware/ti-connectivity/
	if [[ ! -L $NVS_FILE ]]; then
		echo "Creating $NVS_FILE"
		ln -fs $NVS_OEM_FILE $NVS_FILE
	fi

	# probe wifi chip
	mts-io-sysfs store wlan-enabled 0
	usleep 50000
	echo "Enabling wifi chip"
	mts-io-sysfs store wlan-enabled 1
	sleep 1
	echo "Loading $MCI_MODULE driver"
	modprobe $MCI_MODULE
	sleep 3
else
	echo "Wifi: disabled"
	mts-io-sysfs store wlan-enabled 0
	modprobe $MCI_MODULE
fi