diff options
Diffstat (limited to 'meta-extras/packages/prism-firmware/prism-firmware/prism-fw.sh')
-rw-r--r-- | meta-extras/packages/prism-firmware/prism-firmware/prism-fw.sh | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/meta-extras/packages/prism-firmware/prism-firmware/prism-fw.sh b/meta-extras/packages/prism-firmware/prism-firmware/prism-fw.sh new file mode 100644 index 0000000000..619f612be1 --- /dev/null +++ b/meta-extras/packages/prism-firmware/prism-firmware/prism-fw.sh | |||
@@ -0,0 +1,32 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | CARD_ID=`/usr/sbin/hostap_diag $INTERFACE|grep NICID|awk '{print $2}'|sed -e 's/id=0x//'` | ||
4 | |||
5 | # 801d cards lack even Primary firmware so we cannot use hostap_diag | ||
6 | PRI=/lib/firmware/pm010102.hex | ||
7 | STA=/lib/firmware/rf010704.hex | ||
8 | |||
9 | if [ $CARD_ID = '800c' ] || [ $CARD_ID = '8013' ] || [ $CARD_ID = '8017' ] || \ | ||
10 | [ $CARD_ID = '801b' ] || [ $CARD_ID = '8022' ] || [ $CARD_ID = '8023' ] ; then | ||
11 | PRI=/lib/firmware/ak010104.hex | ||
12 | elif [ $CARD_ID = '800b' ] || [ $CARD_ID = '8012' ] || [ $CARD_ID = '8016' ] || \ | ||
13 | [ $CARD_ID = '801a' ] ; then | ||
14 | PRI=/lib/firmware/af010104.hex | ||
15 | elif [ $CARD_ID = '800e' ] || [ $CARD_ID = '8015' ] || [ $CARD_ID = '8019' ] || \ | ||
16 | [ $CARD_ID = '801d' ] ; then | ||
17 | PRI=/lib/firmware/pm010102.hex | ||
18 | fi | ||
19 | |||
20 | DIR=/proc/net/hostap/wlan0 | ||
21 | |||
22 | if [ ! -d $DIR ]; then | ||
23 | exit 1 | ||
24 | fi | ||
25 | |||
26 | if grep -q no_pri=1 $DIR/debug; then | ||
27 | /usr/sbin/prism2_srec -gs wlan0 $PRI | ||
28 | /usr/sbin/prism2_srec -gp wlan0 $PRI | ||
29 | fi | ||
30 | |||
31 | /usr/sbin/prism2_srec -rp wlan0 $STA | ||
32 | |||