staging.inyokaproject.org

MCE Fernbedienung Version 1

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

Moni_Little

Anmeldungsdatum:
22. Februar 2008

Beiträge: Zähle...

Hallo!

Ich habe eine MCE-Fernbedienung vom Typ "SpeedLink SL-6399", die ich auf meinem Ubuntu-Multimedia-PC einsetzen möchte (Ubuntu 7.10). Die Fernbedienung stecke ich an den USB an und sie funktioniert sofort, ohne dass ich lirc installieren muss. Allerdings kann ich die Tastenbelegung nicht ändern. Beispielsweise möchte ich beim Drücken auf "Back", dass "Esc" ausgeführt wird (für MythTV). Es hilft auch nichts, den Weg über lirc und .lircrc zu gehen, die Tastenbelegung lässt sich nicht ändern.

Nun habe ich in einem (Windows-)Forum folgenden Kommentar gefunden: "Die Fernbedienung SL-6399 von Speed Link ist kompatibel zu MCE Version 1 und nicht zur Version 2. Dies ist wichtig zu wissen, da die MCE v1 eine "USB to HID" (HID = Human Interface Device)Schnittstelle besitzt, die MCE v2 (oder auch MCE 2005 genannt) hingegen eine "USB to Ird" (Ird = Infrared). HID ist mehr oder weniger eine Simulation von Computer-Tastatur-Codes während die Ird-Schnittstelle Infrarot-Codes an die Applikation meldet. Kurzum, die SL-6399 unterstützt den "alten" MCE Remote Control Standard."

So wie ich das verstehe kann ich also die Fernbedienung nicht mit lirc umkonfigurieren, da sie die HID-Schnittstelle und nicht die Ird-Schnittstelle benutzt. Ist das richtig oder gibt es da einen Trick? Falls sich die Fernbedienung nicht umkonfigurieren lässt, ist es dann sinnvoll, dass ich mir eine MCE v2 Fernbedienung kaufe und diese entsprechend mit lirc konfiguriere? Das müsste ja dann nach obigem Kommentar möglich sein...

Vielen Dank für Eure Hilfe schonmal!

solardeity

Avatar von solardeity

Anmeldungsdatum:
28. Mai 2006

Beiträge: Zähle...

Habe genau den gleichen FB und genau das gleiche problem, suche auch eine lösung, hast du eventuell schon was gefunden??
MFG

Moni_Little

(Themenstarter)

Anmeldungsdatum:
22. Februar 2008

Beiträge: 10

Kann leider nur die folgende Lösung anbieten, die bei mir aber problemlos funktioniert hat: MCE v1 Fernbedienung zurückgeben, MCE v2 Fernbedienung kaufen. Ich hab jetzt die original Microsoft Media Center Fernbedienung und die tut einwandfrei (bis auf Probleme mit dem Standby-Modus, der nicht mehr richtig funktioniert, seit der Empfänger am USB hängt).

Sebi82

Anmeldungsdatum:
7. Juli 2008

Beiträge: Zähle...

Nabend zusammen.
Also ich habe das Ding auch letztens Gekauft. Leider habe ich über Google keine Anleitung gefunden, wie man das Ding ans laufen bekommt, also habe ich nun sicher 3Abende damit verbracht herrauszufinden, wie man das Ding am besten eingebunden bekommt. Das System unter dem ich es ans laufen bekommen habe ist ein "Ubuntu 8.04 Hardy Heron". Bei der Fernbedienung handelt es sich um eine Speed-Link SL-6399.
Also Grundsätzlich wird das USB-Dongel als USB Keyboard und Maus erkannt. Achtung - dazu muss die Fernbedienung mit Batterien befüllt und Sichtverbindung zumUSB-Dongel haben, wenn man den USB-Stecker einsteckt. Dann spuckt der Kernel über dmesg folgendes aus:

