Gadmei USB TVBox UTV380: Difference between revisions

From LinuxTVWiki
Jump to navigation Jump to search
(Added step by step driver patching to make it working.)
Line 35: Line 35:
* 3. go to v4l-dvb/linux/media/video/em28xx folder.
* 3. go to v4l-dvb/linux/media/video/em28xx folder.
* 4. edit em28xx.h file and add the device:
* 4. edit em28xx.h file and add the device:
''.
''
.
.
.
.
#define EM2870_BOARD_REDDO_DVB_C_USB_BOX 73
#define EM2870_BOARD_REDDO_DVB_C_USB_BOX 73
#define EM2800_BOARD_VC211A 74
#define EM2800_BOARD_VC211A 74
#define EM2882_BOARD_DIKOM_DK300 75
#define EM2882_BOARD_DIKOM_DK300 75
'''#define EM2860_BOARD_GADMEI_UTV380 76'''
'''#define EM2860_BOARD_GADMEI_UTV380 76'''
.
.
.
.
Line 52: Line 52:
.
.
.
.
[EM2860_BOARD_GADMEI_UTV380] = {
[EM2860_BOARD_GADMEI_UTV380] = {
.name = "Gadmei UTV380",
.name = "Gadmei UTV380",
.tuner_type = TUNER_XC2028,
.tuner_type = TUNER_XC2028,
Line 76: Line 76:
'''''.
'''''.
.
.
{ USB_DEVICE(0xeb1a, 0x50a3),
{ USB_DEVICE(0xeb1a, 0x50a3),
.driver_info = EM2860_BOARD_GADMEI_UTV380 },
.driver_info = EM2860_BOARD_GADMEI_UTV380 },
.
.
Line 97: Line 97:
* 7. Then execute the following commands to build and install the kernel modules.
* 7. Then execute the following commands to build and install the kernel modules.


sudo make distclean
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 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
sudo make install
sudo make install


* 8. After this restart your machine, plugin your device and start your favourite tv app and enjoy.
* 8. After this restart your machine, plugin your device and start your favourite tv app and enjoy.

Revision as of 19:30, 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