staging.inyokaproject.org

Serielle Schnittstelle: kann man wake-on-Ring etc. deaktivieren?

Status: Ungelöst | Ubuntu-Version: Ubuntu 22.04 (Jammy Jellyfish)
Antworten |

Hartmut2

Anmeldungsdatum:
11. Oktober 2018

Beiträge: 101

Wenn ich an COM1 (/dev/ttyS0) ein serielles Kabel einstecke und das andere Ende offen lasse, geht mein PC nicht mehr in den Standby. Das offene Ende auf dem Schreibtisch ist aber praktisch, um Geräte ein/ausstecken zu können, ohne unter den Tisch kriechen zu müssen.

Im BIOS ist alles wie wake-on-LAN, wake-on-Ring, wake-on-PCI/PCIE definitiv deaktiviert. Gibt es in Ubuntu irgendwo die Möglichkeit, wake-on-Ring etc. zu deaktivieren? Ich spreche jetzt von einer "echten" seriellen Schnittstelle, nix was über USB simuliert wird.

Ich habe Ubuntu mit KDE-Plasma-Desktop (falls das eine Rolle spielt). Dort habe ich in den Systemeinstellungen unter Hardware aber nichts zu seriellen Schnittstellen gefunden.

Danke im Voraus.

Dakuan

Avatar von Dakuan

Anmeldungsdatum:
2. November 2004

Beiträge: 6234

Meine Erinnerung an so etwas ist fast verblasst, da ich dass lange nicht mehr verwendet habe. Ich denke aber, es könnte am Kabel liegen.

Wenn das ein übliches Nullmodem-Kabel für 9 polige Stecker ist, sind wahrscheinlich die Pins 4 (DTR) und 1 (DCD) auf jeder Seite miteinander verbunden. Dadurch wird wahrscheinlich eine bestehende Verbindung vorgetäuscht.

Hartmut2

(Themenstarter)

Anmeldungsdatum:
11. Oktober 2018

Beiträge: 101

Hallo Dakuan, ich kann an dem Kabel keine Verbindung zwischen Pins 4 und 1 messen. Wenn sowas stören würde, dann müsste das m.E. auch dann stören, wenn am anderen Ende des Kabels ein Gerät angeschlossen ist, aber dann funktioniert das Standby ja.

Stattdessen suche ich eine Konfigurations-Möglichkeit in Ubuntu, wake-on-Ring etc. zu deaktivieren. Weiß jemand sowas?

Dakuan

Avatar von Dakuan

Anmeldungsdatum:
2. November 2004

Beiträge: 6234

Also da muss ich dann passen.
Aber wenn ich davon ausgehen kann, dass ohne Kabel alles funktioniert, dann muss das Kabel etwas unerwünschtes bewirken. Irgendwelche Störeinstrahlung aufgrund der Kabellänge halte ich für unwahrscheinlich, da die Eingänge der Chips erst oberhalb +/-3V Eingangsspannung reagieren sollen.

Leider ist das Bild der Beschaltung für das ebenfalls im Link aufgeführte 3-Draht-Nullmodem etwas undeutlich, so dass ich dort die Verbindungen nicht eindeutig erkennen kann. Mehr fällt mir dazu momentan nicht ein.

Hartmut2

(Themenstarter)

Anmeldungsdatum:
11. Oktober 2018

Beiträge: 101

Sicher bewirkt das Kabel, wenn es am PC eingesteckt ist und das andere Ende offen ist, etwas unerwünschtes. Man könnte bestimmt einen Blindstecker konstruieren, den man auf das offene Ende steckt und der den/die betreffenden Eingänge auf Masse zieht, um ein eingestecktes Gerät zu simulieren.

Aber meine Frage an dieses Forum zielt nicht in diese Richtung, sondern ob / wo es eine Konfigurations-Möglichkeit in Ubuntu gibt, wake-on-Ring etc. bei einer seriellen Schnittstelle zu deaktivieren?

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 10978

Von Linux aus kann man sich zumindest ansehen, welche Devices es gibt, die in das Power-Management eingreifen können und die ggf. umkonfigurieren - vgl. Power_management/Wakeup_triggers

Aber normalerweise sollten die BIOS/UEFI-Einstellungen vorrang haben.

Hartmut2

(Themenstarter)

Anmeldungsdatum:
11. Oktober 2018

Beiträge: 101

Vielen Dank seahawk1986 für diesen sehr interessanten Artikel, der allerdings für mich schwere Kost war. Leider ist es mir nicht gelungen, darin eine auf mich passende Lösung zu finden:

