Hi folks, I'm posting this is case this is useful to someone. I spent the last 4 hours trying to find why the Intel Celeron wouldn't show up as /dev/ttyS0 and /dev/ttyS1. Here is what you should know. Diagnostic: [ 3.033328] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled [ 3.042619] 8086228A:00: ttyS0 at MMIO 0x91520000 (irq = 39, base_baud = 2764800) is a 16550A [ 3.042821] serial serial0: tty port ttyS0 registered [ 3.050995] 8086228A:01: ttyS1 at MMIO 0x9151e000 (irq = 40, base_baud = 2764800) is a 16550A [ 3.051198] serial serial1: tty port ttyS1 registered But running, the command below only shows the last (unused) serial ports. ~# ls -l /dev/ttyS* crw-rw---- 1 root dialout 4, 66 Nov 22 04:04 /dev/ttyS2 crw-rw---- 1 root dialout 4, 67 Nov 22 04:04 /dev/ttyS3 Explanation: Debian 10 (Buster) and likely other Linux vendors don't include the driver that supports serial ports on Intel LPSS. If you reconfigure your Kernel, go to : Device Drivers > Character devices > Serial drivers and enable Support for serial ports on Intel LPSS platforms
This note is for Debian 10 running on Kernel 4.19.67. Upon enabling Support for serial ports on Intel LPSS platforms, and rebooting on your new kernel, you may not see the /dev/ttyS0 and /dev/ttyS1 devices. This may be because your kernel version isn't able to properly detect/recognize the LPSS Serial port in ACPI mode. To address this shortcoming, you have to enter the BIOS and change a setting to expose the serial port(s) over PCI and not ACPI. The setting can be found in Advanced > Chipset configuration > LPSS & SCC Configuration Then change the value for DMA #1 Support to Enabled (PCI) After a reboot, you should see 2 new PCI devices when running lspci [...] 00:1e.3 Communication controller: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series LPIO1 HSUART Controller #1 (rev 35) 00:1e.4 Communication controller: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series LPIO1 HSUART Controller #2 (rev 35) [...] If your kernel has the correct LPSS support, then you should have 2 serial ports exposed: ls -l /dev/ttyS* crw-rw---- 1 root dialout 4, 64 Nov 23 06:43 /dev/ttyS0 crw-rw---- 1 root dialout 4, 65 Nov 23 06:43 /dev/ttyS1 crw-rw---- 1 root dialout 4, 66 Nov 23 06:43 /dev/ttyS2 crw-rw---- 1 root dialout 4, 67 Nov 23 06:43 /dev/ttyS3