I've been looking at how to improve the laptop experience, and one common problem is the need for extra firmware for the wireless cards.
The process of finding and installing required firmware packages can be automated, and the following is a draft script to do so. I hope eventually to have something similar integrated into the hw-detect udeb used by debian-installer Please test it and let me know if it worked on your laptop. It is slightly tested, but I have a limited set of test hardware. :) #!/bin/sh # # Find missing firmware files requested by the kernel, and install the # binary packages with the files from the non-free section. tmpdir=$(mktemp -d) cd $tmpdir || exit 1 dist=$(lsb_release -cs) arch=$(dpkg --print-architecture) mirror=http://cdn.debian.net/debian # Find firmware files requested by kernel drivers fwfiles=$(dmesg |grep "firmware: requesting"|rev|awk '{print $1}'|rev|sort -u) if [ -z "$fwfiles" ] ; then echo "info: did not find any firmware files requested by the kernel in dmesg. exiting" exit fi GET $mirror/dists/$dist/Contents-$arch.gz | gunzip | grep ^lib/firmware > Fw-Contents-$arch binpkginfos="" binpkgs="" for fwfile in $fwfiles ; do fwfilere=$(echo $fwfile | sed -e 's%/%\\/%g' -e 's/\./\\./g') binpkginfo="$(awk "/^lib\/firmware\/$fwfilere/ {print \$2}" Fw-Contents-$arch)" if [ -z "$binpkginfo" ] ; then # Special case for b43 where the firmware is undistributable # by Debian. # FIXME verify that this is the correct of the three firmware # packages for b43. if echo $fwfile |grep -q b43-open ; then binpkgs="firmware-b43-installer $binpkgs" fi else binpkginfos="$binpkginfos $binpkginfo" fi done binpkgs="$( for binpkginfo in $binpkginfos ; do echo $binpkginfo | while IFS=/ read section srcpkg binpkg ; do echo $binpkg # Enable the non-free section if it is needed if [ non-free = "$section" ] ; then cat <<EOF > /etc/apt/sources.list.d/auto-addfirmware.list deb $mirror $dist non-free deb-src $mirror $dist non-free EOF fi done done) $binpkgs" # Fetch updated package lists apt-get update # Install firmware packages apt-get install $binpkgs cd / rm -rf $tmpdir -- Happy hacking Petter Reinholdtsen -- To UNSUBSCRIBE, email to debian-edu-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/2flehuzoo4d....@login1.uio.no