zu Kapitel 1.1: der Befehl

hg6@i3300:/media/D/Tst$ cat /proc/acpi/wakeup
Device  S-state   Status   Sysfs node
PS2K      S4    *enabled   pnp:00:06
                *disabled  serio:serio0    
PS2M      S4    *disabled
UAR1      S4    *disabled  pnp:00:07       
P0P1      S4    *disabled
RP01      S4    *disabled  pci:0000:00:1c.0
PXSX      S4    *disabled
RP02      S4    *disabled
PXSX      S4    *disabled
RP03      S4    *disabled
PXSX      S4    *disabled
RP04      S4    *disabled
PXSX      S4    *disabled
RP05      S4    *disabled  pci:0000:00:1c.4
PXSX      S4    *disabled  pci:0000:03:00.0
RP06      S4    *disabled  pci:0000:00:1c.5
PXSX      S4    *disabled  pci:0000:04:00.0
P9PE      S4    *disabled
PEG0      S4    *disabled  pci:0000:00:01.0
PEGP      S4    *disabled
PEG1      S4    *disabled
PEG2      S4    *disabled
PEG3      S4    *disabled
RP07      S4    *disabled
PXSX      S4    *disabled
RP08      S4    *disabled
PXSX      S4    *disabled
GLAN      S4    *disabled
EHC1      S4    *enabled   pci:0000:00:1d.0
EHC2      S4    *enabled   pci:0000:00:1a.0
XHC       S4    *enabled   pci:0000:00:14.0
HDEF      S4    *disabled  pci:0000:00:1b.0
PWRB      S4    *enabled   platform:PNP0C0C:00
hg6@i3300:/media/D/Tst$

listet leider nicht 'ttyS0'. Die 2 gelb markierten Zeilen könnten mit seriellen Schnittstellen zu tun haben, sind aber schon disabled. Unter denen, die enabled sind, scheint mir nichts zu passen.

zu Kapitel 1.2: die Datei "/sys/module/acpi/parameters/ec_no_wakeup" enthält nur "N", da scheint nichts für mich konfigurierbar zu sein.

zu Kapitel 1.3: ich habe mal in /sys/devices/ und /sys/class/ nach files .../power/wakeup gesucht und nur diese 2 gibt es:

/sys/class/tty/ttyS0/power/wakeup
/sys/devices/pnp0/00:07/tty/ttyS0/power/wakeup

aber beide enthalten schon 'disabled'.

In /sys/devices/platform/serial8250/tty/ gibt es ganz viele Ordner 'ttyS*', aber leider nicht 'ttyS0', den ich bräuchte.

Frage: Sollte ich hier einfach mal ein

# echo "disabled" > /sys/devices/platform/serial8250/tty/ttyS0/power/wakeup

riskieren?

zu Kapitel 1.4: /sys/class/wakeup/ enthält bei mir nur 24 Links.

zu Kapitel 2.2: klingt vielversprechend, aber mir fehlen die geeigneten Parameter, um eine udev-rule dafür zu erstellen. Habe mal die device-Parameter abgefragt:

