Gadmei USB TVBox UTV380: Difference between revisions

From LinuxTVWiki
Jump to navigation Jump to search
Line 75: Line 75:
And also add the card's usb id in the list if it is not already there.
And also add the card's usb id in the list if it is not already there.
'''''
'''''
.
.
.
.
{ USB_DEVICE(0xeb1a, 0x50a3),
{ USB_DEVICE(0xeb1a, 0x50a3),
.driver_info = EM2860_BOARD_GADMEI_UTV380 },
.driver_info = EM2860_BOARD_GADMEI_UTV380 },

Revision as of 19:37, 22 July 2010

Gadmei USB TVBox UTV380

A Small USB based analogue capture device using EM2860 and Xceive xc2028 chip Tuner.

It is currently not supported under Linux.

Overview/Features

  • It has Television and S-Video inputs via a Two separate 3.5mm tail cables
  • It falls under V4L's "Em28xx devices" category (being based upon an EM2860 usb bridge)

Components Used

  • Empia EM2860 (USB video bridge)
  • Empia EMP202 (AC'97 audio processor)
  • NXP/Philips SAA7113 (video decoder)
  • Xceive XC2028ACQ (Analog chip tuner)
  • 24C04 (EEPROM)
  • HCF4052 (4-channel Analog multiplexer)

Other Pictures

Current Status

  • Currently it works after patching the v4l-dvb.
  • Need to test the sound and Composite inputs.
  • Will release the patch soon.
  • I need help on releasing this as a Patch upstream.
  • Also I need help to upload some real pictures of the device into this Wiki( I can't figure it out till now(BAD ME).
  • Anybody interested can contact me jeevas.v AT gmail.com

To make it work

I have done these changes to make it work.

  • 1. extract the Xcieve firmware for xc2028 and copy to /lib/firmware as mentioned in the em28xx page.
  • 2. extract the latest v4l-dvb source as mentioned in the em28xx page.
  • 3. go to v4l-dvb/linux/media/video/em28xx folder.
  • 4. edit em28xx.h file and add the device:

.
.
 #define EM2870_BOARD_REDDO_DVB_C_USB_BOX          73
 #define EM2800_BOARD_VC211A			  74
 #define EM2882_BOARD_DIKOM_DK300		  75
 #define EM2860_BOARD_GADMEI_UTV380          76
.
.

  • 5 edit em28xx-cards.c and add the card in card definitions
.
.
.
  [EM2860_BOARD_GADMEI_UTV380] = {
		.name         = "Gadmei UTV380",
		.tuner_type   = TUNER_XC2028,
		.tuner_gpio     = default_tuner_gpio,
		.has_dvb        = 0,
		.decoder      = EM28XX_SAA711X,
		.input        = { {
			.type     = EM28XX_VMUX_TELEVISION,
			.vmux     = SAA7115_COMPOSITE2,
			.amux     = EM28XX_AMUX_VIDEO,
		}, {
			.type     = EM28XX_VMUX_COMPOSITE1,
			.vmux     = SAA7115_COMPOSITE0,
			.amux     = EM28XX_AMUX_LINE_IN,
		} }
	},
.
.
.


And also add the card's usb id in the list if it is not already there.

.
.
 { USB_DEVICE(0xeb1a, 0x50a3),
			.driver_info = EM2860_BOARD_GADMEI_UTV380 },
 .
 .


  • 6. Edit em28xx-core.c and make sure that the AC97 audio processor is properly detected. In this case I have to add one more vendor based on the dmesg output.

.
.
	/* Try to identify what audio processor we have */
	if (((vid == 0xffffffff)||(vid == 0x83847650)) && (feat == 0x6a90))
		dev->audio_mode.ac97 = EM28XX_AC97_EM202;
	else if ((vid >> 8) == 0x838476)
		dev->audio_mode.ac97 = EM28XX_AC97_SIGMATEL;
 .
 .

  • 7. Then execute the following commands to build and install the kernel modules.
 sudo make distclean
 sudo make menuconfig (Due to some error I have to disable one of the modules in the list to get past the compilation).
 sudo make
 sudo make install
  • 8. After this restart your machine, plugin your device and start your favourite tv app and enjoy.

Identification

  • Output of lsusb -v:

$ lsusb -v -d eb1a:50a3

Bus 002 Device 004: ID eb1a:50a3 eMPIA Technology, Inc. Gadmei UTV380 TV Box Device Descriptor:

 bLength                18
 bDescriptorType         1
 bcdUSB               2.00
 bDeviceClass            0 (Defined at Interface level)
 bDeviceSubClass         0 
 bDeviceProtocol         0 
 bMaxPacketSize0        64
 idVendor           0xeb1a eMPIA Technology, Inc.
 idProduct          0x50a3 Gadmei UTV380 TV Box
 bcdDevice            1.00
 iManufacturer           0 
 iProduct                1 UTV380
 iSerial                 0 
 bNumConfigurations      1
 Configuration Descriptor:
   bLength                 9
   bDescriptorType         2
   wTotalLength          555
   bNumInterfaces          3
   bConfigurationValue     1
   iConfiguration          0 
   bmAttributes         0x80
     (Bus Powered)
   MaxPower              500mA
   Interface Descriptor:
     bLength                 0
     bDescriptorType         0
     bInterfaceNumber        0
     bAlternateSetting       0
     bNumEndpoints           0
     bInterfaceClass         0 (Defined at Interface level)
     bInterfaceSubClass      0 
     bInterfaceProtocol      0 
     iInterface              0 
   Interface Descriptor:
     bLength                 0
     bDescriptorType         0
     bInterfaceNumber        0
     bAlternateSetting       0
     bNumEndpoints           0
     bInterfaceClass         0 (Defined at Interface level)
     bInterfaceSubClass      0 
     bInterfaceProtocol      0 
     iInterface              0 
   Interface Descriptor:
     bLength                 0
     bDescriptorType         0
     bInterfaceNumber        0
     bAlternateSetting       0
     bNumEndpoints           0
     bInterfaceClass         0 (Defined at Interface level)
     bInterfaceSubClass      0 
     bInterfaceProtocol      0 
     iInterface              0 
   Interface Descriptor:
     bLength                 0
     bDescriptorType         0
     bInterfaceNumber        0
     bAlternateSetting       0
     bNumEndpoints           0
     bInterfaceClass         0 (Defined at Interface level)
     bInterfaceSubClass      0 
     bInterfaceProtocol      0 
     iInterface              0 
   Interface Descriptor:
     bLength                 0
     bDescriptorType         0
     bInterfaceNumber        0
     bAlternateSetting       0
     bNumEndpoints           0
     bInterfaceClass         0 (Defined at Interface level)
     bInterfaceSubClass      0 
     bInterfaceProtocol      0 
     iInterface              0 
   Interface Descriptor:
     bLength                 0
     bDescriptorType         0
     bInterfaceNumber        0
     bAlternateSetting       0
     bNumEndpoints           0
     bInterfaceClass         0 (Defined at Interface level)
     bInterfaceSubClass      0 
     bInterfaceProtocol      0 
     iInterface              0 
   Interface Descriptor:
     bLength                 0
     bDescriptorType         0
     bInterfaceNumber        0
     bAlternateSetting       0
     bNumEndpoints           0
     bInterfaceClass         0 (Defined at Interface level)
     bInterfaceSubClass      0 
     bInterfaceProtocol      0 
     iInterface              0 
   Interface Descriptor:
     bLength                 9
     bDescriptorType         4
     bInterfaceNumber        0
     bAlternateSetting       7
     bNumEndpoints           3
     bInterfaceClass       255 Vendor Specific Class
     bInterfaceSubClass      0 
     bInterfaceProtocol    255 
     iInterface              0 
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x81  EP 1 IN
       bmAttributes            3
         Transfer Type            Interrupt
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0001  1x 1 bytes
       bInterval              11
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x82  EP 2 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     0x84  EP 4 IN
       bmAttributes            1
         Transfer Type            Isochronous
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0000  1x 0 bytes
       bInterval               1
   Interface Descriptor:
     bLength                 9
     bDescriptorType         4
     bInterfaceNumber        1
     bAlternateSetting       0
     bNumEndpoints           0
     bInterfaceClass         1 Audio
     bInterfaceSubClass      1 Control Device
     bInterfaceProtocol      0 
     iInterface              0 
     AudioControl Interface Descriptor:
       bLength                 9
       bDescriptorType        36
       bDescriptorSubtype      1 (HEADER)
       bcdADC               1.00
       wTotalLength           39
       bInCollection           1
       baInterfaceNr( 0)       2
     AudioControl Interface Descriptor:
       bLength                12
       bDescriptorType        36
       bDescriptorSubtype      2 (INPUT_TERMINAL)
       bTerminalID             1
       wTerminalType      0x0603 Line Connector
       bAssocTerminal          0
       bNrChannels             2
       wChannelConfig     0x0003
         Left Front (L)
         Right Front (R)
       iChannelNames           0 
       iTerminal               0 
     AudioControl Interface Descriptor:
       bLength                 9
       bDescriptorType        36
       bDescriptorSubtype      6 (FEATURE_UNIT)
       bUnitID                 2
       bSourceID               1
       bControlSize            1
       bmaControls( 0)      0x03
         Mute
         Volume
       bmaControls( 1)      0x00
       iFeature                0 
     AudioControl Interface Descriptor:
       bLength                 9
       bDescriptorType        36
       bDescriptorSubtype      3 (OUTPUT_TERMINAL)
       bTerminalID             3
       wTerminalType      0x0101 USB Streaming
       bAssocTerminal          0
       bSourceID               2
       iTerminal               0 
   Interface Descriptor:
     bLength                 0
     bDescriptorType         0
     bInterfaceNumber        0
     bAlternateSetting       0
     bNumEndpoints           0
     bInterfaceClass         0 (Defined at Interface level)
     bInterfaceSubClass      0 
     bInterfaceProtocol      0 
     iInterface              0 
   Interface Descriptor:
     bLength                 0
     bDescriptorType         0
     bInterfaceNumber        0
     bAlternateSetting       0
     bNumEndpoints           0
     bInterfaceClass         0 (Defined at Interface level)
     bInterfaceSubClass      0 
     bInterfaceProtocol      0 
     iInterface              0 
   Interface Descriptor:
     bLength                 0
     bDescriptorType         0
     bInterfaceNumber        0
     bAlternateSetting       0
     bNumEndpoints           0
     bInterfaceClass         0 (Defined at Interface level)
     bInterfaceSubClass      0 
     bInterfaceProtocol      0 
     iInterface              0 
   Interface Descriptor:
     bLength                 0
     bDescriptorType         0
     bInterfaceNumber        0
     bAlternateSetting       0
     bNumEndpoints           0
     bInterfaceClass         0 (Defined at Interface level)
     bInterfaceSubClass      0 
     bInterfaceProtocol      0 
     iInterface              0 
   Interface Descriptor:
     bLength                 0
     bDescriptorType         0
     bInterfaceNumber        0
     bAlternateSetting       0
     bNumEndpoints           0
     bInterfaceClass         0 (Defined at Interface level)
     bInterfaceSubClass      0 
     bInterfaceProtocol      0 
     iInterface              0 
   Interface Descriptor:
     bLength                 9
     bDescriptorType         4
     bInterfaceNumber        2
     bAlternateSetting       5
     bNumEndpoints           1
     bInterfaceClass         1 Audio
     bInterfaceSubClass      2 Streaming
     bInterfaceProtocol      0 
     iInterface              0 
     AudioStreaming Interface Descriptor:
       bLength                 7
       bDescriptorType        36
       bDescriptorSubtype      1 (AS_GENERAL)
       bTerminalLink           3
       bDelay                  1 frames
       wFormatTag              1 PCM
     AudioStreaming Interface Descriptor:
       bLength                11
       bDescriptorType        36
       bDescriptorSubtype      2 (FORMAT_TYPE)
       bFormatType             1 (FORMAT_TYPE_I)
       bNrChannels             2
       bSubframeSize           2
       bBitResolution         16
       bSamFreqType            1 Discrete
       tSamFreq[ 0]         8000
     Endpoint Descriptor:
       bLength                 9
       bDescriptorType         5
       bEndpointAddress     0x83  EP 3 IN
       bmAttributes            1
         Transfer Type            Isochronous
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0024  1x 36 bytes
       bInterval               4
       bRefresh                0
       bSynchAddress           0
       AudioControl Endpoint Descriptor:
         bLength                 7
         bDescriptorType        37
         bDescriptorSubtype      1 (EP_GENERAL)
         bmAttributes         0x00
         bLockDelayUnits         0 Undefined
         wLockDelay              0 Undefined

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)


External Links

http://www.gadmeisrilanka.com/380.html