1

I have a fitlet2 (https://fit-iot.com/web/products/fitlet2/) which has a serial port. I can connect to the serial port of the fitlet2 with screen from my computer (screen /dev/ttyUSB0 115200) and access the BIOS, after I have enabled the "Serial Port Console Redirection" in the BIOS.

I am also able to access the GRUB Bootloader over serial. Access over serial works in various GRUB bootloaders (debian/ubuntu installer, debian installed). But whenever the system is loaded, I can no more access the serial port which I was using.

I tried to activate console redirection in GRUB for the system by editing the boot parameters according to this post https://www.cyberciti.biz/faq/howto-setup-serial-console-on-debian-linux/. Soon I realized that my ttyS0 is somehow not working correctly. Starting to debug my physical serial interfaces I just couldn't find a way to get this to work.

Setserial tells me the following:

/dev/ttyS0, UART: 16550A,  Port: 0x0000, IRQ: 4
/dev/ttyS1, UART: 16550A,  Port: 0x0000, IRQ: 5
/dev/ttyS2, UART: 16550A,  Port: 0x0000, IRQ: 7
/dev/ttyS3, UART: unknown, Port: 0x02e8, IRQ: 3

dmesg | grep tty this:

[    0.000000] Command line: BOOT_IMAGE=/vmlinuz-4.9.0-8-amd64 root=/dev/mapper/pen--01--vg-root ro console=ttyS0,115200n8 console=tty0,115200n8
[    0.000000] Kernel command line: BOOT_IMAGE=/vmlinuz-4.9.0-8-amd64 root=/dev/mapper/pen--01--vg-root ro console=ttyS0,115200n8 console=tty0,115200n8
[    0.000000] console [tty0] enabled
[    0.000000] console [ttyS0] enabled
[   49.308213] console [ttyS0] disabled
[   49.312635] dw-apb-uart.0: ttyS0 at MMIO 0x81424000 (irq = 4, base_baud = 115200) is a 16550A
[   49.407713] usb 1-8.2: Qualcomm USB modem converter now attached to ttyUSB0
[   49.410489] usb 1-8.2: Qualcomm USB modem converter now attached to ttyUSB1
[   49.411349] usb 1-8.2: Qualcomm USB modem converter now attached to ttyUSB2
[   53.577143] console [ttyS0] enabled
[   54.744793] dw-apb-uart.1: ttyS1 at MMIO 0x81422000 (irq = 5, base_baud = 115200) is a 16550A
[   54.755771] dw-apb-uart.2: ttyS2 at MMIO 0x81420000 (irq = 7, base_baud = 115200) is a 16550A
[  115.902885] ttyS2 - failed to request DMA

Why is ttyS0 disabled and again reenabled? How can I enable it/use it properly?

How can I get my login shell on serial? What am I missing?

  • To clarify: This is about booting GRUB on the fitlet2, and serial works while GRUB is active, but stops working as soon as GRUB hands over to the kernel, did I understand that correctly? First step would be to read up on the dw-apb-uart module, and see if you can verify its state. Normally 16550A's are port mapped, not memory mapped, and it's possible setserial doesn't work for memory mapped devices (but better verify this). So you may need some other way to set parameters. – dirkt Oct 27 '18 at 8:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.