Forum: Mikrocontroller und Digitale Elektronik FT232 wird nicht von MPROG erkannt


von Ralf (Gast)


Lesenswert?

Hallo,
habe eine Schaltung mit dem FT232BM aufgebaut, inklusive EEPROM.
Betriebssystem ist Win2000. Die für den Betrieb mit MPROG nötigen
D2xx-Treiber lassen sich nicht installieren, Windows will immer USB.inf
verwenden, anstatt der mitgelieferten INF-Datei. Die Schaltung wird aber
als "USB <-> Serial" erkannt.

Kennt jemand das Problem? Auf der FTDI-Seite hab ich gelesen, dass es
helfen kann, während der Installation den Rechner vom Web zu trennen,
hab ich bis jetzt aber noch nicht probiert, komme erst morgen wieder an
den betreffenden Rechner...

Falls das nicht hilft, hat jemand noch ne andere Lösung?

Ralf

von Μαtthias W. (matthias) Benutzerseite


Lesenswert?

Hi

du mußt zuerst die VCP-Treiber deinstallieren. Der Treiber bringt ein
passendes Tool mit.

Matthias

von Ralf (Gast)


Lesenswert?

Das ist ja das Problem, die VCP-Treiber wurden gar nicht installiert!!!

Ralf

von Μαtthias W. (matthias) Benutzerseite


Lesenswert?

Hi

sicher? Der Treiber muss da sein, sonst würde Windows ihn ja nicht
finden. Wenn er ganz sicher nicht da ist kannst du ja mit Gewalt den
D2XX-Treiber installieren. Einfach die INF-Datei beim Treiberdialog
manuell angeben.

Matthias

von Ralf (Gast)


Lesenswert?

Hm... Vielleicht hab ich es auch falsch aufgefasst...
Wenn du sagst, der VCP-Treiber muss vorhanden sein, da die Schaltung
sonst nicht erkannt wird... Ich probier mal das Deinstallationstool.

Und INF-Datei manuell angeben, funktioniert nicht, Win2000 will dann
die USB.INF verwenden, und lässt die mitgelieferte links liegen...

Ralf

von Thomas (Gast)


Lesenswert?

Hallo,

um mit Mprog das EEprom programmieren zu können,sind die D2xx-Treiber
zwingend notwendig.

VCP deinstallieren,
danach D2xx Treiber installieren. Auf ein neues.....

Gruß, Thomas

von Eerhard (Gast)


Lesenswert?

Hallo,

Ich hatte in Anfang erst die USB AVR910 gebaut und installiert. Spaeter
hatte ich mal die USB asp (fischl.de) gebaut und installiert. Aber,
seitdem kan ich nicht mehr mit die USB AVR910 arbeiten. Ich bekomme
eine Fehlermeldung und was ich auch versuche, ich kann die Treiber
einfach nicht mehr installieren unter XP. Habe fast auch alles im
Register (mit Regedit) "deleted", aber es geht einfach nicht. Ich
glaube ich muss mal wieder XP installieren.

Vielleicht hast du irgendwo ein identische Problem... Also, es gibt
kein Moeglichkeit um die Treiber zu installieren. Ich habe eine
verweisung gemacht nach die "Directory" wo ich die D2xx-treiber
hatte, auch mal versucht nach die VCP-treiber, aber die werden nicht
akzeptiert. Und dann geht XP automagisch seine alte Treiber benutzen.
(Und wie erwartet, die arbeitet nicht)
Also,. ich glaube du hast eine aehnliches Problem, sondern, unter W2000
ist es noch zu sehen dass es eine USB => RS232 Konverter gibt.
Es soll dann warscheinlich etwas los sein mit Windows..

Gruesse aus Holland,

P.S. Meine Entschuldigingen fuer meine schlechte Deutschsprache. (Aber
es soll doch um die Inhalt gehen, nicht die Gramatik)

von Andreas Häusler (Gast)


Lesenswert?

Hi
Versuchs doch mal mit der Systemwiderherstellung von Win XP.
Evt. hilft es Dir, den Pc in den Zustand vor der Treiber- Installation
zurück zu versetzen bevor Du Windows neu installierst.

Gruss Andy

von Eerhard (Gast)


Lesenswert?

Hallo Andreas,

Ich habe mir angelernt um 2 Mal pro Jahr Windows erneut zu
installieren. Habe es schon 1 Jahre nicht gemacht. Also, fuer mich kein
Problem, ist nur eine kleine Ritual.

