Artec T1 USB TV Box: Difference between revisions

From LinuxTVWiki
Jump to navigation Jump to search
(Made link to load.sh more explicit in case the reader does not understand what "cf" means)
(→‎Overview/Features: overview information as extracted from DVB-T_USB_Devices)
 
(18 intermediate revisions by 6 users not shown)
Line 1: Line 1:
A [[USB_devices_DVB-T]] device from [[Artec]]
A [[DVB-T]] [[DVB-T USB Devices|USB device]] from [[Artec]].


It is supported under Linux.
The device is USB 1.1.


==Overview/Features==
== Let's go ==
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.
1) You must have a kernel version >= 2.6.13


===Components Used===
2) Get dvd-kernel et dvb-apps from linuxtv.org
* Dibcom DiB3000


===Identification===
<pre>
Bus 002 Device 003: ID 05d8:8106 Ultima Electronics Corp. Artec T1 USB TVBOX (warm)
cvs -d :pserver:anonymous@cvs.linuxtv.org:/cvs/linuxtv login
Device Descriptor:
cvs -z3 -d :pserver:anonymous@cvs.linuxtv.org:/cvs/linuxtv co dvb-kernel
bLength 18
cvs -z3 -d :pserver:anonymous@cvs.linuxtv.org:/cvs/linuxtv co dvb-apps
bDescriptorType 1
</pre>
bcdUSB 1.00
3) Uncomment l.131 of dibusb-mb.c in dvb-kernel/build-2.6 then compile with make
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 ==
(You may find it as dvb-kernel/linux/drivers/media/dvb/dvb-usb/dibusb-mb.c)


=== Firmware ===
4) Load modules (using [[Artec_T1_USB_TV_Box#load.sh | load.sh]])


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).
5) rmmod usbtest (if it loaded) and if it loaded again, remove it in :
/lib/modules/**/kernel/drivers/usb/misc then type depmod -ae


=== Drivers ===
6) Copy firmwares :
<pre>
cd dvb-kernel/firmware


Just use the in-kernel drivers, or compile your own by following the [[How to Obtain, Build and Install V4L-DVB Device Drivers]] instructions.
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


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


<M> Multimedia devices
=== load.sh ===
<M> DVB/ATSC adapters
----------
<M> DiBcom USB DVB-T devices (based on the DiB3000M-B)
<pre>
[Y] Support faulty USB IDs
#!/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>


=== Kernel modules ===
unload.sh
-------------
<pre>
#!/bin/sh
rmmod ./dvb-core.ko
rmmod ./dvb-pll.ko
rmmod ./dib3000-common.ko
rmmod ./dib3000mb.ko
rmmod ./dib3000mc.ko
rmmod ./mt352.ko
rmmod ./dvb-usb.ko
rmmod ./dvb-usb-vp7045.ko debug=0x03
rmmod ./dvb-usb-dtt200u.ko debug=0x03
rmmod ./dvb-usb-dibusb-common.ko debug=0x01
rmmod ./dvb-usb-dibusb-mb.ko
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>


dvb_pll
Packages Installed
dib3000mb
-------------------------
dvb_usb_dibusb_mb
<pre>
dvb_usb_dibusb_common
ii dvb-dev 1.1.1-7 Dummy package for upgrade purposes only
dib3000mc
ii dvb-utils 1.1.0-7 Viewer programs for DVB cards
dibx000_common
ii dvbstream 0.5-1 Broadcast a DVB Transport stream over a LAN
dvb_usb
ii dvbtune 0.5-4 Simple tuning application for DVB cards
dvb_core
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>


=== Sample kernel output ===
*You can use MPlayer-Setup to help you to install MPlayer
http://nyal.developpez.com/mplayer


usb 2-1: new full speed USB device using ohci_hcd and address 9
N.B = Devices are in /dev/dvb/
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 ===
[[Category:DVB-T]]

[[Category:Hardware]]
The IR receiver is presented as a normal input device.

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

[[Category:DVB-T USB Devices]]

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