[ 7410.599326] usb 7-2: new low speed USB device using uhci_hcd and address 3
[ 7410.792488] usb 7-2: configuration #1 chosen from 1 choice
[ 7410.820691] input: HOLTEK     YaoCoo       as /devices/pci0000:00/0000:00:11.1/usb7/7-2/7-2:1.0/input/input8
[ 7410.847199] input,hidraw0: USB HID v1.10 Keyboard [HOLTEK     YaoCoo      ] on usb-0000:00:11.1-2
[ 7410.886885] input: HOLTEK     YaoCoo       as /devices/pci0000:00/0000:00:11.1/usb7/7-2/7-2:1.1/input/input9
[ 7410.927141] input,hiddev96,hidraw1: USB HID v1.10 Mouse [HOLTEK     YaoCoo      ] on usb-0000:00:11.1-2


Danach gibt es die folgenden 3 Devices:
/dev/input/by-id/usb-HOLTEK_YaoCoo-event-kbd
/dev/input/by-id/usb-HOLTEK_YaoCoo-event-mouse
/dev/input/by-id/usb-HOLTEK_YaoCoo-mouse
(Ja - das sind Symbolische Links die irgendwo nach /dev/input/ zeigen)
Wenn man nun einige Tasten drück, merkt man schon, das es Reaktionen auf der Oberfläche gibt. Nun muss man die Eingaben über die Fernbedienung wieder irgendwie in richtung lirc bewegen. Hier kommt inputlirc ins Spiel. Dies ist ein Dienst, der die Signale eines oder mehrer Eingabegeräte an /dev/lircd zur Verfühgung stellt, damit sie dort von einem lirc-client abgefragt werden können.
Dazu muss man das Packet installieren und folgenden Befehl ausführen:

sudo inputlircd -f -g -m0 /dev/input/by-id/usb-HOLTEK_YaoCoo-event-*


Dieser Befehl Startet den Dienst. "-f" bewirkt, das der Dienst die Console nicht wieder frei gibt (damit man ihn mit crtl-c stoppen kann). "-g sorgt dafür, das der Dienst exklusive Rechte an den Eingabegeräten hat. "-m0" bewirkt, das alle Signale vom Dienst wargenommen werden. Der letzte Parameter gibt alle drei Eingabe-Geräte an, die der USB-Dongel dastellt.
Nun lässt sich auf einer weiteren Console der Befehl "irw" (Teil vom lirc Package) ausführen und die Signale der Fernbedienung beobachten, sobald man eine Taste drückt:

1c 0 KEY_ENTER usb-HOLTEK_YaoCoo-event-kbd
6a 0 KEY_RIGHT usb-HOLTEK_YaoCoo-event-kbd
69 0 KEY_LEFT usb-HOLTEK_YaoCoo-event-kbd
6c 0 KEY_DOWN usb-HOLTEK_YaoCoo-event-kbd
67 0 KEY_UP usb-HOLTEK_YaoCoo-event-kbd


Wenn das alles Funktioniert hat, kann man inputlircd mit crtl-c beendet und die dauerhafte Konfiguration vornehmen.
Dazu muss die /etc/default/inputlirc wie folgt aussehen:

# Options to be passed to inputlirc.
#EVENTS="/dev/input/event*"
EVENTS="/dev/input/by-id/usb-HOLTEK_YaoCoo-event-*"
OPTIONS="-m0 -g"


Und mit folgendem Befehl lässt sich dann der Dienst starten:

sudo /etc/init.d/inputlirc start


Im Anhang findet ihr auch noch die Konfiguration für mms, die ich benutze.
Ich hoffe es ist so halbwegs verständlich und hilft euch weiter.

Grüße Sebi

P.s.: Achja - manche Tasten auf der Fernbedienung senden auch Tastenkombinationen "STOP" z.b. sendet KEY_LEFTCTRL+KEY_LEFTSHIFT+KEY_S, während "PAUSE" KEY_LEFTCTRL+KEY_P. Weis einer wie man die unterscheiden kann? Kann ich MMS in der input-lirc/lirc.conf irgendwie Tastenkombinationen eintragen?

lirc.conf (730 Bytes)
/etc/mms/lirc.conf
Download lirc.conf
input-lirc.txt (1.9 KiB)
/etc/mms/input-lirc Bitte .txt entfernen!!
Download input-lirc.txt

