기본적으로 공개 테스트 USB 드라이버를 바인딩하려고 합니다.깃허브. 기본적으로 직접 테스트하려는 경우 매우 간단한 USB 드라이버입니다.
내가 수행한 단계는 다음과 같습니다.
lsusb -t
USB 연결을 위한 버스와 포트를 찾는 데 사용됩니다 . 나는 알았다1-3
.- 나는 거기에 가서
/sys/bus/usb/devices
그것을 찾았고1-3
그것이 제본되어 있음을 발견했습니다drivers/usb
. - 바인딩 해제 에 사용됩니다
echo 1-3 > unbind
. 성공적으로 바인딩을 해제할 수 있었습니다. devices
폴더 로 이동하여1-3
아직 바인딩된 항목이 있는지 확인하세요. 아니요.- 이름이 지정된 내 드라이버 디렉터리로 이동합니다.
hello_driver
- 이 작업을 시도했지만
echo 1-3 > bind
오류 메시지가 표시됨echo: write error: No such device
lsusb -t
도움이 된다면 결과는 다음과 같습니다.
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
|__ Port 4: Dev 2, If 0, Class=Hub, Driver=hub/4p, 5000M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/10p, 480M
|__ Port 3: Dev 15, If 0, Class=Mass Storage, Driver=, 480M
|__ Port 4: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 3: Dev 5, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M
|__ Port 3: Dev 5, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
|__ Port 2: Dev 4, If 0, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 2: Dev 4, If 1, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 10: Dev 3, If 0, Class=Wireless, Driver=btusb, 12M
|__ Port 10: Dev 3, If 1, Class=Wireless, Driver=btusb, 12M
문제가 무엇인지 잘 모르겠습니다. 다른 사람들이 이 질문을 했지만 그들의 해결책이 내 상황에 도움이 되지 않았다는 것을 알고 있습니다. 이 오류는 내 드라이버에서만 나타나고 다른 드라이버에서는 나타나지 않는 것 같습니다. 감사해요.
답변1
나는 똑같은 문제에 직면했습니다. 제 경우에는 USB 장치를 제품 및 공급업체 ID와 함께 드라이버 코드에 등록해야 한다는 것이 문제였습니다.
const struct usb_device_id etx_usb_table[] = {
{USB_DEVICE(USB_PRODUCT_ID, USB_VENDOR_ID)},
{}
};
;
MODULE_DEVICE_TABLE(usb, etx_usb_table);
"해당 장치가 없습니다"라는 오류가 발생하는 곳인 것 같습니다. 해당 장치를 전 세계적으로 검색했지만 찾을 수 없는 것으로 나타났습니다.