# FAQ Tips > Tipps und Tricks >  Medion RF Remote Control unter Linux nutzen (USB Fernbedienung)

## JDieskau

Jeder der einen Aldi PC hat und nun Linux nutzen möchte wird das gleiche Problem haben wie ich. Die mitgeliferte USB Fernbedienung will einfach nicht laufen. Das Forum konnte mir nicht helfen, LIRC unterstützt leider kein USB, was also tun? Extra Treiber gibt es auch nicht  :Frown: 

Hier also die Lösung:

Als erstes benötigen wir Kernel Module, diese hier sind eigentlich für ATI Karten gedacht, lassen sich aber einfach für unsere Medion Fernbedienung "missbrauchen".  http://gatos.sourceforge.net/ati_remote.php

Nachdem wir die Quellen nun heruntergeladen haben müssen wir noch einige anpassungen vornehmen. In der Datei ati_remote.c gibt es folgende Zeilen:



> static struct usb_device_id ati_remote_id_table [] = {
>    { USB_DEVICE(0x0bc7, 0x004) },
>    { }                                         /* Terminating entry */
> };


Hier ist USB_DEVICE(0x0bc7, 0x004) in USB_DEVICE(0xbc7, 0x6) zu ändern.
Nun wird auch unsere Medion Fernbedienung benutzbar.

Hier ein beispiel für die Tastenbelegung:



> {KIND_FILTERED, 0xd4, 0x0f, EV_KEY, KEY_KP3, 1},


Das legt fest welchen Keycode welcher Taste zugeordnet werden.
Dabei entsprechen die hexadezimalen Werte an Stelle 2 und 3 (hier 0xd4, 0x0f) dem Code der "vom Gerät kommt". Der vorletzte Wert (hier KEY_KP3) definiert die Funktion, die diesem Code zugeordnet werden soll. In diesem Fall wäre das die Taste '3' auf dem Nummernblock einer "normalen" Tastatur.
Durch probieren kann man dann den rest herausbekommen.

Dann erstmal zum testen kompilieren. Also mit "cd" ins Verzeichnis wechseln, dann "make" und dann nur noch "make install", als Root!
Nun nur noch folgendes Modul mit diesem Befehl laden: "insmod ati_remote channel_mask=16"
Schon sollte es gehen. Die Zahlen von 0 - 9 sollten auf anhieb funktionieren.

Sollte es nicht gleich gehen einfach nochmal alles checken und mal den Befehl "tail -f /var/log/messages" eingeben (als Root) und dann den Empfänger neu reinstecken. Dann sollte man schnell sehen woran es harken könnte, wenn nicht einfach mal die Ausgabe posten...

Kommentare, Verbesserungsvorschläge, etc. sind erwünscht  :Smilie: 
Wer alle Tastenbelegungen herausfinden sollte kann sie hier posten  :Big Grin: 


*UPDATE:* Ich habe heute - dem 30.03.2004 - nun alle Tasten im unterem Posting hingeschrieben. Somit ist eure Medion Fernbedienung endlich ohne fummeln und ausporbieren benutzbar.

*UPDATE2:*Nun ist auch ein HowTo hinzugekommen mit welches beschreibt wie man auch Befehle ausführen kann!

*UPDATE3:*Eine Menge Beispiele + einen Script um die Tastatur etwas komfortabler zu machen  :Wink:

----------


## JDieskau

So, wie versprochen sind hier nun alle Tasten-Codes. Die auszuführenden Tasten müsst ihr dann nur noch ändern.

Dieses hier einfach nur in die ati_remote.c übernehmen und ggf. Anpassen:




