Artec T1 USB TV Box: Difference between revisions

From LinuxTVWiki
Jump to navigation Jump to search
m (added reference design info)
(→‎Overview/Features: overview information as extracted from DVB-T_USB_Devices)
 
(15 intermediate revisions by 5 users not shown)
Line 1: Line 1:
A [[DVB-T]] USB device from [[Artec]]
A [[DVB-T]] [[DVB-T USB Devices|USB device]] from [[Artec]].


It is supported under Linux.

==Overview/Features==
The device is based upon the DiBcom DVB-T USB 1.1 reference design.
The device is based upon the DiBcom DVB-T USB 1.1 reference design.


There are several clones of this device: some have the AN2235 USB controller instead of the AN2135; some use a Panasonic tuner instead of the default Thomson Cable tuner. Most of the Boxes have standard Cypress USB IDs which makes it very hard to identify them.
== Let's go ==


===Components Used===
1) You must have a kernel version >= 2.6.13
* Dibcom DiB3000


===Identification===
2) Get dvd-kernel et dvb-apps from linuxtv.org
Bus 002 Device 003: ID 05d8:8106 Ultima Electronics Corp. Artec T1 USB TVBOX (warm)
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x05d8 Ultima Electronics Corp.
idProduct 0x8106 Artec T1 USB TVBOX (warm)
bcdDevice 0.01
iManufacturer 1 Ultima
iProduct 2 DVB-T T1
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 46
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 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 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 0x0040 1x 64 bytes
bInterval 0
Device Status: 0x0002
(Bus Powered)
Remote Wakeup Enabled


== Making it work ==
<pre>
cvs -d :pserver:anonymous@cvs.linuxtv.org:/cvs/linuxtv login
cvs -z3 -d :pserver:anonymous@cvs.linuxtv.org:/cvs/linuxtv co dvb-kernel
cvs -z3 -d :pserver:anonymous@cvs.linuxtv.org:/cvs/linuxtv co dvb-apps
</pre>
3) Uncomment l.131 of dibusb-mb.c in dvb-kernel/build-2.6 then compile with make


=== Firmware ===
(You may find it as dvb-kernel/linux/drivers/media/dvb/dvb-usb/dibusb-mb.c)


You will need either the [[Firmware|dvb-usb-dibusb-5.0.0.11.fw or dvb-usb-dibusb-an2235-01.fw]] firmware file in <tt>/lib/firmware</tt> (or the relevant place for your distribution).
Note that the lines change. I believe the line you need to uncomment is this one:


=== Drivers ===
#define DVB_USB_DIBUSB_MB_FAULTY_USB_IDs


Just use the in-kernel drivers, or compile your own by following the [[How to Obtain, Build and Install V4L-DVB Device Drivers]] instructions.
4) Load modules (using [[Artec_T1_USB_TV_Box#load.sh | load.sh]])


You may need to make sure that the "Support faulty USB IDs" option is enabled.
5) rmmod usbtest (if it loaded) and if it loaded again, remove it in :
/lib/modules/**/kernel/drivers/usb/misc then type depmod -ae


<M> Multimedia devices
6) Copy firmwares :
<M> DVB/ATSC adapters
<pre>
<M> DiBcom USB DVB-T devices (based on the DiB3000M-B)
cd dvb-kernel/firmware
[Y] Support faulty USB IDs


=== Kernel modules ===
cp *dvb-usb* /usr/lib/hotplug/firmware
</pre>
7) Create Channel configuration file
<pre>
cd dvb-apps/util/scan
./dvbscan dvb-t/fr-Paris > channels.conf (change to your country)
</pre>
8) Download MPlayer* and verify that you have dvb support (cf. package installed and this output)
<pre>
Enabled optional drivers:
Input: ftp network tv-v4l2 tv-v4l edl tv matroska mpdvdkit2 vcd dvb
Codecs: qtx libavcodec real xanim dshow/dmo win32 faad2(internal) libmpeg2 libdts liba52 mp3lib tremor(internal) libmad gif
Audio output: alsa esd oss mpegpes(dvb)
Video output: xvidix cvidix vesa gif89a md5sum pnm jpeg png mpegpes(dvb) fbdev caca aa dga xv x11 xover tga
</pre>
9) Copy channel configuration file to ~/.mplayer/
<pre>
cp dvb-apps/util/scan/channels.conf ~/.mplayer
</pre>
10) Press H and K to change channels


