Eigenen Treiber "Entwickeln" auf Basis von FTDI -Teil 1 - AZ-Delivery

Hallo zusammen :)

Vor kurzem hatten wir Ihnen im Blog "FTDI-Seriennummer auslesen und ändern" beschrieben, wie man die Seriennummer eines FT232R ändern und auslesen kann.

Heute möchten wir noch einen Schritt weiter gehen und für unsere Projekte einen eigenen Treiber erstellen. Dazu verwenden wir verschiedene Tools von FTDI.

ACHTUNG: Flashen Sie Ihren FTDI-Adapter mit den falschen Einstellungen wird dieser für Endanwender evtl. unbenutzbar.

Für unseren heutiges Projekt benötigen wir:

- FT232R Chip (z.B. FTDI-Serial Adapter, Arduino FTDI-Nano)

- Software FT_Prog (https://www.ftdichip.com/Support/Utilities.htm#FT_PROG)

 

Nachdem wir nun alle benötigten Bestandteile heruntergeladen haben und installiert haben, können wir mit dem Konfigurieren und zusammensetzens des Treibers beginnen.

 

Als erstes schließen wir unseren FTDI-Chip an den Computer an. Im Gerätemanager wird nun automatisch durch Windows über WindowsUpdate die Treiber installiert. Es sollte von Windows automatisch ein Com-Port erstellt werden und dies so aussehen:

 

Jetzt starten wir die FT_Prog Software und suchen zuerst einmal den angeschlossen FTDI-Chip.

 

Die Suche wird durch "Scan and Parse" gestartet:

Der angeschlossene FTDI-Chip wird gefunden und kann nun editiert werden:

Da wir einen eigenen Treiber erstellen möchten, müssen wir nun ein paar mehr Parameter anpassen und verändern.

Damit der Chip richtig erkannt werden kann überprüft Windows die Vendor ID und Produkt ID und sucht anhand dieser Informationen die Treiber. Verwenden wir nun irgendwelche Fantasie IDs kann das zu Lizenzverstößen und Treiberprobleme führen. Offiziell werden die VID und PID von der USB Organisation für teures Geld vergeben. Da wir aber damit nur etwas experimentieren möchten kann man im Internet verschiedene Anbieter von freien VIDs und PIDs finden oder kann sich dafür registrieren. Deswegen hier nochmals der Hinweis, verwendet nur IDs die ihr verwenden dürft und euch sicher seit das diese Funktionieren!

Wir verwenden für unseren Treiber VOTI IDs.

Die PID 5824 (0x16C0) kann mit diesen VIDs verwendet werden: 1000 - 1009

Somit haben wir 10 verschiedene PID/VID kombinationen, die für den Anfang ausreichend sein sollten.

Nun aber zur Konfiguration des FTDI-Chips:

Die Vendor ID ändern wir von 0403 auf 1000 und die Product ID 6001 auf 5824. Dies finden wir unter dem Punkt "USB Device Descriptor".

Zusätzlich können wir unter "USB String Descriptors" auch noch den Manufacturer und die Product Description anpassen. Zum Beispiel kann hier dann "Florians Device" stehen...

Haben wir alle Änderungen eingetragen, können wir wieder mit klicken auf " Scan and Parse"  die Einstellungen auf den FTDI-Chip übertragen.

In der folgenden Übersicht werden uns nochmal alle Informationen zusammengefast und mit einem Klick auf Program wird der Flashvorgang gestartet:

Ein paar Sekunden später wird das erfolgreiche Flashen in der Statusleiste angezeigt:

Entfernen wir nun den Chip vom Computer und schließen Ihn erneut an, wird dieser als neues Gerät im Gerätemanager erkannt und mit "Florians Device" betitelt:

Lesen wir nun die Hardwareinformationen aus bekommen wir unsere PID und VID:

Jetzt sind wir uns sicher, das der Flashvorgang des FTDI-Chips erfolgreich war.

Wie wir nun diesen Chip wieder verwenden können und einen Treiber zusammenstellen, zeigen wir Ihnen morgen im Teil 2.

Viel Spaß beim Experimentieren und bis morgen...

Grundlagen software

Leave a comment

All comments are moderated before being published

Recommended blog posts

  1. ESP32 jetzt über den Boardverwalter installieren - AZ-Delivery
  2. Internet-Radio mit dem ESP32 - UPDATE - AZ-Delivery
  3. Arduino IDE - Programmieren für Einsteiger - Teil 1 - AZ-Delivery
  4. ESP32 - das Multitalent - AZ-Delivery