Forum: PC Hard- und Software Arduino erkennt USB Device nicht - Windows 10


von Steffen H. (avrsteffen)


Angehängte Dateien:

Lesenswert?

Ich hatte schon das Problem, dass Arduino so den ein oder anderen 
Bootloader mittels originalen AVR ISP MKII nicht brennen konnte obwohl 
dieser in dem Gerätemanager installiert ist und ohne Probleme am Atmel 
Studio 7 funktioniert.

Bis jetzt bin ich dann immer über die AVR STudio 7 IDE gegangen und habe 
den Bootloader von da aus wieder auf diverse Arduino Boards geschoben.

Doch nun hab ich hier eine FPGA die einen RISC-V Core enthält und wollte 
den jetzt über Arduino testen.

Doch auch da - "kein USB Device gefunden" obwohl es im Gerätemanager 
vorhanden ist.. grrrrr...
Ach ja, der Zweite serielle COM Port funktioniert, siehe Bild oben.

Jetzt bin ich ratlos und hätte gern Hilfe von euch ob und wie ich diesen 
Fehler beseitigen kann.

Wer kann helfen???

von Jim M. (turboj)


Lesenswert?

OpenOCD in der neueren 0.10.0 mag den FTDI Treiber nicht mehr.
Installiere mal den WinUSB Treiber via Zadig.

Du müsstest auch mal schauen ob die VID:PID stimmt, das sieht man im 
Gerätemanager (Details->Hardware IDs).

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Ist es ein Original-Arduino mit FTDI-USB-Chip?

Wenn nicht, ist es vermutlich ein chinesische Clone, dann brauchst du 
Treiber für den Chip CH340/341.

Google ist dein Freund ...

von Steffen H. (avrsteffen)


Angehängte Dateien:

Lesenswert?

Jim M. schrieb:
> OpenOCD in der neueren 0.10.0 mag den FTDI Treiber nicht mehr.
> Installiere mal den WinUSB Treiber via Zadig.

Hallo Jim, es wurde sogar extra ein Treiber für den FT2232 mit 
geliefert. Siehe Bild oben.

Jim M. schrieb:
> Du müsstest auch mal schauen ob die VID:PID stimmt, das sieht man im
> Gerätemanager (Details->Hardware IDs).

Hab ich schon geschaut. Es wird die korrekte VID:0403 PID:6010 
angezeigt. Durch den extra dazu gelieferten Treiber wird anscheinend 
auch nicht mehr der der FTDI-Treiber benutzt sondern WinUSB, oder 
täusche ich mich da?

Trotzdem schon einmal Danke für eure Hilfe.
Das Problem konnte jedoch noch nicht gelöst werden.

Ich hoffe trotzdem ich werde es mit euere Hilfe finden pray ^^

von Steffen H. (avrsteffen)


Lesenswert?

Frank E. schrieb:
> Ist es ein Original-Arduino mit FTDI-USB-Chip?

Es ist gar kein Arduino. Es ist ein Third Party Device sozusagen. Ein 
FPGA Board mit einem installierten RISC-V Core drauf. Den kann man über 
die Arduino IDE in C, C++ ein Programm schreiben, da für RISC-V jeder 
GCC Compiler funktioniert. Und dann das File auch über Arduino uploaden 
und Debuggen. Deswegen wird wohl auch irgendwie open OCD benutzt.

Als Interface zwischen FPGA und Arduino IDE dient ein FT2232H Board als 
USB Dualport Chip. Denn der FT2232 hat ja 2 Channel. Einer ist dabei ein 
CDC Port (COM26) und der 2. wird als USB Device "Dual RS232-HS" 
angezeigt.

Der COM26 kann über Arduino ausgelesen werden und bedient den seriellen 
Monitor. Siehe Bild ganz oben im Eröffnungspost. Doch den 2.Kanal des 
FT2232 - der als USB Device geführt wird, erkennt Arduino (oder 
openOCD??) nicht.

Berichtigt mich bitte wenn ich falsch liege

von bluppdidupp (Gast)


Lesenswert?

Steffen H. schrieb:
> Durch den extra dazu gelieferten Treiber wird anscheinend
> auch nicht mehr der der FTDI-Treiber benutzt sondern WinUSB, oder
> täusche ich mich da?

Ja, scheint den Screenshots nach so zu sein. Mit einem 
Third-Party-Treiber rechnet openocd vllt. nicht?
libusk.dll gehört auch nicht zu Windows, das wird eher sein:
http://libusbk.sourceforge.net/UsbK3/index.html
FT2232H nutzt aber soweit ich weiß eigentlich gar kein WinUSB, sondern 
einen ftdi-spezifischen Treiber (der bei passender Vendor-ID/Product-ID 
unter Windows via Windows-Update eigentlich automatisch installiert 
wird).
Entsprechend hier S.4-5: 
https://ftdichip.com/wp-content/uploads/2020/08/AN_396-FTDI-Drivers-Installation-Guide-for-Windows-10.pdf

von Steffen H. (avrsteffen)



Lesenswert?

Also ich glaube ich habe es gefunden, bin aber mit der Teil-Lösung nicht 
zufrieden. Also irgend eine Datei/Skript in der Arduino IDE steuert ja 
alles was passiert wenn man Hochladen oder Hochladen *mit* 
Programmer drückt.

Und genau da ist der Fehler. Da ich ja nicht den orginalen 
Programmer/Debugger - der einen FT2232D inne hat - verwende, sondern 
einen FT2232H Board wird das FT2232H-Board als "Dual RS232-HS" und nicht 
nur als "Dual RS232" erkannt!

Und irgendeine Datei/Skript in der Arduino IDE gibt nun beim Aufruf von 
openOCD das falsche Configurations-Script für openOCD an.

Nämlich -c openocd_ftdi.cfg und nicht die für den FT2232H zu verwendende 
openocd_hbird.cfg !

Da ich partou nich heraus bekommen habe welche Datei/Skript dafür 
verantwortlich ist, habe ich jetzt erst einmal das jetzige für openOCD 
verwendete Configurations-Script (openocd_ftdi.cfg) abgeändert.

Nun komme ich zwar schon etwas weiter, aber jetzt gibt es das nächste 
Problem. grrr...

Im Configurations-Script für openOCD habe ich nur die "ftdi_device_desc 
"Dual RS232-HS" geändert.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.