Difference between revisions of "Hauppauge WinTV-HVR-5500"

From LinuxTVWiki
Jump to: navigation, search
(Making it Work: dvb-fe-tda10071.fw should not be needed)
(adjust url of get_dvb_firmware)
 
(10 intermediate revisions by one user not shown)
Line 70: Line 70:
 
  mkdir get_dvb_firmware
 
  mkdir get_dvb_firmware
 
  cd get_dvb_firmware
 
  cd get_dvb_firmware
  wget https://raw.github.com/torvalds/linux/master/Documentation/dvb/get_dvb_firmware
+
  wget https://raw.githubusercontent.com/torvalds/linux/master/scripts/get_dvb_firmware
 
  chmod a+x get_dvb_firmware
 
  chmod a+x get_dvb_firmware
 
  ./get_dvb_firmware si2165
 
  ./get_dvb_firmware si2165
 
  sudo cp dvb-demod-si2165.fw /lib/firmware/
 
  sudo cp dvb-demod-si2165.fw /lib/firmware/
 +
sudo depmod -a
  
 
===Drivers===
 
===Drivers===
DVB-C support hasn't been merged yet. There is however [https://patchwork.linuxtv.org/patch/25867/ a patch] provided by zzam that should add support for DVB-C.
+
A Linux 3.16 or higher kernel is recommended, because this provides fixes for some required modules.
The patch is currently is testing phase, there is no time indication when this patch will be merged.
+
  
