LIRC mit Ubuntu und PCI-Seriell Karte HILFE!!!

  • Hilfe.. der Lirc macht mich noch wahnsinnig ;)


    Nach dem mein einziger com Port meiner Meinung nach* defekt ist, habe ich mir eine EXSYS PCI-Serial Karte gekauft und eingebaut.
    Die Karte wird wie folgt erkannt:


    lspci:

    Code
    05:01.0 Serial controller: Oxford Semiconductor Ltd OX16PCI952 (Dual 16950 UART)


    dmesg:


    /var/lib/setserial/autoserial.conf:

    Code
    /dev/ttyS1 uart none


    /etc/modprobe.d/options:

    Code
    options lirc_serial io=0xec00 irq=17


    /etc/lirc/hardware.conf:


    Code
    ls -l /dev/lir*
    crw-rw---- 1 root root 61, 0 2009-01-13 18:27 /dev/lirc0
    srw-rw-rw- 1 root root     0 2009-01-13 18:27 /dev/lircd



    Code
    sudo cat /dev/lirc0
    cat: /dev/lirc0: Device or resource busy
    sudo cat /dev/ttyS1
    cat: /dev/ttyS1: Input/output error


    EDIT:
    Auf der Karte sind noch Jumper, mit denen kann ich entweder +5V oder +12V auf die Pins 1,8,9 und 4 anlegen. Soweit ich das gesehen habe zieht Lirc aber den Strom vom Pin 7, richtig?


    EDIT2:
    Um auszuschließen, das der Lirc Empfänger defekt ist, habe ich den lirc Empfänger von einem anderen Rechner angeschlossen.


    *hab so einen drecks Schreibtischstuhl, der mich, wenn ich mit Hausschuhen drauf sitz immer ziemlich elektrisch aufläd. Danach hab ich den Bügel vom Schreibtisch angefasst, an dem dummer weise auch der lirc Empfänger hängt...

    Ubuntu/Jaunty (Kernel 2.6.28-15) VDR 1.7.9 (im Aufbau), xineliboutput 1.0.90-CSV mit Xine-VDPAU r284 + durchflieger Patch | ASUS M3N78-EM, DVB-S Nexus 2.1, PSOne TFT, IR-Einschalter, Atmolight

    2 Mal editiert, zuletzt von BlueIcE ()

  • [quote]Original von BlueIcE

    Code
    [   35.093078] lirc_dev: IR Remote Control driver registered, major 61 
    [   35.708030] lirc_serial: auto-detected active high receiver
    [   35.708039] lirc_dev: lirc_register_plugin: sample_rate: 0
    [   37.061508] lirc_serial: IRQ 17 busy


    Lirc_serial möchte einen eigenen Interrupt. Entweder /dev/ttyS2 mit setserial freigeben oder lirc_serial den Parameter share_irq=1 mitgeben.


    Gruß
    e9hack

  • Hab spaßeshalber mal einen Actisys IR Empfänger an die alte Com Schnittstelle angeschlossen.
    Und der ging?! Naja jedenfalls hab ich dann noch ein bisschen rumgespielt mit dem Empfänger, von dem ich geglaubt habe er wäre defekt.


    Naja irgendwie ist mir wieder eingefallen, dass man auch zwei von den Empfangsdioden parallel schalten kann.
    Und auf einmal ging das Teil wieder?!?
    Ich dachte dann erst, es wäre vielleicht die IR Diode kaputt, hab die dann auch mal getauscht, aber tatsächlich funktioniert der Empfänger nur, wenn er mit zwei parallel geschalteten Empfangsdioden betrieben wird...


    Kann sich da jemand einen Reim drauf machen?

    Ubuntu/Jaunty (Kernel 2.6.28-15) VDR 1.7.9 (im Aufbau), xineliboutput 1.0.90-CSV mit Xine-VDPAU r284 + durchflieger Patch | ASUS M3N78-EM, DVB-S Nexus 2.1, PSOne TFT, IR-Einschalter, Atmolight

  • Zitat

    Original von BlueIcE
    Naja irgendwie ist mir wieder eingefallen, dass man auch zwei von den Empfangsdioden parallel schalten kann.
    Und auf einmal ging das Teil wieder?!?
    Ich dachte dann erst, es wäre vielleicht die IR Diode kaputt, hab die dann auch mal getauscht, aber tatsächlich funktioniert der Empfänger nur, wenn er mit zwei parallel geschalteten Empfangsdioden betrieben wird...


    Ich gehe mal davon aus, daß Du mit IR-Diode einen TSOP17xx meinst. Die Empfängerschaltung hat normalerweise einen Pull-Up von 10k zwischen Ausgang vom TSOP und 5V. Wenn es den nicht gibt oder dieser unterbrochen ist, kann der Empfänger eigentlich nicht funktionieren, da der interne Pull-Up vom TSOP zu hochohmig ist. Durch Parallelschalten eines weiteren TSOP würde sich der Wert des Pull-Up halbieren, sodaß der Empfänger möglicherweise funktioniert.


    Gruß
    e9hack

  • Zitat

    Original von e9hack
    Ich gehe mal davon aus, daß Du mit IR-Diode einen TSOP17xx meinst.


    Ja, richitg.


    Zitat

    Original von e9hack
    Die Empfängerschaltung hat normalerweise einen Pull-Up von 10k zwischen Ausgang vom TSOP und 5V. Wenn es den nicht gibt oder dieser unterbrochen ist, kann der Empfänger eigentlich nicht funktionieren, da der interne Pull-Up vom TSOP zu hochohmig ist. Durch Parallelschalten eines weiteren TSOP würde sich der Wert des Pull-Up halbieren, sodaß der Empfänger möglicherweise funktioniert.


    Ähh ok ;-). Krass...


    Also hat mein Com Port doch was abbekommen, als ich mich "statisch entladen" habe.
    Vorher ging der Lirc- Betrieb völlig problemlos.

    Ubuntu/Jaunty (Kernel 2.6.28-15) VDR 1.7.9 (im Aufbau), xineliboutput 1.0.90-CSV mit Xine-VDPAU r284 + durchflieger Patch | ASUS M3N78-EM, DVB-S Nexus 2.1, PSOne TFT, IR-Einschalter, Atmolight

  • hatte auch mal eine defekte Com Slotblende. In dmesg stand dann auch was von

    Code
    auto-detected active high receiver


    high reciever iss meist nie gut. Wenn ich nen heilen eingebaut hatte stand da "low receiver"-und dann funzte lirc auch wieder.


    CU
    Kamikaze

    ***********************

    Hauptvdr: Easyvdr 3.5

    Clients: Easyvdr 3.5

  • Zitat

    Original von e9hack
    [quote]Original von BlueIcE

    Code
    [   35.093078] lirc_dev: IR Remote Control driver registered, major 61 
    [   35.708030] lirc_serial: auto-detected active high receiver
    [   35.708039] lirc_dev: lirc_register_plugin: sample_rate: 0
    [   37.061508] lirc_serial: IRQ 17 busy


    Lirc_serial möchte einen eigenen Interrupt. Entweder /dev/ttyS2 mit setserial freigeben oder lirc_serial den Parameter share_irq=1 mitgeben.


    Gruß
    e9hack


    Gestern hab ichs mir mal wieder gemütlich gemacht, zücke die FB und ... ahhhhh geht wieder nix.


    Also die PCI Karte wieder rein (wohl einen anderen PCI Slot genutzt, IRQ ist jetzt 18 ), beide Anschlüsse der Karte ttyS1 und ttys2 mit setserial freigegeben,... IRQ wieder busy. Also den share_irq=1 mitgegeben (options lirc_serial io=0xec00 irq=18 share_irq=1) , dann ist der IRQ zwar nimmer busy, der lirc läd auch:

    Code
    Feb  5 10:27:03 icequad kernel: [ 2703.299237] lirc_dev: IR Remote Control driver registered, major 61 
     kernel: [ 2703.800028] lirc_serial: auto-detected active high receiver
     kernel: [ 2703.800036] lirc_dev: lirc_register_plugin: sample_rate: 0
     lircd-0.8.3[8788]: lircd(userspace) ready


    Aber es kommt nix an von der FB....


    Ich hab verschiedene Lirc Empfänger getestet, die an anderen PC's funktionieren.


    Was kann ich noch probieren, hab ich irgendwas übersehen?

    Ubuntu/Jaunty (Kernel 2.6.28-15) VDR 1.7.9 (im Aufbau), xineliboutput 1.0.90-CSV mit Xine-VDPAU r284 + durchflieger Patch | ASUS M3N78-EM, DVB-S Nexus 2.1, PSOne TFT, IR-Einschalter, Atmolight


  • 'auto-detected active high receiver' deutet darauf hin, daß kein Empfänger angeschlossen bzw. dieser defekt ist. Die Standard-Empfänger mit TSOP und 7805 meldet sich als 'active low receiver'.


    Gruß
    e9hack

  • Sorry, da hab ich grad am setseial gespielt,
    da ich dachte es hat was mit der uart zu tun.


    So sieht es momentan aus:

    Code
    [   32.303535] lirc_dev: IR Remote Control driver registered, major 61 
    [   32.932031] lirc_serial: auto-detected active low receiver
    [   32.932040] lirc_dev: lirc_register_plugin: sample_rate: 0


    Code
    dmesg | grep ttyS
    [    1.750264] ttyS0: detected caps 00000700 should be 00000100
    [    1.750273] 0000:05:02.0: ttyS0 at I/O 0xec00 (irq = 18) is a 16C950/954
    [    1.750574] ttyS1: detected caps 00000700 should be 00000100
    [    1.750583] 0000:05:02.0: ttyS1 at I/O 0xe880 (irq = 18) is a 16C950/954


    setserial:

    Code
    /dev/ttyS0, UART: unknown, Port: 0xec00, IRQ: 18


    /etc/modprobe.d/options:

    Code
    alias char-major-61 lirc_serial
    options lirc_serial share_irq=1

    Ubuntu/Jaunty (Kernel 2.6.28-15) VDR 1.7.9 (im Aufbau), xineliboutput 1.0.90-CSV mit Xine-VDPAU r284 + durchflieger Patch | ASUS M3N78-EM, DVB-S Nexus 2.1, PSOne TFT, IR-Einschalter, Atmolight

  • Hallo,


    da mein Scaleoboard über keine serielle Schnittstelle verfügt (Es gibt zwar einen internen COM2, der kann aber weder im BIOS eingestellt werden, noch kann man daran ein anderes Gerät aktivieren wie's aussieht), habe ich zur Unterstützung meiner Atric Einschaltplatine und einer Smartmouse eine PCI Schnittstellenkarte von EXSYS mit zwei Ports eingebaut.


    Die Atric Platine (www.atric.de) bentuze ich erfolgreich zum Einschalten der Scaleo mit der angelernten FB.


    Die Platine ist nun mit der zweiten Schnittstelle auf der Controllerkarte verbunden und die FB sollte sich daher wie über einen Standard Homebrew-Empfänger anlernen lassen.


    Nach viel Lesen und Probieren möchte ich meine Probleme hier mal posten und hoffe auf ein paar Tipps:


    Die Karte wird offensichtlich erkannt:


    Code
    scaleo ~ # lspci | grep NetMos
    01:03.0 Serial controller: NetMos Technology PCI 9835 Multi-I/O Controller (rev 01)


    Code
    scaleo ~ # cat /var/log/dmesg | grep Serial
    Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing disabled


    Code
    scaleo ~ # cat /var/log/dmesg | grep tty
    console [tty0] enabled
    0000:01:03.0: ttyS0 at I/O 0xef00 (irq = 11) is a 16550A
    0000:01:03.0: ttyS1 at I/O 0xee00 (irq = 11) is a 16550A


    Wenn ich von einer Gentoo LiveCD boote, sind die Adressbereiche die gleichen, nur der IRQ ändert sich.



    Allerdings habe ich auch diese Meldung.


    Code
    scaleo ~ # cat /proc/ioports | grep serial
    03f8-03ff : lirc_serial


    Zu LIRC habe ich folgende Einstellungen:


    IM VDR ist die FB auf "Other" gestellt.


    Code
    scaleo ~ # lsmod | grep lirc
    lirc_serial            12564  0
    lirc_dev               13652  1 lirc_serial


    Weder mit "mode2 -d /dev/lirc0" noch mit "irw" kann ich eine Ausgabe auf der Konsole erlangen.


    Da ich ansonsten mit LIRC nicht viel Erfahrung habe, komme ich hier einfach nicht weiter.


    Liegt es nun primär an der Controllerkarte oder an der Lirc-Konfiguration?



    BTW
    meine eingestellte lircd.conf und die remote.conf funktionieren mit dieser FB "Hauppauge 350" erfolgreich.


    Ich hatte diese FB an diesem Gerät über das Remote-Plugin un die original IR Schnittstelle in Betrieb. Leider ist mir deren Empfänger aber kaputt gegangen und ich suche daher nach einer Ersatzlösung.



    Regards
    Globber

    Gen2VDR (V5.3 Update 6)


    - Scaleo Evi - 2x DD Cine S2 v6.5 und v5.4 - 4GB RAM
    - Reycom REC100-S2
    - OctopusNet/SAT>IP

    2 Mal editiert, zuletzt von globber ()

  • Zitat

    Original von globber

    Code
    scaleo ~ # cat /var/log/dmesg | grep tty
    console [tty0] enabled
    0000:01:03.0: ttyS0 at I/O 0xef00 (irq = 11) is a 16550A
    0000:01:03.0: ttyS1 at I/O 0xee00 (irq = 11) is a 16550A


    Code
    scaleo ~ # cat /proc/ioports | grep serial
    03f8-03ff : lirc_serial


    Du mußt lirc_serial per Parameter noch mitteilen, welcher Port und Irq verwendet werden soll.


    Gruß
    e9hack

  • Hallo,


    danke erst einmal e9hack. Der Tipp hat mich schon etwas weiter geführt (meine ich) ;)


    So sieht's gerade aus:


    "/etc/init.d/seriald" und /etc/init.d/lircd" starten per default


    Ich habe in der "/etc/serial.conf" der zweiten Schnittstelle folgende Eigenschaften zugewiesen, weil an der der IR-Empfänger hängt:


    Code
    setserial /dev/ttyS1 uart none


    In der "/etc/init.d/lircd" gebe ich dem LIRC Daemon beim Start folgende Einträge mit, da ich ttyS1 ja an IRQ 11 und der entsprechenden Adresse an der PCI Controllerkarte betreiben will:


    Code
    lirc_serial irq=11 io=0xee00


    Soweit scheint das auch alles ganz gut zu funktionieren, denn jetzt bekomme ich folgende Ergebnisse beim Booten:


    Code
    scaleo ~ # cat /proc/ioports | grep serial
    ee00-ee07 : lirc_serial
    ef00-ef07 : serial


    Das IR-Modul scheint auch korrekt initialisiert zu werden:


    Code
    linux kernel: lirc_serial: auto-detected active low receiver


    Leider funtioniert immer noch kein "irw" und auch kein "mode2"



    "irw" gibt nichts aus und "mode2" folgendes:


    Code
    scaleo ~ # mode2 -d /dev/lirc0
    mode2: could not open /dev/lirc0
    mode2: default_init(): Device or resource busy


    Ich denke das liegt daran, dass die Controllerkarte den IRQ 11 nicht exklusiv hat, kann das sein? Denn im Syslog steht:


    Code
    scaleo ~ # cat /var/log/messages | grep lirc_serial
    Feb  8 15:26:19 [kernel] lirc_serial: IRQ 11 busy
    Feb  8 15:26:20 [kernel] lirc_serial: IRQ 11 busy
    Feb  8 15:26:21 [kernel] lirc_serial: IRQ 11 busy
    Feb  8 15:26:22 [kernel] lirc_serial: IRQ 11 busy
    ...



    Die Frage ist jetzt, wie weise ich der Karte einen eigenen IRQ zu (BIOS geht nicht)


    ...und kann ich denn die ttyS0 Schnittstelle auf der gleichen Karte (also auch am gleichen Interrupt) für eine Smartmouse verwenden?


    Regards
    Globber

    Gen2VDR (V5.3 Update 6)


    - Scaleo Evi - 2x DD Cine S2 v6.5 und v5.4 - 4GB RAM
    - Reycom REC100-S2
    - OctopusNet/SAT>IP

    Einmal editiert, zuletzt von globber ()

  • Zitat

    Original von globber
    Ich denke das liegt daran, dass die Controllerkarte den IRQ 11 nicht exklusiv hat, kann das sein? Denn im Syslog steht:


    Code
    scaleo ~ # cat /var/log/messages | grep lirc_serial
    Feb  8 15:26:19 [kernel] lirc_serial: IRQ 11 busy
    Feb  8 15:26:20 [kernel] lirc_serial: IRQ 11 busy
    Feb  8 15:26:21 [kernel] lirc_serial: IRQ 11 busy
    Feb  8 15:26:22 [kernel] lirc_serial: IRQ 11 busy
    ...


    lirc_serial will einen eigenen Interrupt oder man muß den Parameter share_irq=1 mitgeben.


    Gruß
    e9hack

  • e9hack


    Danke :) Das war's. Jetzt reagiert der Empfänger bei mode2 und irw.
    Der Rest ist ein Klacks.


    Der Eintrag in der "/etc/init.d/lircd" ist nun:


    Code
    lirc_serial io=0xee00 irq=11 share_irq=1


    Regards
    Globber

    Gen2VDR (V5.3 Update 6)


    - Scaleo Evi - 2x DD Cine S2 v6.5 und v5.4 - 4GB RAM
    - Reycom REC100-S2
    - OctopusNet/SAT>IP

    Einmal editiert, zuletzt von globber ()

  • So, nach tagelangem Ports umstellen, Fernbedienungen checken, Lirc Geräte checken.... usw. hab ich mir noch mal die Beschreibung der Karte zur Hand genommen, weil ich irgendwo im Netz gelesen hab, dass man irgendwas mit dem Takt e.v. irgendwo umstellen kann.


    Konnte man nicht wirklich. Aber ich hab ja wie schon erwähnt so einen Block, mit dem man verschiedene Spannungen auf die Ports legen kann. Und da hat doch tatsächlich ein Jumper gefehlt!!!!
    Es musste zwar keine Spannung angelegt werden, aber die Einstellung "keinen Strom" benötigt ebenfalls einen Jumper....


    Lange Rede kurzer Sinn.... JETZT GEHT'S!!!! :D :)

    Ubuntu/Jaunty (Kernel 2.6.28-15) VDR 1.7.9 (im Aufbau), xineliboutput 1.0.90-CSV mit Xine-VDPAU r284 + durchflieger Patch | ASUS M3N78-EM, DVB-S Nexus 2.1, PSOne TFT, IR-Einschalter, Atmolight

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!