![수동으로 입력한 USB 직렬 드라이버에서 장치 ID를 제거하는 방법](https://linux55.com/image/138827/%EC%88%98%EB%8F%99%EC%9C%BC%EB%A1%9C%20%EC%9E%85%EB%A0%A5%ED%95%9C%20USB%20%EC%A7%81%EB%A0%AC%20%EB%93%9C%EB%9D%BC%EC%9D%B4%EB%B2%84%EC%97%90%EC%84%9C%20%EC%9E%A5%EC%B9%98%20ID%EB%A5%BC%20%EC%A0%9C%EA%B1%B0%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95.png)
나는 이 질문에 대한 이전 답변을 따랐습니다.맞춤형 PID가 있는 USB 직렬 장치를 임베디드의 ttyUSB0에 연결합니다.
이제 연결할 때마다 new_id에 에코하는 장치 ID가 ttyUSB0에 매핑되지 않도록 이 단계를 되돌려야 합니다. 이제 파일 new_id에 "0403 e0d0"이 영구적으로 기록된 것으로 나타납니다. 바인딩 해제 파일을 사용해 보았으나 성공하지 못했습니다. "remove_id" 파일도 없습니다. 바인딩, new_id, uevent 및 바인딩 해제만 가능합니다.
이 상태를 어떻게 복원할 수 있나요?
답변1
나는 이것 을 조사 했고 remove_id
결코 구현 되지 않은 것 같습니다 usb-serial
. 업무를 맡아서 drivers/usb/core/driver.c
실행할 수 있어야 합니다 .remove_id
drivers/usb/serial/bus.c
죄송합니다. 쉬운 대답은 없습니다.
답변2
@robbat2가 말했듯이. 일반 USB 직렬 드라이버는 Remove_id 속성을 구현하지 않습니다. 그러나 전체 시스템을 재부팅할 필요는 없으며 커널 모듈을 언로드했다가 다시 로드하여 변경 사항을 되돌리기만 하면 됩니다. new_id 장치 테이블이 지워지므로 원하는 효과를 얻을 수 있습니다.
모듈 제거
sudo modprobe -r usb_serial_simple
모듈을 다시 삽입하세요.
sudo modprobe usb_serial_simple