Auf einem uC trivial, aber gibt's sowas auch unter Linux auf einem Intel PC? Ideal wäre, wenn ich den CTS Eingang vom COM1 oder 2 mit select()/poll() o.ä. abfragen könnte. Eine Notlösung wäre der Power Button, aber der gehört normal dem acpid und ich will damit keinen shutdown auslösen. Zu der Verwirrung käme noch ein unpraktisches Kabel. GPIOs gibt's auch noch...
An sich kann Linux das: https://www.kernel.org/doc/Documentation/gpio/sysfs.txt Ob du das auf dem typischen x86-Notebook so leicht mit irgendwas hinbekommst bezweifle ich allerdings. Das hat ja auch keinen COM-Eingang? Per USB-Adapter wird's jedenfalls nichts mehr.
Danke für den Link. Der Text hat mich überzeugt, dass ich die GPIOs nicht mag. Erstmal habe ich immer noch keine Doku, welcher Pin zu welchem Bit gehört. Selbst wenn ich die hätte, könnte ich evt. mit einem kleinen Bug das Board schrotten, weil ein Bit weiter links vielleicht der Spannungswandler angeschlossen ist. Die Änderung weg vom sysfs zum Device mit ioctl() finde ich auch seltsam. War nicht ioctl() böse und das sysfs die Rettung? Eigentlich hatte ich gehofft, dass man einen UART-Interrupt benutzen kann. Die klassischen 165xx konnten doch für Flanken an CTS, RI und DCD Interrupts auslösen. Aber selbst wenn Linux das für normale UARTs unterstützen würde, mein Board ist ein picoITX mit einem Intel E3930 SoC und das Manual sagt:
1 | Note |
2 | The UART ports routed from the SoC through the transceiver cannot |
3 | be used under Windows because Intel® does not provide the necessary |
4 | driver. They can only be used under Linux. |
Wie bitte? Wo gibt's denn sowas? Da kann ich froh sein, wenn ich CTS überhaupt irgendwie abfragen kann.
Bauform B. schrieb: > Da kann ich froh sein, wenn ich CTS überhaupt irgendwie abfragen kann. Kannst du nicht. Schon deshalb, weil diese UART keinerlei Steuerleitungen besitzt. Das ist eine reine Dreidraht-UART.
Bauform B. schrieb: > Danke für den Link. Der Text hat mich überzeugt, dass ich die GPIOs > nicht mag. Erstmal habe ich immer noch keine Doku, welcher Pin zu > welchem Bit gehört. Steht vmtl in der Doku des GPIO-Treibers zu deinem SoC. In der Regel aber sowas wie 32*bank+bit. > Selbst wenn ich die hätte, könnte ich evt. mit einem > kleinen Bug das Board schrotten, weil ein Bit weiter links vielleicht > der Spannungswandler angeschlossen ist. Naja, dagegen hilft aber nix. Wenn du den falschen GPIO ansteuerst, geht halt der falsche an. > Die Änderung weg vom sysfs zum > Device mit ioctl() finde ich auch seltsam. War nicht ioctl() böse und > das sysfs die Rettung? Beide Konzepte haben ihre Daseinsberechtigung, kommt halt drauf an was du machen willst. > Wie bitte? Wo gibt's denn sowas? Wilkommen in der Embedded-Welt ;)
:
Bearbeitet durch User
c-hater schrieb: > Bauform B. schrieb: > >> Da kann ich froh sein, wenn ich CTS überhaupt irgendwie abfragen kann. > > Kannst du nicht. Schon deshalb, weil diese UART keinerlei > Steuerleitungen besitzt. Das ist eine reine Dreidraht-UART. Nur für die Nachwelt: RTS und CTS funktionieren beim E3930, aber DCD, DSR und RI gibt es nicht. CTS-Interrupts sind wohl wirklich nicht möglich. Bei meinem Board braucht man auch noch eine nicht-triviale Kombination von BIOS-Einstellungen, damit die Ports überhaupt funktionieren. Und noch ein kleiner Scherz von Intel: nur 2 der 3 UARTs können DMA.
Bauform B. schrieb: > Und noch ein kleiner Scherz von Intel: nur 2 der 3 UARTs können DMA. Lass mich raten,es ist UART 0 der kein DMA kann? In der Doku zum soc steht dafür, Not POR, use as gpio
X2 schrieb: > Bauform B. schrieb: >> Und noch ein kleiner Scherz von Intel: nur 2 der 3 UARTs können DMA. > > Lass mich raten,es ist UART 0 der kein DMA kann? > > In der Doku zum soc steht dafür, Not POR, use as gpio Das wird ja immer lustiger. Der Kernel findet 3 UARTs und erzeugt /dev/ttyS0 bis 2, davon sind ttyS1 und ttyS2 auf Stecker verdrahtet und ttyS2 kann kein DMA :) Torben schrieb: > Was spricht gegen einen FT232RL und z.B. die CBUS Pins zu pollen? nicht viel, nur, USB-Ports sind auch knapp. Ich hätte dann eher einen uC an eins der UARTs gehängt. Auf die Art hätte ich praktisch meinen Pin Change Interrupt und müsste nicht pollen. So ähnlich müsste ich es machen, wenn c-hater Recht hätte. Was Strom sparen angeht ist der E3930 allerdings echt stark: inkl. SSD, USB-Tastatur, Monitor am Display Port und GBit-Netzwerk: 2.6W idle, 6W make -j2. Was braucht der Raspi 4 nochmal?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.