get-scripts view b43-firmware @ rev 5

Add ipw2100-firmware ipw2200-firmware
author Pascal Bellard <pascal.bellard@slitaz.org>
date Mon Feb 17 08:55:56 2014 +0000 (2014-02-17)
parents 8398dd6c1c2c
children 6603ef3afcd0
line source
1 # install linux-wireless, wireless_tools and b43-fwcutter if needed.
3 MODULE=${PACKAGE%-firmware}
4 CATEGORY="non-free"
5 DEPENDS=""
7 MODULE_LIST=""
8 while read module desc ; do
9 [ "$MODULE" == "$module" ] && desc="$SHORT_DESC"
10 MODULE_LIST="$MODULE_LIST $module"
11 done <<EOT
12 b43 Broadcom $MODULE firmware.
13 b43legacy Broadcom $MODULE firmware (BCM4306 rev2 or 802.11b chips).
14 ipw2100 Intel PRO/Wireless 2100 firmware.
15 ipw2200 Intel PRO/Wireless 2200BG firmware.
16 iwlwifi-3945 Intel PRO/Wireless 3945ABG/BG firmware.
17 iwlwifi-4965 Intel WiFi Link 4965AGN firmware.
18 iwlwifi-5000 Intel Wireless WiFi Link 5000AGN firmware.
19 iwlwifi-5150 Intel Wireless WiFi Link 5150AGN firmware.
20 iwlwifi-1000 Intel Wireless WiFi Link 1000BGN firmware.
21 iwlwifi-6000 Intel Wireless WiFi Link 6000 Series Wi-fi Adapters.
22 rt61 new RT2x00 RT61 Wireless Lan firmware.
23 rt61pci new RT2x00 RT61 Wireless Lan firmware.
24 rt73 new RT2x00 RT73(RT2571W) Wireless Lan firmware.
25 rt73usb new RT2x00 RT73(RT2571W) Wireless Lan firmware.
26 rt2870usb RaLink RT2870USB (RT2870/RT2770) WiFi adapter.
27 zd1211 zd1211/zd1211rw Wireless Lan firmware.
28 zd1211rw zd1211/zd1211rw Wireless Lan firmware.
29 EOT
31 case "$MODULE" in
32 b43)
33 WEB_SITE="http://www.linuxwireless.org/en/users/Drivers/b43"
34 WGET_URL="http://mirror2.openwrt.org/sources"
35 VERSION=$(wget -O - $WGET_URL | sed \
36 '/broadcom-wl-[0-9\.]*.tar/!d;s/.*com-wl-\([0-9\.]*\).tar.*/\1/' | \
37 tail -n 1)
38 SUBDIR="broadcom-wl-$VERSION"
39 WGET_URL="$WGET_URL/$SUBDIR.tar.bz2"
40 DEPENDS="b43-fwcutter"
41 FWSET=wl_apsta.o
42 ;;
43 b43legacy)
44 WEB_SITE="http://downloads.openwrt.org/"
45 VERSION=$(wget -O - ${WEB_SITE}sources | sed \
46 '/wl_apsta/!d;s/.*>wl_apsta-\(.*\).o.*/\1/')
47 WGET_URL="${WEB_SITE}sources/wl_apsta-$VERSION.o"
48 DEPENDS="b43-fwcutter"
49 FWSET=wl_apsta-$VERSION.o
50 ;;
51 ipw2*)
52 WEB_SITE="http://wireless.kernel.org/en/users/Drivers/$MODULE"
53 VERSION=$(wget -O - $WEB_SITE | sed '/-fw/!d;s/.*-fw-\([^t]*\).t.*/\1/')
54 WGET_URL="$(wget -O - $WEB_SITE | sed '/-fw/!d;s/.*href="\([^"]*\).*/\1/')$MODULE-fw-$VERSION.tgz"
55 ;;
56 iwlwifi-*)
57 WEB_SITE="http://www.intellinuxwireless.org/?n=Downloads"
58 VERSION=$(wget -O - $WEB_SITE | sed -e "/$MODULE-/!d" -e \
59 's/.*-ucode-\([0-9\.-]*\).t.*/\1/;q')
60 WGET_URL="http://www.intellinuxwireless.org/iwlwifi/downloads/$MODULE-ucode-$VERSION.tgz"
61 CATEGORY="base-system"
62 ;;
63 rt61*)
64 WGET_URL="http://archlinux.c3sl.ufpr.br/other/rt2x00-rt61-fw"
65 VERSION=$(wget -O - $WGET_URL | sed '/Firmware/!d;s/.*_V\(.*\).zip.*/\1/')
66 WEB_SITE="http://www.ralinktech.com/"
67 WGET_URL="$WGET_URL/RT61_Firmware_V${VERSION}.zip"
68 CATEGORY="base-system"
69 ;;
70 rt73*)
71 WGET_URL="http://archlinux.c3sl.ufpr.br/other/rt2x00-rt71w-fw"
72 VERSION=$(wget -O - $WGET_URL | sed '/Firmware/!d;s/.*_V\(.*\).zip.*/\1/')
73 WEB_SITE="http://www.ralinktech.com/"
74 WGET_URL="$WGET_URL/RT71W_Firmware_V${VERSION}.zip"
75 CATEGORY="base-system"
76 ;;
77 rt2870usb)
78 WGET_URL="http://archlinux.c3sl.ufpr.br/other/${MODULE}-fw"
79 VERSION=$(wget -O - $WGET_URL | sed '/Firmware/!d;s/.*_V\(.*\).zip.*/\1/')
80 WEB_SITE="http://www.ralinktech.com/"
81 WGET_URL="$WGET_URL/RT2870_Firmware_V${VERSION}.zip"
82 CATEGORY="base-system"
83 ;;
84 zd1211*)
85 WGET_URL="http://mirrors.kernel.org/debian/pool/non-free/z/zd1211-firmware"
86 VERSION=$(wget -O - $WGET_URL | sed -e '/zd1211-firmware/!d' \
87 -e '/all.deb/!d' -e 's/.*>zd1211-firmware_\(.*\)_all.deb.*/\1/')
88 SHORT_DESC="zd1211/zd1211rw Wireless Lan firmware."
89 WEB_SITE="http://packages.debian.org/etch/zd1211-firmware"
90 WGET_URL="$WGET_URL/zd1211-firmware_${VERSION}_all.deb"
91 ;;
92 esac
94 # We need drivers, the extractor and tools.
95 for pkg in linux-wireless wireless_tools $DEPENDS
96 do
97 if [ ! -d $ROOT/var/lib/tazpkg/installed/$pkg ]; then
98 tazpkg get-install $pkg --root=$ROOT
99 fi
100 done
102 # Get files
103 wget $WGET_URL
104 TARBALL="$(basename $WGET_URL)"
105 [ -s $TARBALL ] || abort_package "Could not download $TARBALL. Exiting."
107 case "$WGET_URL" in
108 *rpm) rpm2cpio < $TARBALL | cpio -id;;
109 *deb) dpkg-deb -x $TARBALL . ;;
110 *bz2) tar xjf $TARBALL
111 cd $SUBDIR/linux;;
112 *tar.gz|*tgz) tar xzf $TARBALL;;
113 *zip) unzip $TARBALL;;
114 *o) ;;
115 esac
117 # Create pseudo package
118 mkdir -p $PACKAGE-$VERSION/fs/lib/firmware $PACKAGE-$VERSION/fs/usr/share/licenses
119 case "$MODULE" in
120 b43*) b43-fwcutter -w "$PACKAGE-$VERSION/fs/lib/firmware" $FWSET;;
121 ipw2200) cp ${MODULE}-fw-$VERSION/*LICENSE* $PACKAGE-$VERSION/fs/usr/share/licenses/intel-$MODULE-LICENSE.txt
122 mv ${MODULE}-fw-$VERSION/* $PACKAGE-$VERSION/fs/lib/firmware;;
123 ipw2100) cp *LICENSE* $PACKAGE-$VERSION/fs/usr/share/licenses/intel-$MODULE-LICENSE.txt
124 mv *.fw* *LICENSE* $PACKAGE-$VERSION/fs/lib/firmware;;
125 rt*)
126 mv RT*_Firmware_V$VERSION/*.bin $PACKAGE-$VERSION/fs/lib/firmware
127 mv RT*_Firmware_V$VERSION/*LICENSE* $PACKAGE-$VERSION/fs/usr/share/licenses/ralink-rt61-LICENSE.txt;;
128 iwlwifi*) mv iwlwifi*/iwlwifi*.ucode $PACKAGE-$VERSION/fs/lib/firmware
129 mv iwlwifi*/*LICENSE* $PACKAGE-$VERSION/fs/usr/share/licenses/intel-iwlwifi-LICENSE.txt ;;
130 zd1211*)
131 mv lib/firmware/zd1211 $PACKAGE-$VERSION/fs/lib/firmware ;;
132 esac
134 # Creat receipt
135 cat > $PACKAGE-$VERSION/receipt <<EOT
136 PACKAGE="$PACKAGE"
137 VERSION="$VERSION"
138 CATEGORY="$CATEGORY"
139 SHORT_DESC="$SHORT_DESC."
140 WEB_SITE="$WEB_SITE"
141 DEPENDS="linux-wireless wireless_tools $DEPENDS"
143 # Pre and post install commands for Tazpkg.
144 post_install()
145 {
146 echo -n "Configure wifi ? "
147 read -t 30 answer
148 case "\$answer" in
149 n*|N*) return
150 esac
152 echo "configuring and loading module ..."
153 # Check if we need wpa_supplicant
154 . \$1/etc/network.conf
155 if [ \$WIFI_KEY_TYPE = "wpa" ] || [ \$WIFI_KEY_TYPE = "WPA" ]; then
156 if [ ! -d \$1/var/lib/tazpkg/installed/wpa_supplicant ]; then
157 tazpkg get-install wpa_supplicant --root=\$1
158 fi
159 fi
161 # Configure /etc/network.conf and start connexion
162 sed -i s/'WIFI="no"'/'WIFI="yes"'/ \$1/etc/network.conf
164 # Load module
165 if [ -z "\$1" -a -n "\$(modprobe -l $MODULE)" ]; then
166 echo "Loading module: $MODULE..."
167 if modprobe $MODULE ; then
168 sleep 2
169 /etc/init.d/network.sh restart
170 fi
171 fi
172 }
173 EOT
175 set +e