walters blog
12Feb/12

MSI DIGI VOX mini II USB-Stick 1d19:1101 unter Debian (Kernel 3.x) installieren

Autor: Walter Güldenberg

Nun, die Firma MSI hat diesen USB mit gleichem Namen jedoch verschiedenen Chip-Sätzen in Umlauf gebracht. Der letzte aktuelle ist ein RTL-Chip-Satz, genauer der RTL2832u und der Stick meldet sich mit der  Produkt-ID 1d19:1101.

$ lsusb
Bus 001 Device 002: ID 1d19:1101 Dexatek Technology Ltd. DK DVB-T Dongle

Leider wird er nicht 'Out Of The Box' unterstützt, also muss ein wenig Hand angelegt werden. Dafür ist der Stick aber auch extrem günstig (knapp 20,00 €).

Aus vielen Gründen ist bei Linux erheblich öfter 'Frickelarbeit' angesagt als z.B. bei Windows®, aber sind nicht viele 'Linuxer' gerade deshalb mit Linux unterwegs? 😉 Ganz klar es liegt nicht unbedingt an den Entwicklern von Linux wenn Hardware weniger gut unterstützt wird, hier sind meist die Hardware-Hersteller in der Pflicht.

Nach einer Suche mit meiner aktuell favorisiterten Suchmachine duckduckgo.com  bin ich über das GIT von ambrosa gestolpert. Nach dem Motto: 'Versuchen kann man es ja mal ...'

Bei mir ist übrigens ein Debian sid (Stand 12. Feb. 2012) im Einsatz.

$ uname -a
Linux semplice 3.2.0-1-686-pae #1 SMP Sun Feb 5 23:52:49 UTC 2012 i686 GNU/Linux

Soweit noch nicht auf dem System, wie im Readme des GIT beschrieben: build-essential, headers und git-core installieren, dann git clone u.s.w. ausführen.

Und dann, nach dem 'make' ist erst einmal mit folgender Meldung:

...
make[2]: *** [sub-make] Fehler 2
make[1]: *** [all] Fehler 2
make[1]: Leaving directory ......
make: *** [default] Fehler 2

Ende im Gelände. Gut nun könnten wir sagen: was für ein bescheuertes Teil und in den nächsten Hardware-Laden gehen um dort einen DVB-T Stick zu kaufen mit dem 'Linux' spielen kann. Doch, wie ich schon eingangs sagte, die meisten Linuxer lieben das Basteln und die Herausforderung ... und dann ist da auch noch so etwas wie Ehrgeiz.

Um es kurz zu machen es fehlen die Sourcen des verwendeten Kernel (hat man i.d.R. nicht wirklich Verwendung für), genauer gesagt, es fehlen verschiedene C-Header Dateien. Wo bekommen wir die her? Gehen wir den klassischen Weg und 'installieren' die Sache mittels apt.

Nun haben wir zwei Optionen:

$ apt-cache show linux-source
Package: linux-source
Source: linux-latest (43)
Version: 3.2+43
Installed-Size: 28
Maintainer: Debian Kernel Team <*protected email*>
Architecture: all
Depends: linux-source-3.2
Description-en: Linux kernel source (meta-package)
 This package depends on packages containing the sources of the latest
 Linux kernel.
Description-md5: 295a0aae79622b42802dfa4bda819ae6
Section: kernel
Priority: optional
Filename: pool/main/l/linux-latest/linux-source_3.2+43_all.deb
Size: 4026
MD5sum: 82cddce7ce48f40d6ee2f00de6533855
SHA1: fc987417d2e06d2bc4bf90affd966ae73c3aead7
SHA256: 15f66fdce17d92c82d1dd6cc48a7ac7661755d2d3ec58972f24aff22e52299fb

oder

$ apt-cache show linux-source-3.2
Package: linux-source-3.2
Source: linux-2.6
Version: 3.2.4-1
Installed-Size: 73751
Maintainer: Debian Kernel Team <*protected email*>
Architecture: all
Provides: linux-source
Depends: binutils, bzip2
Recommends: libc6-dev | libc-dev, gcc, make
Suggests: libncurses-dev | ncurses-dev, libqt4-dev
Description-en: Linux kernel source for version 3.2 with Debian patches
 This package provides source code for the Linux kernel version 3.2. This
 source closely tracks official Linux kernel releases. Debian's
 modifications to that source consist of security fixes, bug fixes, and
 features that have already been (or are believed to be) accepted by the
 upstream maintainers.
