Ich nutze den Intel-CIR-Infrarot-Empfänger auf meinem Mainboard, zusammen mit einer Logitech-Harmony-Fernbedienung. Ich bin mit den Reaktionszeiten sehr unzufrieden und würde gerne wissen, wo man das in Ubuntu 12.04 nachregelt. An der Fernbedienung hab ich schon rumprobiert. Da gibt's ja diesen Delay-Wert für die Geschwindigkeit, mit der Befehle gesendet werden. Ich weiß aber, dass es den auf der Empfängerseite auch gibt. Weiß jemand wo und wie? Wenn ich ne Taste drücke, braucht das jedesmal ne halbe Sekunde, bis XBMC reagiert. Halte ich die Taste dann zu lange, wird doppelt empfangen. Ich will das unbedingt nachjustieren. Ganz bestimmt liegt es an der Empfängerseite und nicht an der Fernbedienung.
Fernbedienung zu langsam
-
-
Hi,
was macht dich so sicher, dass es nicht die FB ist? Welche Protokolle werden denn von dem Intel CIR unterstützt?
Gruß
Atech -
Quote
was macht dich so sicher, dass es nicht die FB ist?
...ach, das war klar... Antwort hier:
QuoteAn der Fernbedienung hab ich schon rumprobiert. Da gibt's ja diesen
Delay-Wert für die Geschwindigkeit, mit der Befehle gesendet werden.Da Dich das sicher nicht zufrieden stellt:
Eine weitere Verringerung des Delay-Wertes an der FB führt nicht mehr zu einer Erhöhung der Reaktionszeit. Stattdessen muss ich mehrmals einen Knopf drücken, bis er erkannt wird. Daraus folgere ich, dass es an der Reaktionszeit des Empfängers liegen muss, die offenbar zu hoch ist. Oder einfacher: Die FB sendet bei weiterer Verringerung des Delay-Wertes schneller, als der IR-Empfänger empfängt.
QuoteWelche Protokolle werden denn von dem Intel CIR unterstützt?
RC6
Ich hab schon diesen Bandwurmthreat hier gefunden und ziemlich viel darin gelesen. Die vorgeschlagenen Maßnahmen kann ich aber nicht umsetzen, weil es z. B. /lib/udev/rules.d/40-ir-keytable.rules bei mir nicht gibt. Ich nutze Mythbuntu (Ubuntu 12.04 Precise als 64Bit) und Lirc mit XBMC. IR-Keytables, wie im Threat öfter erwähnt, hab ich glaub ich gar nicht.
-
Hier noch ein weiteres Problem.
CIR bzw. nuvoton-cir, Nachlaufen von Befehlen
Was sagt denn ir-keytables, wenn du es auf dem Terminal eingibst?
-
Den Befehl gibt's bei mir gar nicht. Wenn ich nur ir eintippe und dann zweimal Tab zur Auto-Vervollständigung, dann kommt nur diese Liste:
Quote# ir
ircat irman2lirc irqbalance irsend irxevent
irexec irpty irrecord irwEdit:
Quote
Die Anwendung »ir-keytable« ist momentan nicht installiert. Sie können sie durch folgende Eingabe installieren:
apt-get install ir-keytableTja, soll ich das denn wirklich machen? Bis jetzt funktioniert die FB ja mit XBMC - nur halt zu langsam. Wofür ist denn das Paket? Zerschieß ich mir damit auch nichts? Ich hör jetzt zum ersten mal davon.
-
Zitat
was macht dich so sicher, dass es nicht die FB ist?...ach, das war klar... Antwort hier:
Zitat
An der Fernbedienung hab ich schon rumprobiert. Da gibt's ja diesen
Delay-Wert für die Geschwindigkeit, mit der Befehle gesendet werden.Da Dich das sicher nicht zufrieden stellt:
Eine weitere Verringerung des Delay-Wertes an der FB führt nicht mehr zu einer Erhöhung der Reaktionszeit. Stattdessen muss ich mehrmals einen Knopf drücken, bis er erkannt wird. Daraus folgere ich, dass es an der Reaktionszeit des Empfängers liegen muss, die offenbar zu hoch ist. Oder einfacher: Die FB sendet bei weiterer Verringerung des Delay-Wertes schneller, als der IR-Empfänger empfängt.
Was bedeutet denn bitte "das war ja klar"? Ohne details kann man dir schlecht helfen. Aus Erfahrung mit der Harmony weiss ich, dass diese Effekte mit der Harmony gerne auftreten und eben manchmal nur schwer nachgeregelt werden können. Daher ist die Frage durchaus berechtigt.
IR-Keytables ist nur hilfreich wenn der Empfänger z.B. als HID erkannt wird und dann an die Keytabelle gebunden wird. Wenn du lirc sozusagen Pur einsetzt dann musst du auch die Optionen von Lirc benutzen und nicht an den keytabellen rumdrehen. Es sei denn du missbrauchst lirc (z.B. hiddev als Treiber für lirc) und schleifst das ganze nur durch. Dann bekommst du aber unter Umständen genau diese Seiteneffekte.
Also wie ist dein Setup?
Atech
-
Tja, da bin ich mir nicht ganz sicher. Ich denke ich nutze Lirc "Pur". Der CIR ist wie gesagt fest auf dem Mainboard, also kein HID oder USB-Kram. Ich musste so einen Cheatcode in grub eintragen, damit irgendein Serial-Port deaktiviert und CIR freigegeben wird. Das Setup wurde ansonsten von der Mythbuntu-Installation vorgenommen. Also alles standard. Ich hab halt nur hier und da was verändert. Etwa die Keymap.xml von XBMC oder den genannten Grub-Eintrag hinzugefügt.
Keytables, durchschleifen,... nee das will ich nicht. Die Sache läuft ja - nur eben nicht rund.
-
Tja, da bin ich mir nicht ganz sicher. Ich denke ich nutze Lirc "Pur".
Lirc "pur" mit CIR gibt es nicht. Da ist dann mindestens die rc-core auf lircd Bridge aktiv. CIR braucht auch keinen seriellen Port. Bitte beschreibe doch mal genau was da an Hardware genutzt wird. -
Keytables, durchschleifen,... nee das will ich nicht. Die Sache läuft ja - nur eben nicht rund.
Sorry, es läuft ja irgendwie ist keine Beschreibung deines Setups. Ich vermute, dass da irgendwas in der Art wie ich es beschrieben habe läuft. Hast du mal irw probiert? Da sollte man falls du lirc wirklich benutzt deine Tastendrücke sehen.
-
Ich wusste bislang überhaupt nicht, dass es mehrere Setup-Varianten gibt. Daher weiß ich leider auch nicht welche bei mir nun läuft.
Dass mit dem Seriellen Port verhält sich so:
Quote
Reclaim the serial portThe
serial port which the WPCD376I uses for IR TX/RX is only useful for
Consumer IR, but it looks enough like a "normal" uart for the serial
driver to claim the port.
If you don't free up the port you will
get a message like this in dmesg. "Winbond CIR 00:08: Region
0x2f8-0x2ff already in use!" Ubuntu is using Grub 2. We need to pass
the parameter "8250.nr_uarts=1" to every kernel we boot or may boot in
the future. Edit /etc/default/grub . You have to have superuser
privileges. I use vi and ran "sudo vi /etc/default/grub". Modify the
line GRUB_CMDLINE_LINUX= to GRUB_CMDLINE_LINUX="8250.nr_uarts=1".
Then update grub with "sudo update-grub". then reboot. "dmesg | grep
Winbond" should show "input: Winbond CIR as
/devices/virtual/input/input5" or similar.Quelle: Hier
Das Tutorial ist ziemlich einzigartig. Es gibt sonst nur noch ein oder zwei Foreneinträge, wo das mit dem Serial-Port und dem CIR-Konflikt erwähnt wird. Anders als im Tutorial erwähnt, funktioniert die Tastenabfrage per input-event x bei mir nicht. Ich muss irw nehmen, wenn ich Tasten angezeigt bekommen will. Ist ja aber auch egal, denn ich will ja die Delay-Zeit ändern und erstmal keine Tasten neu belegen.
Hardwaremäßig weiß ich leider nicht was man da besonders "genau" angeben kann. Das Mainboard ist ein Intel DP35DP mit CIR onboard, fertig. Da CIR nunmal ein Standard ist, gib't da meines Wissens auch keine Variationen. Vielleicht höchstens noch beim Empfänger. Ich habe keinen selbstgebastelten, sondern einen gekauften. Wer CIR kennt weiß, dass es da weltweit nur einen gibt, der die baut und verkauft. Irgendsoein Ami, der die per Ebay vertickt. In Deutschland ist mir nur Cohaus aus Berlin bekannt, der die Dinger verkauft. Da hab ich meinen auch her. Er kauft sie aber ebenfalls bei dem Hersteller aus Amerika.
Kann ich sonst noch was zur Hardware angeben? Vielleicht irgendeine Ausgabe vom Terminal?
Ausgabe von lsinput:
Quote/dev/input/event5
bustype : BUS_HOST
vendor : 0x10ad
product : 0xf1
version : 4
name : "Winbond CIR"
phys : "wbcir/cir0"
bits ev : EV_SYN EV_KEY EV_MSC EV_REP/dev/input/event6
bustype : (null)
vendor : 0x0
product : 0x0
version : 0
name : "MCE IR Keyboard/Mouse (Winbond C"
phys : "/input0"
bits ev : EV_SYN EV_KEY EV_REL EV_MSC EV_REPAusgabe von dmesg | grep CIR
Quote# dmesg | grep CIR
[ 9.604102] input: Winbond CIR as /devices/pnp0/00:08/rc/rc0/input5
[ 9.604149] rc0: Winbond CIR as /devices/pnp0/00:08/rc/rc0
[ 9.607837] input: MCE IR Keyboard/Mouse (Winbond CIR) as /devices/virtual/input/input6
[ 9.607927] rc rc0: lirc_dev: driver ir-lirc-codec (Winbond CIR) registered at minor = 0 -
Wie jetzt? Ist das Thema jetzt erledigt?
QuoteWenn du lirc sozusagen Pur einsetzt dann musst du auch die Optionen von Lirc benutzen und nicht an den keytabellen rumdrehen.
Was gibt's denn da für Optionen in Lirc?
-
Hi,
gebe doch bitte mal irw in der Konsole ein und drücke einige Tasten auf der FB, zum Verifizieren.
Atech
-
Code
Display More# irw 000000037ff07be9 00 KEY_PLAYCD Acer_Aspire_6530G_MCE 000000037ff07be9 01 KEY_PLAYCD Acer_Aspire_6530G_MCE 000000037ff07be9 02 KEY_PLAYCD Acer_Aspire_6530G_MCE 000000037ff07bdf 00 KEY_LEFT Acer_Aspire_6530G_MCE 000000037ff07bdf 01 KEY_LEFT Acer_Aspire_6530G_MCE 000000037ff07bdf 02 KEY_LEFT Acer_Aspire_6530G_MCE 000000037ff07be0 00 KEY_DOWN Acer_Aspire_6530G_MCE 000000037ff07be0 01 KEY_DOWN Acer_Aspire_6530G_MCE 000000037ff07bde 00 KEY_RIGHT Acer_Aspire_6530G_MCE 000000037ff07bde 01 KEY_RIGHT Acer_Aspire_6530G_MCE 000000037ff07bde 02 KEY_RIGHT Acer_Aspire_6530G_MCE 000000037ff07be1 00 KEY_UP Acer_Aspire_6530G_MCE 000000037ff07be1 01 KEY_UP Acer_Aspire_6530G_MCE 000000037ff07be1 02 KEY_UP Acer_Aspire_6530G_MCE 000000037ff07bef 00 KEY_VOLUMEUP Acer_Aspire_6530G_MCE 000000037ff07bef 01 KEY_VOLUMEUP Acer_Aspire_6530G_MCE 000000037ff07bef 02 KEY_VOLUMEUP Acer_Aspire_6530G_MCE 000000037ff07bed 00 KEY_CHANNELUP Acer_Aspire_6530G_MCE 000000037ff07bed 01 KEY_CHANNELUP Acer_Aspire_6530G_MCE 000000037ff07bed 02 KEY_CHANNELUP Acer_Aspire_6530G_MCE
-
Es gibt bei mir den Ordner /etc/lirc. Darin enthalten sind einige Konfig-Dateien, die vielleicht mehr Aufschluss über meine Setup-Variante geben.
hardware.conf:
Code
Display More# /etc/lirc/hardware.conf # #Chosen Remote Control REMOTE="Winbond 8769L CIR port (e.g. Acer Aspire 6530G)" REMOTE_MODULES="lirc_dev lirc_wpc8769l" REMOTE_DRIVER="" REMOTE_DEVICE="/dev/lirc0" REMOTE_SOCKET="" REMOTE_LIRCD_CONF="acer/lircd.conf.Aspire_6530G" REMOTE_LIRCD_ARGS="" #Chosen IR Transmitter TRANSMITTER="None" TRANSMITTER_MODULES="" TRANSMITTER_DRIVER="" TRANSMITTER_DEVICE="" TRANSMITTER_SOCKET="" TRANSMITTER_LIRCD_CONF="" TRANSMITTER_LIRCD_ARGS="" #Enable lircd START_LIRCD="true" #Don't start lircmd even if there seems to be a good config file #START_LIRCMD="false" #Try to load appropriate kernel modules LOAD_MODULES="true" # Default configuration files for your hardware if any LIRCMD_CONF="" #Forcing noninteractive reconfiguration #If lirc is to be reconfigured by an external application #that doesn't have a debconf frontend available, the noninteractive #frontend can be invoked and set to parse REMOTE and TRANSMITTER #It will then populate all other variables without any user input #If you would like to configure lirc via standard methods, be sure #to leave this set to "false" FORCE_NONINTERACTIVE_RECONFIGURATION="false" START_LIRCMD=""
lircd.conf verweist nur auf eine andere Datei:
Code
Display More#This configuration has been automatically generated via #the Ubuntu LIRC package maintainer scripts. # #It includes the default configuration for the remote and/or #transmitter that you have selected during package installation. # #Feel free to add any custom remotes to the configuration #via additional include directives or below the existing #Ubuntu include directives from your selected remote and/or #transmitter. #Configuration for the Winbond 8769L CIR port (e.g. Acer Aspire 6530G) remote: include "/usr/share/lirc/remotes/acer/lircd.conf.Aspire_6530G"
Die Datei lircd.conf.Aspire_6530G, auf die verwiesen wird enthält folgendes:
Code
Display More# # this config file was automatically generated # using lirc-0.8.5-CVS(default) on Sat Jan 3 13:40:20 2009 # # contributed by Juan J. Garcia de Soria # # brand: Acer Aspire 6530G remote control # model no. of remote control: RC804V-B # devices being controlled by this remote: Acer Aspire 6530G laptop # begin remote name Acer_Aspire_6530G_MCE bits 13 flags RC6|CONST_LENGTH eps 30 aeps 100 header 2740 860 one 482 420 zero 482 420 pre_data_bits 24 pre_data 0x1BFF83 gap 110890 toggle_bit_mask 0x8000 rc6_mask 0x100000000 begin codes # POWER KEY_POWER 0x1BF3 # DVD MENU KEY_DVD 0x1BDB # REC KEY_RECORD 0x1BE8 # PLAY KEY_PLAYCD 0x1BE9 # STOP KEY_STOPCD 0x1BE6 # RWD KEY_REWIND 0x1BEA # FWD KEY_FASTFORWARD 0x1BEB # SKIP BACK KEY_PREVIOUSSONG 0x1BE4 # PAUSE KEY_PAUSECD 0x1BE7 # SKIP FWD KEY_NEXTSONG 0x1BE5 # REC TV KEY_TV2 0x1BB7 # GUIDE KEY_EPG 0x1BD9 # LIVE TV KEY_TV 0x1BDA # (arrow up) KEY_UP 0x1BE1 # (arrow left) KEY_LEFT 0x1BDF # OK KEY_ENTER 0x1BDD # (arrow right) KEY_RIGHT 0x1BDE # (arrow down) KEY_DOWN 0x1BE0 # VOL + KEY_VOLUMEUP 0x1BEF # VOL - KEY_VOLUMEDOWN 0x1BEE # BACK KEY_ESC 0x1BDC # MUTE KEY_MUTE 0x1BF1 # (windows media center logo) KEY_CYCLEWINDOWS 0x1BF2 # MORE / i KEY_COMPOSE 0x1BF0 # CH + KEY_CHANNELUP 0x1BED # CH - KEY_CHANNELDOWN 0x1BEC # (red button) KEY_RED 0x1BA4 # (green button) KEY_GREEN 0x1BA3 # (yellow button) KEY_YELLOW 0x1BA2 # (blue button) KEY_BLUE 0x1BA1 # TELETEXT KEY_TEXT 0x1BA5 # enter KEY_KPENTER 0x1BF4 # clear KEY_BACKSPACE 0x1BF5 # 1 KEY_1 0x1BFE # 2 KEY_2 0x1BFD # 3 KEY_3 0x1BFC # 4 KEY_4 0x1BFB # 5 KEY_5 0x1BFA # 6 KEY_6 0x1BF9 # 7 KEY_7 0x1BF8 # 8 KEY_8 0x1BF7 # 9 KEY_9 0x1BF6 # 0 KEY_0 0x1BFF # * KEY_KPASTERISK 0x1BE2 # # KEY_KPSLASH 0x1BE3 end codes end remote
Ich denke es ist offensichtlich, dass in meinem System der CIR-Empfänger als Acer-Aspire-6530G angesprochen wird. Kann ich vielleicht in der zuletzt aufgeführten lircd.conf.Aspire_6530G irgendwas ändern, um die Tasten-Delays zu verändern? Die Tasten-Bezeichnungen, die dort definiert sind, scheinen ja genau die zu sein, die irw dann hinterher registriert und ausgibt. Das sind ebenfalls die gleichen, die XBMC in seiner Konfigurationsdatei verwendet. Folglich scheint die Reihenfolge ja zu sein:
IR-Empfänger -> lircd.conf.Aspire_6530G -> Lirc -> XBMC.
-
Du hast doch die Ausgabe von irw gepostet (warum eigentlich? Da sehen wir nicht ob sie träge reikamen). Und wie hat es sich da angefühlt? Träge?
cu
-
Hi,
soo - jetzt wird langsam wird ja doch noch was draus. IRW zeigt ja eindeutig, dass die Taste quasi gehalten wird (zu erkennen an den 00, 01, 02 Einträgen). Ansonsten sieht es nach deinen geposteten configs so aus als ob da wirklich nur lirc Arbeitet. Stellt sich jetzt die Frage ob die Acer ASpire MCE zu deiner FB passt die du auf der Harmony ausgewählt hast.
Was jetzt die Konfiguration angeht:
Code
Display Morebegin remote name Acer_Aspire_6530G_MCE bits 13 flags RC6|CONST_LENGTH eps 30 aeps 100 header 2740 860 one 482 420 zero 482 420 pre_data_bits 24 pre_data 0x1BFF83 gap 110890 toggle_bit_mask 0x8000 rc6_mask 0x100000000
Das ist der Block indem lirc das Tastenverhalten bezüglich repeat Rate etc. codiert. Da kann man mit Sicherheit Anpassungen vornehmen. Du kannst aber auch mittels irrecord die Fernbedienung anlernen (lirc umbedingt vorher stoppen). Dann werden diese Sachen wie z.B. das Repeatverhalten ermittelt. Das muss aber nicht zwangsläufig zum Erfolg führen. Ich würde an deiner stelle mal versuchen auf der Harmony die ganz normale MCE FB auszuwählen und für lirc die lirc.conf.mce (oder so in der Art) zu verwenden. Wenn das dann immernoch zu falschen Tastendrücken führt gehe ich (wie auch aktuell) immernoch davon aus, dass die Harmony sozusagen die Taste zu lange "hält".
Gruß
Atech -
Du hast doch die Ausgabe von irw gepostet (warum eigentlich? Da sehen wir nicht ob sie träge reikamen). Und wie hat es sich da angefühlt? Träge?
cu
Ich vermute, dass die Harmony quasi die Befehele einfach merfach rausgibt und das daher ein Tastendruck länger dauert als man die Taste in Wahrheit hält. Dann verzögert sich natürlich auch der nächste Tastendruck. Ist aber schwierig ohne "Originalfernbedienung" (welche es ja für diesen Empfänger so nicht gibt) nachzuvollziehen.
Gruß
Atech -
Ich vermute, dass die Harmony quasi die Befehele einfach merfach rausgibt
Nunja, laut lircd.conf kommt so ca. jede zehntel Sekunde eine Wiederholung. Also gibts 3 Tastendrücke wenn man die Taste eine drittel Sekunde gedrückt hält. Das ist erstmal ganz normal (viele Fernbedienungen sind schneller).
Bei meiner Fernbedienung bekomme ich 25 Tastendrücke die Sekunde, ist auch kein ProblemDie Frage ist jetzt wirklich wie irw da live reagiert. Gibts nen Nachlaufen? Ich vermute mal nicht.
cu
-
IRW reagiert genau wie XBMC verzögert auf die Tastendrücke. Wenn ich eine Taste wirklich nur ganz kurz andrücke registriert irw keine doppelte Eingabe. Halte ich eine Taste etwas länger, kommt es zu den Wiederholungen. Da jeder Tastendruck ne gefühlte halbe Sekunde braucht, um anzukommen, ist man natürlich geneigt, "deutlich", also länger und fester zu drücken.
Mit den Konfig-Dateien:...tja...der Ordner /usr/share/lirc/remotes hat sehr viele Unterordner von verschiedensten Herstellern. Jeder Ordner hat nochmal viele Konfigdateien. Ich weiß, dass der CIR-Receiver sowohl auf die den Namen Winbond CIR als auch Acer Aspire 6530G hört und ein RC6-Empfänger ist. Der CIR-Header ist von Intel. Jetzt ist hier eine Config-Datei im Ordner generic, die einfach nur RC6 heißt:
Code
Display More# # generic RC-6 config file # # source: http://home.hccnet.nl/m.majoor/projects__remote_control.htm # http://home.hccnet.nl/m.majoor/pronto.pdf # # used by: Philips begin remote name RC-6 bits 8 flags RC6|CONST_LENGTH eps 30 aeps 100 header 2667 889 one 444 444 zero 444 444 pre_data_bits 13 pre_data 0xEFB gap 108000 toggle_bit 5 begin codes end codes end remote
Einen Ordner Winbond gibt es leider nicht. Fehlanzeige auch bei Intel. Einzig Acer scheint mir noch sinnvoll - und das ist ja der, der gerade läuft. Im Ordner ist auch nur eine Datei. Ich will eigentlich erstmal lieber an der vorhandenen Config-Datei rumspielen, weil die ja nun grundsätzlich funktioniert.
Den Ausschnitt, den Atechsystems da erwähnt, finde ich auch sehr interessant. Besonders die Zeile gap. Ich kann mir nur auf die Werte absolut keinen Reim machen.
-
IRW reagiert genau wie XBMC verzögert auf die Tastendrücke. Wenn ich eine Taste wirklich nur ganz kurz andrücke registriert irw keine doppelte Eingabe. Halte ich eine Taste etwas länger, kommt es zu den Wiederholungen.
Ist ja auch korekt so. Eine gedrückt gehaltene Taste produziert Wiederholungen. Evtl. ist deine Fernbedienung so langsam eingestellt?
Beende mal lircd und mache mode2 auf, der zeigt die Impulse die reinkommen, damit siehst du ja was die FB sendet (ich denke nicht das CIR nen Buffer hat der verzögert).
cu
Participate now!
Don’t have an account yet? Register yourself now and be a part of our community!