serielle Erweiterungskarte einrichten (und LIRC)

  • Hallo,


    ich habe ein kleines Problem. Ich schaffe es absolut nicht, meine serielle Erweiterungskarte in Linux einzubinden und LIRC zu starten.


    Kann mir jemand eine Kurzanleitung schreiben, wie ich dies zu machen habe?
    Google und Suche hat mich auf den ersten Seiten zu absolut keinem Ergebnis gebracht.


    Hier die Umgebung:
    LinVDR 0.7, Dark-Angel Kernel 2.6.11-10


    Laut dmesg wurde die Karte als /dev/ttyS4 sowie ttyS5 gefunden (sind aber nicht vorhanden in der Verzeichnisstruktur, es geht nur bis ttyS3)


    Im Bios ist schon die COM1 abgeschaltet, auf die Karte kann ich aber keinen Einfluss nehmen.


    lspci -v zeigt
    ...
    02:01.0 Serial controller: Timedia Technology Co Ltd PCI2S550 (Dual 16550 UART) (rev 01) (prog-if 02 [16550])
    Subsystem: Timedia Technology Co Ltd: Unknown device 4037
    Flags: stepping, medium devsel, IRQ 169
    I/O ports at df00 [size=32]
    ...


    dmesg zeigt:
    ...
    serio: i8042 KBD port at 0x60,0x64 irq 1
    Serial: 8250/16550 driver $Revision: 1.90 $ 8 ports, IRQ sharing disabled
    ACPI: PCI interrupt 0000:02:01.0[A] -> GSI 21 (level, low) -> IRQ 169
    ttyS4 at I/O 0xdf00 (irq = 169) is a 16550A
    ttyS5 at I/O 0xdf08 (irq = 169) is a 16550A
    ...


    ich möchte nun meinen LIRC-Empfänger über diese Karte laufen lassen. Was muss ich da wo einstellen?


    Vielen Dank für eure Hilfe


    --
    Linux-Neuling

  • hi,


    würde mich auch interessieren!

    Habe die gleiche Karte (Timedia) und die selben Probleme.


    Kann jemand helfen?


    Benötige ich ein spezielles Modul? Oder einen spezielle kompilierten Kernel?


    Danke, Holger

    easyvdr 0.3, amd duron 1000, 512 mb ram, 120 gb hd, tt 1.6, asrock k7s41, avboard, silverstone lc03v

  • hi,


    Du solltest eigentlich nur die devices anlegen müssen. Für Com1 ist das typischerweise: (man ttys)
    mknod -m 660 /dev/ttyS0 c 4 64 # base address 0x3f8


    Dann noch gegebenenfalls User:Group und Rechte setzen:
    chown root:root /dev/ttyS0
    chmod a+w /dev/ttys0


    Und zum Schluss mit setserial konfigurieren. Standardmäßig werden nur die ersten vier com-ports beim booten initialisiert! (man setserial)


    Gruß Moritz

    SW: Ubuntu 10.04; yaVDR Pakete
    HW: Asus P5N7A-VM; 2x DVB-C rev2.1; Silverstone LC16B-M; Panasonic PT AX200e

  • Hallo,


    Um die Karte zum Laufen zu bekommen, müssten nach meiner Meinung folgende Optionen beim Erstellen des Kernels gesetzt sein:

    • Support more than 4 legacy serial ports (SERIAL_8250_MANY_PORTS)
    • Support for sharing serial interrupts (SERIAL_8250_SHARE_IRQ)
    • Support special multiport boards (SERIAL_8250_MULTIPORT)


    ich habe keine Ahnung, mit welchen Einstellungen der DA-Kernel kompiliert wurde. Vielleicht kann einer der LinVDR-Experte Auskunft geben, ob sie entsprechend gesetzt wurden.


    Grüsse,
    EddieT

    PIII-866, 512 MB Ram, Avermedia 761 DVB-T, PVR150MCE, Debian unstable, vdr 1.3.38, Xine über Xorg auf GF2MX

  • so sieht`s beim DA-Kernel 2.6.12 und auch bei meinem 2.6.13.4 aus:



    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD


  • Hatte die Ports ttyS0 - ttyS3 bereits im System.


    Habe in der "runvdr" follgende paramter bei lirc_serial angegeben


    lirc_serial irq=10 io=0xd800


    das sind die adressen, die lspci -v mir angezeigt hat.


    laut foren-suche reicht dies aus. es reicht aber nicht :(


    nun habe ich zwar "active low receiver" im logread (d.h. ir-ermpfänger erkannt)


    jedoch kann ich immer noch per FB bedienen.


    ich habe auch schon folgendes probiert:


    1.
    setserial /dev/ttyS2 port 0xd800 UART 16550A irq 10 Baud_base 921600


    vor die lirc_serial zeile zu setzen


    2.
    setserial /dev/ttyS2 uart none


    vor dir lirc_serial zeile zu setzen


    beides hat keinen erfolg gebracht.



    (die 2.Zeile hat vorher immer geholfen, als ich lirc noch auf "com1" hatte. nur kann es ja diesmal nix bringen, da er ja gar nicht weiss wo ttyS2 ist, habe ich ja nirgends fest eingetragen.)


    was fehlt mir. ich glaube ich bin nah dran.... :)


    danke!

    easyvdr 0.3, amd duron 1000, 512 mb ram, 120 gb hd, tt 1.6, asrock k7s41, avboard, silverstone lc03v

  • Zitat

    Original von Dr. Seltsam
    so sieht`s beim DA-Kernel 2.6.12 und auch bei meinem 2.6.13.4 aus:




    Und was heisst dass? Ist der Support nun im Kernel drin, oder nicht?


    Ich habe auch noch nicht so ganz begriffen, warum ich bei dem alten Kernel die Zeile
    "setserial /dev/ttyS0 UARD none"


    in der "runvdr" auskommentiert hatte und beim neuen kernel es plötzlich aktiviert werden musste.


    was muesste ich denn machen damit ich einen meiner seriellen ports der erweiterungskarte als com3 (/dev/ttys2) fest konfigurieren kann.


    wofuer sollte ich mit
    setserial /dev/ttyS2 port 0xd800 UART 16550A irq 10
    den port konfigurieren, wenn ich ihn mit UART none wieder überschreibe...

    easyvdr 0.3, amd duron 1000, 512 mb ram, 120 gb hd, tt 1.6, asrock k7s41, avboard, silverstone lc03v

  • hallo,


    ttyS0 (com1) ist der serielle onboard-anschluss. (es gibt nur eine auf meinem board)


    Anbei noch mal ein paar Logs und Console-Ausgaben:



    wenn ich den setserial befehl für ttyS2 in die /etc/init.d/boot.local schreibe, dann wird bei dmesg nur noch "active high receiver" bei dmesg angezeigt.
    (setserial /dev/ttyS2 port 0xd800 UART 16550A irq 10 Baud_base 921600)


    Code
    # lspci -v
    
    
    00:09.0 Serial controller: Timedia Technology Co Ltd: Unknown device 7168 (rev 01) (prog-if 02 [16550])
            Subsystem: Timedia Technology Co Ltd: Unknown device 4037
            Flags: stepping, medium devsel, IRQ 10
            I/O ports at d800 [size=32]




    wenn ich den port konfiguriere sieht es so aus:




    auszug /etc/init.d/runvdr


    Code
    #setserial /dev/ttyS2 port 0xd800 UART 16550A irq 10 Baud_base 921600
        setserial /dev/ttyS2 uart none
        loadmodule lirc_serial irq=10 io=0xd800

    easyvdr 0.3, amd duron 1000, 512 mb ram, 120 gb hd, tt 1.6, asrock k7s41, avboard, silverstone lc03v

  • Zitat

    Original von irrer iwan
    Was passiert eigentlich bei:

    Code
    setserial /dev/ttyS2 port 0xd800 UART none irq 10


    Lars



    sieht nicht besser aus.



    etwas später steht noch etwas, was mich etwas verwirrt:


    sieht so aus, als hätte ich mit der fernbedienung auf kanal 4 geschaltet.... (kann das auch von vdradmin (Fernbedienung im Browser) kommen?)



    mode2 geht auch noch nicht (error opening /dev/lirc; device or ressource busy)

    easyvdr 0.3, amd duron 1000, 512 mb ram, 120 gb hd, tt 1.6, asrock k7s41, avboard, silverstone lc03v

    Einmal editiert, zuletzt von blixa ()

  • irgendwo habe ich gelesen das ttys2 und ttys3 reserviert sind und ich ttys4 bzw ttys5 benutzen soll. ist dies richtig?


    EDIT: jetzt habe ich die anleitung wieder gefunden:


    Installation Guide for PCI Serial Ports


    This installation guide describes the procedure required to install SUNIX PCI serial ports on Linux platforms.



    [Linux Platform]


    Operating System : RedHat V8.0 (Kernel 2.4.18)



    [Installation Steps]


    Plug in the PCI card and start the system. While booting, kudzu (RedHat’s hardware detection and configuration tool) will show up a dialog to configure the new hardware found. Please ignore the dialog. The additional serial ports will be detected and configured automatically by the Linux system. You don’t have to configure anything manually or even add device nodes.


    After the boot process is finished, login to the system and check the status of the PCI card:
    # lspci –v

    00:0a.0 Serial controller: Timedia Technology Co Ltd PCI2S550 (Dual 16550 UART)
    ^^^^^
    (rev 01) (prog-if 02 [16550])
    Subsystem: Timedia Technology Co Ltd: Unknown device 4037
    Flags: stepping, medium devsel, IRQ 9
    ^^^^
    I/O ports at d400 [size=32]
    ^^^^

    Note: ^^ means the output produced on your machine could be different from the example given above.


    If the output contains something like the above your PCI card was correctly detected by the system.
    Show a list of the available serial ports:
    # more /proc/tty/driver/serial
    serinfo:1.0 driver:5.05c revision:2001-07-08
    0: uart:16550A port: 3F8 irq:4 baud:9600 tx:33 rx:0
    1: uart:16550A port: 2F8 irq:3 baud:9600 tx:33 rx:0
    4: uart:16550A port: D400 irq:9 tx:0 rx:0
    5: uart:16550A port: D408 irq:9 tx:0 rx:0


    ttyS0 and ttyS1 are the mother board’s built-in 16550 controllers. ttyS2 and ttyS3 are reserved. ttyS4 and ttyS5 are the serial ports on the PCI card (this can vary depending on the number of ports your card provides).


    The serial ports on the PCI card are now ready to use.

    easyvdr 0.3, amd duron 1000, 512 mb ram, 120 gb hd, tt 1.6, asrock k7s41, avboard, silverstone lc03v

    3 Mal editiert, zuletzt von blixa ()

  • Zitat

    Original von blixa
    irgendwo habe ich gelesen das ttys2 und ttys3 reserviert sind und ich ttys4 bzw ttys5 benutzen soll. ist dies richtig?


    EDIT: jetzt habe ich die anleitung wieder gefunden:


    Nur leider hilft die Anleitung nicht weiter. Es werden bei mir kein ttyS4 und ttyS5 erkannt.


    Ich bin echt am verzweifeln... :(

    easyvdr 0.3, amd duron 1000, 512 mb ram, 120 gb hd, tt 1.6, asrock k7s41, avboard, silverstone lc03v

  • Hallo,


    ich denke immer noch, das Du zumindestens zwei der drei von mir genannten Module brauchst, um die Karte zum Laufen zu bekommen. Unglücklicherweise sind diese bei LinVDR nicht enthalten.
    * SERIAL_8250_MANY_PORTS sorgt für die Unerstützung von mehr als 4 Seriellen Schnittstellen. Wenn die Karte darauf besteht, ihre Ports auf ttyS4 und ttyS5 zu legen, muss die Option gesetzt sein.
    * SERIAL_8250_SHARE_IRQ kümmert sich um das Interrupthandling, wenn sich zwei Ports einen IRQ teilen, so wie es bei der Karte der Fall ist.


    Diese Einstellungen verstecken sich übrigens unter den erweiterten Option (CONFIG_SERIAL_8250_EXTENDED).


    Vielleicht kann Dir Dr.Seltsam die Module kompilieren und zukommen lassen.


    EddieT

    PIII-866, 512 MB Ram, Avermedia 761 DVB-T, PVR150MCE, Debian unstable, vdr 1.3.38, Xine über Xorg auf GF2MX

  • Hi,


    habe jetzt einen 2.6.14 Kernel mit entsprechenden SERIAL_8250*** Options im Einsatz, aber ich bin keinen Schritt weiter.... :(


    Das Problem bleibt existent. Hat vielleicht noch jemand eine Idee?


    Eigtl. sollten die Ports ttyS4 und ttyS5 beim Start automatisch erkannt werden, das passiert aber nicht. Es wird (laut dmesg) nur eine Karte (Timedia Serial Controller) und mein ttyS0 (vom Mainboard) erkannt.


    Sonst nix...


    Holger


    easyvdr 0.3, amd duron 1000, 512 mb ram, 120 gb hd, tt 1.6, asrock k7s41, avboard, silverstone lc03v

  • gibt es irgendeine Linux-Distri/einen Kernel, mit dem die Karte schon mal lief? dann könnte man sich dort mal die kernel-config anschauen.
    Ich möchte hier eigentlich nicht im trüben fischen und auf Verdacht immer mehr Optionen mit y setzen, der Kernel ist jetzt schon 200k größer geworden.


    so sieht es jetzt aus:



    Hast Du devices für ttyS2, ttyS3, ttyS4 und ttyS5 angelegt?
    LinVDR hat standardmäßig m.E. nur ttyS0 und ttyS1.


    mknod -m 640 /dev/ttyS2 c 4 66
    mknod -m 640 /dev/ttyS3 c 4 67
    mknod -m 640 /dev/ttyS4 c 4 68
    mknod -m 640 /dev/ttyS5 c 4 69


    +++++newsflash++++++
    Ich werde den Kernel jetzt (bzw. am Wochenende) noch mal neu backen, und zwar nicht fest einkompiliert sondern als Modul. Habe gerade folgendes gefunden:
    http://www.tuxhardware.de/cate…duct327/product_info.html


    Aber mal eine ganz blöde Frage: Warum könnt Ihr nicht die serielle Schnittstelle des Boards für LIRC nehmen?

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Zitat

    Original von Dr. Seltsam
    gibt es irgendeine Linux-Distri/einen Kernel, mit dem die Karte schon mal lief? dann könnte man sich dort mal die kernel-config anschauen.
    Ich möchte hier eigentlich nicht im trüben fischen und auf Verdacht immer mehr Optionen mit y setzen, der Kernel ist jetzt schon 200k größer geworden.


    nein, habe sonst keine Linux-System.



    Die Devices ttys2 und ttys3 waren bereits angelegt. ttys4 und ttys5 hatte ich aber bereits manuell angelegt.


    Zitat

    +++++newsflash++++++
    Ich werde den Kernel jetzt (bzw. am Wochenende) noch mal neu backen, und zwar nicht fest einkompiliert sondern als Modul. Habe gerade folgendes gefunden:
    http://www.tuxhardware.de/cate…duct327/product_info.html


    Aber mal eine ganz blöde Frage: Warum könnt Ihr nicht die serielle Schnittstelle des Boards für LIRC nehmen?


    Würde ich gerne machen. Habe mir das AVBoard bereits bestellt. Liefertermin ist aber wohl erst irgendwann im Januar. Hätte aber trotzdem gerne die zusätzlichen Ports, damit ich irgendwann mal das X10-Plugin nutzen kann.


    Danke für deine Mühe!

    easyvdr 0.3, amd duron 1000, 512 mb ram, 120 gb hd, tt 1.6, asrock k7s41, avboard, silverstone lc03v

  • Hallo,


    gibt es für dieses Problem mittlerweile eine Lösung?


    Ich habe eine ähnliche Konstellation und würde gerne LIRC mit LCDProc in Verbindundung mit dem WakeUpBoard betreiben.


    Ich habe aber nur eine seriellen Anschluß auf meinem Motherboard...


    Gruß
    Horst

    vdr1: easyvdr 0.5RC1, ASRock K7VTA Pro mit Duron 700,Technotrend S2300, Airstar2, HWWakeUp Board, Graphlcd T6963C
    vdr2: easyvdr 06.02, GA-7IXE4 mit Duron 1200,Xineliboutput, Technotrend Budget S-1401, HWWakeup Board mit Display an Com2

  • Hallo,


    gibt es echt niemand, dem es gelungen ist eine serielle Karte einzubinden?


    Gruß
    Horst

    vdr1: easyvdr 0.5RC1, ASRock K7VTA Pro mit Duron 700,Technotrend S2300, Airstar2, HWWakeUp Board, Graphlcd T6963C
    vdr2: easyvdr 06.02, GA-7IXE4 mit Duron 1200,Xineliboutput, Technotrend Budget S-1401, HWWakeup Board mit Display an Com2

  • kann es leider nicht mehr testen, da mein sch*** board nur 2 pci steckpkätze hat und diese bereits belegt sind.


    aber mit easyvdr sollte es funktionieren.

    easyvdr 0.3, amd duron 1000, 512 mb ram, 120 gb hd, tt 1.6, asrock k7s41, avboard, silverstone lc03v

Jetzt mitmachen!

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