Ich weiss leider nicht ob das auch so geht fuer Ralf.

von Ralf (Gast)


Lesenswert?

Hi,

wir habens gelöst, indem wir den Treiber noch etwas manueller
installiert haben. Nicht über Dateimanipulation oder so, schon über den
Geräte-Manager, aber über die Auswahl aus der Liste, nicht über Suche
des besten Treibers...

Für einen Rechner mussten wir aber das EEPROM der Schaltung an einem
anderen Rechner erstmal programmieren, bevor es dann lief.

Vielleicht hilft das anderen Leuten weiter...

Ralf

von Eerhard (Gast)


Lesenswert?

Dann ist mein Problem etwas serioses, weill auch das hat nicht bei mir
geklappt. Hatte tatsaechlich eine manuele Installation versucht, mit
direkte Link nach der Treiber-directory, aber immerhin akzeptiert er
das nicht. Auch nicht wenn ich die INF (oder war es INI) file anzeige.

von Ralf (Gast)


Lesenswert?

Hm...
Sieh mal in der Systemsteuerung unter Software nach, ob dort die
FTDI-Treiber bereits gelistet sind. Wenn ja, deinstallier sie und
schließe das Teil dann wieder an...

Ralf

von Stefan_h (Gast)


Lesenswert?

Hallo,

habe auch ein kleines Treiber-Problem mit dem FT232R. Ich habe den Chip 
via USB mit dem PC verbunden, chip hat auch funktioniert(VCP-treiber). 
Dann habe ich die DLL verwendet und mit der Funktion FT_EE_ProgramEx die 
description verändert. Habe dann den Controller neu gestartet. Jetzt 
kommt beim Anstecken an der USB die meldung mit meiner neuen 
Description, aber ich kann keinen Triber installieren. Wenn ich die 
*.inf manuell auswähle sagt mir WinXP, dass keine Geräteinformation 
gefunden wurde. Im gerätemanager steht das ganze nur mit meiner 
Description unter einem Fragezeichen.

Habe schon in der *.inf die Description geändert, ohne Erfolg.

im Gerätemanager steht unter Details:

Geräteeinstanzkennung:
USB\VID_0403&PID_0000\5&2D9F4110&0&3

Hardwareerkennung:
USB\Vid_0403&Pid_0000&Rev_0600
USB\Vid_0403&Pid_0000

Kompatible Kennung:
USB\Class_ff&SubClass_ff&Prot_ff
USB\Class_ff&SubClass_ff
USB\Class_ff

PID sollte aber doch 0x6001 sein.

EEPROM auf den Auslieferungszustand setzen geht ja nicht, oder?

Hat wer eine Ahnung was helfen würde??

mfg,

Stefan

von Kai F. (k-ozz)


Lesenswert?

Es sieht so aus, alsob du die PID deines FT232R verändert hättest.
Vielleicht funktioniert es, wenn du dir einen Treiber für dein neues 
Gerät bastelst. Der wird dann installiert und du kannst mit MPROG die 
PID wieder richtig setzen.

von Kai F. (k-ozz)


Angehängte Dateien:

Lesenswert?

Ich war mal so frei und habe fix den Treiber für dein neues Gerät, bzw. 
dessen VID/PID angepasst.
Installiere diesen mal für dein neues Gerät und dann sollte MPROG auch 
wieder darauf zugreifen können.

von Ralf (Gast)


Lesenswert?

Hi Stefan,

bin der Originalposter, hab mittlerweile ein kleines bisschen Erfahrung 
gesammelt, vielleicht kann ich helfen :)

Ja, also PID = 0000 sollte nicht sein, das muss dann schon 6001 sein. In 
der INF muss auch die passende PID vorhanden sein. Du könntest jetzt 
erstmal versuchen, die INF entsprechend anzupassen. Ich würde empfehlen, 
eine Kopie der INF zu machen, und dort dann die PID auf 0000 zu ändern, 
evtl. bekommst du ihn dann schon wieder ans Leben (ich muss aber sagen, 
dass ich den Fall noch nie hatte und das so auch nicht probiert habe).

Da du aber die Funktion FT_EE_ProgramEx verwendest, vermute ich, dass du 
die FTDI DLL in einem eigenen Programm verwendest. Kannst du den Chip in 
deiner Software noch erreichen? Dann könntest du das EEPROM mit 
FT_EraseEE löschen.

