Bug#578777: b43-fwcutter: Fails to determine unsupported PCI IDs
Package: b43-fwcutter
Version: 1:013~git20100413-2
Severity: normal
Tags: patch
Hi,
The PCI ID checks performed by the firmware-b43-installer,
firmware-b43legacy-installer and firmware-b43-lpphy-installer packages
are effectively skipped, as the PCI device and vendor codes are not
requested during post-installation.
The expected input for the cut commands (used to acquire the device
code) also requires use of grep's only-matching option. Attached is a
patch amending both areas in each postinst file.
Geoff
-- System Information:
Debian Release: squeeze/sid
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: i386 (i686)
Kernel: Linux 2.6.32-4-686 (SMP w/1 CPU core)
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages b43-fwcutter depends on:
ii libc6 2.10.2-6 Embedded GNU C Library: Shared lib
b43-fwcutter recommends no packages.
b43-fwcutter suggests no packages.
-- debconf information excluded
diff -Nru b43-fwcutter-013~git20100413/debian/firmware-b43-installer.postinst b43-fwcutter-013~git20100413/debian/firmware-b43-installer.postinst
--- b43-fwcutter-013~git20100413/debian/firmware-b43-installer.postinst 2010-04-14 04:03:49.000000000 +1000
+++ b43-fwcutter-013~git20100413/debian/firmware-b43-installer.postinst 2010-04-23 01:51:59.000000000 +1000
@@ -12,12 +12,12 @@
fi
# check chip
-pci=`lspci | grep "14e4:[1234567890]\+"` || true
+pci=`lspci -n | grep -o "14e4:[1234567890]\+"` || true
if [ -n "$pci" ]; then
if [ "`echo $pci | cut -d: -f2`" = "4301" ] || \
[ "`echo $pci | cut -d: -f2`" = "4306" ] || \
[ "`echo $pci | cut -d: -f2`" = "4320" ]; then
- echo "Not supported card here (PCI id $pci!"
+ echo "Not supported card here (PCI id $pci)!"
echo "Use b43legacy firmware."
echo "Aborting."
exit 1
diff -Nru b43-fwcutter-013~git20100413/debian/firmware-b43legacy-installer.postinst b43-fwcutter-013~git20100413/debian/firmware-b43legacy-installer.postinst
--- b43-fwcutter-013~git20100413/debian/firmware-b43legacy-installer.postinst 2010-04-14 04:03:52.000000000 +1000
+++ b43-fwcutter-013~git20100413/debian/firmware-b43legacy-installer.postinst 2010-04-23 01:52:05.000000000 +1000
@@ -3,12 +3,12 @@
set -e
# check chip
-pci=`lspci | grep "14e4:[1234567890]\+"` || true
+pci=`lspci -n | grep -o "14e4:[1234567890]\+"` || true
if [ -n "$pci" ]; then
if [ "`echo $pci | cut -d: -f2`" != "4301" ] || \
[ "`echo $pci | cut -d: -f2`" != "4306" ] || \
[ "`echo $pci | cut -d: -f2`" != "4320" ]; then
- echo "Not supported card here (PCI id $pci!"
+ echo "Not supported card here (PCI id $pci)!"
echo "Use b43 firmware. This is just for the b43legacy driver."
echo "Aborting."
exit 1
diff -Nru b43-fwcutter-013~git20100413/debian/firmware-b43-lpphy-installer.postinst b43-fwcutter-013~git20100413/debian/firmware-b43-lpphy-installer.postinst
--- b43-fwcutter-013~git20100413/debian/firmware-b43-lpphy-installer.postinst 2010-04-14 04:03:53.000000000 +1000
+++ b43-fwcutter-013~git20100413/debian/firmware-b43-lpphy-installer.postinst 2010-04-23 01:52:13.000000000 +1000
@@ -12,10 +12,10 @@
fi
# check chip
-pci=`lspci | grep "14e4:[1234567890]\+"` || true
+pci=`lspci -n | grep -o "14e4:[1234567890]\+"` || true
if [ -n "$pci" ]; then
if [ "`echo $pci | cut -d: -f2`" != "4315" ]; then
- echo "Not supported card here (PCI id $pci!"
+ echo "Not supported card here (PCI id $pci)!"
echo "Use proper b43 or b43legacy firmware."
echo "Aborting."
exit 1
Reply to: