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