수동으로 입력한 USB 직렬 드라이버에서 장치 ID를 제거하는 방법

수동으로 입력한 USB 직렬 드라이버에서 장치 ID를 제거하는 방법

나는 이 질문에 대한 이전 답변을 따랐습니다.맞춤형 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_iddrivers/usb/serial/bus.c

죄송합니다. 쉬운 대답은 없습니다.

답변2

@robbat2가 말했듯이. 일반 USB 직렬 드라이버는 Remove_id 속성을 구현하지 않습니다. 그러나 전체 시스템을 재부팅할 필요는 없으며 커널 모듈을 언로드했다가 다시 로드하여 변경 사항을 되돌리기만 하면 됩니다. new_id 장치 테이블이 지워지므로 원하는 효과를 얻을 수 있습니다.

모듈 제거

sudo modprobe -r usb_serial_simple

모듈을 다시 삽입하세요.

sudo modprobe usb_serial_simple

관련 정보