[oe-commits] org.oe.dev prism-firmware: added support of loading 1.8.4 firmware for Prism2/3 CF cards on insert (from Poky)

hrw commit openembedded-commits at lists.openembedded.org
Tue Jun 26 09:53:23 UTC 2007


prism-firmware: added support of loading 1.8.4 firmware for Prism2/3 CF cards on insert (from Poky)

This will give possibility of using WPA/WPA2 for users which cards have firmware
older then 1.7.4 (which was first version with WPA support).
It is alternative to reflashing cards.

Tested on Prism2 and Prism3 cards, replace all previous ways of supporting them.

Author: hrw at openembedded.org
Branch: org.openembedded.dev
Revision: b9a740a3824c796e1f8943ce2a795d9c757791a1
ViewMTN: http://monotone.openembedded.org/revision.psp?id=b9a740a3824c796e1f8943ce2a795d9c757791a1
Files:
1
packages/misc-binary-only/prism-firmware
packages/misc-binary-only/prism-firmware/hostap.rules
packages/misc-binary-only/prism-firmware/prism-fw.sh
packages/misc-binary-only/prism-firmware.bb
Diffs:

#
# mt diff -r7e7e3315d6a3d6bdb48cad1d96cd789f6afc5025 -rb9a740a3824c796e1f8943ce2a795d9c757791a1
#
# 
# 
# add_dir "packages/misc-binary-only/prism-firmware"
# 
# add_file "packages/misc-binary-only/prism-firmware/hostap.rules"
#  content [10ae5a1b14e578529d90691b9a9ac2a4a651add3]
# 
# add_file "packages/misc-binary-only/prism-firmware/prism-fw.sh"
#  content [ed6da5e3dd46ca45d08a8d3ce06ebae375d2d62d]
# 
# add_file "packages/misc-binary-only/prism-firmware.bb"
#  content [02755d031b0c3ad6bdf57da16e35300b34992abf]
# 
============================================================
--- packages/misc-binary-only/prism-firmware/hostap.rules	10ae5a1b14e578529d90691b9a9ac2a4a651add3
+++ packages/misc-binary-only/prism-firmware/hostap.rules	10ae5a1b14e578529d90691b9a9ac2a4a651add3
@@ -0,0 +1,4 @@
+#
+# update firmware on Prism cards (load it to RAM, not to Flash)
+#
+SUBSYSTEM=="net", KERNEL=="wlan*" RUN="/lib/udev/prism-fw.sh"
============================================================
--- packages/misc-binary-only/prism-firmware/prism-fw.sh	ed6da5e3dd46ca45d08a8d3ce06ebae375d2d62d
+++ packages/misc-binary-only/prism-firmware/prism-fw.sh	ed6da5e3dd46ca45d08a8d3ce06ebae375d2d62d
@@ -0,0 +1,33 @@
+#!/bin/sh
+
+CARD_ID=`/usr/sbin/hostap_diag $INTERFACE|grep NICID|awk '{print $2}'|sed -e 's/id=0x//'`
+
+# 801d cards lack even Primary firmware so we cannot use hostap_diag
+PRI=/lib/firmware/pm010102.hex 
+STA=/lib/firmware/rf010804.hex
+
+if [ $CARD_ID = '800c' ] || [ $CARD_ID = '8013' ] || [ $CARD_ID = '8017' ] || \
+   [ $CARD_ID = '801b' ] || [ $CARD_ID = '8022' ] || [ $CARD_ID = '8023' ] ; then
+        PRI=/lib/firmware/ak010104.hex 
+elif [ $CARD_ID = '800b' ] || [ $CARD_ID = '8012' ] || [ $CARD_ID = '8016' ] || \
+     [ $CARD_ID = '801a' ] ; then
+        PRI=/lib/firmware/af010104.hex 
+elif [ $CARD_ID = '800e' ] || [ $CARD_ID = '8015' ] || [ $CARD_ID = '8019' ] || \
+     [ $CARD_ID = '801d' ] ; then
+        PRI=/lib/firmware/pm010102.hex 
+fi
+
+DIR=/proc/net/hostap/wlan0  
+
+if [ ! -d $DIR ]; then
+    exit 1 
+fi
+
+if grep -q no_pri=1 $DIR/debug; then
+    /usr/sbin/prism2_srec -gs wlan0 $PRI   
+    /usr/sbin/prism2_srec -gp wlan0 $PRI 
+fi
+
+if grep -q pri_only=0 $DIR/debug; then
+    /usr/sbin/prism2_srec -rp wlan0 $STA
+fi
============================================================
--- packages/misc-binary-only/prism-firmware.bb	02755d031b0c3ad6bdf57da16e35300b34992abf
+++ packages/misc-binary-only/prism-firmware.bb	02755d031b0c3ad6bdf57da16e35300b34992abf
@@ -0,0 +1,30 @@
+DESCRIPTION = "Firmware for the Prism 2.x/3 cards"
+SECTION = "base"
+LICENSE = "closed"
+RDEPENDS = "hostap-utils"
+RREPLACES = "prism3-firmware prism3-support"
+RCONFLICTS = "prism3-firmware prism3-support"
+PACKAGE_ARCH = "all"
+PR = "r1"
+
+SRC_URI = "http://www.red-bean.com/~proski/firmware/Latest-prism.tar.bz2 \
+           file://prism-fw.sh \
+	   file://hostap.rules"
+
+S = "${WORKDIR}/Latest-prism/"
+
+do_install() {
+	install -d ${D}${base_libdir}/firmware/
+	install -d ${D}${base_libdir}/udev/
+	install -d ${D}${sysconfdir}/pcmcia/
+	install -d ${D}${sysconfdir}/udev/rules.d/
+
+	install -m 0644 primary-RAM/*.hex ${D}${base_libdir}/firmware/
+	install -m 0644 secondary-RAM/rf010804.hex ${D}${base_libdir}/firmware/
+
+	install -m 0755 ${WORKDIR}/prism-fw.sh ${D}${base_libdir}/udev/
+	install -m 0644 ${WORKDIR}/hostap.rules ${D}${sysconfdir}/udev/rules.d/
+}
+
+PACKAGES = "${PN}"
+FILES_${PN} += "${base_libdir}"






More information about the Openembedded-commits mailing list