J'essaie d'obtenir un périphérique USB-série FTDI avec un PID personnalisé à attacher automatiquement (ou même manuellement) à ttyUSB% n, sans grand succès. Le VID / PID normal de l'appareil est 0403/6001. Lorsqu'il est programmé de cette façon, il fonctionne parfaitement et se fixe automatiquement à ttyUSB0 lorsqu'il est branché. Même avec le pilote recompilé pour respecter notre nouveau PID, lorsqu'il est programmé avec le ttyUSB0 personnalisé n'apparaît pas, mais il le reconnaît comme un périphérique ftdi_sio et charge le pilote.
J'ai ajouté notre PID à l'en-tête et à la source:
// 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) },
// ....
Recompilé le noyau entier et reflasher le périphérique. Lorsque je branche l'appareil, j'obtiens:
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 affiche le VID / PID personnalisé correct. Le pilote semble reconnaître qu'il est censé utiliser ftdi_sio avec lui, mais ne le joint pas à ttyUSB0 comme il le ferait avec le PID non modifié. Des suggestions sur ce que je fais mal ici?