Hauppauge WinTV-HVR-1700: Difference between revisions
m (added link to hi res picture) |
|||
(25 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
[[Image:WinTV-HVR-1700-81519LF_RevA1E9.jpg|thumb|250px|right|WinTV-HVR-1700 81519LF Rev A1E9]] |
|||
http://www.hauppauge.com.sg/web-content/images/hvr1700banner.jpg The [[Hauppauge]] WinTV-HVR-1700 is a hybrid analogue and [[DVB-T]] [[DVB-T PCIe Cards|PCIe card]] with a hardware MPEG2 encoder. |
|||
The [[Hauppauge]] WinTV-HVR-1700 is a [[hybrid]] [[analog TV|analog]] and [[DVB-T]] [[DVB-T PCIe Cards|PCIe card]] with a hardware MPEG2 encoder. |
|||
==Overview/Features== |
|||
* PCIe interface |
|||
* Inputs: Antenna, Composite/S-Video In and 3.5 audio jack |
|||
* Inputs (MC-Kit): Antenna, S-Video In and right/left audio Cinch |
|||
===Components Used=== |
|||
* [[Conexant CX2388x|Conexant CX23885]] PCIe A/V Decoder |
|||
* [[Conexant CX2341x|Conexant CX23417]] MPEGII A/V Encoder |
|||
* [[NXP TDA10048|NXP/Philips TDA10048HN]] Demodulator |
|||
===Other Images=== |
|||
<gallery perrow=5> |
|||
Image:hvr1700_board.gif|WinTV-HVR-1700 |
|||
Image:hvr1700mckit_board-angle.gif|WinTV-HVR-1700 MC-Kit |
|||
Image:hvr1700mckit sleeve.gif|WinTV-HVR-1700 MC-Kit Sleeve |
|||
Image:Hvr1700mckit board+rem.gif|WinTV-HVR-1700 MC-Kit + remote |
|||
</gallery> |
|||
===Identification=== |
|||
02:00.0 Multimedia video controller [0400]: Conexant Unknown device [14f1:8852] (rev 02) |
|||
Subsystem: Hauppauge computer works Inc. Unknown device [0070:8101] |
|||
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- |
|||
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- |
|||
Latency: 0, Cache Line Size: 64 bytes |
|||
Interrupt: pin A routed to IRQ 18 |
|||
Region 0: Memory at fe800000 (64-bit, non-prefetchable) [size=2M] |
|||
Capabilities: [40] Express Endpoint IRQ 0 |
|||
Device: Supported: MaxPayload 128 bytes, PhantFunc 0, ExtTag- |
|||
Device: Latency L0s <64ns, L1 <1us |
|||
Device: AtnBtn- AtnInd- PwrInd- |
|||
Device: Errors: Correctable- Non-Fatal- Fatal- Unsupported- |
|||
Device: RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop+ |
|||
Device: MaxPayload 128 bytes, MaxReadReq 512 bytes |
|||
Link: Supported Speed 2.5Gb/s, Width x1, ASPM L0s L1, Port 0 |
|||
Link: Latency L0s <2us, L1 <4us |
|||
Link: ASPM Disabled RCB 64 bytes CommClk+ ExtSynch- |
|||
Link: Speed 2.5Gb/s, Width x1 |
|||
Capabilities: [80] Power Management version 2 |
|||
Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold-) |
|||
Status: D0 PME-Enable- DSel=0 DScale=0 PME- |
|||
Capabilities: [90] Vital Product Data |
|||
Capabilities: [a0] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable- |
|||
Address: 0000000000000000 Data: 0000 |
|||
==Making it Work== |
|||
The board works in digital mode only currently. |
|||
===Firmware=== |
|||
Proper operation of the device needs 3 firmware files (dvb-fe-tda10048-1.0.fw, v4l-cx23885-avcore-01.fw and v4l-cx23885-enc.fw), which can be obtained at the following [http://steventoth.net/linux/hvr1700/ location]. |
|||
Once the download is complete, you need to extract the files and place a copy of them in your /lib/firmware directory. (This directory may differ with some distros; consult your distro's documentation for the appropriate location) : |
|||
# wget http://steventoth.net/linux/hvr1700/HVR-12x0-14x0-17x0_1_25_25271_WHQL.zip |
|||
# wget http://steventoth.net/linux/hvr1700/extract.sh |
|||
# wget http://steventoth.net/linux/hvr1700/readme.txt |
|||
# less readme.txt |
|||
# /bin/sh extract.sh |
|||
# sudo cp v4l-cx23885-enc.fw /lib/firmware |
|||
# sudo cp v4l-cx23885-avcore-01.fw /lib/firmware |
|||
# sudo cp dvb-fe-tda10048-1.0.fw /lib/firmware |
|||
===Drivers=== |
|||
As of Kernel 2.6.28 and onwards, a simple |
|||
modprobe cx23885 |
|||
will do. |
|||
You may need to add an offset to your tansponder frequencies (+166KHz) in order to tune properly though. |
|||
===Sample Kernel Output=== |
|||
# dmseg |
|||
cx23885 driver version 0.0.2 loaded |
|||
cx23885 0000:04:00.0: PCI INT A -> Link[LN2A] -> GSI 18 (level, low) -> IRQ 18 |
|||
cx23885[0]/0: cx23885_dev_setup() Memory configured for PCIe bridge type 885 |
|||
cx23885[0]/0: cx23885_init_tsport(portno=2) |
|||
CORE cx23885[0]: subsystem: 0070:8101, board: Hauppauge WinTV-HVR1700 [card=8,autodetected] |
|||
cx23885[0]/0: cx23885_pci_quirks() |
|||
cx23885[0]/0: cx23885_dev_setup() tuner_type = 0x0 tuner_addr = 0x0 |
|||
cx23885[0]/0: cx23885_dev_setup() radio_type = 0x0 radio_addr = 0x0 |
|||
cx23885[0]/0: cx23885_reset() |
|||
cx23885[0]/0: cx23885_sram_channel_setup() Configuring channel [VID A] |
|||
cx23885[0]/0: cx23885_sram_channel_setup() Erasing channel [ch2] |
|||
cx23885[0]/0: cx23885_sram_channel_setup() Configuring channel [TS1 B] |
|||
cx23885[0]/0: cx23885_sram_channel_setup() Erasing channel [ch4] |
|||
cx23885[0]/0: cx23885_sram_channel_setup() Erasing channel [ch5] |
|||
cx23885[0]/0: cx23885_sram_channel_setup() Configuring channel [TS2 C] |
|||
cx23885[0]/0: cx23885_sram_channel_setup() Erasing channel [ch7] |
|||
cx23885[0]/0: cx23885_sram_channel_setup() Erasing channel [ch8] |
|||
cx23885[0]/0: cx23885_sram_channel_setup() Erasing channel [ch9] |
|||
tveeprom 7-0050: Hauppauge model 81519, rev B2E9, serial# 6177447 |
|||
tveeprom 7-0050: MAC address is 00-0D-FE-5E-42-A7 |
|||
tveeprom 7-0050: tuner model is Philips 18271_8295 (idx 149, type 54) |
|||
tveeprom 7-0050: TV standards PAL(B/G) PAL(I) SECAM(L/L') PAL(D/D1/K) ATSC/DVB Digital (eeprom 0xf4) |
|||
tveeprom 7-0050: audio processor is CX23885 (idx 39) |
|||
tveeprom 7-0050: decoder processor is CX23885 (idx 33) |
|||
tveeprom 7-0050: has no radio |
|||
cx23885[0]: hauppauge eeprom: model=81519 |
|||
cx25840 9-0044: cx25 0-21 found @ 0x88 (cx23885[0]) |
|||
cx25840 9-0044: firmware: requesting v4l-cx23885-avcore-01.fw |
|||
cx25840 9-0044: loaded v4l-cx23885-avcore-01.fw firmware (16382 bytes) |
|||
cx23885_dvb_register() allocating 1 frontend(s) |
|||
cx23885[0]: cx23885 based dvb card |
|||
tda829x 8-0042: type set to tda8295 |
|||
tda18271 8-0060: creating new instance |
|||
TDA18271HD/C1 detected @ 8-0060 |
|||
DVB: registering new adapter (cx23885[0]) |
|||
DVB: registering adapter 2 frontend 0 (NXP TDA10048HN DVB-T)... |
|||
cx23885_dev_checkrevision() Hardware revision = 0xb0 |
|||
cx23885[0]/0: found at 0000:04:00.0, rev: 2, irq: 18, latency: 0, mmio: 0xfe800000 |
|||
cx23885 0000:04:00.0: setting latency timer to 64 |
|||
<-- dvbscan starts here --> |
|||
tda10048_firmware_upload: waiting for firmware upload (dvb-fe-tda10048-1.0.fw)... |
|||
cx23885 0000:04:00.0: firmware: requesting dvb-fe-tda10048-1.0.fw |
|||
tda10048_firmware_upload: firmware read 24878 bytes. |
|||
tda10048_firmware_upload: firmware uploading |
|||
tda10048_firmware_upload: firmware uploaded |
|||
===Remote Control Support=== |
|||
The MC-Kit edition comes with a typical Media Center USB IR receiver/blaster (SMK Manufacturing, Inc. eHome Infrared Receiver) and remote ( rc_keymaps: rc6_mce ) |
|||
Take care to dont use a USB-3 port (USB-2.0/1.1 will do) ! In most recent distributions the remote will work out of the box. |
|||
# sudo apt-get install ir-keytable |
|||
# sudo ir-keytable |
|||
Found /sys/class/rc/rc0/ (/dev/input/event6) with: |
|||
Driver mceusb, table rc-rc6-mce |
|||
Supported protocols: NEC RC-5 RC-6 JVC SONY LIRC other |
|||
Enabled protocols: RC-6 |
|||
Repeat delay = 500 ms, repeat period = 125 ms |
|||
# sudo ir-keytable -t |
|||
Testing events. Please, press CTRL-C to abort. |
|||
Press some key from the remote will result in: |
|||
1371831467.977553: event MSC: scancode = 800f0401 |
|||
1371831467.977562: event key down: KEY_NUMERIC_1 (0x0201) |
|||
1371831467.977564: event sync |
|||
1371831468.111555: event MSC: scancode = 800f0401 |
|||
1371831468.111559: event sync |
|||
1371831468.362411: event key up: KEY_NUMERIC_1 (0x0201) |
|||
1371831468.362414: event sync |
|||
... |
|||
For usage with 3rd-party software, you have to install lirc and configure the lirc-config (hardware.conf). Define the following properties: |
|||
LOAD_MODULES=true |
|||
DRIVER="devinput" |
|||
# possibly the DEVICE has to look different for you .. just check what is available in "/dev/input/by-id" on your maschine. Here what I have: |
|||
DEVICE="/dev/input/by-id/usb-SMK_CORPORATION_MCE_TRANCEIVR_Emulator_Device_2006_PB070418014941C-event-if00" |
|||
Now restart the lirc-daemon and run "irw". You should see any pressed key on the screen! |
|||
==External Links== |
==External Links== |
||
* [http://www.hauppauge.com.sg/web-content/pages/products/data_hvr1700.html WinTV-HVR-1700 product page] |
* [http://www.hauppauge.com.sg/web-content/pages/products/data_hvr1700.html WinTV-HVR-1700 product page] |
||
* [http://www.hauppauge.com/site/press/presspictures/HVR-1700_board-angle.jpg high resolution picture] |
* [http://www.hauppauge.com/site/press/presspictures/HVR-1700_board-angle.jpg high resolution picture] |
||
* [http://forum.manjaro.org/index.php?topic=2029.0 Detailed instruction to get the remote to work] |
|||
[[Category:DVB-T PCIe Cards]] |
Latest revision as of 17:05, 21 June 2013
The Hauppauge WinTV-HVR-1700 is a hybrid analog and DVB-T PCIe card with a hardware MPEG2 encoder.
Overview/Features
- PCIe interface
- Inputs: Antenna, Composite/S-Video In and 3.5 audio jack
- Inputs (MC-Kit): Antenna, S-Video In and right/left audio Cinch
Components Used
- Conexant CX23885 PCIe A/V Decoder
- Conexant CX23417 MPEGII A/V Encoder
- NXP/Philips TDA10048HN Demodulator
Other Images
Identification
02:00.0 Multimedia video controller [0400]: Conexant Unknown device [14f1:8852] (rev 02) Subsystem: Hauppauge computer works Inc. Unknown device [0070:8101] Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 0, Cache Line Size: 64 bytes Interrupt: pin A routed to IRQ 18 Region 0: Memory at fe800000 (64-bit, non-prefetchable) [size=2M] Capabilities: [40] Express Endpoint IRQ 0 Device: Supported: MaxPayload 128 bytes, PhantFunc 0, ExtTag- Device: Latency L0s <64ns, L1 <1us Device: AtnBtn- AtnInd- PwrInd- Device: Errors: Correctable- Non-Fatal- Fatal- Unsupported- Device: RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop+ Device: MaxPayload 128 bytes, MaxReadReq 512 bytes Link: Supported Speed 2.5Gb/s, Width x1, ASPM L0s L1, Port 0 Link: Latency L0s <2us, L1 <4us Link: ASPM Disabled RCB 64 bytes CommClk+ ExtSynch- Link: Speed 2.5Gb/s, Width x1 Capabilities: [80] Power Management version 2 Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME- Capabilities: [90] Vital Product Data Capabilities: [a0] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable- Address: 0000000000000000 Data: 0000
Making it Work
The board works in digital mode only currently.
Firmware
Proper operation of the device needs 3 firmware files (dvb-fe-tda10048-1.0.fw, v4l-cx23885-avcore-01.fw and v4l-cx23885-enc.fw), which can be obtained at the following location. Once the download is complete, you need to extract the files and place a copy of them in your /lib/firmware directory. (This directory may differ with some distros; consult your distro's documentation for the appropriate location) :
# wget http://steventoth.net/linux/hvr1700/HVR-12x0-14x0-17x0_1_25_25271_WHQL.zip # wget http://steventoth.net/linux/hvr1700/extract.sh # wget http://steventoth.net/linux/hvr1700/readme.txt # less readme.txt # /bin/sh extract.sh # sudo cp v4l-cx23885-enc.fw /lib/firmware # sudo cp v4l-cx23885-avcore-01.fw /lib/firmware # sudo cp dvb-fe-tda10048-1.0.fw /lib/firmware
Drivers
As of Kernel 2.6.28 and onwards, a simple
modprobe cx23885
will do. You may need to add an offset to your tansponder frequencies (+166KHz) in order to tune properly though.
Sample Kernel Output
# dmseg cx23885 driver version 0.0.2 loaded cx23885 0000:04:00.0: PCI INT A -> Link[LN2A] -> GSI 18 (level, low) -> IRQ 18 cx23885[0]/0: cx23885_dev_setup() Memory configured for PCIe bridge type 885 cx23885[0]/0: cx23885_init_tsport(portno=2) CORE cx23885[0]: subsystem: 0070:8101, board: Hauppauge WinTV-HVR1700 [card=8,autodetected] cx23885[0]/0: cx23885_pci_quirks() cx23885[0]/0: cx23885_dev_setup() tuner_type = 0x0 tuner_addr = 0x0 cx23885[0]/0: cx23885_dev_setup() radio_type = 0x0 radio_addr = 0x0 cx23885[0]/0: cx23885_reset() cx23885[0]/0: cx23885_sram_channel_setup() Configuring channel [VID A] cx23885[0]/0: cx23885_sram_channel_setup() Erasing channel [ch2] cx23885[0]/0: cx23885_sram_channel_setup() Configuring channel [TS1 B] cx23885[0]/0: cx23885_sram_channel_setup() Erasing channel [ch4] cx23885[0]/0: cx23885_sram_channel_setup() Erasing channel [ch5] cx23885[0]/0: cx23885_sram_channel_setup() Configuring channel [TS2 C] cx23885[0]/0: cx23885_sram_channel_setup() Erasing channel [ch7] cx23885[0]/0: cx23885_sram_channel_setup() Erasing channel [ch8] cx23885[0]/0: cx23885_sram_channel_setup() Erasing channel [ch9] tveeprom 7-0050: Hauppauge model 81519, rev B2E9, serial# 6177447 tveeprom 7-0050: MAC address is 00-0D-FE-5E-42-A7 tveeprom 7-0050: tuner model is Philips 18271_8295 (idx 149, type 54) tveeprom 7-0050: TV standards PAL(B/G) PAL(I) SECAM(L/L') PAL(D/D1/K) ATSC/DVB Digital (eeprom 0xf4) tveeprom 7-0050: audio processor is CX23885 (idx 39) tveeprom 7-0050: decoder processor is CX23885 (idx 33) tveeprom 7-0050: has no radio cx23885[0]: hauppauge eeprom: model=81519 cx25840 9-0044: cx25 0-21 found @ 0x88 (cx23885[0]) cx25840 9-0044: firmware: requesting v4l-cx23885-avcore-01.fw cx25840 9-0044: loaded v4l-cx23885-avcore-01.fw firmware (16382 bytes) cx23885_dvb_register() allocating 1 frontend(s) cx23885[0]: cx23885 based dvb card tda829x 8-0042: type set to tda8295 tda18271 8-0060: creating new instance TDA18271HD/C1 detected @ 8-0060 DVB: registering new adapter (cx23885[0]) DVB: registering adapter 2 frontend 0 (NXP TDA10048HN DVB-T)... cx23885_dev_checkrevision() Hardware revision = 0xb0 cx23885[0]/0: found at 0000:04:00.0, rev: 2, irq: 18, latency: 0, mmio: 0xfe800000 cx23885 0000:04:00.0: setting latency timer to 64
<-- dvbscan starts here -->
tda10048_firmware_upload: waiting for firmware upload (dvb-fe-tda10048-1.0.fw)... cx23885 0000:04:00.0: firmware: requesting dvb-fe-tda10048-1.0.fw tda10048_firmware_upload: firmware read 24878 bytes. tda10048_firmware_upload: firmware uploading tda10048_firmware_upload: firmware uploaded
Remote Control Support
The MC-Kit edition comes with a typical Media Center USB IR receiver/blaster (SMK Manufacturing, Inc. eHome Infrared Receiver) and remote ( rc_keymaps: rc6_mce ) Take care to dont use a USB-3 port (USB-2.0/1.1 will do) ! In most recent distributions the remote will work out of the box.
# sudo apt-get install ir-keytable # sudo ir-keytable Found /sys/class/rc/rc0/ (/dev/input/event6) with: Driver mceusb, table rc-rc6-mce Supported protocols: NEC RC-5 RC-6 JVC SONY LIRC other Enabled protocols: RC-6 Repeat delay = 500 ms, repeat period = 125 ms
# sudo ir-keytable -t Testing events. Please, press CTRL-C to abort.
Press some key from the remote will result in:
1371831467.977553: event MSC: scancode = 800f0401 1371831467.977562: event key down: KEY_NUMERIC_1 (0x0201) 1371831467.977564: event sync 1371831468.111555: event MSC: scancode = 800f0401 1371831468.111559: event sync 1371831468.362411: event key up: KEY_NUMERIC_1 (0x0201) 1371831468.362414: event sync ...
For usage with 3rd-party software, you have to install lirc and configure the lirc-config (hardware.conf). Define the following properties:
LOAD_MODULES=true DRIVER="devinput" # possibly the DEVICE has to look different for you .. just check what is available in "/dev/input/by-id" on your maschine. Here what I have: DEVICE="/dev/input/by-id/usb-SMK_CORPORATION_MCE_TRANCEIVR_Emulator_Device_2006_PB070418014941C-event-if00"
Now restart the lirc-daemon and run "irw". You should see any pressed key on the screen!