metalbote

Anmeldungsdatum:
2. August 2008

Beiträge: Zähle...

Hallo Sebi82, bist du mit der Belegung der Speedlink bzgl. Tastenkombinationen weitergekommen ?

Das einzige was ich bisher gefunden habe, ist folgender Artikel im mythtv wiki: http://www.mythtv.org/wiki/index.php/Generic_HID_%22MCE%22_Remotes

Sebi82

Anmeldungsdatum:
7. Juli 2008

Beiträge: 9

@metalbote: Tastenbelegung funktioniert ja soweit. Was halt doof ist, ist das Pause und Play die gleiche Funktion haben. Momentan hebe ich das ganze auf Hardy und komme dabei mit neuen Konfigs von MMS ins Gehege. Wenn ich zeit finde übersetze ich die Konfig neu.

Sebi

Sebi82

Anmeldungsdatum:
7. Juli 2008

Beiträge: 9

Also ich hatte tierische Probleme mit dem Versionsstand 1.1.0 rc6 von MMS aus dem Repository http://www.prodeia.de/mms/hardy/. Xine war nicht sauber eingebunden, die Konfiguration komplett anders und am ende habe ich mich dazu entschlossen elisa zu installieren. Dieses wird per Tastatur gesteuert. Da die Mce ein Tastatur-gerät darstellt und einige Knöpfe durch Elisa richtig voreingestellt sind, kann man die Tastatur da auch ohne input-lirc benutzen. Ich werde es so erst einmal so laufen lassen. Grüße Sebi

ottmann

Anmeldungsdatum:
5. September 2007

Beiträge: Zähle...

ich bin zur Zeit dabei eine MCE Fernbedienung vom HAMA zum laufen zu bringen und werd fast wahnsinnig -.-

also dmesg sagt mir folgendes:

[    4.325223]  sda:<6>input: HID 05a4:9881 as /devices/pci0000:00/0000:00:03.0/usb2/2-1/2-1:1.0/input/input2
[    4.336443] input,hidraw0: USB HID v1.10 Keyboard [HID 05a4:9881] on usb-0000:00:03.0-1
[    4.346898]  sda1 sda2 < sda5<6>input: HID 05a4:9881 as /devices/pci0000:00/0000:00:03.0/usb2/2-1/2-1:1.1/input/input3
[    4.366229] input,hidraw1: USB HID v1.10 Mouse [HID 05a4:9881] on usb-0000:00:03.0-1

lsusb gebt mir folgende infos

root@vdr:~# lsusb  -s 002:002 -v

Bus 002 Device 002: ID 05a4:9881 Ortek Technology, Inc. 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x05a4 Ortek Technology, Inc.
  idProduct          0x9881 
  bcdDevice            1.10
  iManufacturer           0 
  iProduct                0 
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           59
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      1 Keyboard
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.10
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      63
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval              10
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 No Subclass
      bInterfaceProtocol      0 None
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.10
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength     208
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0005  1x 5 bytes
        bInterval              10
Device Status:     0x0000
  (Bus Powered)

dann hab ich noch folgende infos bei den input devices

root@vdr:~# ls -l /dev/input/by-id/
insgesamt 0
lrwxrwxrwx 1 root root 9 2009-02-19 21:37 usb-05a4_9881-event-kbd -> ../event2
root@vdr:~# ls -l /dev/input/by-path/
insgesamt 0
lrwxrwxrwx 1 root root 9 2009-02-19 21:37 pci-0000:00:03.0-usb-0:1:1.0-event-kbd -> ../event2
lrwxrwxrwx 1 root root 9 2009-02-19 21:37 pci-0000:00:03.0-usb-0:1:1.1- -> ../mouse1
lrwxrwxrwx 1 root root 9 2009-02-19 21:37 pci-0000:00:03.0-usb-0:1:1.1-event- -> ../event3
lrwxrwxrwx 1 root root 9 2009-02-19 21:37 pci-0000:00:09.0--event-ir -> ../event7
lrwxrwxrwx 1 root root 9 2009-02-19 21:37 platform-i8042-serio-0-event-kbd -> ../event1
lrwxrwxrwx 1 root root 9 2009-02-19 21:37 platform-pcspkr-event-spkr -> ../event4

