From owner-freebsd-multimedia@FreeBSD.ORG Sat Nov 5 22:45:07 2005 Return-Path: X-Original-To: freebsd-multimedia@freebsd.org Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C761816A41F for ; Sat, 5 Nov 2005 22:45:07 +0000 (GMT) (envelope-from danny@ricin.com) Received: from smtpq2.groni1.gr.home.nl (smtpq2.groni1.gr.home.nl [213.51.130.201]) by mx1.FreeBSD.org (Postfix) with ESMTP id 247B643D48 for ; Sat, 5 Nov 2005 22:45:06 +0000 (GMT) (envelope-from danny@ricin.com) Received: from [213.51.130.190] (port=48083 helo=smtp1.groni1.gr.home.nl) by smtpq2.groni1.gr.home.nl with esmtp (Exim 4.30) id 1EYWmX-0000ZD-DS for freebsd-multimedia@freebsd.org; Sat, 05 Nov 2005 23:45:05 +0100 Received: from cp464173-a.dbsch1.nb.home.nl ([84.27.215.228]:59885 helo=desktop.homenet) by smtp1.groni1.gr.home.nl with esmtp (Exim 4.30) id 1EYWmV-0006Jd-S9 for freebsd-multimedia@freebsd.org; Sat, 05 Nov 2005 23:45:03 +0100 From: Danny Pansters To: freebsd-multimedia@freebsd.org Date: Sat, 5 Nov 2005 23:43:05 +0000 User-Agent: KMail/1.8.2 X-Face: :N, f2_*44g[tRY8Y-gL2zi`G|<6SpFjTeHt|V5LO6Yl2E7yAfEh{E6-8pqxUFX"l)=?utf-8?q?Nm8y=7E=0A=09IWJSAWQ=7D+=3DpP=7CT=5D?=@sy1sz%h)*CW6gtbp]"fe@MjICtIUo.0, CH~{[R4PXSyL MIME-Version: 1.0 Content-Type: Multipart/Mixed; boundary="Boundary-00=_KOUbDDCuo4BWdQN" Message-Id: <200511052343.06171.danny@ricin.com> X-AtHome-MailScanner-Information: Please contact support@home.nl for more information X-AtHome-MailScanner: Found to be clean Subject: Bktr on FreeBSD-6.0: Hauppauge WinCast/TV (Bt878) card detection is broken. X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 05 Nov 2005 22:45:08 -0000 --Boundary-00=_KOUbDDCuo4BWdQN Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline Card details: Hauppauge WinTV, year 2000 Tuner: WinTV PAL-B/G-I 44354 Rev A242 Capture: Conexant Bt878KHF This is when using the module (with or without setting sysctls) on 6.0, clearly the detection is wrong, tv apps fail: bktr_mem: memory holder loaded bktr0: mem 0xdfefe000-0xdfefefff irq 19 at device 3.0 on pci6 bktr0: [GIANT-LOCKED] bktr0: Warning - card vendor 0x0272 (model 0x13eb) unknown. bktr0: Pinnacle/Miro TV, Temic NTSC tuner, remote control. This is when card and tuner are overridden in kernel on 6.0, now the driver shows the correct things, but doesn't seem to use them because tv apps still fail: bktr0: mem 0xdfefe000-0xdfefefff irq 19 at device 3.0 on pci6 bktr0: [GIANT-LOCKED] bktr0: Hauppauge WinCast/TV, Philips FR1216 PAL FM tuner, msp3400c stereo, remote control. This is when using the module (no sysctls needed) on a 5.3-RELEASE test box (I know I've used this card succesfully on 5.3) it's correct: bktr_mem: memory holder loaded bktr0: mem 0xef000000-0xef000fff at device 13.0 on pci2 bktr0: [GIANT-LOCKED] bktr0: Hauppauge Model 44354 A242 bktr0: Detected a MSP3415D-B3 at 0x80 bktr0: Hauppauge WinCast/TV, Philips FR1216 PAL FM tuner, msp3400c stereo, remote control. So for my WinTV card bktr is (was) broken on 6.0. Anyone else seen this? I have the feeling that it's the EEPROM telling bktr unexpected things. There's no vendor 0x0272 in pci_vendors, it must be 0x0070, Hauppauge. In 5.3 could it be using PCI register, not EEPROM, for detection of this card? Dumb workaround I'm using now (with module, no sysctls set) attached. --Boundary-00=_KOUbDDCuo4BWdQN Content-Type: text/x-diff; charset="us-ascii"; name="bktr_card.c.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="bktr_card.c.diff" --- 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); --Boundary-00=_KOUbDDCuo4BWdQN--