dvb_pll
mplayer dvb://
dib3000mb
dvb_usb_dibusb_mb
dvb_usb_dibusb_common
dib3000mc
dibx000_common
dvb_usb
dvb_core


=== load.sh ===
=== Sample kernel output ===
----------
<pre>
#!/bin/sh
modprobe i2c-core
modprobe firmware_class
insmod ./dvb-core.ko
insmod ./dvb-pll.ko
insmod ./dib3000-common.ko
insmod ./dib3000mb.ko
insmod ./dib3000mc.ko
insmod ./mt352.ko
insmod ./dvb-usb.ko
insmod ./dvb-usb-vp7045.ko debug=0x03
insmod ./dvb-usb-dtt200u.ko debug=0x03
insmod ./dvb-usb-dibusb-common.ko debug=0x01 # for the card
insmod ./dvb-usb-dibusb-mb.ko # for the card
insmod ./dvb-usb-dibusb-mc.ko #for the card
insmod ./dvb-usb-a800.ko
insmod ./dvb-usb-nova-t-usb2.ko debug=0x01
insmod ./dvb-usb-umt-010.ko
</pre>


usb 2-1: new full speed USB device using ohci_hcd and address 9
unload.sh
usb 2-1: configuration #1 chosen from 1 choice
-------------
dvb-usb: found a 'Artec T1 USB1.1 TVBOX with AN2235 (faulty USB IDs)' in cold state, will try to load a firmware
<pre>
dvb-usb: downloading firmware from file 'dvb-usb-dibusb-an2235-01.fw'
#!/bin/sh
usb 2-1: USB disconnect, address 9
rmmod ./dvb-core.ko
dvb-usb: generic DVB-USB module successfully deinitialized and disconnected.
rmmod ./dvb-pll.ko
usb 2-1: new full speed USB device using ohci_hcd and address 10
rmmod ./dib3000-common.ko
usb 2-1: configuration #1 chosen from 1 choice
rmmod ./dib3000mb.ko
dvb-usb: found a 'Artec T1 USB1.1 TVBOX with AN2135' in warm state.
rmmod ./dib3000mc.ko
dvb-usb: will use the device's hardware PID filter (table count: 16).
rmmod ./mt352.ko
DVB: registering new adapter (Artec T1 USB1.1 TVBOX with AN2135)
rmmod ./dvb-usb.ko
DVB: registering frontend 0 (DiBcom 3000M-B DVB-T)...
rmmod ./dvb-usb-vp7045.ko debug=0x03
dibusb: This device has the Thomson Cable onboard. Which is default.
rmmod ./dvb-usb-dtt200u.ko debug=0x03
input: IR-receiver inside an USB DVB receiver as /class/input/input9
rmmod ./dvb-usb-dibusb-common.ko debug=0x01
dvb-usb: schedule remote query interval to 150 msecs.
rmmod ./dvb-usb-dibusb-mb.ko
dvb-usb: Artec T1 USB1.1 TVBOX with AN2135 successfully initialized and connected.
rmmod ./dvb-usb-dibusb-mc.ko
rmmod ./dvb-usb-a800.ko
rmmod ./dvb-usb-nova-t-usb2.ko debug=0x01
rmmod ./dvb-usb-umt-010.ko
</pre>


=== Remote control support ===
Packages Installed
-------------------------
<pre>
ii dvb-dev 1.1.1-7 Dummy package for upgrade purposes only
ii dvb-utils 1.1.0-7 Viewer programs for DVB cards
ii dvbstream 0.5-1 Broadcast a DVB Transport stream over a LAN
ii dvbtune 0.5-4 Simple tuning application for DVB cards
ii libdvb-dev 0.5.4-1 library to tune and command Digital Video Br
ii libdvbpsi3 0.1.4-2 library for MPEG TS and DVB PSI tables decod
ii libdvbpsi3-dev 0.1.4-2 development files for libdvbpsi3
</pre>


The IR receiver is presented as a normal input device.
*You can use MPlayer-Setup to help you to install MPlayer
http://nyal.developpez.com/mplayer


