Özel bir PID ile bir FTDI USB Seri aygıtını çok başarılı olmadan otomatik olarak (veya elle) ttyUSB% n'ye eklemek için almaya çalışıyorum. Cihazın normal VID / PID değeri 0403/6001'dir. Bu şekilde programlandığında, mükemmel çalışır ve takıldığında kendini otomatik olarak ttyUSB0'a bağlar. Sürücü yeni PID'ye saygı göstermek için yeniden derlenmiş olsa bile, özel bir ttyUSB0 ile programlandığında görünmez, ancak bir ftdi_sio aygıtı olarak algılar ve sürücüyü yükler.
Başlığa ve kaynağa PID ekledim:
// 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) },
// ....
Tüm çekirdeği yeniden derledi ve cihazı yeniden kilitledi. Cihazı taktığımda:
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 doğru özel VID / PID'yi gösterir. Sürücü, onunla ftdi_sio kullanması gerektiğini biliyor, ancak değiştirilmemiş PID'de olduğu gibi ttyUSB0'a eklemiyor. Burada neyi yanlış yaptığım konusunda herhangi bir öneriniz var mı?