It may be necessary to have [http://www.linuxtv.org/wiki/index.php/How_to_Obtain,_Build_and_Install_V4L-DVB_Device_Drivers the latest drivers] installed.
+
DVB-C support hasn't been merged yet. There is however [https://patchwork.linuxtv.org/patch/25867/ a patch] (status: not updated for current branch) provided by zzam that should add DVB-C support.
A Linux 3.16> kernel is also recommended, because this brings a number of patches and fixes.
+
 
 +
An alternative patch provided by francoism90 for Linux 4.2 is available [https://github.com/francoism90/HVR-5500/blob/master/si2165_dvb-c_support.patch on his Github].
  
 
====Switch modes (DVB-C/DVB-T)====
 
====Switch modes (DVB-C/DVB-T)====
Since this is a hybrid card, it is necessary to select the correct DVB-type on start-up:
+
Since it is a hybrid card, it may be necessary to select the correct DVB-source:
 
  # dvb-fe-tool --adapter=1 --frontend=0 --set-delsys=DVB-C
 
  # dvb-fe-tool --adapter=1 --frontend=0 --set-delsys=DVB-C
  
Line 130: Line 131:
 
===External Links===
 
===External Links===
 
* [http://images.icecat.biz/img/norm/high/7818866-1971.jpg High Resolution Image of the circuit board's top side]
 
* [http://images.icecat.biz/img/norm/high/7818866-1971.jpg High Resolution Image of the circuit board's top side]
* [http://zepman.tweakblogs.net/blog/2228/ziggo-digitale-tv-op-de-pc.html Blog that describes an use with this TV-card] (Dutch)
+
* [http://beta990.tweakblogs.net/blog/10804/digitale-tv-op-de-pc-incombinatie-met-arch-linux-ziggo-smargo-tvheadend-oscam Blog that describes an use-case with this TV-card] (Dutch)

Latest revision as of 08:32, 28 January 2017

Overview/Features

  • PCI-e x1 interface
  • Supports DVB-C, DVB-S2, DVB-S, DVB-T, Analog-TV / Video, FM-radio

Components Used

Identification

04:00.0 Multimedia video controller: Conexant Systems, Inc. CX23887/8 PCIe Broadcast Audio and Video Decoder with 3D Comb (rev 04)
	Subsystem: Hauppauge computer works Inc. Device c138
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 64 bytes
	Interrupt: pin A routed to IRQ 45
	Region 0: Memory at d7a00000 (64-bit, non-prefetchable) [size=2M]
	Capabilities: [40] Express (v1) Endpoint, MSI 00
		DevCap:	MaxPayload 128 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us
			ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
		DevCtl:	Report errors: Correctable- Non-Fatal+ Fatal+ Unsupported-
			RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
			MaxPayload 128 bytes, MaxReadReq 512 bytes
		DevSta:	CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
		LnkCap:	Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Latency L0 <2us, L1 <4us
			ClockPM- Surprise- LLActRep- BwNot-
		LnkCtl:	ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk-
			ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
		LnkSta:	Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk- DLActive- BWMgmt- ABWMgmt-
	Capabilities: [80] Power Management version 3
		Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=375mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
		Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [90] Vital Product Data
		Unknown small resource type 01, will not decode more.
	Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+
		Address: 00000000fee0f00c  Data: 4199
	Capabilities: [100 v1] Advanced Error Reporting
		UESta:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
		UEMsk:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
		UESvrt:	DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
		CESta:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
		CEMsk:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
		AERCap:	First Error Pointer: 00, GenCap- CGenEn- ChkCap- ChkEn-
	Capabilities: [200 v1] Virtual Channel
		Caps:	LPEVC=1 RefClk=100ns PATEntryBits=1
		Arb:	Fixed+ WRR32+ WRR64+ WRR128-
		Ctrl:	ArbSelect=WRR64
		Status:	InProgress-
		Port Arbitration Table [240] <?>
		VC0:	Caps:	PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
			Arb:	Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256-
			Ctrl:	Enable+ ID=0 ArbSelect=Fixed TC/VC=ff
			Status:	NegoPending- InProgress-
		VC1:	Caps:	PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
			Arb:	Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256-
			Ctrl:	Enable- ID=1 ArbSelect=Fixed TC/VC=00
			Status:	NegoPending- InProgress-

Making it Work

Not fully supported; DVB-T (merged) and DVB-C (experimental patch) should work with the latest Linux-kernel, modules and firmware(s).

Firmware

cd ~
mkdir get_dvb_firmware
cd get_dvb_firmware
wget https://raw.githubusercontent.com/torvalds/linux/master/scripts/get_dvb_firmware
chmod a+x get_dvb_firmware
./get_dvb_firmware si2165
sudo cp dvb-demod-si2165.fw /lib/firmware/
sudo depmod -a

Drivers

A Linux 3.16 or higher kernel is recommended, because this provides fixes for some required modules.

DVB-C support hasn't been merged yet. There is however a patch (status: not updated for current branch) provided by zzam that should add DVB-C support.

An alternative patch provided by francoism90 for Linux 4.2 is available on his Github.

Switch modes (DVB-C/DVB-T)

Since it is a hybrid card, it may be necessary to select the correct DVB-source:

# dvb-fe-tool --adapter=1 --frontend=0 --set-delsys=DVB-C

Sample Kernel Output

# dmesg
[  225.165026] cx23885: disagrees about version of symbol altera_init
[  225.165134] cx23885: Unknown symbol altera_init (err -22)
[  231.254056] cx23885: module_layout: kernel tainted.
[  231.254147] Disabling lock debugging due to kernel taint
[  231.257328] cx23885 driver version 0.0.4 loaded
[  231.257555] cx23885 0000:01:00.0: enabling device (0000 -> 0002)
[  231.257861] CORE cx23885[0]: subsystem: 0070:c138, board: Hauppauge WinTV-HVR                                                                                                                                                             4400 [card=38,autodetected]
[  231.585799] tveeprom 10-0050: Hauppauge model 121029, rev B3F5, serial# ****
[  231.585895] tveeprom 10-0050: MAC address is 00:0d:fe:8a:5d:3e
[  231.585973] tveeprom 10-0050: tuner model is NXP 18271C2 (idx 155, type 54)
[  231.586061] tveeprom 10-0050: TV standards PAL(B/G) PAL(I) SECAM(L/L') PAL(D/                                                                                                                                                             D1/K) ATSC/DVB Digital (eeprom 0xf4)
[  231.586185] tveeprom 10-0050: audio processor is CX23888 (idx 40)
[  231.586262] tveeprom 10-0050: decoder processor is CX23888 (idx 34)
[  231.586340] tveeprom 10-0050: has radio, has IR receiver, has no IR transmitt                                                                                                                                                             er
[  231.586430] cx23885[0]: warning: unknown hauppauge model #121029
[  231.586507] cx23885[0]: hauppauge eeprom: model=121029
[  231.603973] Chip ID is not zero. It is not a TEA5767
[  231.604118] tuner 11-0060: Tuner -1 found with type(s) Radio TV.
[  231.604376] tda18271 11-0060: creating new instance
[  231.606534] TDA18271HD/C1 detected @ 11-0060
[  231.935237] cx23885[0]: registered device video0 [v4l2]
[  231.937179] cx23885[0]: registered device vbi0
[  231.944390] cx23885[0]: registered ALSA audio device
[  231.944484] cx23885_dvb_register() allocating 1 frontend(s)
[  231.944557] cx23885[0]: cx23885 based dvb card
[  231.962906] i2c i2c-10: a8293: Allegro A8293 SEC attached
[  231.963375] DVB: registering new adapter (cx23885[0])
[  231.963469] cx23885 0000:01:00.0: DVB: registering adapter 0 frontend 0 (NXP                                                                                                                                                              TDA10071)...
[  231.965295] cx23885_dvb_register() allocating 1 frontend(s)
[  231.965418] cx23885[0]: cx23885 based dvb card
[  231.976091] i2c i2c-10: si2165: hardware revision 0x03, chip type 0x07
[  231.976220] tda18271 11-0060: attaching existing instance
[  231.976637] DVB: registering new adapter (cx23885[0])
[  231.976709] cx23885 0000:01:00.0: DVB: registering adapter 1 frontend 0 (Sili                                                                                                                                                             con Labs Si2165 DVB-T DVB-C)...
[  231.979802] cx23885_dev_checkrevision() Hardware revision = 0xd0
[  231.979908] cx23885[0]/0: found at 0000:01:00.0, rev: 4, irq: 16, latency: 0,                                                                                                                                                              mmio: 0xfe800000
[  271.659164] i2c i2c-10: si2165: downloading firmware from file 'dvb-demod-si2                                                                                                                                                             165.fw' size=5768
[  271.662577] i2c i2c-10: si2165: si2165_upload_firmware extracted patch_versio                                                                                                                                                             n=0x9a, block_count=0x27, crc_expected=0xcc0a
[  272.749751] i2c i2c-10: si2165: fw load finished

External Links