Forum: PC-Programmierung FTDI-Treiber-problem


von N. N. (drnicolas)


Lesenswert?

Ich poste einfach mal in diesem Forum.

Die Situation:
Meine Schaltung überträgt Daten eines CAN-Controllers per USB/seriell 
vom/zum PC und benutzt dazu den FT2232.
Damit dürfte ich nicht allein sein auf diesem Planeten.

Damit es schöner aussieht, bekam vor langer Zeit der FT2232 eine eigene 
PID, die INF-Dateien im Treiber wurden angepasst.

Damit taucht meine Schaltung jetzt im Geräte-Manager als 
"CAN2USB-Konverter" auf, der zugehörige Port "CAN-Seriell".

Soweit prima.

Vor einigen Tagen wollte ich die Schaltung wieder in Betrieb nehmen. 
Also in den inzwischen mit Windows 8.1 gesegneten PC gestöpselt - prompt 
taucht die Schlatung mit gelbem Ausrufezeichen auf.

Also gleich die aktuellsten Treiber von der FTDI-Webseite herutergeladen 
und installiert - immer noch kein CAN/Seriell zu sehen.

Klar ! Die Treiber kennen die geänderte PID nicht !

Da muss nur die INF-Datei angepasst werden - DENKSTE!

Dumm nur, daß die Treiber nicht als ZIP mit den einzelnen Files 
gelöiefert wird, sondern als EXE!

Ich musste also die Dateien von Hand zusammenkopieren und die INF-Datei 
anpassen. Dafür gibt es immerhin einen ganz komfortablen INF-Generator.

Leider klappte die Installation noch immer nicht! Widnows 8.1 meldet 
einen fehlerhaften Hash-Wert und verweigert die Installation.

Also nach einigem Googeln ein Neustart mit de-aktivierter 
Signaturerkennung.
Jetzt lässt sich der Treiber installieren und alles funktioniert bestens 
:-)

Bis ich heute morgen die Schlatung an einen anderen USB-Port gestöpselt 
habe; wieder das gelbe Ausrufezeichen, wieder lassen sich die Treiber 
nur nach umständlichem Neustart mit de-aktivierter Signaturerkennung 
installieren.
Ich wette, diese Prozedur blüht mir jetzt bei jedem USB-Portwechsel 
(zumindest bei einem bisher noch nicht genutzten).

Kann man sich selbst ein "custom" treiberpaket zusammenstellen, daß mit 
der geänderten PID zurechtkommt ?
FTDI scheint nicht mehr die Treiber als ZIP-Paket zu liefern. Insofern 
wäre auch der INF-Generator obsolet.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

N. N. schrieb:
> Kann man sich selbst ein "custom" treiberpaket zusammenstellen, daß mit
> der geänderten PID zurechtkommt ?

Das Problem ist, daß Treiber mittlerweile signiert sein müssen, d.h. 
*.inf-Datei, *.sys-Datei und *.cat-Datei müssen zusammenpassen.

Selbstsignieren aber geht auch nicht, weil das die Idee hinter der 
Treibersiginierung ad absurdum führen würde.

Und so muss man sich den Kram von MS abnicken lassen:

http://msdn.microsoft.com/en-us/library/windows/hardware/hh967734%28v=vs.85%29.aspx

... was in erster Linie bedeutet, daß man einiges an Geld ausgeben muss.

FTDI selbst beschreibt die Prozedur ebenfalls:

http://www.ftdichip.com/Support/Documents/AppNotes/AN_101_WHQL_Certified_Driver_Process.pdf


Tolle neue Treiberwelt!

von Christian R. (supachris)


Lesenswert?

N. N. schrieb:
> Kann man sich selbst ein "custom" treiberpaket zusammenstellen, daß mit
> der geänderten PID zurechtkommt ?

