Der FTDI-Chip gibt den Deskriptor eines unbekannten Geräts zurück

Ich möchte den Kernel meines Nexus 5 debuggen und habe das Design für das Debu-Kabel , das intern einen FTDIChip verwendet, der eine USBserielle Brücke erstellt, an ein Fab geschickt.

Da der Chip ein QFNGehäuse ist, ist das Löten etwas nervig, aber nach einigen Versuchen habe ich es geschafft; eins der platine ist richtig gesehen, zwar von dersyslog

kernel: [12174.440550] usb 3-14: new full-speed USB device number 5 using xhci_hcd
kernel: [12174.585763] usb 3-14: New USB device found, idVendor=0403, idProduct=6001
kernel: [12174.585766] usb 3-14: New USB device strings: Mfr=1, Product=2, SerialNumber=3
kernel: [12174.585767] usb 3-14: Product: DCSD USB UART
kernel: [12174.585768] usb 3-14: Manufacturer: FTDI
kernel: [12174.585768] usb 3-14: SerialNumber: A600ASO8
mtp-probe: checking bus 3, device 5: "/sys/devices/pci0000:00/0000:00:14.0/usb3/3-14"
mtp-probe: bus: 3, device: 5 was not an MTP device
kernel: [12174.606497] usbcore: registered new interface driver usbserial
kernel: [12174.606569] usbcore: registered new interface driver usbserial_generic
kernel: [12174.606633] usbserial: USB Serial support registered for generic
kernel: [12174.608070] usbcore: registered new interface driver ftdi_sio
kernel: [12174.608128] usbserial: USB Serial support registered for FTDI USB Serial Device
kernel: [12174.608173] ftdi_sio 3-14:1.0: FTDI USB Serial Device converter detected
kernel: [12174.608245] usb 3-14: Detected FT232RL
kernel: [12174.608427] usb 3-14: FTDI USB Serial Device converter now attached to ttyUSB0

Andere zwei Karten werden stattdessen als DCSD-Status-LED gesehen

kernel: [11309.878562] usb 3-14: new full-speed USB device number 4 using xhci_hcd
kernel: [11310.024048] usb 3-14: New USB device found, idVendor=0403, idProduct=8a88
kernel: [11310.024051] usb 3-14: New USB device strings: Mfr=1, Product=2, SerialNumber=3
kernel: [11310.024052] usb 3-14: Product: DCSD Status LED
kernel: [11310.024053] usb 3-14: Manufacturer: FTDI
kernel: [11310.024054] usb 3-14: SerialNumber: A101FPA7

Ich habe es gegoogelt aber nichts passendes gefunden.

Da zwei Geräte genau denselben Deskriptor zurückgeben, denke ich nicht, dass es sich um einen Übertragungsfehler handelt, sondern um etwas anderes. Hat jemand eine Idee, was dieses Verhalten verursachen kann?

PS: Der Chip wurde bei aliexpress gekauft, daher kann ich nicht sagen, dass er original ist.

BEARBEITEN

Wie die Lösung anzeigt, wurde der Chip neu programmiert.

Übrigens habe ich dank des Kommentars von @pjc50 nach einer Möglichkeit gesucht, das EEPROM umzuschreiben: Auf einem Debian-System können Sie es installieren ftdi-eepromund danach müssen Sie eine Konfigurationsdatei mit dem gewünschten VIDund schreibenPID

vendor_id=0x0403        # Vendor ID
product_id=0x6001       # Product ID

und verwenden Sie dann das Programm, um den Chip neu zu flashen

$ sudo ftdi_eeprom --device i:0x0403:0x8a88 --flash-eeprom ftdi.conf

( ftdi.confist der Name der oben beschriebenen Konfigurationsdatei).

Jetzt habe ich das Gerät korrekt vom Kernel erkannt.

Sie haben eine andere "Produkt-ID", die unterschiedlich interpretiert wird. Können Sie diese ID umprogrammieren?
Oh nein? Der funktionierende sendet idProduct=6001 , während die anderen idProduct=8a88 senden . Außerdem wird die Produktzeichenfolge DCSD Status LED vom Gerät gesendet, und der Kernel gibt sie wörtlich aus.
vielleicht spricht aus dem Datenblatt ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT232R.pdf Seite 34 und 35 über die interne EEPROM-Konfiguration, die mit einer Anwendung über neu programmiert werden kann USB. Übrigens interessiert mich mehr der Grund für diese andere PID :)
@gipi: Zwei offensichtliche Gründe: Der Chip wurde falsch programmiert oder er ist gefälscht

Antworten (1)

Sieht so aus, als wäre der FTDI-Chip mit einer benutzerdefinierten PID vorprogrammiert.

Sie können es mit FT_PROG umprogrammieren .