Я пишу программу пространства пользователя, предназначенную для управления некоторым устройством через usb, поэтому я решил использовать libusb (libusb-1.0) для отправки управляющих сообщений и получения ответов с этого устройства.libusb basic example wanted
Но я постоянно получаем следующую кучу ошибок из моего кода (даже тогда, когда он выполняется с помощью «Sudo»):
USB error: could not set config 0: Device or resource busy
set configuration: failed
Check that you have permissions to write to 007/012 and, if you don't, that you set up hotplug (http://linux-hotplug.sourceforge.net/) correctly.
USB error: could not claim interface 0: Device or resource busy
claim interface: failed
USB error: error submitting URB: No such file or directory
bulk writing: failed
USB error: error submitting URB: No such file or directory
bulk reading: failed
response was:
Код:
usb_dev_handle* find_device();
int
main (int argc, char *argv[])
{
usb_dev_handle* udev;
int status;
char request[] = "K1"; // 'ping' command used to check communication
char response[256];
udev = find_device();
// udev is successfully found here
status = usb_set_configuration (udev, 0);
printf ("set configuration: %s\n", status ? "failed" : "passed");
status = usb_claim_interface (udev, 0);
printf ("claim interface: %s\n", status ? "failed" : "passed");
status = usb_bulk_write (udev, 3, request, sizeof (request), 500);
printf ("bulk writing: %s\n", status ? "failed" : "passed");
status = usb_bulk_read (udev, 2, response, sizeof (response), 500);
printf ("bulk reading: %s\n", status ? "failed" : "passed");
printf ("response was: %s\n", response);
usb_close (udev);
return 0;
}
Что случилось с кодом ? И как это можно исправить?
ОС: Ubuntu 10,10
Вы могли получить его для чтения и записи с вашего устройства? Были ли существенные изменения в вашем коде, который вы могли бы опубликовать? – RunHolt