Я пытаюсь получить устройство FTDI USB-Serial с пользовательским PID для автоматического (или даже ручного) подключения к ttyUSB% n, но без особого успеха. Обычный VID / PID устройства - 0403/6001. При таком программировании он работает отлично и автоматически подключается к ttyUSB0 при подключении. Даже если драйвер перекомпилирован для соблюдения нашего нового PID, при программировании с пользовательским ttyUSB0 не появляется, но он распознает его как устройство ftdi_sio и загружает драйвер.
Я добавил наш PID в заголовок и источник:
// in ftdi_sio_ids.h
#define FTDI_CUSTOM_PID 0xABCD // not the actual pid
// then in ftdi_sio.c
static struct usb_device_id id_table_combined [] = {
// devices....
{ USB_DEVICE(FTDI_VID, FTDI_CUSTOM_PID) },
// ....
Перекомпилировал все ядро и перепрошил устройство. Когда я подключаю устройство, я получаю:
usb 1-1: new full-speed USB device number 2 using at91_ohci
usbcore: registered new interface driver usbserial
usbserial: USB Serial Driver core
USB Serial support registered for FTDI USB Serial Device
usbcore: registered new interface driver ftdi_sio
ftdi_sio: v1.6.0:USB FTDI Serial Converters Driver
lsusb показывает правильный пользовательский VID / PID. Драйвер, кажется, распознает, что он должен использовать ftdi_sio вместе с ним, но не присоединяет его к ttyUSB0, как это было бы с неизмененным PID. Любые предложения относительно того, что я делаю не так здесь?