Hast du denn auch beachtet, dass VID/PID (u.v.m.) auch an 
FT_EE_ProgramEx übergeben werden müssen? Oder hast du nur die 
Beschreibung geändert und den Rest "leer" gelassen?

Dann wäre noch die Frage nach den Treibern bzw. MPROG Version. Alles das 
aktuellste, nehme ich an?

Probier das mal und sag Bescheid, obs geklappt hat.

Ralf

von Stefan_h (Gast)


Lesenswert?

hallo Ralf,

Habe schon an der dan beiden Inf ein bischen gebastelt aber damit nichts 
erreicht. WinXP lässt den Driver einfsch nicht zu. Vieleiht Habe ich 
nicht die richtige PID umgeschrieben.

Beim Programmieren über die DLL habe ich alle werte Standartmäsig aus 
der Doku in die struct geschrieben und nur die description geändert und 
dann auf den chip geschrieben.

Auch der Rechner an dem ich das gemacht habe lässt den Driver nicht zu, 
also kann ich auch die DLL net mehr verwenden.

Treiber ist der aktuellste.

lg,

Stefan

von Stefan_h (Gast)


Lesenswert?

Hallo Kai,

Habe dein Post übersehen.

Vielen Dank für die Mühe, habe einen kleinen Teilerfolg. Der Treiber 
lässt sich installieren. Der Erste Treiber wird installiert, dann 
erkennt WinXP den USB Serial Converter und möchte den 2. Treiber 
installieren. Bei dem gibt es dann ein Problem. Er installiert sich und 
beendet auf einem PC mit einem BlueScreen und bei einem anderen PC 
friert das Bild ein.

mfg,

Stefan

PS.: Was genau hast du in der INF geändert?

von Kai F. (k-ozz)


Lesenswert?

Hallo Stefan,

ich habe in den beiden INF-Files nur ein Gerät hinzugefügt, dass die VID 
0x0403 und die PID 0x0000 besitzt, also deinem Gerät entspricht. Das ist 
der Weg, den FTDI auch vorgibt, wenn man die Treiber für eigene 
VIDs/PIDs anpassen will/muss.

Ich bin mir nicht sicher, ob die PID überhaupt 0x0000 sein darf, oder ob 
das im USB-Standard eine besondere Bedeutung hat, d.h. dass dieser Wert 
reserviert ist.

Hast du noch einen anderen (funktionierenden) FT232R?
Mein nächster Ansatzpunkt wäre jetzt die Registry!
Hierzu würde ich mit FTClean den alten Treiber und alle bisher 
installierten Geräte entfernen. Danach muß in der Registry an einer 
bestimmten Stelle ein Wert eingetragen werden der besagt, dass der 
USB-Treiber die Seriennummer des Gerätes ignoriert.
Jetzt kann der Treiber mit einem funktionierenden FT232R installiert 
werden. Anschließend wird das Gerät wieder abgezogen und in der Registry 
alle Vorkommnisse dieses FT232R mit der PID 0x6001 durch die PID 0x0000 
ersetzt.
Dann sollte der FT232R mit der PID 0x0000 beim anstecken an den selben 
USB-Port ohne Treiberinstallation erkannt werden. Es besteht allerdings 
die Möglichkeit, dass du auch dann wieder den Bluescreen bekommst, bzw. 
der Rechner einfriert. Das würde dann bedeuten, dass der Treiber mit der 
PID 0x0000 nicht zurecht kommt. Dann hilft wohl nurnoch der Austausch 
des ICs.

Der Punkt ist aber,
Ich weiß nicht, ob du dir diese Sache zutraust. Man sollte mit der 
Registry jedenfalls vorsichtig umgehen, da man dort das ganze System 
versauen kann.

von Stefan H. (stefanh-)


Lesenswert?

Hallo Kai,

Das mit der Regestry ist kein Problem, traue ich mir zu ;-)

Habe gerade mal MProg ausprobiert wenn der eine Treiber schon 
installiert ist. Er findet auch dass device, aber er daf es nicht 
ansprechen, denn dann-> BlueScreen. Es sheint tatschlich ein Problem mit 
PID=0x0000 zu sein. Wahrscheinlich ist das bei WinXP nicht erlaubt. Ich 
nehme mal an, dass ich on der USB-Seite nicht mehr in den chip komme. 
Gibts eine möglichkeit den EEPROM von der anderen Seite(RS232) zu 
schreiben??

