Sto tentando di ottenere un dispositivo USB-seriale FTDI con un PID personalizzato da collegare automaticamente (o anche manualmente) a ttyUSB% n, senza molto successo. Il VID / PID normale del dispositivo è 0403/6001. Se programmato in questo modo, funziona perfettamente e si attacca automaticamente a ttyUSB0 quando collegato. Anche con il driver ricompilato per rispettare il nostro nuovo PID, quando programmato con quello personalizzato ttyUSB0 non appare, ma lo riconosce come dispositivo ftdi_sio e carica il driver.
Ho aggiunto il nostro PID all'intestazione e alla fonte:
// 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) },
// ....
Ricompilato l'intero kernel e ricollegato il dispositivo. Quando collego il dispositivo ottengo:
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 mostra il VID / PID personalizzato corretto. Il driver sembra riconoscere che dovrebbe usare ftdi_sio con esso, ma non lo collega a ttyUSB0 come farebbe con il PID non modificato. Qualche suggerimento su cosa sto facendo di sbagliato qui?