Search:  
Gentoo Wiki

TwinhanDTV_Magic_Box

Contents

Use kernel's DVB-T driver (2.6.22.10)

Linux Kernel Configuration:
   Device Drivers -> Multimedia devices:
      < > Video For Linux
      <M> DVB for Linux
      [*]   Load and attach frontend modules as needed
      [*]   DVB/ATSC adapters  --->
            <M>   Support for various USB DVB devices
            <M>     DiBcom USB DVB-T devices (based on the DiB3000M-B) (see help for device list)
            < >     DiBcom USB DVB-T devices (based on the DiB3000M-C/P) (see help for device list)
            Customise DVB Frontends  ---> (Is set to correct values automatically. No need to do anything here)

Driver

Use DVB-T driver from linuxtv.org (OLD!):

  Preperation: Compile and boot a kernel with "<M> DVB Core Support"
  Type "emerge -av >=dev-util/mercurial-0.9.1-r2" to be able to get the latest drivers
  Download:
        mkdir ~/dvbt
        cd ~/dvbt
        hg clone http://linuxtv.org/hg/v4l-dvb
  Update:
        cd ~/dvbt/v4l-dvb
        hg pull -u http://linuxtv.org/hg/v4l-dvb
        cd ~/dvbt
  Configure:
        Boot into your new kernel
        cd ~/dvbt/v4l-dvb
        [save your old config: ~/dvbt/v4l-dvb/v4l/.config]
        make clean
        make distclean
        [Restore your old configuration]
        make menuconfig (for Kernel 2.6.18.3)
           Multimedia devices ->
           Video For Linux [M]
           Enable Video For Linux API 1 compatible Layer [*]
           Digital Video Broadcasting Devices  ->
           DVB For Linux [*]
           DVB Core Support [M]
           Load and attach frontend modules as needed [*]
           Support for various USB DVB devices [M]
           DiBcom USB DVB-T devices (based on the DiB3000M-B) [M]
           DiBcom USB DVB-T devices (based on the DiB3000M-C/P) [M]
           Customise DVB Frontends -> (get chosen automatically?!)
           DiBcom 3000M-B [M]
           DiBcom 3000P/M-C [M]
     make
     make install (overwrites kernel's modules)
     reboot

Autoload modules

File: /etc/modules.autoload.d/kernel-2.6
   snd_ens1371
   snd-intel8x0
   dvb_usb
   dvb_core
   dvb_usb_dibusb_common
   dvb_usb_dibusb_mb
File: /etc/make.conf
      DVB_CARDS="dibusb-usb1"

Firmware / DVB-Apps

Enable the USE flag usb. Then execute:

emerge -av linuxtv-dvb-firmware linuxtv-dvb-apps

Or download the firmware manually from [1]. It has to be located at /lib/firmware/dvb-usb-dibusb-5.0.0.11.fw.

Log

Boot messags

Using the customized kernel, dmesg states the following when the Magic Box was already connecting during system boot:

     system/modules: Loading module "dvb_usb" ...
     system/modules: Loading module "dvb_core" ...
     system/modules: Loading module "dvb_usb_dibusb_common" ...
     system/modules: Loading module "dvb_usb_dibusb_mb" ...
     dvb-usb: found a 'TwinhanDTV USB-Ter USB1.1 / Magic Box I / HAMA USB1.1 DVB-T device' in cold state, will try to load a firmware
     dvb-usb: downloading firmware from file 'dvb-usb-dibusb-5.0.0.11.fw'
     usbcore: registered new interface driver dvb_usb_dibusb_mb
     dvb-usb: generic DVB-USB module successfully deinitialized and disconnected.
     dvb-usb: found a 'TwinhanDTV USB-Ter USB1.1 / Magic Box I / HAMA USB1.1 DVB-T device' in warm state.
     dvb-usb: will use the device's hardware PID filter (table count: 16).
     dvb-usb: schedule remote query interval to 150 msecs.
     dvb-usb: TwinhanDTV USB-Ter USB1.1 / Magic Box I / HAMA USB1.1 DVB-T device successfully initialized and connected.

lsmod

"lsmod" states the following:

  lsmod |grep "dvb"
     dvb_usb_dibusb_mb      10752  0 
     dvb_usb_dibusb_common     7492  1 dvb_usb_dibusb_mb
     dvb_usb                16460  2 dvb_usb_dibusb_mb,dvb_usb_dibusb_common
     dib3000mc              10948  1 dvb_usb_dibusb_common
     dvb_core               72488  1 dvb_usb
     dib3000mb              12992  1 dvb_usb_dibusb_mb
     dvb_pll                11716  3 dvb_usb_dibusb_mb,dvb_usb_dibusb_common,dvb_usb

Requirements

Enable the USE flag dvb and (re-)emerge MPlayer and Kaffeine:

emerge -av mplayer kaffeine

Channel scan

Configure the channels: ~/.mplayer/channels.conf and ~/.tzap/channels.conf both share the same contents.

~/skripte/sendersuchlauf: "dvbscan -o zap -a /dev/dvb/adapter0 -f /dev/dvb/adapter0/frontend0 -d /dev/dvb/adapter0/demux0 /usr/local/share/dvb/dvb-t/de-Frankfurt >channels.conf"

Kaffeine

dvb-convert.py (see below) won't seem to get correct IDs for EPG!

  Search for a few channels per frequency. If a channel happens to pop up twice in the list, manually clean up your channel file with an editor. This is a list for German channels:
  ~/.kde/share/apps/kaffeine/channels.dvb contains a channel list of this format:
     TV|Das Erste|101(2)|102(ger),|104|1|38912|Terrestrial|762000|0|v|23|-1|16|-1|8|8|4|0|1|||
     TV|ZDF|545(2)|546(deu),547(2ch),559(ac3),|551|514|514|Terrestrial|482000|0|v|23|-1|16|12|8|8|4|0|2|||
     TV|SAT.1|385(2)|386(DEU),|391|16408|8705|Terrestrial|738000|0|v|23|-1|16|-1|8|8|4|0|3|||
  This file may be created via "dvb-convert.py" and channels.conf"
     "python ./dvb-convert.py channels.conf de-Frankfurt auto >channels.dvb"

Remote control

File: ~/.Xmodmap
keycode 160 = m
keycode 174 = l
keycode 176 = h
keycode 179 = f
keycode 222 = q
keycode 232 = q
keycode 152 = w
keycode 180 = e
remove Lock = Caps_Lock

To get to know your remote's keycodes, emerge xev:

emerge -av xev

Start "xev" and press a button on your remote, note the keycode.

File: ~/.kde/Autostart/remote (executable)
#!/bin/bash
xmodmap /home/grafrotz/.Xmodmap

For testing, start a terminal and press some buttons on your remote. If you see some letters appear, it should be working. Assign the keys to certain actions (preferably the same as in mplayer):

 Settings -> Set short commands ->
    size up = e
    size down = w
    next station = h
    previous statuin = l
    quit = q
    toggle fullscreen = f

Watching / recording TV

With mplayer

mplayer dvb://KABEL1
mplayer -fs -vf pp=fd dvb://KABEL1

With mencoder and mplayer

mencoder dvb://KABEL1 -o record.avi -oac copy -ovc copy
mplayer record.avi

With tzap, cat and mplayer

Record

tzap KABEL1 -r
cat /dev/dvb/adapter0/dvr0 > record.avi
mplayer record.avi

Play immediately

tzap KABEL1 -r
cat /dev/dvb/adapter0/dvr0 | mplayer -

With Kaffeine

With kaffeine: Start kaffeine and select "digital television". A list of channels should be available (because of the channels.dvb file).

See also

Retrieved from "http://www.gentoo-wiki.info/TwinhanDTV_Magic_Box"

Last modified: Sat, 27 Sep 2008 05:26:00 +0000 Hits: 7,545