wl1251-modules: restore phy0 LEDs on start
[openpandora.oe.git] / recipes / pandora-system / wl1251-modules / rc.wl1251
1 #!/bin/sh
2 DESC="WL1251 MAC80211 Wireless LAN driver"
3 NAME="wl1251"
4
5 d_stop() {
6         if `grep -q wl1251 /proc/modules` ; then
7                 rmmod wl1251_sdio
8                 rmmod wl1251
9                 # rmmod board-omap3pandora-wifi
10         fi
11 }
12
13 d_start() {
14         insmod $(busybox find /lib/modules/$(uname -r)/updates -name "rfkill_backport.ko")
15         insmod $(busybox find /lib/modules/$(uname -r)/updates -name "compat.ko")
16         insmod $(busybox find /lib/modules/$(uname -r)/updates -name "cfg80211.ko")
17         insmod $(busybox find /lib/modules/$(uname -r)/updates -name "mac80211.ko")
18         insmod $(busybox find /lib/modules/$(uname -r)/updates -name "compat_firmware_class.ko")
19         insmod $(busybox find /lib/modules/$(uname -r) -name "ecb.ko")
20         insmod $(busybox find /lib/modules/$(uname -r) -name "pcbc.ko")
21         insmod $(busybox find /lib/modules/$(uname -r) -name "arc4.ko")
22         insmod $(busybox find /lib/modules/$(uname -r)/updates -name "lib80211.ko")
23         insmod $(busybox find /lib/modules/$(uname -r)/updates -name "lib80211_crypt_tkip.ko")
24         insmod $(busybox find /lib/modules/$(uname -r)/updates -name "lib80211_crypt_wep.ko")
25         insmod $(busybox find /lib/modules/$(uname -r)/updates -name "lib80211_crypt_ccmp.ko")
26         insmod $(busybox find /lib/modules/$(uname -r)/updates -name "wl1251.ko")
27         insmod $(busybox find /lib/modules/$(uname -r)/updates -name "wl1251_sdio.ko")
28         insmod $(busybox find /lib/modules/$(uname -r) -name "board-omap3pandora-wifi.ko")
29
30         # restore phy0 related LED triggers (they come from mac80211.ko)
31         if [ -e /sys/class/leds/ ] ; then
32                 for led in /sys/class/leds/* ; do
33                         trigger=$(grep "$(basename $led)" /etc/default/leds | grep "phy0" | awk '{print $2}')
34                         if [ "x$trigger" != "x" ] ; then
35                                 echo "$trigger" > "$led/trigger"
36                         fi
37                 done
38         fi
39 }
40
41 case "$1" in
42   start)
43         echo -n "Starting $DESC: $NAME"
44         d_start &
45         echo "."
46         ;;
47   stop)
48         echo -n "Stopping $DESC: $NAME"
49         d_stop
50         echo "."
51         ;;
52   restart|force-reload)
53         echo -n "Restarting $DESC: $NAME"
54         d_stop
55         sleep 1
56         d_start
57         echo "."
58         ;;
59   *)
60         echo "Usage: $0 {start|stop|restart|force-reload}" >&2
61         exit 1
62         ;;
63 esac
64
65 exit 0