Gadmei USB TVBox UTV382 (id 0x1f71:0x3301): Difference between revisions

From LinuxTVWiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(12 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[File:gadmei_utv382f.jpg]]
[[File:gadmei_utv382f.jpg|thumb|right|Gadmei usb tvbox utv382]]


A Small USB based analogue capture device using UTV007 , RDA5802N and BCK0XM chips .
A small USB based analogue TV-FM Tuner (with composite input) using UTV007, RDA5802N and BCK0XM chips .


==Overview/Features==
=== Other Pictures ===
Analog TV, FM Radio, Composite Video-in<br>
''
[[File:gadmei_utv382f-card-front.jpg]]
[[File:gadmei_utv382f-card-back.jpg]]
[[File:gadmei_utv382f-chip-utv007.jpg]]
[[File:gadmei_utv382f-chip-rda5802n.jpg]]
[[File:gadmei_utv382f-chip-bck0xm.jpg]]
''


* USB 2.0 interface
==== Making it work ====
* Inputs: IEC connector 75 Ohm (COAX), Composite Video (Cinch)
Linux kernel driver, enable CONFIG_VIDEO_USBTV: [https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/media/usb/usbtv https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/media/usb/usbtv]


===Components Used===
Change ''usbtv-core.c''
From physical inspection of the PCB the following components are found:
* [[5807m]] (FM Tuner)
* [[UTV007]] (AV capturing)
* [[24C08A]] (EEPROM)
* [[AMS1117]] (voltage regulator, backside of the pcb)
* [[2136]] (Unsure, Could be a Silicon Labs Si2136 Analog TV Tuner chip)


=== Other Pictures ===
Original code:
<gallery>
''
Image:gadmei_utv382f-card-front.jpg|Gadmei usb TVBOX Front
static struct usb_device_id usbtv_id_table[] = {
Image:gadmei_utv382f-card-back.jpg|Gadmei usb TVBOX Front
{ USB_DEVICE(0x1b71, 0x3002) },
Image:gadmei_utv382f-chip-utv007.jpg|Chip utv007
{}
Image:gadmei_utv382f-chip-rda5802n.jpg|Chip rda5802n (FM Tuner)
};
Image:gadmei_utv382f-chip-bck0xm.jpg|Chip BCK0XM
''
Image:Gadmei_UTV382_-_Card_Front.jpg|Gadmei USB TVBox Front-side

Image:Gadmei_UTV382_-_Card_Back.jpg|Gadmei USB TVBox Back-side
New code:
Image:Gadmei_UTV382_-_UTV007.jpg|Close-up of the UTV007 and 24C08A chips
''
Image:Gadmei_UTV382_-_2136-30-BCKOOR-1625.jpg|Close-up of the 2136-30-BCKOOR-1625 chip
static struct usb_device_id usbtv_id_table[] = {
Image:Gadmei_UTV382_-_5807M-JF572.jpg|Close-up of the 5807M chip
{ USB_DEVICE(0x1b71, 0x3002) },
</gallery>
{ USB_DEVICE(0x1f71, 0x3301) },
{}
};
''
Make & install.


=== Identification ===
=== Identification ===
Line 179: Line 175:
(Bus Powered)
(Bus Powered)
''
''

=== Making it work ===
Linux kernel driver, enable CONFIG_VIDEO_USBTV: [https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/media/usb/usbtv https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/media/usb/usbtv]

Change ''usbtv-core.c''

Original code:
''
static struct usb_device_id usbtv_id_table[] = {
{ USB_DEVICE(0x1b71, 0x3002) },
{}
};
''

New code:
''
static struct usb_device_id usbtv_id_table[] = {
{ USB_DEVICE(0x1b71, 0x3002) },
{ USB_DEVICE(0x1f71, 0x3301) },
{}
};
''
Make & install.

Note: This seems to only enable the device to capture AV, not to do TV or FM reception.

