ubuntuusers.de

Hinweis: Dies ist ein statischer Snapshot unseres Wikis vom 25. März 2013 und kann daher nicht bearbeitet werden. Der aktuelle Artikel ist unter wiki.ubuntuusers.de zu finden.

Digittrade DVB-T USB Stick

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

./digittrade.png Der Digittrade DVB-T USB Stick {de} ist eine 2007 auf den Markt gekommene DVB-T-Karte, die vom Hersteller auch mit Linux-Tauglichkeit beworben wird. Der Packung liegt eine CD u.a. mit Linux-Treibern bei; außerdem eine kleine Stabantenne, sowie eine Fernbedienung (die laut Hersteller unter Linux nicht unterstützt wird, siehe aber hier). Der Stick benötigt unter Linux einen USB-2.0-Port sowie eine CPU mit mindestens 800 Mhz/1 GHz. Die Karte verwendet einen Afatech-AF9015-Chip {en} und benötigt die entsprechende Firmware.

Installation

Die auf der CD befindliche Software ist für die aktuellen Ubuntu-Versionen nicht kompatibel. Die Karte selbst sollte ohne weitere Vorarbeiten direkt funktionieren, da die im Kernel befindliche dvb-v4l-Version alle erforderlichen Module enthält; ggf. muss die aktuelle Firmware-Datei dvb-usb-af9015.fw {dl} mit Root-Rechten[1] nach /lib/firmware/ kopiert werden. Alternativ kann die Firmware über das Paket

  • linux-firmware-nonfree

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install linux-firmware-nonfree 

sudo aptitude install linux-firmware-nonfree 

installiert[2] werden, siehe auch restricted-manager.

Benutzung

Die Karte kann mit jeder DVB-T-tauglichen Software verwendet werden (siehe TV; der Hersteller empfiehlt Kaffeine).

Fernbedienung

./fernbedienung.png

12.04 Precise Pangolin und 10.04 Lucid Lynx

Um die Fernbedienung in Betrieb nehmen zu können, sind einige Vorarbeiten nötig. Zunächst müssen in einem Editor[3] zwei Konfigurations-Dateien erstellt und mit Root-Rechten in /etc/modprobe.d/ abgespeichert werden.

Die Datei /etc/modprobe.d/dvb-usb-af9015.conf sorgt dafür, dass der Infrarot-Empfänger im Stick als eigenes Input-Device automatisch erkannt wird (nötig, da mindestens vier verschiedene Sticks mit gleicher Kennung existieren; unter Precise wird zwar der IR-Receiver sofort erkannt, lässt sich aber nicht ohne Weiteres ansprechen). Inhalt ist die Zeile

options dvb-usb-af9015 remote=4

Die Datei /etc/modprobe.d/usbhid.conf unterbindet, dass die Impulse der Fernbedienung nach einem Tastendruck im System unendlich bzw. bis zum Druck einer Tastatur-Taste fortgeführt werden (ein Bug in der Hardware; vermutlich der Grund, warum der Hersteller keine Unterstützung der Fernbedienung unter Linux zusagt). Inhalt ist hier

options usbhid quirks=0x15a4:0x9016:0x4

Damit ignoriert das usbhid-Modul das HID-Gerät des Sticks vollständig, und die Dauerausgabe wird unterbunden. Danach mit Root-Rechten das alte usbhid-Modul entladen und das neue laden[4]:

sudo rmmod usbhid 
sudo modprobe usbhid 

Außerdem muss vor der endgültigen Inbetriebnahme/Neustart einmalig (allerdings erneut nach jedem größeren Kernel-Update) der Befehl

sudo update-initramfs -u 

durchgeführt werden. Da das usbhid-Modul sehr früh im Boot-Prozess geladen wird, um z.B. USB-Keyboards anzusprechen, müssen die Modul-Optionen schon in Initramfs enthalten sein, nicht erst auf der Root-Partition.

Der Infrarot-Empfänger wird daraufhin (nach einem Neustart des Rechners) mit

cat /proc/bus/input/devices 

als eigenes Input-Device angezeigt, und in der dmesg-Ausgabe findet sich dann ein Eintrag wie

[   16.146261] input: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:10.4/usb1/1-2/input/input6

Daraufhin erkennt das System einige der Tasten so (Ziffern, Lautstärkeregelung über VOL↑/VOL↓/MUTE-Tasten, die Play/Timeshift-Tasten funktionieren z.B. in Rhythmbox zum Starten/Anhalten des ausgewählten Titels). Eine weitergehende Konfiguration erfolgt dann wie in Lirc und Lirc/Tasten mit Funktionen belegen beschrieben, es kann (zumindest unter Precise) auch inputlirc verwendet werden.

11.04 Natty Narwhal und 11.10 Oneiric Ocelot

Für 11.04 Natty ist die Konfiguration für die Erkennung der Fernbedienung einfacher geworden. Bei der Konfiguration von Lirc wird als Gerät "Linux input layer (/dev/input/eventX)" ausgewählt, als Interface "/dev/input/by-id/usb-Afatech_DVB-T-event-ir". Danach wird die Fernbedienung ohne weitere Vorarbeiten von Lirc erkannt.

