Hauppauge WinTV-USB2

From MythTV Official Wiki
Revision as of 16:39, 28 September 2007 by Marcmerlin (talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Hauppauge WinTV-USB2
Vendors Website http://www.hauppauge.com/pages/products/data_usb2.html
Input Formats not applicable
Support Status Apparently not working (but should?)
Driver em28xx
Sound Driver snd_usb_audio
Chipset em28xx: msp3400 (audio processor);



Important.png Note: This device is not the same as the Hauppauge WinTV-PVR-USB2, or the Hauppauge WinTV Nova-T USB2, which more capable and known to work.

Description

The Hauppauge WinTV-USB2 is an external video capture device that registers as a v4l2 device and works with xawtv.

Connections on the main unit are:

  • S-video input
  • USB cable connector
  • Coaxial input for TV antenna or cable

Unfortunately, at the time of this writing, I was not able to make it work with MythTV 0.20.2, and net searches only showed a few hits of other people having similar problems. If you are a MythTV hacker, or willing to become one, this card would likely be able to work with MythTV though, but it doesn't seem to work out of the box with MythTV 0.20.2

Problem Description

The device looks like it was going to work: You can configure it with mythtv-setup, but when you try to tune to it, mythtv-backend fails to use it and marks the tuner as unavailable:

mythbackend says:
> gargamel:~# fuser -v /dev/video0	# working bttv card
> gargamel:~# fuser -v /dev/video1	# WinTV UBS2
> gargamel:~# 2007-09-27 10:45:06.305 MainServer::HandleAnnounce Playback
> 2007-09-27 10:45:06.360 adding: mainbackend as a client (events: 0)
> 2007-09-27 10:45:06.383 TVRec(3): Changing from None to WatchingLiveTV
> 2007-09-27 10:45:06.398 TVRec(3): HW Tuner: 3->3
> 2007-09-27 10:45:06.925 MainServer::HandleAnnounce Playback
> strange error flushing buffer ...
> 2007-09-27 10:45:06.960 adding: mainbackend as a client (events: 0)
> 2007-09-27 10:45:07.017 MainServer::HandleAnnounce FileTransfer
> 2007-09-27 10:45:07.044 adding: mainbackend as a remote file transfer
> 2007-09-27 10:45:07.066 NVR(/dev/video1) Error: Can't open vbi device: '/dev/vbi1'
> 2007-09-27 10:45:07.066 NVR: Can't open video device: /dev/video1
> open video:: Device or resource busy
>
> gargamel:~# fuser -v /dev/video1
>
>                      USER        PID ACCESS COMMAND
> /dev/video1          mythtv    12030 f....  mythbackend

Note that it says the device is busy, but it's really itself that grabbed it.


Device Specs

The device shows up as such on my system:

The /proc/bus/usb/devices entry for the device looks like this:

T:  Bus=03 Lev=01 Prnt=01 Port=03 Cnt=01 Dev#=  4 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=2040 ProdID=4200 Rev= 1.00
S:  Product=WinTV USB2
S:  SerialNumber=0008708024
C:* #Ifs= 3 Cfg#= 1 Atr=80 MxPwr=500mA
I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=ff Driver=em28xx
E:  Ad=81(I) Atr=03(Int.) MxPS=   1 Ivl=128ms
E:  Ad=82(I) Atr=01(Isoc) MxPS=   0 Ivl=125us
E:  Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:  If#= 0 Alt= 1 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=ff Driver=em28xx
E:  Ad=81(I) Atr=03(Int.) MxPS=   1 Ivl=128ms
E:  Ad=82(I) Atr=01(Isoc) MxPS=1024 Ivl=125us
E:  Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:  If#= 0 Alt= 2 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=ff Driver=em28xx
E:  Ad=81(I) Atr=03(Int.) MxPS=   1 Ivl=128ms
E:  Ad=82(I) Atr=01(Isoc) MxPS=1448 Ivl=125us
E:  Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:  If#= 0 Alt= 3 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=ff Driver=em28xx
E:  Ad=81(I) Atr=03(Int.) MxPS=   1 Ivl=128ms
E:  Ad=82(I) Atr=01(Isoc) MxPS=2048 Ivl=125us
E:  Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:  If#= 0 Alt= 4 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=ff Driver=em28xx
E:  Ad=81(I) Atr=03(Int.) MxPS=   1 Ivl=128ms
E:  Ad=82(I) Atr=01(Isoc) MxPS=2304 Ivl=125us
E:  Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:  If#= 0 Alt= 5 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=ff Driver=em28xx
E:  Ad=81(I) Atr=03(Int.) MxPS=   1 Ivl=128ms
E:  Ad=82(I) Atr=01(Isoc) MxPS=2580 Ivl=125us
E:  Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:  If#= 0 Alt= 6 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=ff Driver=em28xx
E:  Ad=81(I) Atr=03(Int.) MxPS=   1 Ivl=128ms
E:  Ad=82(I) Atr=01(Isoc) MxPS=2892 Ivl=125us
E:  Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:  If#= 0 Alt= 7 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=ff Driver=em28xx
E:  Ad=81(I) Atr=03(Int.) MxPS=   1 Ivl=128ms
E:  Ad=82(I) Atr=01(Isoc) MxPS=3072 Ivl=125us
E:  Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 1 Alt= 0 #EPs= 0 Cls=01(audio) Sub=01 Prot=00 Driver=snd-usb-audio
I:* If#= 2 Alt= 0 #EPs= 0 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio
I:  If#= 2 Alt= 1 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio
E:  Ad=83(I) Atr=01(Isoc) MxPS=  20 Ivl=125us

Here are the kernel messages from the drivers being loaded, as reported in dmesg output:

em28xx v4l2 driver version 0.0.1 loaded
em28xx new video device (2040:4200): interface 0, class 255
em28xx #0: Alternate settings: 8
em28xx #0: Alternate setting 0, max size= 0
em28xx #0: Alternate setting 1, max size= 1024
em28xx #0: Alternate setting 2, max size= 1448
em28xx #0: Alternate setting 3, max size= 2048
em28xx #0: Alternate setting 4, max size= 2304
em28xx #0: Alternate setting 5, max size= 2580
em28xx #0: Alternate setting 6, max size= 2892
em28xx #0: Alternate setting 7, max size= 3072
em28xx #0: AC97 command still being executed: not handled properly!
PM: Adding info for No Bus:i2c-2
PM: Adding info for i2c:2-0050
tuner 2-0063: chip found @ 0xc6 (em28xx #0)
PM: Adding info for i2c:2-0063
tuner 2-0063: type set to 43 (Philips NTSC MK3 (FM1236MK3 or FM1236/F))
tuner 2-0063: type set to 43 (Philips NTSC MK3 (FM1236MK3 or FM1236/F))
PM: Adding info for i2c:2-005c
em28xx #0: i2c eeprom 00: 1a eb 67 95 40 20 00 42 20 00 44 03 82 18 6a 18
em28xx #0: i2c eeprom 10: 00 00 24 57 6e 02 00 00 60 00 00 00 02 00 00 00
em28xx #0: i2c eeprom 20: 1e 00 10 10 00 00 00 88 b8 00 00 00 00 00 00 00
em28xx #0: i2c eeprom 30: 00 00 20 40 20 80 02 20 01 01 01 01 00 00 00 00
em28xx #0: i2c eeprom 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
em28xx #0: i2c eeprom 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
em28xx #0: i2c eeprom 60: 00 00 00 00 00 00 00 00 00 00 18 03 30 00 30 00
em28xx #0: i2c eeprom 70: 30 00 38 00 37 00 30 00 38 00 30 00 32 00 34 00
em28xx #0: i2c eeprom 80: 00 00 18 03 57 00 69 00 6e 00 54 00 56 00 20 00
em28xx #0: i2c eeprom 90: 55 00 53 00 42 00 32 00 00 00 00 00 00 00 00 00
em28xx #0: i2c eeprom a0: 84 12 00 00 05 50 1a 7f 08 63 23 1c a4 59 16 91
em28xx #0: i2c eeprom b0: ff 00 00 00 04 84 0a 00 01 01 20 77 00 40 b8 df
em28xx #0: i2c eeprom c0: 84 00 74 02 01 0c 03 79 aa 00 00 00 00 00 00 00
em28xx #0: i2c eeprom d0: 84 12 00 00 05 50 1a 7f 08 63 23 1c a4 59 16 91
em28xx #0: i2c eeprom e0: ff 00 00 00 04 84 0a 00 01 01 20 77 00 40 b8 df
em28xx #0: i2c eeprom f0: 84 00 74 02 01 0c 03 79 aa 00 00 00 00 00 00 00
EEPROM ID= 0x9567eb1a
Vendor/Product ID= 2040:4200
I2S audio, sample rate=32k
500mA max power
Table at 0x24, strings=0x1882, 0x186a, 0x0000
PM: Adding info for i2c:2-0030
input: i2c IR (EM2840 Haup as /class/input/input3
ir-kbd-i2c: i2c IR (EM2840 Haup detected at i2c-2/2-0030/ir0 [em28xx #0]
msp3400 2-0044: MSP3445G-B8 found @ 0x88 (em28xx #0)
msp3400 2-0044: MSP3445G-B8 supports radio, mode is autodetect and autoselect
PM: Adding info for i2c:2-0044
tveeprom 2-0050: Hauppauge model 42012, rev D199, serial# 8708024
tveeprom 2-0050: tuner model is TCL 2002N 5H (idx 99, type 50)
tveeprom 2-0050: TV standards NTSC(M) (eeprom 0x08)
tveeprom 2-0050: audio processor is MSP3445 (idx 12)
tveeprom 2-0050: has radio
tvp5150 2-005c: tvp5150am1 detected.
em28xx #0: AC97 command still being executed: not handled properly!
registered VBI
em28xx #0: V4L2 device registered as /dev/video1 and /dev/vbi1
em28xx #0: Found Hauppauge WinTV USB 2
em28xx audio device (2040:4200): interface 1, class 1
em28xx audio device (2040:4200): interface 2, class 1


Relevant Links

Related Hauppauge products:

Additional wiki entries:

External links: