USB 모뎀이 여러 개의 /dev/ttyUSB* 파일을 생성하는 이유는 무엇입니까?

USB 모뎀이 여러 개의 /dev/ttyUSB* 파일을 생성하는 이유는 무엇입니까?

나는 클라이언트와 SMS 메시지를 주고받는 데 사용하는 Sierra Wireless USB 308 모뎀을 가지고 있습니다.

해당 단일 장치가 연결되면 시스템은 여러 장치 파일을 생성합니다: /dev/ttyUSB0, /dev/ttyUSB1, /dev/ttyUSB2. 문자 메시지를 보내려면 /dev/ttyUSB3세 번째 장치 파일( )이 필요하다는 내용을 어딘가에서 읽었습니다 . /dev/ttyUSB2나는 그것을 사용하고 있다SMS 도구.

질문:

  1. 단일 장치가 /dev디렉터리에 여러 장치 파일을 생성하는 이유는 무엇입니까?
  2. 각 장치 파일("XXX"는 "0", "1", "2" 또는 "3")에서 실행될 때 각 "장치"에 대한 정보는 거의 다음과 /dev/ttyUSB2같습니다 . 동일한. 장치 번호가 항상 동일한 것은 아니므로 사용할 적절한 장치 번호를 검색하는 규칙을 어떻게 작성합니까?/dev/sms-sierraudevadm info -a /dev/ttyUSBXXXudev

1번 질문은 모르겠습니다. 질문 2의 경우, 장치 파일이 SMS를 보낼 수 있는지 여부를 감지(예: 적절한 모뎀 "AT" 명령에 응답하는지 확인)하는 데 프로그램이 필요합니까?

답변1

흔한 일이지만 여전히 신비롭습니다. Telit과 Huawei 모뎀도 동일한 기능을 수행합니다. 최소한 Telit 중 몇 개인지 지정하십시오.Linux USB 드라이버 - 사용자 가이드.

예를 들어, 현재 사용 중인 Telit LE910의 경우 USB PID는 0x1201이며 Linux "5 포트 /dev/ttyUSBx"에 직렬로 제공되는 것으로 나열되어 있습니다. 해당 표에는 다음과 같은 흥미로운 각주가 있습니다.

모뎀에 의해 노출된 모든 포트를 AT 명령 전송에 사용할 수 있는 것은 아닙니다. 포트 배열 지침은 해당 AT 명령 사용자 가이드를 참조하세요.

"AT 명령" 단서를 따른 것은 어리석은 일임이 밝혀졌습니다. 대신 "포트 배열 설명"을 검색하면 더 많은 정보가 표시되며, 일부는 오해의 소지가 있고 일부는 설명적입니다. 이 이미지는 "TELIT 3G 모듈 포트 배열 사용자 가이드"에 나타납니다.

여기에 이미지 설명을 입력하세요.

녹색 채널에 주목하세요. 모뎀에는 USB(DTE)를 통해 컴퓨터에 연결될 때 여러 "USB 채널"을 제공하는 "가상 직렬 장치"가 있습니다. 이러한 채널을 모뎀 "액세스 포인트"에 매핑하는 것은 구성 가능합니다. "AT0", "AT1" 및 "AT2" 액세스 포인트는 동시 AT 명령 세션을 제공하는 것으로 보입니다. "TT" 액세스 포인트는 "TTC 연결"을 생성하기 위해 "TTC 도구"와 함께 사용되는 이전 통신 인터페이스인 것으로 보입니다. 마지막으로 GPS 액세스 포인트는 표준 GNSS 인터페이스이며 NMEA 설명을 제공할 수 있습니다.

따라서 귀하의 모뎀 구성 방식에 따라 귀하의 ttyUSB장치에는 이러한 액세스 포인트가 배열되어 있을 것으로 예상됩니다.

예를 들어 시행착오를 거쳐서 제 경우 처음 두 개와 마지막( ttyUSB0, ttyUSB1, ttyUSB4)은 AT 포트가 아니었고, 나머지 두 개는 ( ttyUSB2ttyUSB3)이었습니다.

따라서 질문 2에 대한 대답은 다음과 같습니다. 할 수 없습니다. 어떤 장치가 어떤 기능에 연결되는지 결정하는 것은 모뎀의 구성입니다.

답변2

문제 1: 커널은 동시 요청을 위해 여러 개의 ttyUSB를 생성하고 다른 프로그램(WvDial, pppd, ModemManager 등)에 연결된 경우 /dev/ttyUSB0을 사용하여 SMS 메시지를 보낼 수 없습니다.

질문 2: 미니컴퓨터

관련 정보