hg6@i3300:/media/D/Tst$ udevadm info --attribute-walk --name=/dev/ttyS0
Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/pnp0/00:07/tty/ttyS0':
    KERNEL=="ttyS0"
    SUBSYSTEM=="tty"
    DRIVER==""
    ATTR{close_delay}=="50"
    ATTR{closing_wait}=="3000"
    ATTR{console}=="N"
    ATTR{custom_divisor}=="0"
    ATTR{flags}=="0x10000040"
    ATTR{io_type}=="0"
    ATTR{iomem_base}=="0x0"
    ATTR{iomem_reg_shift}=="0"
    ATTR{irq}=="4"
    ATTR{line}=="0"
    ATTR{port}=="0x3F8"
    ATTR{power/async}=="disabled"
    ATTR{power/control}=="auto"
    ATTR{power/runtime_active_kids}=="0"
    ATTR{power/runtime_active_time}=="0"
    ATTR{power/runtime_enabled}=="disabled"
    ATTR{power/runtime_status}=="unsupported"
    ATTR{power/runtime_suspended_time}=="0"
    ATTR{power/runtime_usage}=="0"
    ATTR{power/wakeup}=="disabled"      
    ATTR{power/wakeup_abort_count}==""
    ATTR{power/wakeup_active}==""
    ATTR{power/wakeup_active_count}==""
    ATTR{power/wakeup_count}==""
    ATTR{power/wakeup_expire_count}==""
    ATTR{power/wakeup_last_time_ms}==""
    ATTR{power/wakeup_max_time_ms}==""
    ATTR{power/wakeup_total_time_ms}==""
    ATTR{rx_trig_bytes}=="8"
    ATTR{type}=="4"
    ATTR{uartclk}=="1843200"
    ATTR{xmit_fifo_size}=="16"

  looking at parent device '/devices/pnp0/00:07':
    KERNELS=="00:07"
    SUBSYSTEMS=="pnp"
    DRIVERS=="serial"
    ATTRS{id}=="PNP0501"
    ATTRS{power/async}=="disabled"
    ATTRS{power/control}=="auto"
    ATTRS{power/runtime_active_kids}=="0"
    ATTRS{power/runtime_active_time}=="0"
    ATTRS{power/runtime_enabled}=="disabled"
    ATTRS{power/runtime_status}=="unsupported"
    ATTRS{power/runtime_suspended_time}=="0"
    ATTRS{power/runtime_usage}=="0"
    ATTRS{power/wakeup}=="disabled"        
    ATTRS{power/wakeup_abort_count}==""
    ATTRS{power/wakeup_active}==""
    ATTRS{power/wakeup_active_count}==""
    ATTRS{power/wakeup_count}==""
    ATTRS{power/wakeup_expire_count}==""
    ATTRS{power/wakeup_last_time_ms}==""
    ATTRS{power/wakeup_max_time_ms}==""
    ATTRS{power/wakeup_total_time_ms}==""

  looking at parent device '/devices/pnp0':
    KERNELS=="pnp0"
    SUBSYSTEMS==""
    DRIVERS==""
    ATTRS{power/async}=="disabled"
    ATTRS{power/control}=="auto"
    ATTRS{power/runtime_active_kids}=="0"
    ATTRS{power/runtime_active_time}=="0"
    ATTRS{power/runtime_enabled}=="disabled"
    ATTRS{power/runtime_status}=="unsupported"
    ATTRS{power/runtime_suspended_time}=="0"
    ATTRS{power/runtime_usage}=="0"
hg6@i3300:/media/D/Tst$

Aber hier scheint 'wakeup' ebenfalls schon 'disabled' zu sein (gelb markiert)...

Weiß jemand Rat?

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 10978

Was sind denn das für PCI(e) Geräte?

EHC1      S4    *enabled   pci:0000:00:1d.0
EHC2      S4    *enabled   pci:0000:00:1a.0
XHC       S4    *enabled   pci:0000:00:14.0

Du kannst dir die PCI(e)-Geräte so anzeigen lassen:

lspci -DPPnn 

Edit: das müssten die USB-Geräte sein - wie hängt die Serielle Schnittstelle denn am Rechner? Ist die Teil vom Mainboard oder ist die auf einer Erweiterungkarte oder einem USB-Adapter?

Hartmut2

(Themenstarter)

Anmeldungsdatum:
11. Oktober 2018

Beiträge: 101

Hier kommt die gewünschte Abfrage:

hg6@i3300:/media/D/Tst$ lspci -DPPnn
0000:00:00.0 Host bridge [0600]: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller [8086:0150] (rev 09)
0000:00:01.0 PCI bridge [0604]: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port [8086:0151] (rev 09)
0000:00:02.0 VGA compatible controller [0300]: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller [8086:0152] (rev 09)
0000:00:14.0 USB controller [0c03]: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller [8086:1e31] (rev 04)
0000:00:16.0 Communication controller [0780]: Intel Corporation 7 Series/C216 Chipset Family MEI Controller #1 [8086:1e3a] (rev 04)
0000:00:1a.0 USB controller [0c03]: Intel Corporation 7 Series/C216 Chipset Family USB Enhanced Host Controller #2 [8086:1e2d] (rev 04)
0000:00:1b.0 Audio device [0403]: Intel Corporation 7 Series/C216 Chipset Family High Definition Audio Controller [8086:1e20] (rev 04)
0000:00:1c.0 PCI bridge [0604]: Intel Corporation 7 Series/C216 Chipset Family PCI Express Root Port 1 [8086:1e10] (rev c4)
0000:00:1c.4 PCI bridge [0604]: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 5 [8086:1e18] (rev c4)
0000:00:1c.5 PCI bridge [0604]: Intel Corporation 82801 PCI Bridge [8086:244e] (rev c4)
0000:00:1d.0 USB controller [0c03]: Intel Corporation 7 Series/C216 Chipset Family USB Enhanced Host Controller #1 [8086:1e26] (rev 04)
0000:00:1f.0 ISA bridge [0601]: Intel Corporation Z77 Express Chipset LPC Controller [8086:1e44] (rev 04)
0000:00:1f.2 SATA controller [0106]: Intel Corporation 7 Series/C210 Series Chipset Family 6-port SATA Controller [AHCI mode] [8086:1e02] (rev 04)
0000:00:1f.3 SMBus [0c05]: Intel Corporation 7 Series/C216 Chipset Family SMBus Controller [8086:1e22] (rev 04)
0000:00:1c.4/03:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 06)
0000:00:1c.5/04:00.0 PCI bridge [0604]: ASMedia Technology Inc. ASM1083/1085 PCIe to PCI Bridge [1b21:1080] (rev 03)
0000:00:1c.5/04:00.0/05:02.0 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
0000:00:1c.5/04:00.0/05:02.1 Serial controller [0700]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
0000:00:1c.5/04:00.0/05:02.2 Parallel controller [0701]: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller [9710:9865]
hg6@i3300:/media/D/Tst$

