Я намагаюся отримати FTDI USB-послідовний пристрій зі спеціальним 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. Будь-які пропозиції щодо того, що я тут роблю неправильно?