mfg,

Stefan

von Gast (Gast)


Lesenswert?

Hallo,

eine PID von 0x0000 ist natürlich nicht möglich, besser wäre vielleicht 
0x1234 gewesen.....
Eine gültige PID (für ein Produkt) bekommt man von FTDI kostenlos. 
Einfach eine email dahin schreiben.
Eine Änderung der PID von der RS232-Seite aus ist meiner Meinung nach 
nicht möglich.
Das Buch von www.b-redemann.de gibt auf Seite 194...198 dazu Auskunft, 
wie man da vorgeht.

J.

von Kai F. (k-ozz)


Lesenswert?

Es war von Stefan mit Sicherheit nicht beabsichtigt, dem FT232R eine 
PID=0x0000 zu geben. Es geht hier lediglich darum das Gerät wieder zu 
reaktivieren, d.h. ihm wieder eine brauchbare PID zu verpassen.

von Stefan H. (stefanh-)


Lesenswert?

Hallo,

Nein es war nicht beabsichtigt, habe mich nun damit abgefunden, dass der 
chip seine Lebenszeit hinter sich hat ;-)

Hätte aber gleich noch eine Frage: Gibt es eine Möglichkeit mit 2 
Aplikationen über die DLL auf einen Chip zuzugreifen?

Habe es natürlich schon Probiert, aber bekomme mit der als 2tes 
gestarten Software numberOfDevice=1, aber keine ID oder Description.

Hat jemand eine Idee?

Arbeite mit LabWindows

mfg,

Stefan

von Ralf (Gast)


Lesenswert?

Wenn ich die Beschreibung zur D2XX.DLL richtig im Kopf habe, ist es 
nicht möglich, damit über zwei Applikationen gleichzeitig auf ein Device 
zuzugreifen. Schätze, da wirst du der einen Applikation ein Interface 
zur anderen zur Verfügung stellen müssen.

Aber kann auch sein, dass ich mich täusche, musst mal nachlesen.

Ralf

von Stefan H. (stefanh-)


Lesenswert?

Hallo,

Kann ich nach einem langen Arbeitstag bestätigen, es geht nicht.

Die Idee mit dem Interface hatte ich auch, aber das geht leider nicht, 
da die eine Apliation die Installaton der anderen nicht garantiert und 
umgekehrt. Habe auch überlegt eine 3. Aplikaion(DLL) zu schreiben, aber 
da ist es mir um die Zeit zu Schade.

Der vollständikeitshalber:

Da sowieso kein glecihzeitiger Zugriff von beiden auf den chip möglich 
sein kann, offnet jede Applikation die schnittstelle nur dann wenn sie 
benötigt wird und schließt sie danach wieder. Ich bin zwar noch nicht 
fertig, aber ich nehme an, dass es so gehen wird(hoffentlich).

mfg und schönen Abend noch ;-)

Stefan

von Hast es jetzt fertig? (Gast)


Lesenswert?

D+ D- vertauscht?
hatte ich auch schon...

von Keivan (Gast)


Lesenswert?

Hi
I Have a FT232R Chip But Make VID and PID both 0000 after EEPROM problem 
on make my windows applocation program so windows detected Unknow USB 
Device and FTDI Driver Don't Detect i make driver by 0000 VID and PID 
but don't detect yet
Please, help me for repaire the EEPROM

von Stefan H. (Gast)


Lesenswert?

Hi Keivan,

I had the same problem, you can not rewrite the eeprom when the PID and 
the VID = 0000. You must change the FT232,

von Brunof (Gast)


Lesenswert?

This has been a BIG problem to me the past couple of hours.

Seems that the PC / FTDI driver is destroying the device EEPROM while 
enumerating for some reason.  If your PID get's changed to 0x0000, use 
modified .inf files (like the ones posted here) and then when the device 
get recognized, use the MProg o FTProg tool to put the default FTDI PID 
& VID back to the device. Then, plug the device in other PC and you will 
see that PID & VID remains beeing correct. If you connect the device to 
the PC with the problem, it will destroy the PID value.

Im heavily thinking about this happening due to excessive COM Ports 
getting installed in the same PC (generally 'cause of a lot of FT232RL 
devices connected in the same PC) and Windows is rejecting the driver 
for some reason and destroying the PID value.

Now i have to discover how to get rid of all those COM ports created 
that may be the reason of all this problem.

Hope this can help someone, even beeing an old post.

Good luck!

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.