मैं एक सफल PID के साथ FTDI USB- सीरियल डिवाइस को स्वचालित रूप से (या यहां तक कि मैन्युअल रूप से) ttyUSB% n के साथ संलग्न करने का प्रयास कर रहा हूं, बहुत सफलता के बिना। डिवाइस का सामान्य VID / PID 0403/6001 है। जब इस तरह से प्रोग्राम किया जाता है, तो यह पूरी तरह से काम करता है और प्लग में होने पर स्वतः ही ttyUSB0 से जुड़ जाता है। यहां तक कि ड्राइवर के साथ हमारे नए पीआईडी का सम्मान करने के लिए recompiled, जब कस्टम एक ttyUSB0 के साथ प्रोग्राम नहीं दिखाई देता है, लेकिन यह एक ftdi_sio डिवाइस और के रूप में पहचान नहीं करता है ड्राइवर लोड करता है।
मैंने हमारे पीआईडी को हेडर और स्रोत में जोड़ा है:
// 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) },
// ....
पूरे कर्नेल को पुन: संयोजित कर दिया और डिवाइस को फिर से चालू कर दिया। जब मैं डिवाइस को प्लग इन करता हूं तो मुझे यह मिलता है:
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 के साथ होगा। किसी भी सुझाव के रूप में मैं यहाँ क्या गलत कर रहा हूँ?