blob: e770f904381dcadce1a6ab1010453ad202f9095b (
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
#!/bin/bash
sysdir=/sys/devices/platform/mts-io
gpiodir=/sys/class/gpio
RS9113RST=${sysdir}/wifi-bt-reset
reset_rs9113() {
/usr/bin/logger -t "mts-io" -p info Reset the WiFi Bluetooth device
if [[ -f ${RS9113RST} ]] ; then
if ! ( (echo 1 >${RS9113RST}) && (echo 0 >${RS9113RST}) && (echo 1 >${RS9113RST}) ) ; then
/usr/bin/logger -t "mts-io" -p error -s "Failed write to ${RS9113RST}"
fi
fi
}
read_card_info() {
ap1_product_id=""
ap2_product_id=""
mts_hw_version=""
if [[ -d $sysdir/ap1 ]]; then
ap1_product_id=$(cat $sysdir/ap1/product-id)
fi
if [[ -d $sysdir/ap2 ]]; then
ap2_product_id=$(cat $sysdir/ap2/product-id)
fi
}
mfser_init() {
found_ap1=0
if [[ $ap1_product_id =~ ^MTAC-MFSER- ]]; then
/usr/bin/logger -t "mts-io" -p info -s "Linking /dev/mfser to /dev/ttyAP1"
ln -sf /dev/ttyAP1 /dev/mfser
found_ap1=1
fi
if [[ $ap2_product_id =~ ^MTAC-MFSER- ]]; then
if [[ $found_ap1 = 1 ]]; then
/usr/bin/logger -t "mts-io" -p info -s "Linking /dev/mfser-2 to /dev/ttyAP2"
ln -sf /dev/ttyAP2 /dev/mfser-2
else
/usr/bin/logger -t "mts-io" -p info -s "Linking /dev/mfser to /dev/ttyAP2"
ln -sf /dev/ttyAP2 /dev/mfser
fi
fi
}
case $1 in
start)
/usr/bin/logger -t "mts-io" -p info -s "Loading mts-io module"
modprobe mts_io
read_card_info
reset_rs9113
mfser_init
;;
stop)
/usr/bin/logger -t "mts-io" -p info -s "Unloading mts-io module"
modprobe -r mts_io
;;
status)
if [[ -d ${sysdir} ]] ; then
echo Driver is loaded
exit 0
else
echo Driver is not loaded
exit 3
fi
;;
*)
echo "Usage: $0 {start|stop}"
exit 2
;;
esac
|