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

update BUILD_DEPENDS for easytag gnome-doc-utils libglade libgnomeprint libsexy
author Pascal Bellard <pascal.bellard@slitaz.org>
date Sat Oct 04 19:30:08 2008 +0000 (2008-10-04)
parents c56a51e96041
children e01dd228942a
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@1040 5 PKG=$MODULE-firmware
pascal@1040 6 DEPENDS=""
pascal@1040 7 case "$MODULE" in
pascal@1040 8 b43)
pascal@1040 9 VERSION=4.80.53.0
pascal@1040 10 SUBDIR="broadcom-wl-$VERSION"
pascal@1040 11 SHORT_DESC="Broadcom $MODULE firmware."
pascal@1040 12 WEB_SITE="http://downloads.openwrt.org/"
pascal@1040 13 WGET_URL="${WEB_SITE}sources/$SUBDIR.tar.bz2"
pascal@1040 14 DEPENDS="b43-fwcutter"
pascal@1040 15 FWSET=wl_apsta.o
pascal@1040 16 ;;
pascal@1040 17 b43legacy)
pascal@1040 18 VERSION=3.130.20.0
pascal@1040 19 SHORT_DESC="Broadcom $MODULE firmware."
pascal@1040 20 WEB_SITE="http://downloads.openwrt.org/"
pascal@1040 21 WGET_URL="${WEB_SITE}sources/wl_apsta-$VERSION.o"
pascal@1040 22 DEPENDS="b43-fwcutter"
pascal@1040 23 FWSET=wl_apsta-$VERSION.o
pascal@1040 24 ;;
pascal@1040 25 ipw2100)
pascal@1040 26 VERSION=1.3-6.0.1
pascal@1040 27 SHORT_DESC="Intel PRO/Wireless 2100 firmware."
pascal@1040 28 WEB_SITE="http://$MODULE.sourceforge.net/"
pascal@1040 29 WGET_URL="http://dl.atrpms.net/all/$PKG-$VERSION.noarch.rpm"
pascal@1040 30 ;;
pascal@1040 31 ipw2200)
pascal@1040 32 VERSION=3.0-9.0.1
pascal@1040 33 SHORT_DESC="Intel PRO/Wireless 2200BG firmware."
pascal@1040 34 WEB_SITE="http://$MODULE.sourceforge.net/"
pascal@1040 35 WGET_URL="http://dl.atrpms.net/all/$PKG-$VERSION.noarch.rpm"
pascal@1040 36 ;;
pascal@1040 37 *) echo "Unknown wifi driver. Please run one of the following commands:"
pascal@1040 38 for i in $(cd $(dirname $0); ls get-*-firmware); do
pascal@1040 39 [ "$i" = "get-wifi-firmware" ] && continue
pascal@1040 40 echo " $i"
pascal@1040 41 done
pascal@1040 42 exit 1;;
pascal@1040 43 esac
pascal@1040 44
pascal@1040 45 # Check if user is root to install.
pascal@1040 46 if test $(id -u) != 0 ; then
pascal@1040 47 echo -e "\nYou must be root to run `basename $0`."
pascal@1040 48 echo -e "Please use 'su' and root password to become super-user.\n"
pascal@1040 49 exit 0
pascal@1040 50 fi
pascal@1040 51
pascal@1040 52 # Avoid reinstall
pascal@1040 53 if [ -d /var/lib/tazpkg/installed/$PKG ]; then
pascal@1040 54 echo -e "\n$PKG package is already installed.\n"
pascal@1040 55 exit 0
pascal@1040 56 fi
pascal@1040 57
pascal@1040 58 # We need drivers and tools.
pascal@1040 59 for pkg in linux-wireless wireless_tools $DEPENDS
pascal@1040 60 do
pascal@1040 61 if [ ! -d /var/lib/tazpkg/installed/$pkg ]; then
pascal@1040 62 tazpkg get-install $pkg
pascal@1040 63 fi
pascal@1040 64 done
pascal@1040 65
pascal@1040 66 # Get files
pascal@1040 67 TMP=/tmp/$(basename $0)$$
pascal@1040 68 mkdir $TMP
pascal@1040 69 TOP=$PWD
pascal@1040 70 cd $TMP
pascal@1040 71 wget $WGET_URL
pascal@1040 72 case "$WGET_URL" in
pascal@1040 73 *rpm) rpm2cpio < $(basename $WGET_URL) | cpio -id;;
pascal@1040 74 *bz2) tar xjf $(basename $WGET_URL)
pascal@1040 75 cd $SUBDIR/kmod;;
pascal@1040 76 *o) ;;
pascal@1040 77 esac
pascal@1040 78
pascal@1040 79 # Create pseudo package
pascal@1040 80 mkdir -p $PKG-$VERSION/fs/lib/firmware
pascal@1040 81 case "$MODULE" in
pascal@1040 82 b43*) b43-fwcutter -w "$PKG-$VERSION/fs/lib/firmware" $FWSET;;
pascal@1040 83 ipw*) rm -f lib/firmware/*LICENSE*
pascal@1040 84 mv lib/firmware/* $PKG-$VERSION/fs/lib/firmware;;
pascal@1040 85 esac
pascal@1040 86
pascal@1040 87 # Creat receipt
pascal@1040 88 cat > $PKG-$VERSION/receipt <<EOT
pascal@1040 89 PACKAGE="$PKG"
pascal@1040 90 VERSION="$VERSION"
pascal@1040 91 CATEGORY="non-free"
pascal@1040 92 SHORT_DESC="$SHORT_DESC."
pascal@1040 93 WEB_SITE="$WEB_SITE"
pascal@1040 94 EOT
pascal@1040 95 [ -n "$DEPENDS" ] echo "DEPENDS=$DEPENDS" >> $PKG-$VERSION/receipt
pascal@1040 96
pascal@1040 97 # Pack
pascal@1040 98 tazpkg pack $PKG-$VERSION
pascal@1040 99
pascal@1040 100 # Install pseudo package
pascal@1040 101 tazpkg install $PKG-$VERSION.tazpkg
pascal@1040 102
pascal@1040 103 # Clean
pascal@1040 104 cd $TOP
pascal@1040 105 rm -rf $TMP
pascal@1040 106
sygne@1158 107 # Check if we need wpa_supplicant
sygne@1158 108 . /etc/network.conf
sygne@1158 109 if [ $WIFI_KEY_TYPE = "wpa" ] || [ $WIFI_KEY_TYPE = "WPA" ]; then
sygne@1158 110 if [ ! -d /var/lib/tazpkg/installed/wpa_supplicant ]; then
sygne@1158 111 tazpkg get-install wpa_supplicant
sygne@1158 112 fi
sygne@1158 113 fi
sygne@1158 114
pascal@1040 115 # Load module
pascal@1040 116 echo "Loading module: $MODULE..."
pascal@1040 117 modprobe $MODULE
pascal@1040 118 sleep 1
pascal@1040 119
pascal@1040 120 # Configure /etc/network.conf and start connexion
pascal@1040 121 sed -i s/'WIFI="no"'/'WIFI="yes"'/ /etc/network.conf
sygne@1132 122 /etc/init.d/network.sh restart
pascal@1040 123