[systemd-devel] systemd does not shutdown system, it is waiting for a serial tty to show up

Hans de Goede hdegoede at redhat.com
Mon Mar 16 09:15:47 PDT 2015


On some of the ARM boards I work on in my spare time I've
done "systemctl enable getty at ttyGS0.service" to get a getty
on the usb gadget serial port which I've configured on the
devices otg controller.

This serial port device node /dev/ttyGS0 shows up as soon
as the gadget serial port driver loads, but is only usable
when I plug in a the mini B end of a mini B -> A usb cable
where the A end is plugged into an active usb host.

"ps aux" shows something peculiar here, when I do "ps aux"
before the cable is plugged in it shows "(agetty)" in
the args column of the output, when I then plug in the
cable the output changes to "/sbin/agetty --noclear ttyGS0 vt220"
note this is the same process, as before the cable was plugged,
I've a feeling that somehow the process is stuck halfway
exec or some such ... ??

If I plug in the cable I get a getty on the other end of
the usb gadget serial connection and everything more or less
works. I say more or less because it seems that part of
the welcome header from getty gets lost, and sometimes getty
acts as if it has received some garbage on its stdin. I mention
this because it may be related, but it may also very well be a
bug in the usb stack somewhere.

The problem which I have why I'm sending this mail is that
halt (-p) or reboot does not work when there is no usb cable
plugged into the otg connector.

"halt -p" just sits there for a long time, and then exits with
a dbus timeout error. If I plug in the cable while it is doing
this, then it continues and starts shutting down.



More information about the systemd-devel mailing list