wok annotate get-wifi-firmware/stuff/get-wifi-firmware @ rev 2975

fix: typo firefox-dev
author Rohit Joshi <jozee@slitaz.org>
date Sun May 10 14:27:56 2009 +0000 (2009-05-10)
parents e2b01c6b7e75
children 32959e7975fc
rev   line source
pascal@1040 1 #!/bin/sh
pascal@1040 2 # install linux-wireless, wireless_tools and b43-fwcutter if needed.
pascal@1040 3
pascal@1040 4 MODULE=$(echo $0 | sed 's/.*get-\(.*\)-firmware/\1/')
pascal@1713 5 ROOT="$1"
pascal@1040 6 PKG=$MODULE-firmware
pascal@1040 7 DEPENDS=""
pascal@1040 8 case "$MODULE" in
pascal@1040 9 b43)
pascal@2129 10 VERSION=4.150.10.5
pascal@1040 11 SUBDIR="broadcom-wl-$VERSION"
pascal@1040 12 SHORT_DESC="Broadcom $MODULE firmware."
pascal@2129 13 WEB_SITE="http://www.linuxwireless.org/en/users/Drivers/b43"
pascal@2129 14 WGET_URL="http://mirror2.openwrt.org/sources/$SUBDIR.tar.bz2"
pascal@1040 15 DEPENDS="b43-fwcutter"
pascal@2129 16 FWSET=wl_apsta_mimo.o
pascal@1040 17 ;;
pascal@1040 18 b43legacy)
pascal@1040 19 VERSION=3.130.20.0
pascal@2129 20 SHORT_DESC="Broadcom $MODULE firmware (BCM4306 rev2 or 802.11b chips)."
pascal@1040 21 WEB_SITE="http://downloads.openwrt.org/"
pascal@1040 22 WGET_URL="${WEB_SITE}sources/wl_apsta-$VERSION.o"
pascal@1040 23 DEPENDS="b43-fwcutter"
pascal@1040 24 FWSET=wl_apsta-$VERSION.o
pascal@1040 25 ;;
pascal@1040 26 ipw2100)
pascal@1040 27 VERSION=1.3-6.0.1
pascal@1040 28 SHORT_DESC="Intel PRO/Wireless 2100 firmware."
pascal@1040 29 WEB_SITE="http://$MODULE.sourceforge.net/"
pascal@1040 30 WGET_URL="http://dl.atrpms.net/all/$PKG-$VERSION.noarch.rpm"
pascal@1040 31 ;;
pascal@1040 32 ipw2200)
pascal@1040 33 VERSION=3.0-9.0.1
pascal@1040 34 SHORT_DESC="Intel PRO/Wireless 2200BG firmware."
pascal@1040 35 WEB_SITE="http://$MODULE.sourceforge.net/"
pascal@1040 36 WGET_URL="http://dl.atrpms.net/all/$PKG-$VERSION.noarch.rpm"
pascal@1040 37 ;;
pascal@1974 38 iwlwifi-3945)
pascal@1974 39 VERSION=15.28.2.8
pascal@1974 40 SHORT_DESC="Intel PRO/Wireless 3945ABG/BG firmware."
pascal@1974 41 WEB_SITE="http://www.intellinuxwireless.org/?n=Downloads"
pascal@1974 42 WGET_URL="http://www.intellinuxwireless.org/iwlwifi/downloads/$MODULE-ucode-$VERSION.tgz"
pascal@1974 43 ;;
pascal@1974 44 iwlwifi-4965)
pascal@1974 45 VERSION=228.57.2.23
pascal@1974 46 SHORT_DESC="Intel WiFi Link 4965AGN firmware."
pascal@1974 47 WEB_SITE="http://www.intellinuxwireless.org/?n=Downloads"
pascal@1974 48 WGET_URL="http://www.intellinuxwireless.org/iwlwifi/downloads/$MODULE-ucode-$VERSION.tgz"
pascal@1974 49 ;;
pascal@1974 50 iwlwifi-5000)
pascal@1974 51 VERSION=5.4.A.11
pascal@1974 52 SHORT_DESC="Intel Wireless WiFi Link 5000AGN firmware."
pascal@1974 53 WEB_SITE="http://www.intellinuxwireless.org/?n=Downloads"
pascal@1974 54 WGET_URL="http://www.intellinuxwireless.org/iwlwifi/downloads/$MODULE-ucode-$VERSION.tgz"
pascal@1974 55 ;;
pascal@2267 56 rt61|rt61pci)
pascal@1935 57 VERSION=1.2
pascal@1935 58 SHORT_DESC="RT61 Wireless Lan firmware."
pascal@1935 59 WEB_SITE="http://www.ralinktech.com/"
pascal@1935 60 WGET_URL="http://www.ralinktech.com.tw/data/RT61_Firmware_V$VERSION.zip"
pascal@1935 61 ;;
pascal@2267 62 rt73|rt73usb)
pascal@1892 63 VERSION=1.0.3.6
pascal@1892 64 SHORT_DESC="RT73(RT2571W) Wireless Lan firmware."
pascal@1892 65 WEB_SITE="http://www.ralinktech.com/"
pascal@1892 66 WGET_URL="http://www.ralink.com.tw/data/RT73_Linux_STA_Drv$VERSION.tar.gz"
pascal@1892 67 ;;
pascal@2267 68 zd1211|zd1211rw)
pascal@2128 69 VERSION=2.16.0.0-0.1
pascal@2128 70 SHORT_DESC="zd1211/zd1211rw Wireless Lan firmware."
pascal@2128 71 WEB_SITE="http://packages.debian.org/etch/zd1211-firmware"
pascal@2348 72 WGET_URL="http://mirrors.kernel.org/debian/pool/non-free/z/zd1211-firmware/zd1211-firmware_${VERSION}_all.deb"
pascal@2348 73 ;;
pascal@2348 74 rt2860)
pascal@2348 75 VERSION=11
pascal@2348 76 SHORT_DESC="RT2860 Wireless Lan firmware."
pascal@2348 77 WEB_SITE="http://www.ralinktech.com/"
pascal@2348 78 WGET_URL="http://www.ralink.com.tw/data/RT2860_Firmware_V$VERSION.zip"
pascal@2128 79 ;;
pascal@1040 80 *) echo "Unknown wifi driver. Please run one of the following commands:"
pascal@1040 81 for i in $(cd $(dirname $0); ls get-*-firmware); do
pascal@2171 82 [ -L $i ] || continue
pascal@2171 83 [ "$(readlink $i)" = "get-wifi-firmware" ] || continue
pascal@1040 84 echo " $i"
pascal@1040 85 done
pascal@1040 86 exit 1;;
pascal@1040 87 esac
pascal@1040 88
pascal@1040 89 # Check if user is root to install.
pascal@1040 90 if test $(id -u) != 0 ; then
pascal@1040 91 echo -e "\nYou must be root to run `basename $0`."
pascal@1040 92 echo -e "Please use 'su' and root password to become super-user.\n"
pascal@1040 93 exit 0
pascal@1040 94 fi
pascal@1040 95
pascal@1040 96 # Avoid reinstall
pascal@1713 97 if [ -d $ROOT/var/lib/tazpkg/installed/$PKG ]; then
pascal@1040 98 echo -e "\n$PKG package is already installed.\n"
pascal@1040 99 exit 0
pascal@1040 100 fi
pascal@1040 101
pascal@1713 102 # We need drivers, the extractor and tools.
pascal@1714 103 for pkg in linux-wireless wireless_tools $DEPENDS
pascal@1040 104 do
pascal@1713 105 if [ ! -d /var/lib/tazpkg/installed/$pkg ]; then
pascal@1040 106 tazpkg get-install $pkg
pascal@1040 107 fi
pascal@1040 108 done
pascal@1040 109
pascal@1040 110 # Get files
pascal@1040 111 TMP=/tmp/$(basename $0)$$
pascal@1040 112 mkdir $TMP
pascal@1040 113 TOP=$PWD
pascal@1040 114 cd $TMP
pascal@1040 115 wget $WGET_URL
pascal@1040 116 case "$WGET_URL" in
pascal@1040 117 *rpm) rpm2cpio < $(basename $WGET_URL) | cpio -id;;
pascal@2128 118 *deb) dpkg-deb -x $(basename $WGET_URL) . ;;
pascal@1040 119 *bz2) tar xjf $(basename $WGET_URL)
pascal@2129 120 cd $SUBDIR/driver;;
pascal@1974 121 *tar.gz|*tgz) tar xzf $(basename $WGET_URL);;
pascal@1935 122 *zip) unzip $(basename $WGET_URL);;
pascal@1040 123 *o) ;;
pascal@1040 124 esac
pascal@1040 125
pascal@1040 126 # Create pseudo package
pascal@1040 127 mkdir -p $PKG-$VERSION/fs/lib/firmware
pascal@1040 128 case "$MODULE" in
pascal@1040 129 b43*) b43-fwcutter -w "$PKG-$VERSION/fs/lib/firmware" $FWSET;;
pascal@1040 130 ipw*) rm -f lib/firmware/*LICENSE*
pascal@1040 131 mv lib/firmware/* $PKG-$VERSION/fs/lib/firmware;;
pascal@2348 132 rt61|rt61pci|rt2860)
pascal@2348 133 mv RT*_Firmware_V$VERSION/*.bin $PKG-$VERSION/fs/lib/firmware;;
pascal@2267 134 rt73|rt73usb)
pascal@2267 135 mv RT73_Linux_STA_Drv$VERSION/Module/rt73.bin $PKG-$VERSION/fs/lib/firmware;;
pascal@1974 136 iwlwifi*) mv iwlwifi*/iwlwifi*.ucode $PKG-$VERSION/fs/lib/firmware;;
pascal@2267 137 zd1211|zd1211rw)
pascal@2267 138 mv lib/firmware/zd1211 $PKG-$VERSION/fs/lib/firmware
pascal@2128 139 for i in $(cd usr/lib/hotplug/firmware; ls); do
pascal@2128 140 target=$(readlink usr/lib/hotplug/firmware/$i)
pascal@2129 141 ln -s $(basename $target) $PKG-$VERSION/fs/lib/firmware/zd1211/$i
pascal@2128 142 done;;
pascal@1040 143 esac
pascal@1040 144
pascal@1040 145 # Creat receipt
pascal@1040 146 cat > $PKG-$VERSION/receipt <<EOT
pascal@1040 147 PACKAGE="$PKG"
pascal@1040 148 VERSION="$VERSION"
pascal@1040 149 CATEGORY="non-free"
pascal@1040 150 SHORT_DESC="$SHORT_DESC."
pascal@1040 151 WEB_SITE="$WEB_SITE"
pascal@1713 152 DEPENDS="linux-wireless wireless_tools $DEPENDS"
pascal@1040 153 EOT
pascal@1040 154
pascal@1040 155 # Pack
pascal@1040 156 tazpkg pack $PKG-$VERSION
pascal@1040 157
pascal@1040 158 # Install pseudo package
pascal@1713 159 tazpkg install $PKG-$VERSION.tazpkg --root=$ROOT
pascal@1040 160
pascal@1040 161 # Clean
pascal@1040 162 cd $TOP
pascal@1040 163 rm -rf $TMP
pascal@1040 164
sygne@1158 165 # Check if we need wpa_supplicant
pascal@1713 166 . $ROOT/etc/network.conf
sygne@1158 167 if [ $WIFI_KEY_TYPE = "wpa" ] || [ $WIFI_KEY_TYPE = "WPA" ]; then
pascal@1713 168 if [ ! -d $ROOT/var/lib/tazpkg/installed/wpa_supplicant ]; then
pascal@1713 169 tazpkg get-install wpa_supplicant --root=$ROOT
sygne@1158 170 fi
sygne@1158 171 fi
sygne@1158 172
pascal@1935 173 # Configure /etc/network.conf and start connexion
pascal@1935 174 sed -i s/'WIFI="no"'/'WIFI="yes"'/ $ROOT/etc/network.conf
pascal@1935 175
pascal@1040 176 # Load module
pascal@1974 177 if [ -z "$ROOT" -a -n "$(modprobe -l $MODULE)" ]; then
pascal@1713 178 echo "Loading module: $MODULE..."
pascal@1935 179 if modprobe $MODULE ; then
pascal@1935 180 sleep 2
pascal@1935 181 /etc/init.d/network.sh restart
pascal@1935 182 fi
pascal@1713 183 fi
pascal@1040 184