2013-07-31 1 views
3

У меня есть USB-устройство, для которого у меня есть API. Этот API работает только в том случае, если устройство USB не использует драйвер ftdi_sio/usbserial.Можно ли переопределить драйвер, который был скомпилирован в ядро?

На моем ноутбуке, если я подключаю USB-устройство, эти драйверы загружаются (как модули), и я должен их выгружать с помощью modprobe -r, после чего код с помощью API может видеть устройство.

У меня есть другое устройство, которое испытывает такую ​​же проблему, хотя модули не загружены, поэтому я предполагаю, что эти драйверы скомпилированы в ядро. Мой вопрос в том, есть ли способ остановить использование этого устройства от этих драйверов или мне нужно перекомпилировать ядро ​​и т. Д.?

Спасибо за помощь!

ответ

5

Вы в основном ищут пути к:

  • отвязать драйвера по умолчанию с вашего USB-устройства
    и
  • связывают драйвер вашего выбора к нему.

Для ознакомления с предложением перейдите по ссылке this.

Немного более подробное описание того же можно найти в этом отличном LWN article of (un)binding device drivers.

+1

Отличный материал, TheCodeArtist. Отправка USB-идентификатора в команду unbind в/sys/bus/usb/drivers/ftdi_sio отлично работала и позволяла приложению получать доступ к USB-устройству. Благодаря! – dermur

+0

@dermur, как вы справились с этим, у меня проблема с проблемой отказа uarts устройства ftdi, устройство не видит подключенного устройства USB только в последний раз активным с несколькими устройствами. – boy

Смежные вопросы