ฉันพยายามรับอุปกรณ์ FTDI USB-Serial ที่มี PID ที่กำหนดเองเพื่อแนบ (โดยอัตโนมัติหรือด้วยตนเอง) ไปยัง ttyUSB% n โดยไม่ประสบความสำเร็จ VID / PID ปกติของอุปกรณ์คือ 0403/6001 เมื่อตั้งโปรแกรมด้วยวิธีนี้มันจะทำงานได้อย่างสมบูรณ์และแนบตัวเองกับ ttyUSB0 โดยอัตโนมัติเมื่อทำการเชื่อมต่อแม้จะมีไดรเวอร์ที่คอมไพล์ใหม่เพื่อเคารพ PID ใหม่ของเราเมื่อตั้งโปรแกรมด้วย ttyUSB0 หนึ่งที่กำหนดเองจะไม่ปรากฏขึ้น โหลดไดรเวอร์
ฉันได้เพิ่ม PID ของเราไปยังส่วนหัวและแหล่งที่มา:
// 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) },
// ....
คอมไพล์เคอร์เนลทั้งหมดใหม่และ reflashed อุปกรณ์ เมื่อฉันเสียบอุปกรณ์ฉันได้รับ:
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 แสดง VID / PID ที่กำหนดเองที่ถูกต้อง ดูเหมือนว่าคนขับจะรับรู้ว่ามันควรจะใช้ ftdi_sio กับมัน แต่ไม่ได้แนบไปกับ ttyUSB0 เช่นเดียวกับ PID ที่ไม่มีการแก้ไข ข้อเสนอแนะใด ๆ เกี่ยวกับสิ่งที่ฉันทำผิดที่นี่?