> } ati_remote_translation_table[]={
> 	{KIND_LITERAL, 0x3d, 0x78, EV_KEY, KEY_1, 1},
> 	{KIND_LITERAL, 0x3e, 0x79, EV_KEY, KEY_1, 1},
> 	{KIND_LITERAL, 0x41, 0x7c, EV_KEY, KEY_1, 1},
> 	{KIND_LITERAL, 0x42, 0x7d, EV_KEY, KEY_1, 1},
> 		/* ati_remote */
> 	{KIND_ACCEL, 0x35, 0x70, EV_REL, REL_X, -1},   /* left */
> 	{KIND_ACCEL, 0x36, 0x71, EV_REL, REL_X, 1},   /* right */
> 	{KIND_ACCEL, 0x37, 0x72, EV_REL, REL_Y, -1},   /* up */
> ...


Das sollten eigentlich alle Tasten auf der Medion Fernbedienung sein.
Falls ihr vielleicht eine andere habt - die nur ein wenig geändert wurde - vielleicht eine neuere Version(?) dann könnt ihr diese "Codes" auch selber herausfinden:

Schliesst den Empfänger nun anDrückt gleichzeitig die Tasten Strg+Alt+F10 (ggf. nur Alt+F10)Nun drückt die noch nicht bekannte/erkannte TasteEs sollte eine 4-Stellige Zahl+Buchstaben erscheinenNotiert euch diese ZahlBeispiel: e20dNun müsst ihr die erste Zahl -1 nehmen - bzw. bei einem Buchstaben eins rückwärts im Alphabet gehenBei unserem Beispiel: d20dDiese Zahlen müsst ihr nach folgenden Muster in die ati_remote eintragen: 0xXX, 0xXX  - die Großgeschriebenen X sind nun die Zahlen von eben.Beispiel: 0xd2, 0x0dDieses müsst ihr nun in die ati_remote eintragen - genauso nach dem Prinzip wie die, die ich euch schon vorgegeben habe

----------


## Irenicus

Hi,

erstmal Danke für deine Mühe!

Ich verwende den 2.6er Port von gatos (wie du wahrscheinlich auch)

ich versuche gerade das Ding zum fliegen zu kriegen, bin auch 
schon kompilierfähig, aber leider:

bash-2.05b# modprobe ati_remote
FATAL: Error inserting ati_remote (/lib/modules/2.6.3-rc2/misc/ati_remote.o): Invalid module format

Ich habe mit demselben Compiler kompiliert mit dem der Kernel gebaut ist.

Irgendwelche Ideen woran das liegen könnte?

bash-2.05b$ uname -a
Linux home 2.6.3-rc2 #2 SMP Sun Mar 7 10:57:36 CET 2004 i686 Intel(R) Pentium(R) 4 CPU 3.00GHz GenuineIntel GNU/Linux

----------


## JDieskau

> Hi,
> 
> erstmal Danke für deine Mühe!
> 
> Ich verwende den 2.6er Port von gatos (wie du wahrscheinlich auch)
> 
> ich versuche gerade das Ding zum fliegen zu kriegen, bin auch 
> schon kompilierfähig, aber leider:
> 
> ...


Mhh, das ist ja komisch. Ich benutze noch den Kernel 2.4
Zwar hab ich den Kernel 2.6 schon auf einen anderen PC, hab dort aber die Fernbedienung noch nicht benutzt.

Und make läuft einwandfrei durch?
Komisch - aber probier mal anstatt von modprobe insmod.
Also einfach mal "insmod ati_remote" als root eintippen. Vielleicht hilft dir das.


Ich habe übrigens nun alle Tastaur-Kennungen - also für jede einzelne Taste - herausbekommen. Ich werde im laufe des Tages die Liste oben aktualisieren und eine Anleitung hinzufügen wie man nicht nur einzelne Tasten ausführen kann, sondern auch Programm und Befehle.
Bis dann....

----------


## JDieskau

*Einleitung:*

Viele die dieses HowTO gelesen haben und vielleicht auch damit ihre USB Fernbedienung zum laufen gebracht haben werden vielleicht auch ein wenig enttäuscht sein.
Ihre Fernbedienung läuft zwar - aber leider nur Buchstaben und Zahlen!

Hier möchte ich nun kurz zeigen wie man leicht - ja vielleicht auch mit etwas aufwand - auch mit dieser Fernbedienung und mit diesem Treiber Befehle und Programm ausführt.

Vielleicht geht es auch einfacher - indem man die Treiber ganz um programmiert. Leider bin ich kein Programmierer und es geht ja auch so.

Nun gut, fangen wir an.

*1. Benötigte Programm:*

1. Ich setzte vorraus das die Tastatur im groben funktionsfähig ist. Und das wenigstens einige Tasten funktionieren.
2. Wir benötigen das Programm "lineak" - welches eigentlich für den Gebrauch von Sondertasten an einer Tastaur gedacht ist.

Homepage: http://lineak.sf.net/

Ladet euch die Sourcen oder eventuel vorhandene RPM's runter. Auf die installation gehe ich hier nun nicht weiter ein. Das sollte aus der Readme herauszulesen sein und eigentlich auch keine großen Probleme bereiten

3. Optional: Hier wäre angebracht das Programm "xev". Das sollte bei (fast?) jeder Distri dabei sein. Wo es das jetzt zum herunterladen gibt weiß ich nicht.
google oder alltheweb.com sollte euch da sicher helfen.

*2. Anpassung der ati_remote Treiber:*
Auch hier müssen wir noch kleinere Änderungen vornehmen.
Alle Tasten mit dennen wir später Befehle ausführen wollen - müssen als KEY einen unbekannten bekommen. Also eine die für eure normale Tastatur nicht vorhanden ist.
Ich meine damit jetzt nicht diese Key_Code sondern die Tasten.
Zum Beispiel KEY_A für die Taste a.

Schaut euch hierzu die Datei /usr/include/linux/input.h an. Dort sind alle Tasten definiert. Nimmt irgendeine Unbekannte. Wie zum Beispiel KEY_QUESTION und speichert dieses dann als neue Taste.
Beispiel für die ati_remote.c:
{KIND_FILTERED, 0xcb, 0x06, EV_KEY, KEY_COFFEE, 1},

Dieses sollte euch ja bekannte vorkommen. Nun wisst ihr auch warum ich solch komisch Tasten bei den Beispielen oben (Zweiter Post) drin habe  :Wink: 

*3. Herausfinden der Keycodes:*
Bei mir haben komischerweise die vorgegeben KEYCode von input.h nicht gestimmt!
Deswegen benötigen wir hier das Programm xev.
Kompiliert das Modul erstmal neu und ladet es.

Dann startet ihr xev und drückt die Taste auf der Fernbedienung.
Es kommt zum Beispiel so ein Ausgabe:




> KeyRelease event, serial 26, synthetic NO, window 0x5800001,
>     root 0x76, subw 0x0, time 68714438, (159,-14), root161,12),
>     state 0x0, *keycode 16* (keysym 0x37, 7), same_screen YES,
>     XLookupString gives 1 bytes:  "7"


