Estou tentando obter um dispositivo USB Serial FTDI com um PID personalizado para conectar-se automaticamente (ou mesmo manualmente) a ttyUSB% n, sem muito sucesso. O VID / PID normal do dispositivo é 0403/6001. Quando programado dessa maneira, ele funciona perfeitamente e automaticamente se conecta ao ttyUSB0 quando conectado. Mesmo com o driver recompilado para respeitar nosso novo PID, quando programado com o personalizado, o ttyUSB0 não aparece, mas o reconhece como um dispositivo ftdi_sio e carrega o driver.
Eu adicionei nosso PID ao cabeçalho e 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) },
// ....
Recompilou o kernel inteiro e atualizou o dispositivo novamente. Quando conecto o dispositivo, recebo:
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 o VID / PID personalizado correto. O driver parece reconhecer que deveria usar o ftdi_sio com ele, mas não o anexa ao ttyUSB0 como faria com o PID não modificado. Alguma sugestão sobre o que estou fazendo de errado aqui?