From: Paul Menzel <pmenzel@molgen.mpg.de>
To: Greg KH <gregkh@linuxfoundation.org>
Cc: linux-serial@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>
Subject: Re: Non-working serial console
Date: Thu, 2 Jun 2022 23:09:15 +0200 [thread overview]
Message-ID: <1880b7a7-2353-c381-5afb-1d4224eb223b@molgen.mpg.de> (raw)
In-Reply-To: <d8e9f4fe-e8dc-67aa-e240-f2f5f1dfca2f@molgen.mpg.de>
Dear Linux folks,
Am 02.06.22 um 18:50 schrieb Paul Menzel:
> Since a while I noticed, output to the serial console with
> `console=ttyS0,115200n8` does not work with the attached configuration
> `defconfig-non-working-serial.txt` created by `make savedefconfig`.
> Only, when with `earlyprintk=ttyS0,115200,keep` the serial console
> starts working. I am able to reproduce it in QEMU. It’s reproducible
> with Linus’ latest master branch.
>
> $ git log --oneline --no-decorate -1
> 8ab2afa23bd19 Merge tag 'for-5.19/fbdev-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev
> $ qemu-system-x86_64 --version
> QEMU emulator version 5.1.0
> Copyright (c) 2003-2020 Fabrice Bellard and the QEMU Project developers
> $ qemu-system-x86_64 -kernel arch/x86/boot/bzImage -append "console=ttyS0,115200n8" -serial file:/dev/shm/kernel.txt -curses
>
> With `earlyprintk=` it works:
>
> $ qemu-system-x86_64 -kernel arch/x86/boot/bzImage -append "earlyprintk=serial console=ttyS0,115200n8" -serial file:/dev/shm/kernel.txt -curses
>
> Strangely, I found a different configuration, where it works, but I
> didn’t see what configuration option makes the difference.
>
> Can you reproduce the problem with `defconfig-no-working-serial.txt`?
It turns out, the non-working configuration build the serial 8250 driver
as a module (`CONFIG_SERIAL_8250=m`) instead of building it into the
Linux kernel. Building it into the Linux kernel and using
`CONFIG_SERIAL_8250_CONSOLE=y` fixes my issue.
```
$ diff -u .config.old .config
--- .config.old 2022-05-31 18:40:31.329017225 +0200
+++ .config 2022-06-02 22:53:06.317175267 +0200
@@ -1814,6 +1814,7 @@
CONFIG_UEFI_CPER=y
CONFIG_UEFI_CPER_X86=y
+CONFIG_EFI_EARLYCON=y
CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y
# CONFIG_EFI_DISABLE_RUNTIME is not set
# CONFIG_EFI_COCO_SECRET is not set
@@ -2554,11 +2555,13 @@
#
# Serial drivers
#
-CONFIG_SERIAL_8250=m
+CONFIG_SERIAL_EARLYCON=y
+CONFIG_SERIAL_8250=y
# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
CONFIG_SERIAL_8250_PNP=y
# CONFIG_SERIAL_8250_16550A_VARIANTS is not set
# CONFIG_SERIAL_8250_FINTEK is not set
+CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_DMA=y
# CONFIG_SERIAL_8250_PCI is not set
CONFIG_SERIAL_8250_NR_UARTS=32
@@ -2575,7 +2578,8 @@
#
# CONFIG_SERIAL_KGDB_NMI is not set
# CONFIG_SERIAL_UARTLITE is not set
-CONFIG_SERIAL_CORE=m
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_CONSOLE_POLL=y
# CONFIG_SERIAL_JSM is not set
# CONFIG_SERIAL_LANTIQ is not set
@@ -2590,7 +2594,7 @@
# CONFIG_SERIAL_SPRD is not set
# end of Serial drivers
-CONFIG_SERIAL_MCTRL_GPIO=m
+CONFIG_SERIAL_MCTRL_GPIO=y
# CONFIG_SERIAL_NONSTANDARD is not set
# CONFIG_N_GSM is not set
# CONFIG_NOZOMI is not set
```
The question is, if `earlyprintk=ttyS0,115200(,keep)` worked before with
`CONFIG_SERIAL_8250=m`, why the driver is needed, and `console=ttyS0,…`
cannot fall back to the earlyprintk driver.
Kind regards,
Paul
next prev parent reply other threads:[~2022-06-02 21:09 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-02 16:50 Non-working serial console Paul Menzel
2022-06-02 21:09 ` Paul Menzel [this message]
2022-06-04 9:04 ` Greg KH
2022-06-04 9:21 ` Paul Menzel
2022-06-06 14:31 ` Andy Shevchenko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1880b7a7-2353-c381-5afb-1d4224eb223b@molgen.mpg.de \
--to=pmenzel@molgen.mpg.de \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.