Sample Header Ad - 728x90

Serial on host stops working during boot

0 votes
1 answer
1231 views
I'm running Proxmox 6.4 with kernel 5.4.103-1-pve (I've already asked this question in their forums with no luck). My motherboard has a COM header, so I recently got the equipment I needed to hook it up and manage via serial. However, I'm unable to use serial after the system is booted. The port is at ttyS0. I set it up in GRUB (note that my setup is serial-only until SSH comes up, the only GPU in the system is not actually used by GRUB or Linux, only for passthrough):
GRUB_TERMINAL=serial
GRUB_SERIAL_COMMAND="serial --unit=0 --speed=115200"
And then I set it up for Linux, by adding console=ttyS0,115200 to the kernel command line. Now, when I boot the host, I first see the GRUB menu, and can interact with it fully, and then I see the normal loading initramfs messages, followed by most of the normal Linux boot process. However, once it gets to the "Login Service", there is no longer any output and I cannot interact with the terminal:
...
         Starting Proxmox VE Login Banner...
         Starting Enable support fo…l executable binary formats...
[  OK  ] Reached target ZFS volumes are ready.
[  OK  ] Started Preprocess NFS configuration.
[  OK  ] Started Set console font and keymap.
[  OK  ] Started Create Volatile Files and Directories.
[  OK  ] Started Load AppArmor profiles.
[  OK  ] Started Proxmox VE firewall logger.
         Mounting Arbitrary Executable File Formats File System...
         Starting Raise network interfaces...
[   17.623601] Generic FE-GE Realtek PHY r8169-800:00: attached PHY driver [Generic FE-GE Realtek PHY] (mii_bus:phy_addr=r8169-800:00, irq=IGNORE)
         Starting Network Time Synchronization...
         Starting Update UTMP about System Boot/Shutdown...
         Starting RPC bind portmap service...
[  OK  ] Reached target NFS client services.
[  OK  ] Started Proxmox VE Login Banner.
[  OK  ] Started Commit Proxmox VE network changes.
[  OK     17.739718] r8169 0000:08:00.0 enp8s0: Link is Down
0m] Mounted Arbitrary Executable File Formats File System.
[  OK  ] Started    17.760897] 8021q: 802.1Q VLAN Support v1.8
1;39mRPC bind portmap service.
[  OK  ] Started Network Time Synchronization.
[  OK  ] Started Enable support for…nal executable binary formats.
[  OK  ] Reached target System Time Synchronized.
[  OK  ] Reached target RPC Port Mapper.
[  OK  ] Started Update UTMP about System Boot/Shutdown.
[  OK  ] Reached target System Initialization.
[  OK  ] Listening on D-Bus System Message Bus Socket.
[  OK  ] Reached target Sockets.
[  OK  ] Reached target Basic System.
         Starting Proxmox VE LXC Syscall Daemon...
[  OK  ] Started D-Bus System Message Bus.
         Starting PVE Qemu Event Daemon...
[  OK  ] Started ZFS Event Daemon (zed).
         Starting System Logging Service...
[  OK  ] Started Daily apt download activities.
[  OK  ] Started Daily apt upgrade and clean activities.
         Starting LSB: The monitor UPS software....
[  OK  ] Started Daily rotation of log files.
[  OK  ] Started Daily man-db regeneration.
         Starting Login Service...
[  OK  ] Started Proxmox VE [   18.118065] softdog: initialized. soft_noboot=0 soft_margin=60 sec soft_panic=0 (nowayout=0)
watchdog multiplexer.
         Starting Kernel Samepage Merging (KSM) Tuning Daemon...
[  OK  ] Started Daily Cleanup of Temporary Directories.
[  OK  ] Started Daily PVE download activities.
         Starting Self Monitoring a…g Technology (SMART) Daemon...
         Starting ZFS file system shares...
[  OK  ] Started Proxmox VE replication runner.
[  OK  ] Reached target Timers.
[  OK  ] Started FUSE filesy[   18.258047] new mount options do not match the existing superblock, will be ignored
stem for LXC.
         Starting Initialize hardware monitoring sensors...
[  OK  ] Started Proxmox VE LXC Syscall Daemon.
[  OK  ] Started System Logging Service.
[  OK  ] Started PVE Qemu Event Daemon.
[  OK  ] Started Kernel Samepage Merging (KSM) Tuning Daemon.
[  OK  ] Started ZFS file system shares.
[  OK  ] Reached target ZFS startup target.
[  OK  ] Started Initialize hardware monitoring sensors.
[  OK  ] Started Login Service.
If I SSH in, I can see that the serial-getty@ttyS0 service is running, and its journal shows zero errors or warnings. Similarly, dmesg and the syslog have no errors about this. Even if I restart the service, the serial terminal still doesn't work. If I run stty -a -F /dev/ttyS0, I can see that for some reason, the baud rate is set to 2400, even though it was correct during boot. I can manually set it back to 115200 baud, but if I do that and then type anything on the client side of the terminal, it immediately reverts to 2400 after showing that character. However, if I manually reset it and then restart serial-getty@ttyS0, it maintains 115200 baud and remains interactive. I've been unable to find a solution anywhere on the internet, perhaps my Google-fu is not strong enough but it's difficult to find a similar issue where it works partially, unlike what most people experience, where it doesn't work at all. **EDIT**: This is now fixed, thanks to telcoM. For reference, the default ExecStart line was:
ExecStart=-/sbin/agetty -o '-p -- \\u' --keep-baud 115200,38400,9600 %I $TERM
So running systemctl edit serial-getty@ttyS0 and adding the following lines fixed it:
[Service]
ExecStart=
ExecStart=-/sbin/agetty -o '-p -- \\u' 115200 %I $TERM
Asked by Daniel Hellstern (3 rep)
May 17, 2021, 11:53 PM
Last activity: May 19, 2021, 07:25 AM