삭제한 /dev/ttyUSB## 장치를 어떻게 다시 생성합니까?

삭제한 /dev/ttyUSB## 장치를 어떻게 다시 생성합니까?

배경

제가 리눅스에 대해 곤경에 빠질 만큼 지식이 부족한 것 같습니다.

저는 Linux를 실행하는 여러 임베디드 시스템(두 가지 다른 모델)을 개발 중입니다. 저는 제가 사용하고 있는 두 모뎀 중 최신 모뎀에 대한 모뎀 지원 코드 문제를 해결해 왔습니다. 코드를 중지하고 usbserial 드라이버를 수동으로 로드해 보았습니다. 최신 장치에서 usbserial 드라이버를 로드하면 4개의 장치가나타나다존재하다/dev/ttyUSB#.

내가 뭘 한거지

알고 보니 실제로는 16개였습니다.ttyUSB##오래된 장치에 항상 나열되는 장치입니다. 그들은 결코 사라지지 않습니다. 나는 [지금] 이것이 이전 커널이 다르게 작동하기 때문이라고 추측합니다.안타깝게도 16개를 모두 삭제했습니다.ttyUSB##장비. 이제 그들은 떠났고 다시는 돌아오지 않을 것입니다. 캐릭터 장치를 만드는 방법을 모르겠습니다. 이 장치를 어떻게 돌려받나요?

커널 버전:

uname -r반품2.6.17.9-ep93xx-pxa-ads5

추가 정보

중요한 정보가 누락된 경우 댓글로 남겨주시면 추가하겠습니다. 미리 감사드립니다!

답변1

다음을 사용하여 /dev 항목을 수동으로 만들 수 있습니다.

    mknod /dev/ttyUSBn c 188 n
  • 매개변수:
    • mknod는 /dev 항목을 생성하는 잘 알려진 도구입니다.
    • /dev/ttyUSBn: 장치 이름
    • c: 캐릭터 디바이스
    • 188: 주 장치 번호
    • n: 보조 장치 번호, ttyUSB0, ttyUSB1 등

하지만 장치는 udev 규칙에 따라 자동으로 생성되어야 합니다.

답변2

/dev전통적으로 유닉스 시스템에는 에 항목을 생성하고 에 호출 MAKEDEV하고 위치를 지정 하는 스크립트가 있었습니다 /dev. 이 스크립트는 일반적으로 Linux에 있지만 설계자가 모든 장치가 있다고 가정하는 내장 장치나 장치 항목이 일반적으로 자동으로 생성되는 udev를 실행하는 시스템에는 없을 수도 있습니다. 항목 은 MAKEDEV일반적으로 현재 디렉터리에 생성되므로 먼저 이 디렉터리를 실행하십시오 cd /dev.

전달하는 매개변수에 대한 표준은 없습니다 /dev/MAKEDEV. 일반적으로 매개변수는 생성될 장치 항목 집합을 나타냅니다. 데비안에서는 몇 가지 다른 것들도 /dev/MAKEDEV usb만들어졌습니다 . 스크립트 내에서 실행할 명령줄을 찾을 ttyUSB*수도 있습니다. 장치 항목을 생성하는 하위 수준 명령은 다음과 같습니다.ttyUSBMAKEDEVmknod.

시스템이 udev를 사용하는 경우 다음을 실행하십시오.udevadm trigger -s usb-serial/dev항목을 다시 생성 하고 장치 검색과 관련된 명령을 실행합니다. (이 경우 장치는 직렬 포트이며 포트에 연결된 장치는 아닙니다.)

관련 정보