Bug#599741: firmware-b43legacy-installer: fails when there are multiple devices with similar PCI id

2010-11-07 Thread Geoff Simmons
tags 599741 patch
thanks

On Sun, Oct 10, 2010 at 01:40:54PM -0400, Jaime Di Cristina wrote:
> The postinst script (firmware-b43legacy-installer.postinst) fails when
> multiple PCI devices are found with PCI ids starting with 14e4.
[...]
> From looking at the other install script (for b43) it seems to me that
> it suffers from the same bug.

I can confirm this issue also affects firmware-b43-installer and
firmware-b43-lpphy-installer.

Attached is a patch for correcting this.  Each firmware-b43* postinst
was amended to loop through listed Broadcom devices.

Geoff
diff -Nru b43-fwcutter-013/debian/firmware-b43-installer.postinst b43-fwcutter-013/debian/firmware-b43-installer.postinst
--- b43-fwcutter-013/debian/firmware-b43-installer.postinst	2010-05-11 09:48:46.0 +1000
+++ b43-fwcutter-013/debian/firmware-b43-installer.postinst	2010-11-07 23:59:29.0 +1100
@@ -2,8 +2,6 @@
 
 set -e
 
-tmp=`mktemp -q -d`
-
 # check kernel version
 if dpkg --compare-versions 2.6.25 gt `uname -r | cut -d- -f1`; then
 	echo "Kernel too old. This firmware needs >= 2.6.25!."
@@ -13,29 +11,46 @@
 
 # check chip
 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" ]; then
-		echo "Not supported card here (PCI id $pci)!"
-		echo "Use b43legacy firmware."
-		echo "Aborting."
-		exit 1
-	elif [ "`echo $pci | cut -d: -f2`" = "4315" ]; then
-		echo "Not supported low-power chip with PCI id $pci!"
-		echo "Aborting."
-		exit 1
-	elif [ "`echo $pci | cut -d: -f2`" = "4321" ] && \
- [ "`echo $pci | cut -d: -f2`" = "4324" ] && \
- [ "`echo $pci | cut -d: -f2`" = "4325" ] && \
- [ "`echo $pci | cut -d: -f2`" = "4328" ] && \
- [ "`echo $pci | cut -d: -f2`" = "4329" ] && \
- [ "`echo $pci | cut -d: -f2`" = "43b5" ]; then
-		echo "Not supported chip: PCI id $pci!"
-		echo "Aborting!"
-		exit 1
-	fi
+	for device in $pci; do
+		device_id=`echo $device | cut -d: -f2`
+		case $device_id in
+		4301 | 4306)
+			legacy=1
+		;;
+		4315)
+			lpphy=1
+		;;
+		4321 | 4324 | 4325 | 4328 | 4329 | 43b5)
+			unsupported="$unsupported $device_id"
+		;;
+		*)
+		;;
+		esac
+	done
+fi
+
+if [ "$legacy" ]; then
+	echo "An unsupported BCM4301, BCM4303 or BCM4306/2 device was found."
+	echo "Use b43legacy firmware (firmware-b43legacy-installer package) instead."
+	echo "Aborting."
+	exit 1
+elif [ "$lpphy" ]; then
+	echo "An unsupported BCM4312 Low-Power (LP-PHY) device was found."
+	echo "Use b43 LP-PHY firmware (firmware-b43-lpphy-installer package) instead."
+	echo "Aborting."
+	exit 1
+elif [ "$unsupported" ]; then
+	echo -n "Unsupported device(s) found: PCI id "
+	for device_id in $unsupported; do echo -n "14e4:$device_id "; done
+	echo
+	echo "Aborting."
+	exit 1
 fi
 
+tmp=`mktemp -q -d`
+
 cd $tmp
 export FIRMWARE_INSTALL_DIR="/lib/firmware"
 
