2014-10-05 3 views
1

"dmesg | grep tty"명령을 실행하면 0에서 3까지의 4 개의 ttyS 장치 만 표시됩니다. #MAKADEV 및 makenode 명령을 사용하고 ttyS ... 파일을/dev 폴더에 만들었습니다. 이제는 MMIO 주소와 같은 속성이 설정되어 있지 않으므로 사용할 수 없습니다. "setserial"명령에 대해 들어 봤지만 직렬 장치 MMIO 주소가 설정되어 있는지 알 수 없습니다. 내가 할 수있는 방법이 거기 있니?Linux에서 4 개 이상의 직렬 tty 장치를 추가하는 방법은 무엇입니까?

내 컴퓨터에 8 개의 직렬 포트가있어 모두 사용하려면 중요합니다. 필자의 리눅스에서는 4 개만 사용할 수 있습니다.

+0

* "내 컴퓨터에는 8 개의 직렬 포트가 있습니다"* -이 컴퓨터의 세부 정보를 제공하십시오 (제조 업체, CPU 등). 하드웨어 구성을 커널 (x86 플러그 앤 플레이, 보드 파일, 장치 트리)에 어떻게 지정합니까? * "귀하의 컴퓨터"*가 * "8 직렬 포트"*가있는 SoC를 사용하는 경우, 보드 구현은 다른 직렬 포트의 사용을 배제하는 핀 (다른 주변 장치 용)을 사용합니다 *** 즉, 핀은 여러 주변 장치로 다중화됩니다. – sawdust

답변

4

시스템에서 드라이버 8250을 사용하여 직렬 포트를 처리하는 경우 커널의 구성 파일에서 CONFIG_SERIAL_8250_NR_UARTS 매개 변수를 확인하십시오. 커널이 처리 할 직렬 포트의 최대 수를 정의합니다. 해당 드라이버에 대한 Kconfig에서

:

 
config SERIAL_8250_NR_UARTS 
    int "Maximum number of 8250/16550 serial ports" 
    depends on SERIAL_8250 
    default "4" 
    help 
     Set this to the number of serial ports you want the driver 
     to support. This includes any ports discovered via ACPI or 
     PCI enumeration and any ports that may be added at run-time 
     via hot-plug, or any ISA multi-port serial cards. 

config SERIAL_8250_RUNTIME_UARTS 
    int "Number of 8250/16550 serial ports to register at runtime" 
    depends on SERIAL_8250 
    range 0 SERIAL_8250_NR_UARTS 
    default "4" 
    help 
     Set this to the maximum number of serial ports you want 
     the kernel to register at boot time. This can be overridden 
     with the module parameter "nr_uarts", or boot-time parameter 
     8250.nr_uarts 

기회는 CONFIG_SERIAL_8250_NR_UARTS의 값이 시스템에 여전히 4입니다. 그렇다면 커널 설정에서 더 큰 값을 설정하고 커널을 재 빌드하여 모든 포트를 사용할 수있게 할 수 있습니다.

8250.nr_uarts 커널 런타임 매개 변수는 0과 CONFIG_SERIAL_8250_NR_UARTS 사이의 포트 수만 설정할 수 있으므로 부팅시 설정하기에 충분하지 않습니다.

관련 문제