Das wär nun also der Keycode 16. Dies ist nun nicht zu verwechseln mit dem Code für die Medion Fernbedienung!

Merkt euch diese Zahl.


*4. Editieren der lineakkb.def:*

Ruft nun mit den Editor eurer Wahl /etc/lineakkb.def auf. Dazu muss lineakd installiert sein!

Schaut euch die Datei und ihren Aufbau erst einmal an.
Schreibt nun selber eine neue Tastatur.

Anmerkung: Solltet ihr mit Lineak schon eure Sondertasten auf der Tastatur benutzen. Dann überpringt das erstellen der neuen Tastatur und fügt dann später den Inhalt in eurer schon existierenden Tastatur ein!

Eure neu hinzugefügte Tastatur kann zum Beispiel so aussehen (bzw. sollte so aussehen):




> [Medion]
>    brandname = "other"
>    modelname = "Medion Fernbedienung"
>   [KEYS]
> 
> #### Hier kommt dann der Inhalt hinein! /####
> 
>   [END KEYS]
> [END Medion]


So, nun können die Schon-Lineak-Benutzer auch wieder weiter machen  :Wink: 
Fügt in eure "Tastatur" in der lineakkb.def nun die Taste und den keycode hinein.
Den Namen der Taste könnt ihr euch ausdenken - den Keycode natürlich den, den wir mit hilfe von xev herausbekommen haben.
Beispiel:
Mute	= 160