diff -Nru b43-fwcutter-013/debian/firmware-b43legacy-installer.postinst b43-fwcutter-013/debian/firmware-b43legacy-installer.postinst
--- b43-fwcutter-013/debian/firmware-b43legacy-installer.postinst	2010-05-11 09:49:30.0 +1000
+++ b43-fwcutter-013/debian/firmware-b43legacy-installer.postinst	2010-11-07 23:30:58.0 +1100
@@ -3,16 +3,24 @@
 set -e
 
 # check chip
+supported=0
 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 "Use b43 firmware. This is just for the b43legacy driver."
-echo "Aborting."
-exit 1
-fi
+for device in $pci; do
+device_id=`echo $device | cut -d: -f2`
+if [ $device_id = 4301 ] || [ $device_id = 4306 ] || [ $device_id = 4320 ]; then
+supported=1
+break
+fi
+done
+fi
+
+if [ "$supported" = 0 ]; then
+echo "No supported card found."
+echo "Use b43 firmware. This is just for the b43legacy driver."
+echo "Aborting."
+exit 1
 fi
 
 tmp=`mktemp -q -d`
diff -Nru b43-fwcutter-013/debian/firmware-b43-lpphy-installer.postinst b43-fwcutter-013/debian/firmware-b43-lpphy-installer.postinst
--- b43-fwcutter-013/debian/firmware-b43-lpphy-installer.postinst	2010-05-11 09:52:37.0 +1000
+++ b43-fwcutter-013/debian/firmware-b43-lpphy-installer.postinst	2010-11-07 23:31:19.0 +1100
@@ -2,8 +2,6 @@
 
 set -e
 
-tmp=`mktemp -q -d`
-
 # check kernel version
 if dpkg --compare-versions 2.6.32 gt `uname -r | cut -d- -f1`; then
 	echo "Kernel too old. This firmware needs >= 2.6.32!."
@@ -12,16 +10,28 @@
 fi
 
 # check chip
+supported=0
 pci=`lspci -n | grep -o "14e4:[1234567890]\+"` || true
+
 if [ -n "$pci" ]; then
-	i

Processed: Re: Bug#599741: firmware-b43legacy-installer: fails when there are multiple devices with similar PCI id

2010-11-07 Thread Debian Bug Tracking System
Processing commands for cont...@bugs.debian.org:

> tags 599741 patch
Bug #599741 [firmware-b43legacy-installer] firmware-b43legacy-installer: fails 
when there are multiple devices with similar PCI id
Added tag(s) patch.
> thanks
Stopping processing here.

Please contact me if you need assistance.
-- 
599741: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=599741
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems


-- 
To UNSUBSCRIBE, email to debian-qa-packages-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/handler.s.c.12891383966841.transcr...@bugs.debian.org



Bug#602752: cdcd: everything seems to work as expected, but no sound :(

2010-11-07 Thread Cristian Ionescu-Idbohrn
Package: cdcd
Version: 0.6.6-11
Severity: important