==External Links==
N.B = Devices are in /dev/dvb/
* [http://www.hentges.net/misc/howtos/artec-t1-usb-dvb-t.shtml Artec T1 DVB-T USB in Debian SID]


[[Category:DVB-T]]
[[Category:DVB-T USB Devices]]
[[Category:Hardware]]

Latest revision as of 12:28, 29 October 2009

A DVB-T USB device from Artec.

It is supported under Linux.

Overview/Features

The device is based upon the DiBcom DVB-T USB 1.1 reference design.

There are several clones of this device: some have the AN2235 USB controller instead of the AN2135; some use a Panasonic tuner instead of the default Thomson Cable tuner. Most of the Boxes have standard Cypress USB IDs which makes it very hard to identify them.

Components Used

  • Dibcom DiB3000

Identification

Bus 002 Device 003: ID 05d8:8106 Ultima Electronics Corp. Artec T1 USB TVBOX (warm)
Device Descriptor:
 bLength                18
 bDescriptorType         1
 bcdUSB               1.00
 bDeviceClass            0 (Defined at Interface level)
 bDeviceSubClass         0 
 bDeviceProtocol         0 
 bMaxPacketSize0        64
 idVendor           0x05d8 Ultima Electronics Corp.
 idProduct          0x8106 Artec T1 USB TVBOX (warm)
 bcdDevice            0.01
 iManufacturer           1 Ultima
 iProduct                2 DVB-T T1
 iSerial                 0 
 bNumConfigurations      1
 Configuration Descriptor:
   bLength                 9
   bDescriptorType         2
   wTotalLength           46
   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      0 
     iInterface              0 
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x01  EP 1 OUT
       bmAttributes            2
         Transfer Type            Bulk
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0040  1x 64 bytes
       bInterval               0
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x81  EP 1 IN
       bmAttributes            2
         Transfer Type            Bulk
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0040  1x 64 bytes
       bInterval               0
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x82  EP 2 IN
       bmAttributes            2
         Transfer Type            Bulk
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0040  1x 64 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     0x0040  1x 64 bytes
       bInterval               0
Device Status:     0x0002
  (Bus Powered)
  Remote Wakeup Enabled

Making it work

Firmware

You will need either the dvb-usb-dibusb-5.0.0.11.fw or dvb-usb-dibusb-an2235-01.fw firmware file in /lib/firmware (or the relevant place for your distribution).

Drivers

Just use the in-kernel drivers, or compile your own by following the How to Obtain, Build and Install V4L-DVB Device Drivers instructions.

You may need to make sure that the "Support faulty USB IDs" option is enabled.

<M> Multimedia devices
  <M> DVB/ATSC adapters
    <M> DiBcom USB DVB-T devices (based on the DiB3000M-B)
      [Y] Support faulty USB IDs

Kernel modules

dvb_pll
dib3000mb
dvb_usb_dibusb_mb
dvb_usb_dibusb_common
dib3000mc
dibx000_common
dvb_usb
dvb_core

Sample kernel output

usb 2-1: new full speed USB device using ohci_hcd and address 9
usb 2-1: configuration #1 chosen from 1 choice
dvb-usb: found a 'Artec T1 USB1.1 TVBOX with AN2235 (faulty USB IDs)' in cold state, will try to load a firmware
dvb-usb: downloading firmware from file 'dvb-usb-dibusb-an2235-01.fw'
usb 2-1: USB disconnect, address 9
dvb-usb: generic DVB-USB module successfully deinitialized and disconnected.
usb 2-1: new full speed USB device using ohci_hcd and address 10
usb 2-1: configuration #1 chosen from 1 choice
dvb-usb: found a 'Artec T1 USB1.1 TVBOX with AN2135' in warm state.
dvb-usb: will use the device's hardware PID filter (table count: 16).
DVB: registering new adapter (Artec T1 USB1.1 TVBOX with AN2135)
DVB: registering frontend 0 (DiBcom 3000M-B DVB-T)...
dibusb: This device has the Thomson Cable onboard. Which is default.
input: IR-receiver inside an USB DVB receiver as /class/input/input9
dvb-usb: schedule remote query interval to 150 msecs.
dvb-usb: Artec T1 USB1.1 TVBOX with AN2135 successfully initialized and connected.

Remote control support

The IR receiver is presented as a normal input device.

External Links