Die 3 von Dir erfragten Geräte sind also USB-Geräte.

wie hängt die Serielle Schnittstelle denn am Rechner? Ist die Teil vom Mainboard oder ist die auf einer Erweiterungkarte oder einem USB-Adapter?

Die ist Teil vom Mainboard. Zusätzlich hat der PC noch 2 Serielle Schnittstellen auf 1 Erweiterungkarte.

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 10978

Du könntest eventuell noch versuchen den USB-Wakeup zu deaktivieren und dann schauen, ob das etwas am spontangen Aufwachen ändert: Power_management/Wakeup_triggers - nicht dass es da einen wie auch immer gearteten Crosstalk gibt, der da mit hineinspielt (z.B. durch eine kurze elektrostatische Spannungsspitze).

Hartmut2

(Themenstarter)

Anmeldungsdatum:
11. Oktober 2018

Beiträge: 101

seahawk1986 schrieb:

Du könntest eventuell noch versuchen den USB-Wakeup zu deaktivieren ...

Habe dafür folgende Befehle eingegeben:

hg6@i3300:/media/D/Tst$ sudo -i
[sudo] Passwort für hg6:
root@i3300:~# echo EHC1 > /proc/acpi/wakeup
root@i3300:~# echo EHC2 > /proc/acpi/wakeup
root@i3300:~# echo XHC > /proc/acpi/wakeup
root@i3300:~#

Leider hat das nichts geändert.

Hast Du in meiner Antwort auf Deinen Artikel irgendwas gefunden, was ich vielleicht falsch gemacht oder falsch interpretiert habe?

Hartmut2 schrieb:

In /sys/devices/platform/serial8250/tty/ gibt es ganz viele Ordner 'ttyS*', aber leider nicht 'ttyS0', den ich bräuchte.

Frage: Sollte ich hier einfach mal ein

# echo "disabled" > /sys/devices/platform/serial8250/tty/ttyS0/power/wakeup

riskieren?

Danke für Deine Unterstützung.

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 10978

Hartmut2 schrieb:

Hartmut2 schrieb:

Frage: Sollte ich hier einfach mal ein

# echo "disabled" > /sys/devices/platform/serial8250/tty/ttyS0/power/wakeup

riskieren?

Probiers - wobei das vermutlich wenig bringt, wenn das schon auf disabled steht.

Hartmut2

(Themenstarter)

Anmeldungsdatum:
11. Oktober 2018

Beiträge: 101

seahawk1986 schrieb:

Probiers - wobei das vermutlich wenig bringt, wenn das schon auf disabled steht.

Da haben wir uns mißverstanden: in /sys/devices/platform/serial8250/tty/ existieren ganz viele Ordner 'ttyS*', aber leider nicht 'ttyS0', den ich bräuchte. D.h. der Ordner

/sys/devices/platform/serial8250/tty/ttyS0/

den wir bräuchten, fehlt gänzlich. Die Frage ist, ob es da überhaupt Sinn macht, eine file

/sys/devices/platform/serial8250/tty/ttyS0/power/wakeup

zu erzeugen?

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 10978

Das sind Verzeichnisse, die vom Kernel über sysfs für erkannte Geräte angelegt werden - der Kernel kann nur auf das reagieren, was er selber angelegt hat.

Hartmut2

(Themenstarter)

Anmeldungsdatum:
11. Oktober 2018

Beiträge: 101

Dann scheint es mir, daß wir alle Ideen / Möglichkeiten aus Deinem Artikel ausgeschöpft haben, oder hast Du noch andere Ideen?

Antworten |