Renders package unusable :(
(audacious will play this cd though, with sound)

Like:

c...@caesar> cdcd info
Album name: Back On The Block
Album artist:   Quincy Jones
Total tracks:   14  Disc length:57:56
Stopped
c...@caesar> cdcd tracks
Album name: Back On The Block
Album artist:   Quincy Jones
Total tracks:   14  Disc length:57:56

Track   Length  Title
---
 1: [ 1:04.65]  Prologue (Q's Rap)
 2: [ 6:34.10]  Back On The Block
 3: [ 5:11.40]  I Don't Go For That
 4: [ 4:54.60]  I'll Be Good To You
 5: [ 0:31.37]  The Verb To Be
 6: [ 3:31.58]  We B. Dooinit
 7: [ 6:27.72]  The Places You Find Love
 8: [ 2:53.43]  Jazz Corner Of The World
 9: [ 5:33.72]  Birdland
10: [ 5:04.60]  Setembro (Brazilian Wedding Song)
11: [ 3:44.38]  One Man Woman
12: [ 4:46.65]  Tomorrow (Better You, Better Me)
13: [ 0:54.02]  Prelude To The Garden
14: [ 6:40.15]  The Secret Garden
c...@caesar> cdcd play
c...@caesar> cdcd status
Stopped


-- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing')
Architecture: i386 (i686)

Kernel: Linux 2.6.32-5-686 (SMP w/2 CPU cores)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/bash

Versions of packages cdcd depends on:
ii  libc6 2.11.2-7   Embedded GNU C Library: Shared lib
ii  libcdaudio1   0.99.12p2-9library for controlling a CD-ROM w
ii  libncurses5   5.7+20100313-4 shared libraries for terminal hand
ii  libreadline5  5.2-7  GNU readline and history libraries

cdcd recommends no packages.

cdcd suggests no packages.

-- no debconf information


Cheers,

-- 
Cristian



-- 
To UNSUBSCRIBE, email to debian-qa-packages-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/1011072116020.14...@somehost



Bug#602753: cdtool: everything seems to work as expected, but no sound :(

2010-11-07 Thread Cristian Ionescu-Idbohrn
Package: cdtool
Version: 2.1.8-release-2
Severity: important

Renders package unusable :(
(audacious will play this cd though; with sound)

Like:

$ cdctrl
Opened /dev/cdrom as device 3
i
CMD info no-status 0 53:36.19  2:19.72 END
d
 1-14
 1 00:02.00 A
 2 01:06.65 A
 3 07:41.00 A
 4 12:52.40 A
 5 17:47.25 A
 6 18:18.62 A
 7 21:50.45 A
 8 28:18.42 A
 9 31:12.10 A
10 36:46.07 A
11 41:50.67 A
12 45:35.30 A
13 50:22.20 A
14 51:16.22 A
AA 57:56.37 A
CMD dir no-status 0 53:38.51  2:22.29 END
10
CMD play no-status 0 53:39.25  2:23.03 END
q
CMD QUIT no-status 0  0:18.54  0:16.54 END
EXITING

$ ltrace -t cdinfo
20:59:02 __libc_start_main(0x804c1c0, 1, 0xbf9a8104, 0x804cbd0, 0x804cbc0 

20:59:02 strrchr("cdinfo", '/')  = NULL
20:59:02 getopt(1, 0xbf9a8104, "0123456789?ad:Dhi:nrstvVp:R:T:") = -1
20:59:02 getenv("CDTOOLDEV") = NULL
20:59:02 snprintf("/dev/cdrom", 4096, "/dev/cdrom") = 10
20:59:02 __xstat(3, "/dev/cdrom", 0xbf9a6f2c)= 0
20:59:02 __strdup(0xbf9a6fac, 0xbf9a6fac, 0x804d841, 0, 0) = 0x8bb1008
20:59:02 open("/dev/cdrom", 2048, 00)= 3
20:59:02 malloc(1232)= 0x08bb1018
20:59:02 ioctl(3, 21259, 0x08bb14d8) = 0
20:59:02 ioctl(3, 21253, 0x08bb1024) = 0
20:59:02 ioctl(3, 21254, 0x08bb1028) = 0
20:59:02 ioctl(3, 21254, 0x08bb1034) = 0
20:59:02 ioctl(3, 21254, 0x08bb1040) = 0
20:59:02 ioctl(3, 21254, 0x08bb104c) = 0
20:59:02 ioctl(3, 21254, 0x08bb1058) = 0
20:59:02 ioctl(3, 21254, 0x08bb1064) = 0
20:59:02 ioctl(3, 21254, 0x08bb1070) = 0
20:59:02 ioctl(3, 21254, 0x08bb107c) = 0
20:59:02 ioctl(3, 21254, 0x08bb1088) = 0
20:59:02 ioctl(3, 21254, 0x08bb1094) = 0
20:59:02 ioctl(3, 21254, 0x08bb10a0) = 0
20:59:02 ioctl(3, 21254, 0x08bb10ac) = 0
20:59:02 ioctl(3, 21254, 0x08bb10b8) = 0
20:59:02 ioctl(3, 21254, 0x08bb10c4) = 0
20:59:02 ioctl(3, 21254, 0x08bb10d0) = 0
20:59:02 printf("no-status ")= 10
20:59:02 fputs("\n", 0xb786a4c0no-status
) = 1
20:59:02 close(3)= 0
20:59:02 exit(0 
20:59:02 +++ exited (status 0) +++


-- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing')
Architecture: i386 (i686)

Kernel: Linux 2.6.32-5-686 (SMP w/2 CPU cores)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/bash

Versions of packages cdtool depends on:
ii  libc6 2.11.2-7   Embedded GNU C Library: Shared lib

cdtool recommends no packages.

cdtool suggests no packages.

-- no debconf information


Cheers,

-- 
Cristian



-- 
To UNSUBSCRIBE, email to debian-qa-packages-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/1011072105080.14...@somehost



Processed (with 1 errors): reassign 599741 to b43-fwcutter, forcibly merging 599741 599742

2010-11-07 Thread Debian Bug Tracking System
Processing commands for cont...@bugs.debian.org:

> reassign 599741 b43-fwcutter
Bug #599741 [firmware-b43legacy-installer] firmware-b43legacy-installer: fails 
when there are multiple devices with similar PCI id
Bug reassigned from package 'firmware-b43legacy-installer' to 'b43-fwcutter'.
Bug No longer marked as found in versions b43-fwcutter/1:013-2.
> forcemerge 599741 599742
Bug#599741: firmware-b43legacy-installer: fails when there are multiple devices 
with similar PCI id
Bug#599742: firmware-b43legacy-installer: fails when there are multiple devices 
with similar PCI id
Mismatch - only Bugs in the same package can be forcibly merged:
Bug 599742 is not in the same package as 599741
> thanks
Stopping processing here.

Please contact me if you need assistance.
-- 
599742: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=599742
599741: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=599741
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems


-- 
To UNSUBSCRIBE, email to debian-qa-packages-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/handler.s.c.128916995025560.transcr...@bugs.debian.org



Processed: reassign 599742 to b43-fwcutter, forcibly merging 599741 599742, reassign 599741 to src:b43-fwcutter ...

2010-11-07 Thread Debian Bug Tracking System
Processing commands for cont...@bugs.debian.org:

> reassign 599742 b43-fwcutter
Bug #599742 [firmware-b43legacy-installer] firmware-b43legacy-installer: fails 
when there are multiple devices with similar PCI id
Bug reassigned from package 'firmware-b43legacy-installer' to 'b43-fwcutter'.
Bug No longer marked as found in versions b43-fwcutter/1:013-2.
> forcemerge 599741 599742
Bug#599741: firmware-b43legacy-installer: fails when there are multiple devices 
with similar PCI id
Bug#599742: firmware-b43legacy-installer: fails when there are multiple devices 
with similar PCI id
Forcibly Merged 599741 599742.

> reassign 599741 src:b43-fwcutter
Bug #599741 [b43-fwcutter] firmware-b43legacy-installer: fails when there are 
multiple devices with similar PCI id
Bug #599742 [b43-fwcutter] firmware-b43legacy-installer: fails when there are 
multiple devices with similar PCI id
Bug reassigned from package 'b43-fwcutter' to 'src:b43-fwcutter'.
Bug reassigned from package 'b43-fwcutter' to 'src:b43-fwcutter'.
> found 599741 1:013-2
Bug #599741 [src:b43-fwcutter] firmware-b43legacy-installer: fails when there 
are multiple devices with similar PCI id
Bug #599742 [src:b43-fwcutter] firmware-b43legacy-installer: fails when there 
are multiple devices with similar PCI id
Bug Marked as found in versions b43-fwcutter/1:013-2.
Bug Marked as found in versions b43-fwcutter/1:013-2.
> thanks
Stopping processing here.

Please contact me if you need assistance.
-- 
599741: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=599741
599742: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=599742
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems


-- 
To UNSUBSCRIBE, email to debian-qa-packages-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/handler.s.c.128917083728357.transcr...@bugs.debian.org