===Sample Kernel Output===
* Output of dmesg
''
[ 905.272135] usb 2-1.3: new high-speed USB device number 3 using ehci-pci
[ 905.383917] usb 2-1.3: config 1 interface 0 altsetting 1 bulk endpoint 0x83 has invalid maxpacket 256
[ 905.387369] usb 2-1.3: New USB device found, idVendor=1f71, idProduct=3301
[ 905.387374] usb 2-1.3: New USB device strings: Mfr=3, Product=4, SerialNumber=2
[ 905.387379] usb 2-1.3: Product: USB TV Box
[ 905.387382] usb 2-1.3: Manufacturer: Gadmei
[ 905.387386] usb 2-1.3: SerialNumber: 330000000009
[ 905.461686] media: Linux media interface: v0.10
[ 905.487615] Linux video capture interface: v2.00
[ 905.527989] usbtv 2-1.3:1.0: Fushicai USBTV007 Audio-Video Grabber
[ 905.528063] usbcore: registered new interface driver usbtv
''

* Output of udevadm monitor
''
KERNEL[1421.216092] add /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3 (usb)
KERNEL[1421.216555] add /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/2-1.3:1.0 (usb)
KERNEL[1421.216793] add /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/2-1.3:1.0/video4linux/video0 (video4linux)
KERNEL[1421.216914] add /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/sound/card2 (sound)
KERNEL[1421.217152] add /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/sound/card2/controlC2 (sound)
KERNEL[1421.217351] add /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/sound/card2/pcmC2D0c (sound)
KERNEL[1421.217456] bind /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/2-1.3:1.0 (usb)
KERNEL[1421.217626] bind /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3 (usb)
UDEV [1421.229083] add /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3 (usb)
UDEV [1421.232670] add /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/2-1.3:1.0 (usb)
UDEV [1421.233924] add /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/sound/card2 (sound)
KERNEL[1421.237973] change /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/sound/card2 (sound)
UDEV [1421.240441] add /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/sound/card2/pcmC2D0c (sound)
UDEV [1421.240875] add /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/2-1.3:1.0/video4linux/video0 (video4linux)
UDEV [1421.243245] bind /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/2-1.3:1.0 (usb)
UDEV [1421.248835] add /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/sound/card2/controlC2 (sound)
UDEV [1421.251154] bind /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3 (usb)
UDEV [1421.253817] change /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/sound/card2 (sound)
''

* Output of udevadm monitor (previous)
''
KERNEL[3456.908366] add /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4 (usb)
KERNEL[3456.908995] add /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/2-1.4:1.0 (usb)
KERNEL[3456.909054] add /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/2-1.4:1.0/video4linux/video0 (video4linux)
KERNEL[3456.909115] add /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/sound/card1 (sound)
KERNEL[3456.909268] add /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/sound/card1/controlC1 (sound)
KERNEL[3456.909424] add /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/sound/card1/pcmC1D0c (sound)
UDEV [3456.913882] add /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4 (usb)
UDEV [3456.915343] add /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/sound/card1 (sound)
UDEV [3456.917357] add /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/sound/card1/pcmC1D0c (sound)
KERNEL[3456.917375] change /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/sound/card1 (sound)
UDEV [3456.917784] add /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/2-1.4:1.0 (usb)
UDEV [3456.919448] add /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/sound/card1/controlC1 (sound)
UDEV [3456.921143] add /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/2-1.4:1.0/video4linux/video0 (video4linux)
UDEV [3456.924714] change /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/sound/card1 (sound)
''

For example start ''tvtime'' :

''
tvtime -d /dev/video0 -x /dev/snd/controlC1
''

NOTE: As said, only AV capture seems to work, so tvtime will only produce errors, not image.

===Remote Control Support===
The device comes with a small remote control. Linux support is unknown.

===Drivers and software===
The devices comes with a mini CD containing WinXP to Win7 software with BlazeVideo HDTV Player v6.0.<br>
It also includes a small remote control, an antenna and a cable to connect to some AV device for capturing.