und noch /proc/

root@vdr:~# cat /proc/bus/input/devices 
I: Bus=0017 Vendor=0001 Product=0001 Version=0100
N: Name="Macintosh mouse button emulation"
P: Phys=
S: Sysfs=/devices/virtual/input/input0
U: Uniq=
H: Handlers=mouse0 event0 
B: EV=7
B: KEY=70000 0 0 0 0 0 0 0 0
B: REL=3

I: Bus=0011 Vendor=0001 Product=0001 Version=ab41
N: Name="AT Translated Set 2 keyboard"
P: Phys=isa0060/serio0/input0
S: Sysfs=/devices/platform/i8042/serio0/input/input1
U: Uniq=
H: Handlers=kbd event1 
B: EV=120013
B: KEY=4 2000000 3803078 f800d001 feffffdf ffefffff ffffffff fffffffe
B: MSC=10
B: LED=7

I: Bus=0003 Vendor=05a4 Product=9881 Version=0110
N: Name="HID 05a4:9881"
P: Phys=usb-0000:00:03.0-1/input0
S: Sysfs=/devices/pci0000:00/0000:00:03.0/usb2/2-1/2-1:1.0/input/input2
U: Uniq=
H: Handlers=kbd event2 
B: EV=120013
B: KEY=e080ffdf 1cfffff ffffffff fffffffe
B: MSC=10
B: LED=7

I: Bus=0003 Vendor=05a4 Product=9881 Version=0110
N: Name="HID 05a4:9881"
P: Phys=usb-0000:00:03.0-1/input1
S: Sysfs=/devices/pci0000:00/0000:00:03.0/usb2/2-1/2-1:1.1/input/input3
U: Uniq=
H: Handlers=kbd mouse1 event3 
B: EV=17
B: KEY=1f0000 0 2020000 3878 d801d001 1e0000 0 0 0
B: REL=103
B: MSC=10

I: Bus=0010 Vendor=001f Product=0001 Version=0100
N: Name="PC Speaker"
P: Phys=isa0061/input0
S: Sysfs=/devices/platform/pcspkr/input/input4
U: Uniq=
H: Handlers=kbd event4 
B: EV=40001
B: SND=6

I: Bus=0019 Vendor=0000 Product=0002 Version=0000
N: Name="Power Button (FF)"
P: Phys=LNXPWRBN/button/input0
S: Sysfs=/devices/LNXSYSTM:00/LNXPWRBN:00/input/input5
U: Uniq=
H: Handlers=kbd event5 
B: EV=3
B: KEY=100000 0 0 0

I: Bus=0019 Vendor=0000 Product=0001 Version=0000
N: Name="Power Button (CM)"
P: Phys=PNP0C0C/button/input0
S: Sysfs=/devices/LNXSYSTM:00/device:00/PNP0C0C:00/input/input6
U: Uniq=
H: Handlers=kbd event6 
B: EV=3
B: KEY=100000 0 0 0

I: Bus=0001 Vendor=13c2 Product=0000 Version=0002
N: Name="DVB on-card IR receiver"
P: Phys=pci-0000:00:09.0/ir0
S: Sysfs=/devices/pci0000:00/0000:00:09.0/input/input7
U: Uniq=
H: Handlers=kbd event7 
B: EV=100013
B: KEY=fc812 a052041 0 0 0 0 0 4000 40002800 1e1680 0 0 ffc
B: MSC=18

meiner meinung nach ist nun /dev/input/event2 die Fernbedienung nun will ich sie mir inputlircd an lirc binden . jedoch klappt das nicht hier der der output:

root@vdr:~# sudo inputlircd -f -g -m0 /dev/input/event2 
Failed to grab /dev/input/event2: Device or resource busy
Unable to open any event device!

selbige wenn ich es über die ID mach