Doch schon, aber dur brauchst eine Code Signing Signatur. Dann kannst du 
den "neuen" Treiber mit den Tools aus dem WDK selber signieren. 
(Inf2cat, signtool). Ist dann zwar nicht WHQL, aber lässt sich mit 
einmaligem Wegklicken einer Meldung ("Wollen Sie dem Hersteller XYZ 
vertrauen?" problemlos unter allen Windows Versionen auch x64 
installieren. Und dann meckert der auch nicht mehr beim Umstecken, und 
das Abschalten ser Signaturprüfung ist auch nicht nötig. Solche 
Signaturen gibts z.B. bei Verisign, Globalsign...wir nutzen momentan die 
von Globalsign, klappt bestens, selbst für PCI Boot Start Driver, da 
muss man dann nur das Signtool entsprechend anweisen, die Cross 
Zertifikate incl. der gesamten Kette ins sys File direkt einzubauen.

von Arc N. (arc)


Lesenswert?

Christian R. schrieb:
> N. N. schrieb:
>> Kann man sich selbst ein "custom" treiberpaket zusammenstellen, daß mit
>> der geänderten PID zurechtkommt ?
>
> Doch schon, aber dur brauchst eine Code Signing Signatur. Dann kannst du
> den "neuen" Treiber mit den Tools aus dem WDK selber signieren.
> (Inf2cat, signtool). Ist dann zwar nicht WHQL, aber lässt sich mit
> einmaligem Wegklicken einer Meldung ("Wollen Sie dem Hersteller XYZ
> vertrauen?" problemlos unter allen Windows Versionen auch x64
> installieren. Und dann meckert der auch nicht mehr beim Umstecken, und
> das Abschalten ser Signaturprüfung ist auch nicht nötig. Solche
> Signaturen gibts z.B. bei Verisign, Globalsign...wir nutzen momentan die
> von Globalsign, klappt bestens, selbst für PCI Boot Start Driver, da
> muss man dann nur das Signtool entsprechend anweisen, die Cross
> Zertifikate incl. der gesamten Kette ins sys File direkt einzubauen.

Eigentlich sollte zum Testen auch/noch ein "selbstgebasteltes" 
Zertifikat reichen...
http://msdn.microsoft.com/en-us/library/windows/hardware/ff548693%28v=vs.85%29.aspx
http://msdn.microsoft.com/en-us/library/windows/hardware/ff552275%28v=vs.85%29.aspx

von Christian R. (supachris)


Lesenswert?

Arc Net schrieb:
> Eigentlich sollte zum Testen auch/noch ein "selbstgebasteltes"
> Zertifikat reichen...

Dann muss man aber Windows in den Testsigning Modus versetzen, ist auch 
nicht besser als Signatur abschalten. Zum Basteln reicht ohne Signatur, 
für professionelle Sachen, die verkauft werden sollen, kann man doch die 
175€ bei GlobalSign ausgeben, das muss man halt auf den Gerätepreis 
umlegen.

von N. N. (drnicolas)


Lesenswert?

Das klingt im einfachsten Falle kompliziert.
175€ für ein Zertifikat ist für meine Bastelzwecke definitiv zu viel und 
geht völlig am Bedarf vorbei.

Kann man den FTDI eigentlich weider auf die original-Einstellungen 
resetten ?

Ich schätze, ich werde mit dem optischen Manko leben können, daß meine 
Schaltung keinen eigenen Namen bekommt.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

N. N. schrieb:
> Kann man den FTDI eigentlich weider auf die original-Einstellungen
> resetten ?

Aber ja doch, dazu dient "FT_Prog" von FTDI.

http://www.ftdichip.com/Support/Utilities/FT_Prog_v3.0.56.245.zip
http://www.ftdichip.com/Support/Documents/AppNotes/AN_124_User_Guide_For_FT_PROG.pdf

Allerdings geht das nur mit installiertem FTDI-Treiber --- Du wirst also 
irgendwoher noch ein altes Windows-System holen müssen oder aber den 
Treiber unsigniert installieren.

von gg (Gast)


Lesenswert?

N. N. schrieb:
> daß meine
> Schaltung keinen eigenen Namen bekommt.

Einen Namen kannste doch in FT Prog einfach so vergeben auch ohne die 
PID und den Treiber anzupassen?

von 123 (Gast)


Lesenswert?

Es müsste auch möglich sein das eigene certifikat als root ca zu 
installieren. Für daheim machbar. Für gewerblich ein no go.

Ggf meckert noch ein Virenscanner. Die mekern mittlerweile auch nicht 
signierte Anwendungen an.

Gruss

von Christian R. (supachris)


Lesenswert?

123 schrieb:
> Es müsste auch möglich sein das eigene certifikat als root ca zu
> installieren. Für daheim machbar. Für gewerblich ein no go.

Ja, das ist dann der Testsigning Modus. Geht schon, aber dann prangt 
auch auf dem Desktop dauerhaft eine Meldung deswegen. Jedenfalls bei Win 
7.

von Lattice User (Gast)


Lesenswert?

Bei Windows 8.1 verhält sich genauso wie Windows 7.
D.h. für die 32bit Version muss der Treiber nicht signiert sein.

Es reicht daher aus die .cat Datei zu löschen.

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.