diff options
Diffstat (limited to 'meta/recipes-bsp/prism-firmware/prism-firmware')
-rw-r--r-- | meta/recipes-bsp/prism-firmware/prism-firmware/hostap.rules | 4 | ||||
-rw-r--r-- | meta/recipes-bsp/prism-firmware/prism-firmware/prism-fw.sh | 32 |
2 files changed, 36 insertions, 0 deletions
diff --git a/meta/recipes-bsp/prism-firmware/prism-firmware/hostap.rules b/meta/recipes-bsp/prism-firmware/prism-firmware/hostap.rules new file mode 100644 index 0000000000..dece98ae93 --- /dev/null +++ b/meta/recipes-bsp/prism-firmware/prism-firmware/hostap.rules | |||
@@ -0,0 +1,4 @@ | |||
1 | # | ||
2 | # update firmware on Prism cards (load it to RAM, not to Flash) | ||
3 | # | ||
4 | SUBSYSTEM=="net", KERNEL=="wlan*" RUN="/lib/udev/prism-fw.sh" | ||
diff --git a/meta/recipes-bsp/prism-firmware/prism-firmware/prism-fw.sh b/meta/recipes-bsp/prism-firmware/prism-firmware/prism-fw.sh new file mode 100644 index 0000000000..619f612be1 --- /dev/null +++ b/meta/recipes-bsp/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 | |||