Eu não estou vendo em seu dmesg as linhas UART. Você também precisa ter pelo menos um uart configurado na árvore de dispositivos.
Estou usando aqui um ARM A20, Lamobo R1, com o console serial ativado. (115200, 8, N, 1)
No meu caso específico:
Do dmesg
[ 3.456402] Serial: 8250/16550 driver, 8 ports, IRQ sharing disabled
[ 3.480137] 1c28000.serial: ttyS0 at MMIO 0x1c28000 (irq = 41, base_baud = 1500000) is a U6_16550A
[ 3.503990] 1c28c00.serial: ttyS1 at MMIO 0x1c28c00 (irq = 42, base_baud = 1500000) is a U6_16550A
[ 3.505687] console [ttyS1] enabled
[ 3.529520] 1c29c00.serial: ttyS2 at MMIO 0x1c29c00 (irq = 43, base_baud = 1500000) is a U6_16550A
Minhas opções para o kernel são, em /boot/boot.cmd
, compiladas para /boot/boot.scr
, são:
setenv bootargs "console=ttyS1,115200n8 root=/dev/sda2 rootwait rootfstype=ext4 sunxi_ve_mem_reserve=0 sunxi_g2d_mem_reserve=0 sunxi_no_mali_mem_reserve sunxi_fb_mem_reserve=0 panic=10 enforcing=0 loglevel=1 ipv6.disable=1"
Como você pode ver, eu defino como console o serial, e tento remover suporte / memória reservada para o (s) modo (s) gráfico (s) para salvar recursos, pois eu só uso em modo sem cabeça com USB To RS232 TTL UART Cabo PL2303HX.
Como estou usando ArmBian / Debian com sysV e não systemd, também em /etc/inittab
:
T0:2345:respawn:/sbin/getty -L ttyS0 115200 vt100
Quanto à árvore de dispositivos
uart0: serial@01c28000 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_pins_a>;
status = "okay";
};
uart3: serial@01c28c00 {
pinctrl-names = "default";
pinctrl-0 = <&uart3_pins_b>;
status = "okay";
};
uart7: serial@01c29c00 {
pinctrl-names = "default";
pinctrl-0 = <&uart7_pins_a>;
status = "okay";
};
Para as opções de tempo de compilação do kernel usadas:
$zcat /proc/config.gz | grep 8250
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_DMA=y
CONFIG_SERIAL_8250_NR_UARTS=8
CONFIG_SERIAL_8250_RUNTIME_UARTS=8
# CONFIG_SERIAL_8250_EXTENDED is not set
CONFIG_SERIAL_8250_FSL=y
CONFIG_SERIAL_8250_DW=y
# CONFIG_SERIAL_8250_EM is not set
# CONFIG_SERIAL_8250_RT288X is not set
# Non-8250 serial port support
# CONFIG_DEBUG_LL_UART_8250 is not set
CONFIG_DEBUG_LL_INCLUDE="debug/8250.S"
CONFIG_DEBUG_UART_8250=y
CONFIG_DEBUG_UART_8250_SHIFT=2
# CONFIG_DEBUG_UART_8250_WORD is not set
# CONFIG_DEBUG_UART_8250_PALMCHIP is not set
# CONFIG_DEBUG_UART_8250_FLOW_CONTROL is not set
Além disso, também é necessário: CONFIG_SERIAL_CORE_CONSOLE=y