Das dort eintragen wo ich vorhin Platz gelassen habe, in der eben neu erstellen Tastatur - oder eben in eure bereits vorhandene Tastatur.

*5. Editieren der lineakd.conf:*

So, nun müsst ihr euere lineakd.conf anpassen. Wer lineak schon benutzt hat sollte wissen wie es geht.
In dem Verzeichnis [home]/.lineak/ findet ihr die Datei lineakd.conf
Diese nun aufrufen.

Als KeyboardType müsst ihr dann Medion eintragen - schaut euch die Dokumentation von lineak an oder nachher die Beispiel ein post weiter unten!
Als neue Taste dann einfach (Beispiel!) "mute" und dahinter dann den Befehl.

*6. Ausprobieren und freuen:*

Nun könnt ihr lineakd starten und es ausprobieren. Wenn ihr alles richtig gemacht habt könnt ihr euch freuen  :Smilie: 


Bei Fragen: einfach fragen   :Big Grin:

----------


## JDieskau

So. Hier sind nun Beispiele um eure Fernbedienungen im Vollen und ganzen zu benutzen.
Ich poste hier mein Configs und Einstellungen - ihr könnt sie ändern und euren Bedürfnissen anpassen.

Wenn ihr von oben (2. Posting) meine Einstellungen für die ati_remot.c übernommen habt sollte alles gleich funktionieren.


*1. lineakkb.def*
Die Keycodes sollten gleich sein. Somit könnt ihr meine "Tastaur"-Einstellungen übernehmen für die lineakkb.def

Hier nun meine "Tastatur":




> [LTIK]
>   brandname = "Medion"
>   modelname = "Medion RF Remote Control"
>   [KEYS]
>     XFER	= 147
>     MSDOS	= 201
>     COFFEE	= 146
>     DIRECTION	= 203
>     SLEEP	= 223
> ...



*2. lineakd.conf*
So, hier könnt ihr die Auszuführenden Programm oder Befehle eintragen. Passt das ganze euren Wünschen an.
Ich habe mir ein Script gebaut - welches ich auch nicht poste. Mit dem ich das ganze sehr einfach Regele, dazu komm ich dann später...




> ##### Allgemein Einstellungen #####
> KeyboardType = Medion
> CdromDevice = /dev/dvdrecorder
> MixerDevice = /dev/mixer 
> 
> ##### Medion Remote #####
> 
> XFER = xset dpms force standby
> MSDOS = remote app xine
> ...


*3. Medeion-Remote*
So. Nun kommen wir zu dem myteriösen Script  :Big Grin: 
Dieses Script habe ich mir damals gebaut um das ganze etwas zu vereinfachen. Es ist natürlich sehr schlicht. Von Programmieren hab ich kaum ne Ahnung. Deswegen wird da vielles unschön sein.

Da das Script recht groß ist werde ich es einfach anhängen.

*Erklärung zum Script:*

Ja. Hier möchte ich euch kurz zeigen was das Script alles kann oder auch nicht und wie ihr es erweitern könnt.

Als erstes macht das Script ausführbar und kopiert es nach (zum Beispiel) /usr/local/bin/ - genauso auch die beiden anderen Dateien!
Dann braucht ihr auch noch:
http://hoopajoo.net/projects/xautomation.html
Kompiliert es und installiert es.
Optional kann man auch noch osd_cat nehmen. Wird von "remote" benutzt!

Bevor ihr es benutzen könnt führt bitte "remote setup" aus. Beantwortet die Fragen und dann kanns los gehen.
Alternativ kann man auch noch "remote setup-x" eingeben - für welche die es unbedingt grafisch machen wollen  :Big Grin:  (benötigt aber kdialog!)

Nun erstmal zur erläuterung.