Description-md5: 44fed9e01c77dea853508fb986b72e84
Section: kernel
Priority: optional
Filename: pool/main/l/linux-2.6/linux-source-3.2_3.2.4-1_all.deb
Size: 75476572
MD5sum: e7ba5dfd6f480de2c3ef9ba48d7bb7ba
SHA1: 02252f02a40dd6c549eba9833ceef3d7102b994d
SHA256: 1fbca97cc5ba047963cdeb7a219bc5bc2af97c3d3f8c3996165c6ce1a3824ecd

Mit der Auswahl 1 installieren wir das s.g. Meta-Paket (damit werden dann beim Upgrade immer die neuen Sourcen installiert). Bei Auswahl 2 werden eben nur diese Sourcen installiert.

Auswahl 1 macht schon Sinn, denn so lange die fehlenden Module nicht mit dem verwendeten Kernel ausgeliefert werden müssen bei jedem Kernel-Upgrade die Module händisch neu gebaut werden.

Nun gut jetzt haben wir die Sourcen auf unserem System ... aber wo sind die Lümmel und wie geht es weiter?

Da sind die Sourcen:

/usr/src$ 
linux-source-3.2.tar.bz2

Nun entpacken wir in dem Verzeichnis:

/usr/src# tar xvjf linux-source-3.2.tar.bz2
....
linux-source-3.2/Makefile
linux-source-3.2/version.Debian
/usr/src#

Nun müssen wir nur noch dem Script klar machen wo es die fehlenden Header finden kann und das machen wir wie folgt:

ln -s /usr/src/linux-source-3.1.0-1/drivers/media/dvb/frontends/*.h .
ln -s /usr/src/linux-source-3.1.0-1/drivers/media/dvb/dvb-core/*.h .
ln -s /usr/src/linux-source-3.1.0-1/drivers/media/dvb/dvb-usb/*.h .

Die Links müssen im Verzeichnis der Treiber sein, also dort wohin das Git gespeichert wurde, in meinem Fall:

~/git/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0$

Und dann nochmal die 'make' Schritte.

Nach einem:

~# modprobe dvb-usb-rtl2832u

Sollte der Stick einsatzfähig sein.

Natürlich können wir auch erst einmal schaun ob alles dort ist wo es sein sollte:

~$ lsmod | grep dvb
dvb_usb_rtl2832u 240154 0
dvb_usb 18004 1 dvb_usb_rtl2832u
dvb_core 68067 1 dvb_usb
rc_core 17918 8 ir_lirc_codec,ir_mce_kbd_decoder,ir_sony_decoder,ir_jvc_decoder,ir_rc6_decoder,ir_rc5_decoder,dvb_usb,ir_nec_decoder
i2c_core 19116 6 radeon,drm_kms_helper,drm,i2c_algo_bit,dvb_usb,i2c_i801
usbcore 104352 6 dvb_usb_rtl2832u,dvb_usb,btusb,uhci_hcd,ehci_hcd

Jetzt können wir uns einen Player installieren, bzw. einen bereits vorhanden entsprechend konfigurieren und haben nun ein TV im Rechner 😉

Am Rande bemerkt:

Ich habe noch immer den kleinen EeePC 701 im Einsatz. Da dort der gleiche Kernel (3.2.0-1) im Einsatz ist stellt es kein Problem dar das auf  dem 'großen' Rechner gebaute Module auch dort zu verwenden. Einfach die Datei usb_dvb_rtl2382u.ko in das Verzeichnis /lib/module/3.2.0-1-686-pae/kernel/drives/media/dvb/dvb-usb kopier. Prüfen ob der Eigentümer auch root:root ist, dann noch ein # depmod -a und das Modul kann mit modprobe usb-dvb-rtl2382u geladen werden. Schon wird der 'Kleine' zum handlichen DVB-T Spieler.

 

Du findest den Beitrag nützlich und möchtest das Blog unterstützen ...

Mit:
Other Amount:

Ich sage bereits jetzt vielen Dank!

Ähnliche Artikel

CC BY-NC-SA 4.0 Dieses Werk ist lizenziert unter Creative Commons Namensnennung-NichtKommerziell-Weitergabe unter gleichen Bedingungen 4.0 international.

Kommentare (0) Trackbacks (0)

Die Kommentarfunktion ist deaktiviert.

Trackbacks are disabled.