Hauppauge WinTV-HVR-4000
Материал из RuVDRWiki
Гибридная DVB-S, DVB-T, DVB-S2 PCI card от Hauppauge. Коротко - hvr4000 или еще короче hvr4K
В Linux имеется полная поддержка этой карты. Проверено, что карта нормально работает с DiSEqC-переключателем, мотоподвесом, держит ток 350 mA.
Содержание |
Обзор/Свойства
DVB-S2, DVB-S, DVB-T, Analog TV, FM Radio плюс S-Video, Composite, stereo audio вход для A/V захвата,- и все это в одной карте!
CI отсутствует.
Компоненты карты
- Conexant CX24116 (DVB-S/S2-демодулятор FEC декодер)
- Conexant CX24118A (DVB -S/S2-тюнер RF IC )
- Conexant CX23882 (A/V decoder & PCI bridge)
- Conexant Cx22702 (DVB-T демодулятор)
- Philips FMD1216ME MK3 Hybrid Tuner (аналоговый тюнер)
- Infineon TUA6034 'TAIFUN' (Analogue/Digital TV tuner)
- Philips TDA9887 (Analogue TV/FM demodulator)
- Philips TDA7040 (FM stereo decoder)
- Wolfson WM8775 (4 stereo input ADC)
- IDT QS3257 (Mux)
- Intersil ISL6421 (LNB voltage controller)
Идентификация
04:08.0 0400: 14f1:8800 (rev 05)
Subsystem: 0070:6902
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32 (5000ns min, 13750ns max), Cache Line Size: 32 bytes
Interrupt: pin A routed to IRQ 21
Region 0: Memory at fa000000 (32-bit, non-prefetchable) [size=16M]
Capabilities: [44] Vital Product Data
Capabilities: [4c] 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-
04:08.1 0480: 14f1:8811 (rev 05)
Subsystem: 0070:6902
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32 (1000ns min, 63750ns max), Cache Line Size: 32 bytes
Interrupt: pin A routed to IRQ 21
Region 0: Memory at f9000000 (32-bit, non-prefetchable) [size=16M]
Capabilities: [4c] 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-
04:08.2 0480: 14f1:8802 (rev 05)
Subsystem: 0070:6902
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32 (1500ns min, 22000ns max), Cache Line Size: 32 bytes
Interrupt: pin A routed to IRQ 21
Region 0: Memory at f8000000 (32-bit, non-prefetchable) [size=16M]
Capabilities: [4c] 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-
04:08.4 0480: 14f1:8804 (rev 05)
Subsystem: 0070:6902
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32 (1500ns min, 63750ns max), Cache Line Size: 32 bytes
Interrupt: pin A routed to IRQ 255
Region 0: Memory at f7000000 (32-bit, non-prefetchable) [size=16M]
Capabilities: [4c] 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-
Запуск карты в работу
Firmware
http://www.hauppauge.co.uk/site/support/support_wintv7.html
cуществует несколько версий firmware - рекомендуем использовать самую последнюю.
CX24116 firmware version: 1.20.79.0, size: 32522 bytes, md5sum: 417cafd3b10e207e1dba9a03ad63e405 CX24116 firmware version: 1.22.82.0, size: 32501 bytes, md5sum: b728b5d635393a4081e87d30d87a7632 CX24116 firmware version: 1.23.86.1, size: 32674 bytes, md5sum: dd8dfdfca6b72462d9db8032f78631c8
Можно использовать вот этот скрипт, чтобы скачать и установить Firmware для карты.
Коротко, что делает скрипт :
1) скачивает архив :
wget ftp://167.206.143.11/outgoing/Oxford/88x_2_119_25023_WHQL.zip
альтернативный адрес
wget http://steventoth.net/linux/cx24116/88x_2_119_25023_WHQL.zip
2) разархивирует архив :
unzip -jo 88x_2_119_25023_WHQL.zip Driver88/hcw88bda.sys
3) копирует Firmware в правильный каталог вашего дистрибутива :
dd if=hcw88bda.sys of=/lib/firmware/dvb-fe-cx24116.fw skip=81768 bs=1 count=32522
4) проверяем контрольную сумму
md5sum dvb-fe-cx24116.fw 417cafd3b10e207e1dba9a03ad63e405 dvb-fe-cx24116.fw
5) при первом запуске scan или szap2 в логах (команда dmesg) должно появится что-то типа
Nov 1 22:55:32 localhost kernel: cx24116_firmware_ondemand: Waiting for firmware upload (dvb-fe-cx24116.fw)... Nov 1 22:55:32 localhost kernel: cx24116_firmware_ondemand: Waiting for firmware upload(2)... Nov 1 22:55:35 localhost kernel: cx24116_firmware_ondemand: Firmware upload complete
Что свидетельствует об удачной загрузке firmware
ВНИМАНИЕ !!! Для Debian место расположения Firmware - /usr/lib/hotplug/firmware/
Firmware v1.22.82.0
wget http://www.wintvcd.co.uk/drivers/88x_2_122_26109_WHQL.zip unzip -jo 88x_2_122_26109_WHQL.zip Driver88/hcw88bda.sys sudo dd if=hcw88bda.sys of=/lib/firmware/dvb-fe-cx24116-1.22.82.0.fw skip=75504 bs=1 count=32501 sudo ln -s /lib/firmware/dvb-fe-cx24116-1.22.82.0.fw /lib/firmware/dvb-fe-cx24116.fw
Firmware v1.23.86.1
wget http://tevii.com/Tevii_linuxdriver_0815.rar sudo apt-get install unrar-free unrar x Tevii_linuxdriver_0815.rar sudo cp tevii_linuxdriver_0815/fw/dvb-fe-cx24116.fw /lib/firmware/dvb-fe-cx24116-1.23.86.1.fw sudo ln -s /lib/firmware/dvb-fe-cx24116-1.23.86.1.fw /lib/firmware/dvb-fe-cx24116.fw контрольная сумма md5sum dvb-fe-cx24116.fw dd8dfdfca6b72462d9db8032f78631c8 dvb-fe-cx24116.fw
Драйвер
Начиная c кернел 2.6.28 в Linux присутсвует поддержка для HVR4000 Тем не менее, мы настоятельно рекомендуем использовать dvb-v4l репозитарий s2-liplianin от нашего соотечественника Игоря Липлянина
hg clone http://mercurial.intuxication.org/hg/s2-liplianin cd v4l-dvb make make install reboot
Автор выслушает ваши замечания и предложения в авторском топике на нашем форуме
Пример вывода кернел
DVB-S включен (options cx88-dvb frontend=0) (Kernel 2.6.23.14) ----------------------------------------------------------------------- cx88/2: cx2388x MPEG-TS Driver Manager version 0.0.6 loaded cx88/0: cx2388x v4l2 driver version 0.0.6 loaded cx88[0]: subsystem: 0070:6902, board: Hauppauge WinTV-HVR4000 DVB-S/S2/T/Hybrid [card=59,autodetected] cx88[0]: TV tuner type 63, Radio tuner type -1 cx2388x alsa driver version 0.0.6 loaded cx88[0]: i2c init: enabling analog demod on HVR1300/3000/4000 tuner tveeprom 2-0050: Hauppauge model 69009, rev B2D3, serial# 2807241 tveeprom 2-0050: MAC address is 00-0D-FE-2A-D5-C9 tveeprom 2-0050: tuner model is Philips FMD1216MEX (idx 133, type 63) tveeprom 2-0050: TV standards PAL(B/G) PAL(I) SECAM(L/L') PAL(D/D1/K) ATSC/DVB Digital (eeprom 0xf4) tveeprom 2-0050: audio processor is CX882 (idx 33) tveeprom 2-0050: decoder processor is CX882 (idx 25) tveeprom 2-0050: has radio, has IR receiver, has no IR transmitter cx88[0]: hauppauge eeprom: model=69009 input: cx88 IR (Hauppauge WinTV-HVR400 as /class/input/input3 cx88[0]/2: cx2388x 8802 Driver Manager cx88[0]/2: found at 0000:04:08.2, rev: 5, irq: 21, latency: 32, mmio: 0xf8000000 cx88[0]/0: found at 0000:04:08.0, rev: 5, irq: 21, latency: 32, mmio: 0xfa000000 cx88/2: cx2388x dvb driver version 0.0.6 loaded cx88/2: registering cx8802 driver, type: dvb access: shared cx88[0]/2: subsystem: 0070:6902, board: Hauppauge WinTV-HVR4000 DVB-S/S2/T/Hybrid [card=59] cx88[0]/2: cx2388x based DVB/ATSC card tuner' 2-0043: chip found @ 0x86 (cx88[0]) tda9887 2-0043: tda988[5/6/7] found tuner' 2-0061: chip found @ 0xc2 (cx88[0]) tuner-simple 2-0061: type set to 63 (Philips FMD1216ME MK3 Hybrid Tuner) tuner' 2-0063: chip found @ 0xc6 (cx88[0]) cx88[0]/0: registered device video0 [v4l2] cx88[0]/0: registered device vbi0 cx88[0]/0: registered device radio0 DVB: registering new adapter (cx88[0]) DVB: registering frontend 0 (Conexant CX24116/CX24118)... cx88[0]/1: CX88x/0: ALSA support for cx2388x boards cx24116_firmware_ondemand: Waiting for firmware upload (dvb-fe-cx24116.fw)... cx24116_firmware_ondemand: Waiting for firmware upload(2)... cx24116_load_firmware: FW version 1.20.79.0 cx24116_firmware_ondemand: Firmware upload complete DVB-T включен (options cx88-dvb frontend=1) (Kernel 2.6.23.14) ----------------------------------------------------------------------- cx88/0: cx2388x v4l2 driver version 0.0.6 loaded cx88/2: cx2388x MPEG-TS Driver Manager version 0.0.6 loaded cx88[0]: subsystem: 0070:6902, board: Hauppauge WinTV-HVR4000 DVB-S/S2/T/Hybrid [card=59,autodetected] cx88[0]: TV tuner type 63, Radio tuner type -1 cx2388x alsa driver version 0.0.6 loaded cx88[0]: i2c init: enabling analog demod on HVR1300/3000/4000 tuner tveeprom 2-0050: Hauppauge model 69009, rev B2D3, serial# 2807241 tveeprom 2-0050: MAC address is 00-0D-FE-2A-D5-C9 tveeprom 2-0050: tuner model is Philips FMD1216MEX (idx 133, type 63) tveeprom 2-0050: TV standards PAL(B/G) PAL(I) SECAM(L/L') PAL(D/D1/K) ATSC/DVB Digital (eeprom 0xf4) tveeprom 2-0050: audio processor is CX882 (idx 33) tveeprom 2-0050: decoder processor is CX882 (idx 25) tveeprom 2-0050: has radio, has IR receiver, has no IR transmitter cx88[0]: hauppauge eeprom: model=69009 input: cx88 IR (Hauppauge WinTV-HVR400 as /class/input/input3 cx88[0]/0: found at 0000:04:08.0, rev: 5, irq: 20, latency: 32, mmio: 0xfa000000 tuner' 2-0043: chip found @ 0x86 (cx88[0]) tda9887 2-0043: tda988[5/6/7] found tuner' 2-0061: chip found @ 0xc2 (cx88[0]) tuner-simple 2-0061: type set to 63 (Philips FMD1216ME MK3 Hybrid Tuner) tuner' 2-0063: chip found @ 0xc6 (cx88[0]) cx88[0]/0: registered device video0 [v4l2] cx88[0]/0: registered device vbi0 cx88[0]/0: registered device radio0 cx88[0]/2: cx2388x 8802 Driver Manager cx88[0]/1: CX88x/0: ALSA support for cx2388x boards cx88/2: cx2388x dvb driver version 0.0.6 loaded cx88/2: registering cx8802 driver, type: dvb access: shared cx88[0]/2: subsystem: 0070:6902, board: Hauppauge WinTV-HVR4000 DVB-S/S2/T/Hybrid [card=59] cx88[0]/2: cx2388x based DVB/ATSC card DVB: registering new adapter (cx88[0]) DVB: registering frontend 0 (Conexant CX22702 DVB-T)... Включено DVB-S/S2 multiproto (options cx88-dvb frontend=0) (Kernel 2.6.23.1) ------------------------------------------------------------------------------------ cx2388x v4l2 driver version 0.0.6 loaded CORE cx88[0]: subsystem: 0070:6902, board: Hauppauge WinTV-HVR4000 DVB-S/S2/T/Hybrid [card=58,autodetected] TV tuner 63 at 0x1fe, Radio tuner -1 at 0x1fe cx2388x cx88-mpeg Driver Manager version 0.0.6 loaded cx88[0]: i2c init: enabling analog demod on HVR1300/3000/4000 tuner tveeprom 2-0050: Hauppauge model 69009, rev B2D3, serial# 2807241 tveeprom 2-0050: MAC address is 00-0D-FE-2A-D5-C9 tveeprom 2-0050: tuner model is Philips FMD1216MEX (idx 133, type 63) tveeprom 2-0050: TV standards PAL(B/G) PAL(I) SECAM(L/L') PAL(D/D1/K) ATSC/DVB Digital (eeprom 0xf4) tveeprom 2-0050: audio processor is CX882 (idx 33) tveeprom 2-0050: decoder processor is CX882 (idx 25) tveeprom 2-0050: has radio, has IR receiver, has no IR transmitter cx88[0]: hauppauge eeprom: model=69009 input: cx88 IR (Hauppauge WinTV-HVR400 as /class/input/input3 cx88[0]/0: found at 0000:04:08.0, rev: 5, irq: 20, latency: 32, mmio: 0xfa000000 cx2388x alsa driver version 0.0.6 loaded tuner 2-0043: chip found @ 0x86 (cx88[0]) tda9887 2-0043: tda988[5/6/7] found @ 0x43 (tuner) tuner 2-0061: chip found @ 0xc2 (cx88[0]) tuner 2-0061: type set to 63 (Philips FMD1216ME MK3 Hybrid Tuner) tuner 2-0061: type set to 63 (Philips FMD1216ME MK3 Hybrid Tuner) tuner 2-0063: chip found @ 0xc6 (cx88[0]) cx88[0]/0: registered device video0 [v4l2] cx88[0]/0: registered device vbi0 cx88[0]/0: registered device radio0 cx88[0]/2: cx2388x 8802 Driver Manager cx88[0]/2: found at 0000:04:08.2, rev: 5, irq: 20, latency: 32, mmio: 0xf8000000 cx2388x dvb driver version 0.0.6 loaded cx8802_register_driver() ->registering driver type=dvb access=shared CORE cx88[0]: subsystem: 0070:6902, board: Hauppauge WinTV-HVR4000 DVB-S/S2/T/Hybrid [card=58] cx88[0]/2: cx2388x based dvb card ACPI: PCI Interrupt 0000:04:08.1[A] -> Link [APC1] -> GSI 16 (level, low) -> IRQ 20 cx88[0]/1: CX88x/0: ALSA support for cx2388x boards DVB: registering new adapter (cx88[0]) DVB: registering frontend 0 (Conexant CX24116/CX24118)... cx24116_firmware_ondemand: Waiting for firmware upload (dvb-fe-cx24116.fw)... cx24116_firmware_ondemand: Waiting for firmware upload(2)... cx24116_firmware_ondemand: Firmware upload complete Multi Frontend Drivers (kernel 2.6.24) -------------------------------------- cx88/0: cx2388x v4l2 driver version 0.0.6 loaded cx88/2: cx2388x MPEG-TS Driver Manager version 0.0.6 loaded cx88[0]: subsystem: 0070:6902, board: Hauppauge WinTV-HVR4000 DVB-S/S2/T/Hybrid [card=59,autodetected], frontend(s): 2 cx88[0]: TV tuner type 63, Radio tuner type -1 cx2388x alsa driver version 0.0.6 loaded cx88[0]: i2c init: enabling analog demod on HVR1300/3000/4000 tuner tveeprom 2-0050: Hauppauge model 69009, rev B2D3, serial# 2807241 tveeprom 2-0050: MAC address is 00-0D-FE-2A-D5-C9 tveeprom 2-0050: tuner model is Philips FMD1216MEX (idx 133, type 63) tveeprom 2-0050: TV standards PAL(B/G) PAL(I) SECAM(L/L') PAL(D/D1/K) ATSC/DVB Digital (eeprom 0xf4) tveeprom 2-0050: audio processor is CX882 (idx 33) tveeprom 2-0050: decoder processor is CX882 (idx 25) tveeprom 2-0050: has radio, has IR receiver, has no IR transmitter cx88[0]: hauppauge eeprom: model=69009 input: cx88 IR (Hauppauge WinTV-HVR400 as /class/input/input3 cx88[0]/2: cx2388x 8802 Driver Manager cx88[0]/2: found at 0000:04:08.2, rev: 5, irq: 21, latency: 32, mmio: 0xf8000000 cx8802_probe() allocating 2 frontend(s) cx88[0]/0: found at 0000:04:08.0, rev: 5, irq: 21, latency: 32, mmio: 0xfa000000 cx88/2: cx2388x dvb driver version 0.0.6 loaded cx88/2: registering cx8802 driver, type: dvb access: shared cx88[0]/2: subsystem: 0070:6902, board: Hauppauge WinTV-HVR4000 DVB-S/S2/T/Hybrid [card=59] cx88[0]/2: cx2388x based DVB/ATSC card tuner' 2-0043: chip found @ 0x86 (cx88[0]) tda9887 2-0043: tda988[5/6/7] found tuner' 2-0061: chip found @ 0xc2 (cx88[0]) tuner-simple 2-0061: type set to 63 (Philips FMD1216ME MK3 Hybrid Tuner) tuner' 2-0063: chip found @ 0xc6 (cx88[0]) cx88[0]/0: registered device video0 [v4l2] cx88[0]/0: registered device vbi0 cx88[0]/0: registered device radio0 cx88[0]/1: CX88x/0: ALSA support for cx2388x boards tda9887 2-0043: i2c i/o error: rc == -121 (should be 4) DVB: registering new adapter (cx88[0]) DVB: registering adapter 0 frontend 0 (Conexant CX24116/CX24118)... DVB: registering adapter 0 frontend 1 (Conexant CX22702 DVB-T)... cx24116_firmware_ondemand: Waiting for firmware upload (dvb-fe-cx24116.fw)... cx24116_firmware_ondemand: Waiting for firmware upload(2)... cx24116_load_firmware: FW version 1.20.79.0 cx24116_firmware_ondemand: Firmware upload complete
Пульт дистанционного управления
После установки драйвера запустите dmesg/logs и увидите следующее:
input: CX88 IR (Hauppauge WinTV-HVR4000 as /class/input/inputX
Вы можете запустить
lircd --driver=dev/input --device=/dev/input/eventX (X замените на то значение, что найдете в выводе dmesg)
Debian: edit /etc/lirc/hardware.conf DRIVER="dev/input" DEVICE="/dev/input/eventX"
/etc/lirc/lircd.conf (Works)
begin remote
name Hauppauge-HVR4000-Remote
bits 16
eps 30
aeps 100
one 0 0
zero 0 0
pre_data_bits 16
pre_data 0x8001
gap 133325
toggle_bit_mask 0x8001001C
begin codes
Power 0x0074
Go 0x0161
TV 0x0179
Video 0x0189
Music 0x0188
Pictures 0x016F
Guide 0x016D
Radio 0x0181
Up 0x0067
Down 0x006C
Left 0x0069
Right 0x006A
OK 0x001C
Back/Exit 0x00AE
Menu 0x008B
PrevCh 0x019C
Mute 0x0071
Vol+ 0x0073
Vol- 0x0072
Ch+ 0x0192
Ch- 0x0193
Rec 0x00A7
Stop 0x0080
Play 0x00CF
Pause 0x0077
Rewind 0x00A8
Forward 0x00D0
Replay 0x00A5
Skip 0x00A3
1 0x0002
2 0x0003
3 0x0004
4 0x0005
5 0x0006
6 0x0007
7 0x0008
8 0x0009
9 0x000A
0 0x000B
Text 0x0184
Sub/CC 0x0172
Red 0x018E
Green 0x018F
Yellow 0x0190
Blue 0x0191
end codes
end remote
Ссылки
- Hauppauge UK's HVR-4000 product page
- HVR-4000 Linux Driver патч от Darron Broad
- Техническая спецификация карты HVR-4000
- Фото карты + пульт ДУ
- Несуществующий уже репозитарий, который Steven Toth удалил после конфликта с Manu Abraham в ходе дискуссий в DVB mail list о будущем multiproto & hvr4000
- Оригинальная страничка DVB-wiki про карту HVR4000
- Установка DVB драйверов - что и как
- Обсуждение карты HVR4000 на форуме Linux DVB VDR