a) In erster Linie kann man damit Programm ausführen - gut, also nix besonderes oder insteresantet.

Das ganze geht nach folgendem Schema:
remote app [programm]

Das Programm muss allerdings schon im Script eingebaut sein um alle Funktionen zu nutzen.
Wenn man zum Beispiel tvtime starten will - dann führt man "remote app tvtime" aus.
Ich habe das auf der Taste "TV". Beim wiederholten klicken wird das Programm geschlossen.

b) Als zweites kann man damit auch andere Befehle ausführen. Also nicht nur graifsche Programm - auch wieder nichts besonderes.

Schema:
remote do [befehl]

Auch hier muss der Befehl eingespeichert sein um ihn in vollem masse zu benutzen!

Beispiel:
remote do snapshot

Damit wird ein Screenshot vom aktuellen Desktop gemacht und auch fortlaufen nummerierd gespeichert.
Der Pfad muss auch angepasst werden! Das passiert mit dem Befehl "remote setup" - welches ich ja auch schon beschrieben habe.

c) Nun kommt wohl das nützlichste.
Man kann seine Fernbedienung nun auch vollkommen als Tastatur benutzen!
Wie das gehen soll? Ganz einfach:
Auf meinem PC nutze ich eigentlich keinen Vidio-Text. Somit sind die 5 Videiotext-Knöpfe für mich sinnlos. (4x Farben + 1x TXT)

Mit den Zahlen auf der Fernbedienung kann man nun auch Buchstaben tippen!
Dabei dienen die 5 Teletext tasten als auswahl.
Drückt man die Taste TXT so werden die Zahlen aktiviert. Man kann also von 0-9 alle Zahlen tippen.

Drückt man nun aber "rot" dann werden die ersten Buchstaben aktiviert. Ähnlich wie bei einem Handy.
Die Taste 2 ist dann das a.
Drück man Grün so ist die Taste 2 b
Bei gelb ist sie dann c

Und was ist dann mit der letzten Farbe? Blau? Ja! Damit kann man die Maus steuern.
2 - Hoch
4 - links 
5 - runter
6 - rechts
3 - Mausklick links

Die Geschschwindigkeit der Maus kann man mit
Blau + 1 --> vergrößern
Gelb + 1 --> verkleinern!



So, ich denke mal ich hab ich jetzt gezeigt was man damit machen kann.
Alle Programme die man braucht sind in dem Zip-Paket enhalten.

Viel Spaß  :Big Grin: 

Hinweiß: Ich Hafte für nichts undniemanden! :|

----------


## hans12

Als (glücklicher?) Besitzer eines neuen Medion/Aldi-PCs habe ich die Ausführungen mit großem Interesse gelesen.

Da die von Medion mitgelieferte Multimediasoftware Mist ist, kam ich auf den verwegenen Gedanken, meinen funktionierenden c´t-VDR auf diese Kiste zu migrieren.
Die DVB-Karte umzubauen und Linux zu installieren, ist selbst ohne Monitor nur am Fernseher kein Problem. Mit 2.6er Knoppix-Kernel wird sogar der Lüfter auf ein erträgliches Maß gedrosselt...
Nur ein Problem bleibt: wie schiebe ich dem VDR die Medion Fernbedienung als LIRC-Gerät unter?

Ich habe zwar an dem vorhandenen alten VDR ein IR-Modul, aber die dortige Fernbedienung hat nicht alle notwendigen Tasten. Da wäre es doch schade, das schöne Medion-Teil nicht zu nutzen und statt dessen noch eine Fernbedienung zu kaufen...

Hat irgendjemand Ideen dazu?

Ciao,
  H.

----------


## Irenicus

laut http://gatos.sourceforge.net/ati_remote.php 
ist der treiber seit 2.6.5 im Kernel und in Lirc ab 0.7 integriert.

ich hab auch noch zwei andere links gefunden:

freevo-wiki Ausführliche Anleitung 

http://remotew.free.fr/linux_en.htm

----------

