Difference between revisions of "Talk:Hauppauge WinTV-HVR-850"

From LinuxTVWiki
Jump to navigation Jump to search
Line 108: Line 108:
'''Update''' (below)
'''Update''' (below)
June 12 2013 For Ubuntu 12.04 this was functional using XC5000 firmware and vl4-dvb drivers.
June 12 2013 For Ubuntu 12.04 this was functional using XC5000 firmware and v4l-dvb drivers.
== Driver development ==
== Driver development ==

Latest revision as of 18:07, 29 June 2013

Model 1200

It did not properly work in my system's USB 1.1 slots. It was unable to tune any channels and eventually caused my system to lock while doing the dvbscan for ATSC channels. Luckily unplugging it unlocked the system.

After plugging it into a USB 2.0 card on the same system, I successfully ran the dvbscan with no trouble.

3rd Model

I just (April 2nd 2010) purchased a WinTV-HVR-850 model 1200 through amazon.com, and it appears to be a different version then the two listed. This one has a serial number of B1F5 and is not detected by Ubuntu Karmic or Lucid beta. I have yet to be able to get this model to work!

Yet Another?

I bought my HVR-850 model number 1200 on June 19, 2010 from Fry's and it is giving me an ID 2040:b140. Running dmsg just gives me "usb 1-3.4: new high speed USB device using ehci_hcd and address 13" and that's it.

Possibly Valuable Information

Pulled this out of the Windows driver disk my for my HVR-850 with device ID 2040:b140:

; Tuner setting for Exeter-A board.
; TunerType 80000301 MultiTuner+DIF+LG3305 normal config
HKR,"DriverData","TunerType",0x00010001, 0x81, 0x03, 0x00, 0x80
; BDA_Demod_Tuner_Type
; LG3305_NXP18271    = 14(0x0E)
HKR,"DriverData","BDA_Demod_Tuner_type",0x00010001, 0x0E, 0x00, 0x00, 0x00

HKR,"DriverData","TunerCountryCode",0x00010001, 0x1,0x00,0x00,0x00
HKR,"DriverData","TunerUsePllTuningStrategy",0x00010001, 0x1,0x00,0x00,0x00
HKR,"DriverData","VideoStandard",0x00010001, 0x01,0x00,0x00,0x00

;;set tuner type to TDA18271+LG3305(211)(0xd3)
HKR,"I2C Devices","Device 0, Data1",0x00010001, 0xd3, 0x00, 0x00, 0x00
;HKR,"I2C Devices","Device 0, Data6",0x00010001, 0xB1, 0x00, 0x00, 0x00
; Enable all formats (testing only); will break MCE scanning
; 0x30 for all analog system
; 0x01 for ATSC
; 0x02 for DVBT
HKR,"I2C Devices","Device 0, Data6",0x00010001, 0x31, 0x00, 0x00, 0x00

;;disable any blanking
HKR,"Parameters","TDA18271_BlankVideo",0x00010001, 0x0, 0x00, 0x00, 0x00
HKR,"Parameters","TDA8295_AUTOMUTE_VIDEO",0x00010001, 0x0, 0x00, 0x00, 0x00
HKR,"Parameters","TDA18271_IFLevel_ATSC",0x00010001, 0x3, 0x00, 0x00, 0x00
HKR,"Parameters","TDA18271_IFLevel_DCABLE",0x00010001, 0x3, 0x00, 0x00, 0x00
HKR,"Parameters","TDA18271_XTALOut_Mode",0x00010001, 0x1, 0x00, 0x00, 0x00

;Tuner I2c address nxp17281 :0xC0
HKR,"DriverData","TunerI2CAddress",0x00010001, 0xC0, 0x00, 0x00, 0x00
HKR,"Parameters","TDA8295_NoHW",0x00010001, 0x01, 0x00, 0x00, 0x00

It would seem that the tuner is the TDA18271 and the demodulator is LG3305.


Since my tuner is useless to me unless it works on Linux, I cracked it open to see if I could find out what the bridge chip was:

USB Board:

B140 usbboard.jpg

Tuner Board:

B140 tunerboard.jpg

Tuner Chip (confirmed TDA18271HDC2):

B140 tunerchip.jpg

Demodulator Chip (confirmed LGDT3305)

B140 demodchip.jpg

Unfortunately, the bridge IC is on the underside of the USB board and it is not trivial to separate them.


After scanning the Windows driver a little more I found this:

TSFriendlyName      = 	"Hauppauge Cx23100 TS Capture"

I added the device ID to the cx231xx-cards.c

--- a/drivers/media/video/cx231xx/cx231xx-cards.c
+++ b/drivers/media/video/cx231xx/cx231xx-cards.c
@@ -170,6 +170,8 @@ const unsigned int cx231xx_bcount = ARRAY_SIZE(cx231xx_board
 struct usb_device_id cx231xx_id_table[] = {
        {USB_DEVICE(0x0572, 0x5A3C),
         .driver_info = CX231XX_BOARD_UNKNOWN},
+       {USB_DEVICE(0x2040, 0xb140),
+        .driver_info = CX231XX_BOARD_UNKNOWN},
        {USB_DEVICE(0x0572, 0x58A2),
         .driver_info = CX231XX_BOARD_CNXT_RDE_250},
        {USB_DEVICE(0x0572, 0x58A1),

and I get this:

[79128.469758] cx231xx v4l2 driver loaded.
[79128.469785] usbcore: registered new interface driver cx231xx
[79147.372751] usb 1-4.3: new high speed USB device using ehci_hcd and address 18
[79147.486490] usb 1-4.3: configuration #1 chosen from 1 choice
[79147.489031] cx231xx #0: New device Hauppauge Hauppauge Device @ 480 Mbps (2040:b140) with 6 interfaces
[79147.489035] cx231xx #0: registering interface 0
[79147.490008] cx231xx #0: registering interface 1
[79147.497937] cx231xx #0: registering interface 6
[79147.497991] cx231xx #0: Identified as Unknown CX231xx video grabber (card=0)

I get a kernel OOPS right after that right now, but it does detect the manufacturer. Promising...

Update (below)

June 12 2013 For Ubuntu 12.04 this was functional using XC5000 firmware and v4l-dvb drivers.

Driver development

Experimental support is available here, thanks to Devin Heitmueller!