나는 fitlet2를 가지고 있습니다 (https://fit-iot.com/web/products/fitlet2/)에는 직렬 포트가 있습니다. BIOS에서 "직렬 포트 콘솔 리디렉션"을 활성화한 후 내 컴퓨터의 화면(screen /dev/ttyUSB0 115200)을 사용하여 fitlet2의 직렬 포트에 연결하고 BIOS에 액세스할 수 있습니다.
또한 GRUB 부트 로더에 대한 직렬 액세스 권한도 있습니다. 다양한 GRUB 부트로더에 대한 직렬 액세스(debian/ubuntu 설치 프로그램, debian 설치) 하지만 시스템이 로드될 때마다 사용하고 있는 직렬 포트에 더 이상 액세스할 수 없습니다.
시스템 GRUB에서 콘솔 리디렉션을 활성화하기 위해 이 기사에 따라 부팅 매개변수를 편집해 보았습니다.https://www.cyberciti.biz/faq/howto-setup-serial-console-on-debian-linux/. 곧 나는 내 ttyS0이 제대로 작동하지 않는다는 것을 깨달았습니다. 물리적 직렬 인터페이스 디버깅을 시작했을 때 이를 작동시키는 방법을 찾을 수 없었습니다.
Seterial은 다음을 알려줍니다.
/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:
[ 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
ttyS0이 비활성화되었다가 다시 활성화되는 이유는 무엇입니까? 어떻게 활성화하거나 올바르게 사용할 수 있나요?
직렬 포트에서 로그인 셸을 얻는 방법은 무엇입니까? 내가 무엇을 놓치고 있나요?
답변1
곧 나는 내 ttyS0이 제대로 작동하지 않는다는 것을 깨달았습니다. 물리적 직렬 인터페이스 디버깅을 시작했을 때 이를 작동시키는 방법을 찾을 수 없었습니다.
제 경우에는 Atom E3950 CPU를 사용하는 fitlet2에서터미널 S2기기 뒷면의 직렬 포트에 해당하는 장치 노드입니다. console=ttyS2,115200
일반적인 커널 명령줄 옵션을 사용하여 콘솔 로 사용할 수 있었습니다 . 현재 Debian 안정 커널(4.19.152-1)과 불안정 커널(5.9.11-1)을 사용하여 테스트했습니다.
ttyS2 - failed to request DMA
안정 버전을 사용할 때도 이 메시지가 표시되지만 여전히 작동합니다.
내 컴퓨터에는 다음이 있습니다.
# cat /proc/tty/driver/serial
serinfo:1.0 driver revision:
0: uart:16550A mmio:0x7FFFF0E000 irq:4 tx:0 rx:0
1: uart:16550A mmio:0x7FFFF0C000 irq:5 tx:0 rx:0 CTS
2: uart:16550A mmio:0x480000000 irq:6 tx:1067 rx:38 RTS|CTS|DTR
3: uart:16550A mmio:0x7FFFF0A000 irq:7 tx:0 rx:0 CTS
아무리 시도해도 grub이 기본적으로 직렬 포트를 사용하도록 할 수 없습니다. 말씀하신 대로 펌웨어에서 직렬 콘솔 리디렉션을 활성화하면 직렬 포트를 통해 grub 인터페이스에 액세스할 수 있지만 이는 직렬 포트를 구동하는 펌웨어 에이전트를 통해 수행된다고 생각합니다. 이 모드에서는 grub을 구성하면 terminal console
직렬 포트로 출력하기에 충분합니다. 어쨌든 잘 작동합니다.