get-scripts rev 3

Add some wifi-firmaware
author Pascal Bellard <pascal.bellard@slitaz.org>
date Sun Feb 16 20:08:16 2014 +0000 (2014-02-16)
parents 38581c20c3f1
children 2e6fc10e1b24
files b43-firmware b43legacy-firmware rt2870usb-firmware rt61-firmware rt61pci-firmware rt73-firmware rt73usb-firmware zd1211-firmware zd1211rw-firmware
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/b43-firmware	Sun Feb 16 20:08:16 2014 +0000
     1.3 @@ -0,0 +1,182 @@
     1.4 +# install linux-wireless, wireless_tools and b43-fwcutter if needed.
     1.5 +
     1.6 +MODULE=${PACKAGE%-firmware}
     1.7 +CATEGORY="non-free"
     1.8 +DEPENDS=""
     1.9 +
    1.10 +MODULE_LIST=""
    1.11 +while read module desc ; do
    1.12 +	[ "$MODULE" == "$module" ] && desc="$SHORT_DESC"
    1.13 +	MODULE_LIST="$MODULE_LIST $module"
    1.14 +done <<EOT
    1.15 +b43		Broadcom $MODULE firmware.
    1.16 +b43legacy	Broadcom $MODULE firmware (BCM4306 rev2 or 802.11b chips).
    1.17 +ipw2100		Intel PRO/Wireless 2100 firmware.
    1.18 +ipw2200		Intel PRO/Wireless 2200BG firmware.
    1.19 +iwlwifi-3945	Intel PRO/Wireless 3945ABG/BG firmware.
    1.20 +iwlwifi-4965	Intel WiFi Link 4965AGN firmware.
    1.21 +iwlwifi-5000	Intel Wireless WiFi Link 5000AGN firmware.
    1.22 +iwlwifi-5150	Intel Wireless WiFi Link 5150AGN firmware.
    1.23 +iwlwifi-1000	Intel Wireless WiFi Link 1000BGN firmware.
    1.24 +iwlwifi-6000	Intel Wireless WiFi Link 6000 Series Wi-fi Adapters.
    1.25 +rt61		new RT2x00 RT61 Wireless Lan firmware.
    1.26 +rt61pci		new RT2x00 RT61 Wireless Lan firmware.
    1.27 +rt73		new RT2x00 RT73(RT2571W) Wireless Lan firmware.
    1.28 +rt73usb		new RT2x00 RT73(RT2571W) Wireless Lan firmware.
    1.29 +rt2870usb	RaLink RT2870USB (RT2870/RT2770) WiFi adapter.
    1.30 +zd1211		zd1211/zd1211rw Wireless Lan firmware.
    1.31 +zd1211rw	zd1211/zd1211rw Wireless Lan firmware.
    1.32 +EOT
    1.33 +
    1.34 +case "$MODULE" in
    1.35 +b43)
    1.36 +	WEB_SITE="http://www.linuxwireless.org/en/users/Drivers/b43"
    1.37 +	WGET_URL="http://mirror2.openwrt.org/sources"
    1.38 +	VERSION=$(wget -O - $WGET_URL | sed \
    1.39 +	  '/broadcom-wl-[0-9\.]*.tar/!d;s/.*com-wl-\([0-9\.]*\).tar.*/\1/' | \
    1.40 +	  tail -n 1)
    1.41 +	SUBDIR="broadcom-wl-$VERSION"
    1.42 +	WGET_URL="$WGET_URL/$SUBDIR.tar.bz2"
    1.43 +	DEPENDS="b43-fwcutter"
    1.44 +	FWSET=wl_apsta.o
    1.45 +	;;
    1.46 +b43legacy)
    1.47 +	WEB_SITE="http://downloads.openwrt.org/"
    1.48 +	VERSION=$(wget -O - ${WEB_SITE}sources | sed \
    1.49 +	  '/wl_apsta/!d;s/.*>wl_apsta-\(.*\).o.*/\1/')
    1.50 +	WGET_URL="${WEB_SITE}sources/wl_apsta-$VERSION.o"
    1.51 +	DEPENDS="b43-fwcutter"
    1.52 +	FWSET=wl_apsta-$VERSION.o
    1.53 +	;;
    1.54 +ipw2100)
    1.55 +	VERSION=$(wget -O - http://$MODULE.sourceforge.net/firmware.php?fid=2 |\
    1.56 +		sed "/$MODULE-fw/!d;s/.*fw-\(.*\).tgz.*/\1/")
    1.57 +	WEB_SITE="http://$MODULE.sourceforge.net/"
    1.58 +	WGET_URL="http://bughost.org/firmware/${MODULE}-fw-${VERSION}.tgz"
    1.59 +	;;
    1.60 +ipw2200)
    1.61 +	VERSION=$(wget -O - http://$MODULE.sourceforge.net/firmware.php?fid=8 |\
    1.62 +		sed "/$MODULE-fw/!d;s/.*fw-\(.*\).tgz.*/\1/")
    1.63 +	WEB_SITE="http://$MODULE.sourceforge.net/"
    1.64 +	WGET_URL="http://bughost.org/firmware/${MODULE}-fw-${VERSION}.tgz"
    1.65 +	;;
    1.66 +iwlwifi-*)
    1.67 +	WEB_SITE="http://www.intellinuxwireless.org/?n=Downloads"
    1.68 +	VERSION=$(wget -O - $WEB_SITE | sed -e "/$MODULE-/!d" -e \
    1.69 +		's/.*-ucode-\([0-9\.-]*\).t.*/\1/;q')
    1.70 +	WGET_URL="http://www.intellinuxwireless.org/iwlwifi/downloads/$MODULE-ucode-$VERSION.tgz"
    1.71 +	CATEGORY="base-system"
    1.72 +	;;
    1.73 +rt61*)
    1.74 +	WGET_URL="http://archlinux.c3sl.ufpr.br/other/rt2x00-rt61-fw"
    1.75 +	VERSION=$(wget -O - $WGET_URL | sed '/Firmware/!d;s/.*_V\(.*\).zip.*/\1/')
    1.76 +	WEB_SITE="http://www.ralinktech.com/"
    1.77 +	WGET_URL="$WGET_URL/RT61_Firmware_V${VERSION}.zip"
    1.78 +	CATEGORY="base-system"
    1.79 +	;;
    1.80 +rt73*)
    1.81 +	WGET_URL="http://archlinux.c3sl.ufpr.br/other/rt2x00-rt71w-fw"
    1.82 +	VERSION=$(wget -O - $WGET_URL | sed '/Firmware/!d;s/.*_V\(.*\).zip.*/\1/')
    1.83 +	WEB_SITE="http://www.ralinktech.com/"
    1.84 +	WGET_URL="$WGET_URL/RT71W_Firmware_V${VERSION}.zip"
    1.85 +	CATEGORY="base-system"
    1.86 +	;;
    1.87 +rt2870usb)
    1.88 +	WGET_URL="http://archlinux.c3sl.ufpr.br/other/${MODULE}-fw"
    1.89 +	VERSION=$(wget -O - $WGET_URL | sed '/Firmware/!d;s/.*_V\(.*\).zip.*/\1/')
    1.90 +	WEB_SITE="http://www.ralinktech.com/"
    1.91 +	WGET_URL="$WGET_URL/RT2870_Firmware_V${VERSION}.zip"
    1.92 +	CATEGORY="base-system"
    1.93 +	;;
    1.94 +zd1211*)
    1.95 +	WGET_URL="http://mirrors.kernel.org/debian/pool/non-free/z/zd1211-firmware"
    1.96 +	VERSION=$(wget -O - $WGET_URL | sed -e '/zd1211-firmware/!d' \
    1.97 +	  -e '/all.deb/!d' -e 's/.*>zd1211-firmware_\(.*\)_all.deb.*/\1/')
    1.98 +	SHORT_DESC="zd1211/zd1211rw Wireless Lan firmware."
    1.99 +	WEB_SITE="http://packages.debian.org/etch/zd1211-firmware"
   1.100 +	WGET_URL="$WGET_URL/zd1211-firmware_${VERSION}_all.deb"
   1.101 +	;;
   1.102 +esac
   1.103 +
   1.104 +# We need drivers, the extractor and tools.
   1.105 +for pkg in linux-wireless wireless_tools $DEPENDS
   1.106 +do
   1.107 +	if [ ! -d $ROOT/var/lib/tazpkg/installed/$pkg ]; then
   1.108 +		tazpkg get-install $pkg --root=$ROOT
   1.109 +	fi
   1.110 +done
   1.111 +
   1.112 +# Get files
   1.113 +wget $WGET_URL
   1.114 +TARBALL="$(basename $WGET_URL)"
   1.115 +[ -s $TARBALL ] || abort_package "Could not download $TARBALL. Exiting."
   1.116 +
   1.117 +case "$WGET_URL" in
   1.118 +*rpm)	rpm2cpio < $TARBALL | cpio -id;;
   1.119 +*deb)	dpkg-deb -x $TARBALL . ;;
   1.120 +*bz2)	tar xjf $TARBALL
   1.121 +	cd $SUBDIR/linux;;
   1.122 +*tar.gz|*tgz)	tar xzf $TARBALL;;
   1.123 +*zip)	unzip $TARBALL;;
   1.124 +*o)	;;
   1.125 +esac
   1.126 +	
   1.127 +# Create pseudo package
   1.128 +mkdir -p $PACKAGE-$VERSION/fs/lib/firmware $PACKAGE-$VERSION/fs/usr/share/licenses
   1.129 +case "$MODULE" in 
   1.130 +b43*)	b43-fwcutter -w "$PACKAGE-$VERSION/fs/lib/firmware" $FWSET;;
   1.131 +ipw2200)	cp ${MODULE}-fw-$VERSION/*LICENSE* $PACKAGE-$VERSION/fs/usr/share/licenses/intel-$MODULE-LICENSE.txt
   1.132 +			mv ${MODULE}-fw-$VERSION/* $PACKAGE-$VERSION/fs/lib/firmware;;
   1.133 +ipw2100)	cp *LICENSE* $PACKAGE-$VERSION/fs/usr/share/licenses/intel-$MODULE-LICENSE.txt
   1.134 +			mv *.fw* *LICENSE* $PACKAGE-$VERSION/fs/lib/firmware;;
   1.135 +rt*)
   1.136 +	mv RT*_Firmware_V$VERSION/*.bin $PACKAGE-$VERSION/fs/lib/firmware
   1.137 +	mv RT*_Firmware_V$VERSION/*LICENSE* $PACKAGE-$VERSION/fs/usr/share/licenses/ralink-rt61-LICENSE.txt;;
   1.138 +iwlwifi*) mv iwlwifi*/iwlwifi*.ucode $PACKAGE-$VERSION/fs/lib/firmware
   1.139 +		  mv iwlwifi*/*LICENSE* $PACKAGE-$VERSION/fs/usr/share/licenses/intel-iwlwifi-LICENSE.txt	;;
   1.140 +zd1211*)
   1.141 +	mv lib/firmware/zd1211 $PACKAGE-$VERSION/fs/lib/firmware ;;
   1.142 +esac
   1.143 +
   1.144 +# Creat receipt
   1.145 +cat > $PACKAGE-$VERSION/receipt <<EOT
   1.146 +PACKAGE="$PACKAGE"
   1.147 +VERSION="$VERSION"
   1.148 +CATEGORY="$CATEGORY"
   1.149 +SHORT_DESC="$SHORT_DESC."
   1.150 +WEB_SITE="$WEB_SITE"
   1.151 +DEPENDS="linux-wireless wireless_tools $DEPENDS"
   1.152 +
   1.153 +# Pre and post install commands for Tazpkg.
   1.154 +post_install()
   1.155 +{
   1.156 +	echo -n "Configure wifi ? "
   1.157 +	read -t 30 answer
   1.158 +	case "\$answer" in
   1.159 +	n*|N*) return
   1.160 +	esac
   1.161 +
   1.162 +	echo "configuring and loading module ..."
   1.163 +	# Check if we need wpa_supplicant
   1.164 +	. \$1/etc/network.conf
   1.165 +	if [ \$WIFI_KEY_TYPE = "wpa" ] || [ \$WIFI_KEY_TYPE = "WPA" ]; then
   1.166 +		if [ ! -d \$1/var/lib/tazpkg/installed/wpa_supplicant ]; then
   1.167 +			tazpkg get-install wpa_supplicant --root=\$1
   1.168 +		fi
   1.169 +	fi
   1.170 +
   1.171 +	# Configure /etc/network.conf and start connexion
   1.172 +	sed -i s/'WIFI="no"'/'WIFI="yes"'/ \$1/etc/network.conf
   1.173 +
   1.174 +	# Load module
   1.175 +	if [ -z "\$1" -a -n "\$(modprobe -l $MODULE)" ]; then
   1.176 +		echo "Loading module: $MODULE..."
   1.177 +		if modprobe $MODULE ; then
   1.178 +			sleep 2
   1.179 +			/etc/init.d/network.sh restart
   1.180 +		fi
   1.181 +	fi
   1.182 +}
   1.183 +EOT
   1.184 +
   1.185 +set +e
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/b43legacy-firmware	Sun Feb 16 20:08:16 2014 +0000
     2.3 @@ -0,0 +1,1 @@
     2.4 +b43-firmware
     2.5 \ No newline at end of file
     3.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2 +++ b/rt2870usb-firmware	Sun Feb 16 20:08:16 2014 +0000
     3.3 @@ -0,0 +1,1 @@
     3.4 +b43-firmware
     3.5 \ No newline at end of file
     4.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.2 +++ b/rt61-firmware	Sun Feb 16 20:08:16 2014 +0000
     4.3 @@ -0,0 +1,1 @@
     4.4 +b43-firmware
     4.5 \ No newline at end of file
     5.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.2 +++ b/rt61pci-firmware	Sun Feb 16 20:08:16 2014 +0000
     5.3 @@ -0,0 +1,1 @@
     5.4 +b43-firmware
     5.5 \ No newline at end of file
     6.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     6.2 +++ b/rt73-firmware	Sun Feb 16 20:08:16 2014 +0000
     6.3 @@ -0,0 +1,1 @@
     6.4 +b43-firmware
     6.5 \ No newline at end of file
     7.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     7.2 +++ b/rt73usb-firmware	Sun Feb 16 20:08:16 2014 +0000
     7.3 @@ -0,0 +1,1 @@
     7.4 +b43-firmware
     7.5 \ No newline at end of file
     8.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     8.2 +++ b/zd1211-firmware	Sun Feb 16 20:08:16 2014 +0000
     8.3 @@ -0,0 +1,1 @@
     8.4 +b43-firmware
     8.5 \ No newline at end of file
     9.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     9.2 +++ b/zd1211rw-firmware	Sun Feb 16 20:08:16 2014 +0000
     9.3 @@ -0,0 +1,1 @@
     9.4 +b43-firmware
     9.5 \ No newline at end of file