Allerdings werden die Tastenanschläge der unter Natty verwendeten Standard-devinput.lircd.conf anders verarbeitet als früher; einige Tasten werden als Kombinationen von bis zu drei unterschiedlichen Impulsen erkannt, so z.B. die "Power"-Taste, für die als Ausgabe in irw

0001001d00000001 00 KEY_LEFTCTRL devinput
0001003800000001 00 KEY_LEFTALT devinput
0001001900000001 00 KEY_P devinput
0001001900000001 01 KEY_P devinput
0001001900000001 02 KEY_P devinput

ausgegeben wird; zunächst zwei "Sondertasten", und dann die "Taste P", in dreifacher Ausführung. Unter 11.10 Oneiric Ocelot kommt es zwar nicht mehr zu den Vervielfachung der letzten Ausgabe und die Tastennamen werden ohne das KEY_ ausgegeben, allerdings wird bei langanhaltendem Tastendruck eventuell noch der Impulse UNKNOWN zusätzlich generiert/fehlerkannt.

Das Verhalten führt zum einen dazu, dass es nicht mehr möglich ist, eine eigene lircd.conf via irrecord zu erstellen (viele Tasteneingaben führen z.B. zum ersten Impuls KEY_LEFTCTRL; irrecord verwendet aber nur diesen ersten Impuls zur Definition der Taste, sodass etliche Tasten die gleiche, unvollständige Kennung erhalten). Zum anderen wird die Erstellung der .lircrc etwas komplizierter, da statt der bisherigen einen bis zu drei Kennungen für eine Taste eingetragen werden müssen, statt z.B.

begin
    prog = irexec
    button = KEY_POWER    
    config = killall rhythmbox
end       

also

begin
    prog  = irexec
    button = KEY_LEFTCTRL 
    button = KEY_LEFTALT 
    button = KEY_P 
    config = killall rhythmbox
end

Ggf. führt das auch dazu, dass "Dauertasten-Belegungen" wie für die Lautstärkeregelung nicht mehr funktionieren, sondern die entsprechende Taste mehrfach gedrückt werden muss.

lircd.conf

Falls die Tasten von einer Standard-Lirc-Installation mit Linux Input Layer (dev/input/eventX) und entsprechend automatisch erstellter lircd.conf nicht erkannt werden, hier noch eine eigene lircd.conf für die Fernbedienung:

# Please make this file available to others
# by sending it to <lirc@bartelmus.de>
#
# this config file was automatically generated
# using lirc-0.8.6(devinput) on Mon Dec  7 23:13:56 2009
#
# contributed by Heinrich Schwietering
#
# brand:         DIGITTRADE
# model no. of remote control: 
# devices being controlled by this remote: Digittrade USB DVB-T
#

begin remote

  name  Digittrade_USB_DVB-T_Remote
  bits           16
  eps            30
  aeps          100

  one             0     0
  zero            0     0
  pre_data_bits   16
  pre_data       0x8001
  gap          455981
  toggle_bit_mask 0x0

      begin codes
          KEY_PREVIOUS             0x0195
          KEY_TEXT                 0x0184
          KEY_EPG                  0x016D
          KEY_POWER                0x0074
          KEY_SCREEN               0x0174
          KEY_SOUND                0x0188
          KEY_S                    0x00D2
          KEY_SUBTITLE             0x0172
          KEY_CHANNELUP            0x0192
          KEY_CHANNELDOWN          0x0193
          KEY_VOLUMEUP             0x0073
          KEY_VOLUMEDOWN           0x0072
          KEY_MUTE                 0x0071
          KEY_1                    0x0002
          KEY_2                    0x0003
          KEY_3                    0x0004
          KEY_4                    0x0005
          KEY_5                    0x0006
          KEY_6                    0x0007
          KEY_7                    0x0008
          KEY_8                    0x0009
          KEY_9                    0x000A
          KEY_0                    0x000B
          KEY_TIME                 0x00A4
          KEY_RECORD               0x00A7
          KEY_PLAY                 0x00CF
          KEY_STOP                 0x0080
          KEY_PAUSE                0x0077
      end codes

end remote

Probleme

Falls beim Hochfahren des Rechners eine sich ständig wiederholende Fehlermeldung in der Art

[ 5106.864369] af9015: command failed:255
[ 5106.864375] dvb-usb: error while querying for an remote control event.

erscheint und die Fernbedienung nicht funktioniert, hilft es ggf. (nach Überprüfung, ob die USB-Verbindung auch nicht locker ist), statt der oben verlinkten Firmware diese Version dvb-usb-af9015.fw {dl} zu verwenden, und nach /lib/firmware (Root-Rechte nötig!) zu kopieren.

Falls auch das nichts ändert (ggf. bei einem 64-bit-System), kann in /etc/modprobe.d/ die Datei dvb_usb_af9015.conf mit dem Inhalt

options dvb_usb_af9015 remote=10

angelegt werden (Editor mit Root-Rechten), die Meldung sollte daraufhin unterbleiben. Allerdings kann dann die Fernbedienung nicht mehr verwendet werden!

  • Forums-Thread zur Fernbedienung der Karte

  • Anleitung {en} für die MSI Digivox mini II V3 Karte, die den gleichen Chipsatz verwendet

  • Thread {en} auf linuxtv.org zur Fernbedienung

ubuntuusers.local › WikiDigittrade DVB-T USB Stick