Saya mencoba untuk mendapatkan perangkat USB-Serial FTDI dengan PID khusus untuk secara otomatis (atau bahkan secara manual) melampirkan ke ttyUSB% n, tanpa banyak keberhasilan. VID / PID normal perangkat adalah 0403/6001. Ketika diprogram dengan cara ini, ia bekerja dengan sempurna dan secara otomatis menempelkan dirinya ke ttyUSB0 ketika dicolokkan. Bahkan dengan driver yang dikompilasi ulang untuk menghormati PID baru kami, ketika diprogram dengan kustom, satu ttyUSB0 tidak muncul, tetapi ia mengenalinya sebagai perangkat ftdi_sio dan memuat driver.
Saya telah menambahkan PID kami ke header dan sumber:
// 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) },
// ....
Mengkompilasi ulang seluruh kernel dan mem-flash perangkat. Ketika saya mencolokkan perangkat saya mendapatkan:
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 menunjukkan VID / PID kustom yang benar. Pengemudi tampaknya menyadari bahwa ia seharusnya menggunakan ftdi_sio dengannya, tetapi tidak melampirkannya ke ttyUSB0 seperti pada PID yang tidak dimodifikasi. Ada saran untuk apa yang saya lakukan salah di sini?