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