com1 für lirc nicht verfügbar

  • Hallo,


    lese hier schon ein paar Jahre mit und habe bisher für meine Probs. immer eine Lösung gefunden.
    Diesmal klemmts aber herftiger. Beim starten von Lirc kommt "port 03f8 already in use", weil sich
    anscheinend beim booten der Kernel mit seinem 8250 serial driver die serielle Schnittstelle
    greift. Der Treiber ist aber nicht als Modul kompiliert, so dass man selbigen nicht blacklisten kann.
    Gibt es eine Lösung ohne den Kernel neu kompilieren? Die Geschichten mit setserial ttyS..... habe
    ich alle schon ohne Erfolg durch.
    Danke schonmal.


    Grüße


    Jürgen

  • ....also folgende Aktionen habe ich bisher durchgeführt:


    - setserial /dev/ttyS0 uart none
    - dpkg-reconfigure lirc --> custome driver, custom transmitter, ttyS0


    mit folgenden Ergebnis


    root@yaVDR:~# dmesg |grep ttyS
    [ 1.376042] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
    [ 1.376412] 00:01: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
    [ 12.040879] lirc_serial: use 'setserial /dev/ttySX uart none'


    root@yaVDR:~# dmesg |grep lirc
    [ 12.037625] lirc_dev: IR Remote Control driver registered, major 61
    [ 12.040859] lirc_serial: port 03f8 already in use
    [ 12.040879] lirc_serial: use 'setserial /dev/ttySX uart none'
    [ 12.040884] lirc_serial: or compile the serial port driver as module and
    [ 12.040888] lirc_serial: make sure this module is loaded first
    [ 14.797121] lirc_serial: auto-detected active high receiver
    [ 14.797134] lirc_dev: lirc_register_driver: sample_rate: 0
    [ 14.797285] lirc_serial $Revision: 5.104 $ registered
    [ 451.338316] lirc_dev: IR Remote Control driver registered, major 61
    [ 452.244052] lirc_serial: auto-detected active high receiver
    [ 452.244067] lirc_dev: lirc_register_driver: sample_rate: 0
    [ 452.244248] lirc_serial $Revision: 5.104 $ registered


    Grüße


    Jürgen

  • poste doch mal die ausgaben von:


    dmesg|grep ttyS
    setserial /dev/ttyS0
    setserial /dev/ttyS1
    setserial /dev/ttyS2
    setserial /dev/ttyS3
    cat /etc/modprobe.d/lirc-serial.conf
    cat /etc/serial.conf


    dann seh mer weiter, vllt ist dein com1 einfach nicht ttyS0


    Angaben zum receiver und board wäre auch interessant.
    Receiver: Dalls möglich vom geöffneten Receiver ein Bild machen


    EDIT: Jetzt hab ich wohl gepennt, und du hast schon gepostet :)
    Naja obiges wäre trotzdem interessant.


    Ich sag jetzt mal entweder hat beim setserial aufruf was nicht geklappt, oder das lirc_serial modul war vorher schon geladen. Und hat sich somit selbst blockiert.


    Das "active high" receiver deutet auf einen defekten receiver oder einen falschen typ hin, hier kannst du mal den igor-typ versuchen, der passt dann meistens, wenn der homebrew nicht passt.


    gruß red

  • ...das Board ist ein IONITX-F und hat eine interne serielle Schnittstelle -->
    [ 1.376042] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
    [ 1.376412] 00:01: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A


    Ich habe hier in VDR extension Board, dass bisher in einem LinVDR getan hat.


    Hier nochmal ein paar configs:
    root@yaVDR:~# cat /etc/modprobe.d/lirc-serial.conf
    #COM1 equivalent, /dev/ttyS0
    options lirc_serial irq=4 io=0x3f8
    #COM2 equivalent, /dev/ttyS1
    #options lirc_serial irq=3 io=0x2f8


    root@yaVDR:~# cat /etc/serial.conf
    /dev/ttyS0 uart none


    Grüße
    Jürgen

  • Nur so als Kommentar - falls jemand ähnliche Probleme hat: Das geht auch ohne Kernelneubau.


    Für serial LIRC gilt folgendes ...


    Man muss kontrollieren:
    /etc/modprobe.d/lirc-serial.conf (Dem Treiber sagen wo der Empfänger hängt)
    /etc/serial.conf (setserial sagen das er den Port freigeben soll)
    und natürlich hardware.conf (lirc daemon Konfiguration) und lircd.conf (die Fernbedienung)


    Bitte nicht Webfrontend und dpkg-reconfigure verwenden, eins reicht durchaus, man sollte aber alle updates der yavdr-* Pakete eingespielt haben.


    In seltenen Fällen gibt es auch das Problem, das nicht korrekt erkannt wird ob der Empfänger activ-high oder active-low ist, das kann man aber in der /etc/modprobe.d/lirc-serial.conf manuell anfügen falls benötigt, die typischen homebrew sind übrigens active-low.

    VDR User: 87 - LaScala LC14B - LG/Phillipps 6,4" VGA Display | Asrock H61/U3S3 | G630T | 1x 16GB Mobi Mtron 3035 1x WD 750GB 2,5" |1x L4m DVB-S2 Version 5.4

  • steffen_b
    Danke für die Tips.
    Das VDR Extension Board(extb) wird als aktiv high erkannt und funtioniert seltsamerweise trotzdem.
    Habe erstmal den Irdeo Treiber genommen, weiß aber nicht ob der Transmitter Funktion unterstützt.
    Weiß jemand welcher Treiber das tut?
    Kämpfe zur Zeit mit dem extb-poweroff.pl script, bzw. wie ich den in yaVDR einbinde?


    Grüße


    Jürgen

  • Hallo Steffen,


    was müsste denn da geändert werden? Weiß ja nicht wieviele extb Nutzer es noch gibt und ob
    das mit hohem Aufwand für Euch verbunden ist. Nach meinem Verständniss geht es doch lediglich
    darum mit irsend Daten an das extb zu schicken wenn z.B. ein Timer programmieret wurde.


    Grüße


    Jürgen

  • /etc/modprobe.d/lirc-serial.conf

    Code
    #COM1 equivalent, /dev/ttyS0
    options lirc_serial irq=4 io=0x3f8
    #COM2 equivalent, /dev/ttyS1
    #options lirc_serial irq=3 io=0x2f8


    /etc/serial.conf

    Code
    /dev/ttyS0 uart none


    /etc/lirc/hardware.conf



    Gestern nach der Installation habe ich Lirc irgendwie zum laufen gebracht, heute gehts nicht mehr?

    Code
    multi@Multi-PC-192-168-178-20:~$ sudo /bin/setserial /dev/ttyS0 uart none
    [sudo] password for multi:
    multi@Multi-PC-192-168-178-20:~$ /etc/init.d/lirc restart
     * Stopping remote control daemon(s): LIRC                                                                                           [fail]
     * Loading LIRC modules                                                                                                              [ OK ]
     * Unable to load LIRC kernel modules. Verify your
     * selected kernel modules in /etc/lirc/hardware.conf


    Edit
    Kernel(dmseg)

    Code
    [   15.061803] lirc_serial: port 03f8 already in use
    [   15.061825] lirc_serial: use 'setserial /dev/ttySX uart none'
    [   15.061827] lirc_serial: or compile the serial port driver as module and
    [   15.061828] lirc_serial: make sure this module is loaded first

    Einmal editiert, zuletzt von Multi ()

  • ich habe genau das gleiche Problem.


    active high kann man manuell so auf active low ändern (danke an steffen_b):

    Zitat

    in der /etc/modprobe.d/lirc.conf sense=1 hinten anfügen.


    Hat aber leider auch nicht geholfen.
    Aber vielleicht hilft's ja irgendjemanden mal.



    gruß
    cybrid


    PS: Wobei ich nicht weiss, ob es ein Tippfehler ist denn oben steht

    Zitat

    /etc/modprobe.d/lirc-serial.conf

    Geht aber auch nicht.

    HTPC 1: yaVDR 0.3a, AMD 4050e, Foxconn A690VM2MA-RS2H (mit wake-on-USB), TT S2-1600, Asus Bravo GT220 passiv, 2GB Corsair RAM, Digitainer Gehäuse mit X10 USB Empfänger + FB
    HTPC 2: Openelec, Asus A5TIONT-I, 4GB RAM, Gehäuse Antec ISK 300-150, 64GB SSD, BD-Laufwerk

    Einmal editiert, zuletzt von cybrid ()

  • Siehe Post zum attric momentan.


    Merke: Wir benutzen keine Scripts in /etc/init.d/ vdr startet mit upstart, demnach muss das auch für lirc gelten (/etc/init.d/lirc start ist doof!) stop lirc /start lirc ist das richtige. start setserial-minimal sollte den Port freigeben.


    Ergo wenn alles richtig gemacht ist, sollte nach
    start setserial-minimal
    start lirc


    die FB gehen. Für mich siehts so aus als wenn /etc/serial.conf nicht vorhanden/nicht korrekt befüllt ist/nicht beachtet wird. Gibt es was im Log wenn du 'start setserial-minimal' ausführst ?

    VDR User: 87 - LaScala LC14B - LG/Phillipps 6,4" VGA Display | Asrock H61/U3S3 | G630T | 1x 16GB Mobi Mtron 3035 1x WD 750GB 2,5" |1x L4m DVB-S2 Version 5.4

    Einmal editiert, zuletzt von steffen_b ()

  • Ich glaube bei mir hat es an Zugriffsrechten gelegen weiß es nicht mehr genau.

  • Erledigt...


    Lösung ausführlich:
    Das geht auch ohne Kernelneubau.


    Für serial LIRC gilt folgendes ...


    Man muss kontrollieren:


    /etc/modprobe.d/lirc-serial.conf (Dem Treiber sagen wo der Empfänger hängt)
    # Für com1
    options lirc_serial irq=4 io=0x3f8 sense=1


    /etc/serial.conf (setserial sagen das er den Port freigeben soll)


    /dev/ttyS0 uart none port none irq 0


    HDVDR1 yaVDR 0.5
    MS-TECH MC-1200 (schwarz) | Zotac IONITX-F (Geforce 9400 (Ion)) | 2 GB DDR2 RAM | Atric IR-Einschalter Rev.5 (intern Typ 5) | Remote Hauppauge A415-HPG | Mystique SaTiX-S2 V2 CI Dual
    HDVDR2 yaVDR 0.5
    MS-TECH MC-1200 (schwarz) | Asus F1A55-M LX | AMD Athlon II X4 641 | 16 GB DDR3 RAM | NVIDIA GeForce GT 620 (1GB) | Atric IR-Einschalter Rev.5 (intern Typ 5) | Remote Hauppauge A415-HPG | Mystique SaTiX-S2 V2 CI Dual | Dualboot win7/ yavdr 0.5
    SDVDR1 EasyVDR 06
    SILVERSTONE La Scala SST-LC11S | Asus Sockel A Mainboard | AMD Athlon XP 3000+ | 1 GB DDR RAM | TechnoTrend Premium S-2300 "modded" | Remote Hauppauge A415-HPG | CI Interface

    Einmal editiert, zuletzt von humaxmk1 ()

  • Also ich verzweifle hier mit meinem Atric V5 total!
    Alle diese Threads durch, hilft alles nichts!!


    Ich kann so oft mit setserial den Port freigeben und lirc_serial neu laden wie ich will und mit welchen Optionen in der modprobe auch immer, es tut sich nichts.


    Automatisch erkennt er an com1 (ttyS0) einen active high. Mit sense=1 steht dann halt da "manually using active low", aber das ändert nichts.
    (options lirc_serial irq=4 io=0x3f8 sense=1)


    Ein cat /dev/lirc0 bleibt ohne jegliche Aktivität, obwohl die Atric-LED bei FB-Betätigung munter blinkt (und das Einschalten damit fkt auch).


    Lustigerweise erkennt er an der ja wohl nicht vorhandenen com2 / ttyS1 (mit entsprechender Zeile in lirc-serial.conf) automatisch einen "active low" - auch damit natürlich kommt nix beim lirc0-device an.


    Das Board ist Zotac ION F mit nur einem internen com Port:
    kernel: [ 0.721865] serial8250:ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
    kernel: [ 0.722326] 00:01: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
    kernel: [ 10.405458] lirc_serial: use 'setserial /dev/ttySX uart none'


    Die dritte Zeile kommt beim Booten, obwohl die /etc/serial.conf entsprechend gesetzt ist! Aber das sollte ja auch mit setserial im laufenden Betrieb auf der Kommandozeile wenigstens zum Testen funktionieren, oder?


    Was ist da nur los..


    Solange sich bei /dev/lirc0 nichts tut, brauche ich ja sicherlich keine weiteren Schritte zu machen. Aber bei yavdr 0.2 gibt es wohl kein "start lirc" mehr, sondern "start remoted"? Liefert bei mir "remoted stop/waiting" - sprich startet nicht.

Jetzt mitmachen!

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