root@vdr:~# sudo inputlircd -f -g -m0 /dev/input/by-id/usb-05a4_9881-event-kbd 
Failed to grab /dev/input/by-id/usb-05a4_9881-event-kbd: Device or resource busy
Unable to open any event device!

ich weis leider nicht wo mein Fehler liegt und warum die devices immer busy sind.

Hat jemand von euch vielleicht noch einen Tip was ich falsch mache?

Danke schon mal für eure Hilfe Liebe Grüße Jens

Heinrich_Schwietering Team-Icon

Wikiteam
Avatar von Heinrich_Schwietering

Anmeldungsdatum:
12. November 2005

Beiträge: 11288

Hi!

@ ottmann

Ich denke, dass über event7 die FB verwendbar wird;

I: Bus=0001 Vendor=13c2 Product=0000 Version=0002
N: Name="DVB on-card IR receiver"
P: Phys=pci-0000:00:09.0/ir0
S: Sysfs=/devices/pci0000:00/0000:00:09.0/input/input7
U: Uniq=
H: Handlers=kbd event7 
B: EV=100013
B: KEY=fc812 a052041 0 0 0 0 0 4000 40002800 1e1680 0 0 ffc
B: MSC=18

und

lrwxrwxrwx 1 root root 9 2009-02-19 21:37 pci-0000:00:09.0--event-ir -> ../event7

Vielleicht solltest du damit mal weitermachen.

Und noch was: es macht wenig Sinn, das alles als root zu machen; du willst doch die FB als normaler Benutzer verwenden, und nicht dauernd als "Root" rumlaufen (ganz schlechte Idee).

so long
hank

Daren

Anmeldungsdatum:
30. Januar 2009

Beiträge: Zähle...

Hallo zusammen,

ich habe mir ebenfalls besagte Fernbedienung SpeedLink SL-6399 besorgt und habe versucht nach diesem Howto vorzugehen. Nach dem Einstecken funktioniert die Fernbedinung auch grundsätzlich, ebenso werden die Devises in /dev/input/by-id angezeigt. Wenn ich dann allerdings den angegebenen Befehl von inputlirc angebe erscheint folgendes:

inputlircd -f -g -m0 /dev/input/by-id/usb-HOLTEK_YaoCoo-event-*

Failed to grab /dev/input/by-id/usb-HOLTEK_YaoCoo-event-kbd: Device or resource busy
Failed to grab /dev/input/by-id/usb-HOLTEK_YaoCoo-event-mouse: Device or resource busy
Unable to open any event device!

Was bedeutet das nun?

Achja, das ganze läuft unter Mythbuntu 8.10

oroberos

Avatar von oroberos

Anmeldungsdatum:
21. Juli 2008

Beiträge: Zähle...

schonmal xbindkeys probiert?

bei meinen tablet-tasten bin ich damit mal weitergekommen.

sudo apt-get install xbindkeys
xbindkeys --defaults > /home/gerhard/.xbindkeysrc
xbindkeys -k

dann eine anders zu belegende taste auf der fernbedienung drücken.

Es erscheint ein keycode auf der shell. Den muss man kopieren, in ~/.xbindkeysrc am Ende einfügen. Die Art, wie man die zum keycode gehörende taste belegt ist in der Datei am Anfang dokumentiert.

oroberos

Avatar von oroberos

Anmeldungsdatum:
21. Juli 2008

Beiträge: 40

wollte weils zum thema "ubuntu fernsteuern" passt nur mitteilen, dass ich mit der SpeedLink SL-6399 fernbedienung eigentlich alles sehr gut fernsteuern kann und keine offenen wünsche habe.

firefox lässt sich perfekt fernbedienen. meine tipps und addon empfehlungen dafür gibt es hier: http://ghagerer.blogspot.com/2009/05/fernbedienung-unter-linux.html.

kaffeine-fernsteuerung kann man über einstellungen → "kurzbefehle festlegen" einrichten.

ubuntu lässt sich über system → einstellungen → tastenkombinationen auf die fernbedienung anpassen. was man damit nicht hinkriegt macht man mit xbindkeys (siehe vorigen beitrag von mir).

ich finds einfach nur genial...

Antworten |