==External Links==
* [http://www.gadmei.lk/download_gadmei_computer_technology.php Manufacturers driver and software download page]

[[Category:Analog USB Devices]]
[[Category:Analog USB Devices]]

Latest revision as of 08:33, 24 May 2018

Gadmei usb tvbox utv382

A small USB based analogue TV-FM Tuner (with composite input) using UTV007, RDA5802N and BCK0XM chips .

Overview/Features

Analog TV, FM Radio, Composite Video-in

  • USB 2.0 interface
  • Inputs: IEC connector 75 Ohm (COAX), Composite Video (Cinch)

Components Used

From physical inspection of the PCB the following components are found:

  • 5807m (FM Tuner)
  • UTV007 (AV capturing)
  • 24C08A (EEPROM)
  • AMS1117 (voltage regulator, backside of the pcb)
  • 2136 (Unsure, Could be a Silicon Labs Si2136 Analog TV Tuner chip)

Other Pictures

Identification

  • Output of lsusb -v:

$ lsusb -v -d 1f71:3301

Bus 002 Device 007: ID 1f71:3301  
Device Descriptor:
 bLength                18
 bDescriptorType         1
 bcdUSB               2.00
 bDeviceClass            0 (Defined at Interface level)
 bDeviceSubClass         0 
 bDeviceProtocol         0 
 bMaxPacketSize0        64
 idVendor           0x1f71 
 idProduct          0x3301 
 bcdDevice            1.00
 iManufacturer           3 Gadmei
 iProduct                4 USB TV Box
 iSerial                 2 330000000009
 bNumConfigurations      1
 Configuration Descriptor:
   bLength                 9
   bDescriptorType         2
   wTotalLength           83
   bNumInterfaces          1
   bConfigurationValue     1
   iConfiguration          0 
   bmAttributes         0x80
     (Bus Powered)
   MaxPower              500mA
   Interface Descriptor:
     bLength                 9
     bDescriptorType         4
     bInterfaceNumber        0
     bAlternateSetting       0
     bNumEndpoints           4
     bInterfaceClass       255 Vendor Specific Class
     bInterfaceSubClass      0 
     bInterfaceProtocol    255 
     iInterface              0 
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x81  EP 1 IN
       bmAttributes            1
         Transfer Type            Isochronous
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0000  1x 0 bytes
       bInterval               1
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x82  EP 2 IN
       bmAttributes            2
         Transfer Type            Bulk
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0200  1x 512 bytes
       bInterval               0
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x83  EP 3 IN
       bmAttributes            2
         Transfer Type            Bulk
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0200  1x 512 bytes
       bInterval               0
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x84  EP 4 IN
       bmAttributes            3
         Transfer Type            Interrupt
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0040  1x 64 bytes
       bInterval               4
   Interface Descriptor:
     bLength                 9
     bDescriptorType         4
     bInterfaceNumber        0
     bAlternateSetting       1
     bNumEndpoints           4
     bInterfaceClass       255 Vendor Specific Class
     bInterfaceSubClass      0 
     bInterfaceProtocol    255 
     iInterface              0 
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x81  EP 1 IN
       bmAttributes            1
         Transfer Type            Isochronous
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x1400  3x 1024 bytes
       bInterval               1
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x82  EP 2 IN
       bmAttributes            2
         Transfer Type            Bulk
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0200  1x 512 bytes
       bInterval               0
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x83  EP 3 IN
       bmAttributes            2
         Transfer Type            Bulk
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0100  1x 256 bytes
       bInterval               0
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x84  EP 4 IN
       bmAttributes            3
         Transfer Type            Interrupt
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0040  1x 64 bytes
       bInterval               4
Device Qualifier (for other device speed):
 bLength                10
 bDescriptorType         6
 bcdUSB               2.00
 bDeviceClass            0 (Defined at Interface level)
 bDeviceSubClass         0 
 bDeviceProtocol         0 
 bMaxPacketSize0        64
 bNumConfigurations      1
Device Status:     0x0000
 (Bus Powered)

Making it work

Linux kernel driver, enable CONFIG_VIDEO_USBTV: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/media/usb/usbtv

Change usbtv-core.c

Original code:

static struct usb_device_id usbtv_id_table[] = {
	{ USB_DEVICE(0x1b71, 0x3002) },
	{}
};

New code:

static struct usb_device_id usbtv_id_table[] = {
	{ USB_DEVICE(0x1b71, 0x3002) },
	{ USB_DEVICE(0x1f71, 0x3301) },
	{}
};

Make & install.

Note: This seems to only enable the device to capture AV, not to do TV or FM reception.

Sample Kernel Output

  • Output of dmesg

[  905.272135] usb 2-1.3: new high-speed USB device number 3 using ehci-pci
[  905.383917] usb 2-1.3: config 1 interface 0 altsetting 1 bulk endpoint 0x83 has invalid maxpacket 256
[  905.387369] usb 2-1.3: New USB device found, idVendor=1f71, idProduct=3301
[  905.387374] usb 2-1.3: New USB device strings: Mfr=3, Product=4, SerialNumber=2
[  905.387379] usb 2-1.3: Product: USB TV Box
[  905.387382] usb 2-1.3: Manufacturer: Gadmei
[  905.387386] usb 2-1.3: SerialNumber: 330000000009
[  905.461686] media: Linux media interface: v0.10
[  905.487615] Linux video capture interface: v2.00
[  905.527989] usbtv 2-1.3:1.0: Fushicai USBTV007 Audio-Video Grabber
[  905.528063] usbcore: registered new interface driver usbtv

  • Output of udevadm monitor

KERNEL[1421.216092] add      /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3 (usb)
KERNEL[1421.216555] add      /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/2-1.3:1.0 (usb)
KERNEL[1421.216793] add      /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/2-1.3:1.0/video4linux/video0 (video4linux)
KERNEL[1421.216914] add      /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/sound/card2 (sound)
KERNEL[1421.217152] add      /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/sound/card2/controlC2 (sound)
KERNEL[1421.217351] add      /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/sound/card2/pcmC2D0c (sound)
KERNEL[1421.217456] bind     /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/2-1.3:1.0 (usb)
KERNEL[1421.217626] bind     /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3 (usb)
UDEV  [1421.229083] add      /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3 (usb)
UDEV  [1421.232670] add      /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/2-1.3:1.0 (usb)
UDEV  [1421.233924] add      /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/sound/card2 (sound)
KERNEL[1421.237973] change   /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/sound/card2 (sound)
UDEV  [1421.240441] add      /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/sound/card2/pcmC2D0c (sound)
UDEV  [1421.240875] add      /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/2-1.3:1.0/video4linux/video0 (video4linux)
UDEV  [1421.243245] bind     /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/2-1.3:1.0 (usb)
UDEV  [1421.248835] add      /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/sound/card2/controlC2 (sound)
UDEV  [1421.251154] bind     /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3 (usb)
UDEV  [1421.253817] change   /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/sound/card2 (sound)

  • Output of udevadm monitor (previous)

KERNEL[3456.908366] add      /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4 (usb)
KERNEL[3456.908995] add      /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/2-1.4:1.0 (usb)
KERNEL[3456.909054] add      /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/2-1.4:1.0/video4linux/video0 (video4linux)
KERNEL[3456.909115] add      /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/sound/card1 (sound)
KERNEL[3456.909268] add      /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/sound/card1/controlC1 (sound)
KERNEL[3456.909424] add      /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/sound/card1/pcmC1D0c (sound)
UDEV  [3456.913882] add      /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4 (usb)
UDEV  [3456.915343] add      /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/sound/card1 (sound)
UDEV  [3456.917357] add      /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/sound/card1/pcmC1D0c (sound)
KERNEL[3456.917375] change   /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/sound/card1 (sound)
UDEV  [3456.917784] add      /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/2-1.4:1.0 (usb)
UDEV  [3456.919448] add      /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/sound/card1/controlC1 (sound)
UDEV  [3456.921143] add      /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/2-1.4:1.0/video4linux/video0 (video4linux)
UDEV  [3456.924714] change   /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/sound/card1 (sound)

For example start tvtime :

tvtime -d /dev/video0 -x /dev/snd/controlC1

NOTE: As said, only AV capture seems to work, so tvtime will only produce errors, not image.

Remote Control Support

The device comes with a small remote control. Linux support is unknown.

Drivers and software

The devices comes with a mini CD containing WinXP to Win7 software with BlazeVideo HDTV Player v6.0.
It also includes a small remote control, an antenna and a cable to connect to some AV device for capturing.

External Links