kern/89553: bktr: going from 5.3 -> 6.0 winTV card not properly recognised

Danny Pansters danny at ricin.com
Fri Nov 25 22:20:09 GMT 2005


>Number:         89553
>Category:       kern
>Synopsis:       bktr: going from 5.3 -> 6.0 winTV card not properly recognised
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Nov 25 22:20:01 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:     Danny Pansters
>Release:        FreeBSD 6.0-STABLE i386
>Organization:
>Environment:
System: FreeBSD desktop.homenet 6.0-STABLE FreeBSD 6.0-STABLE #6: Sat Nov 5 19:10:14 UTC 2005 danny at desktop.homenet:/usr/obj/usr/src/sys/DESKTOP i386

Hardware: Hauppauge WinTV, year 2000
Tuner: WinTV PAL-B/G-I 44354 Rev A242
Capture: Conexant Bt878KHF

	
>Description:
On 6.0: bktr0: Warning - card vendor 0x0272 (model 0x13eb) unknown.
On 5.3: bktr0: Hauppauge Model 44354 A242

Obviously the vendor must be 0x0070, Hauppauge. On 6.0 when compiled into the
kernel with the correct overrides, the driver shows the right model but TV apps 
still fail.
>How-To-Repeat:
Test with said hardware on said FreeBSD versions.
>Fix:
Workaround:

--- bktr_card.c.diff begins here ---
--- bktr_card.c.orig	Sat Nov  5 18:51:41 2005
+++ bktr_card.c	Sat Nov  5 18:56:46 2005
@@ -593,6 +593,7 @@
 #define PCI_VENDOR_IODATA	0x10fc
 #define PCI_VENDOR_PINNACLE_ALT	0xBD11	/* They got their own ID backwards? */
 #define PCI_VENDOR_PINNACLE_NEW	0x11BD
+#define PCI_VENDOR_HAUPPAUGE_ALT	0x0272
 
 #define MODEL_IODATA_GV_BCTV3_PCI	0x4020
 
@@ -685,7 +686,8 @@
 		    goto checkTuner;
 		}
 
-		if (subsystem_vendor_id == PCI_VENDOR_HAUPPAUGE) {
+		if ((subsystem_vendor_id == PCI_VENDOR_HAUPPAUGE)
+		 || (subsystem_vendor_id == PCI_VENDOR_HAUPPAUGE_ALT)) {
 		    bktr->card = cards[ (card = CARD_HAUPPAUGE) ];
 		    bktr->card.eepromAddr = eeprom_i2c_address;
 		    bktr->card.eepromSize = (u_char)(256 / EEPROMBLOCKSIZE);
--- bktr_card.c.diff ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list