www.mikrocontroller.net

Forum: PC Hard- und Software USB Treiber manuell installieren und deintallieren [Win7/64]


Important announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Markus Müller (mmvisual)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Hallo,

Ich will selbst mit USB Treiber für einem Controller rum 
experimentieren.

Dazu ist es nötig, dass ich mir meine INF selbst zusammen bastle und 
dann soll Win7/64 genau die eine INF + passende SYS installieren.
(Und auch wieder deinstallieren/löschen, wenn ich mist gebaut habe)

Aber Win7 zeigt mir nur ein Standard-Dialog an, dass der Treiber aus dem 
MS Downloadpool nicht gefunden wurde (ist ja klar, mein Borad).

Jetzt die Frage:

Was muss ich machen, damit ich bei Win7 meine Treiber-INF manuell 
auswählen kann?

Dann wurde zumindest bei XP die ins Windows/INF und System32/drivers 
kopiert und noch Einträge in der OEM Datei gemacht.

Somit wusste ich damals, was ich wo löschen/aufräumen musste um das 
ganze Setup wieder erneut von 0 zu testen.

Aber wie geht das bei Win7?
Was muss ich alles aufräumen und löschen damit das auch so geht?
Was braucht es für Systemrichtlinien um einen Treiber manuell ein 
richten zu können?

Danke für eure Hilfe, Gruß Markus

Autor: Markus Müller (mmvisual)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Ich habe hier noch Dateien gefunden:

c:\Windows\System32\DriverStore\FileRepository\

Wie kann ich da meinen Treiber-Müll raus löschen?
Setzen der Berechtigung akzeptiert Win7 nicht :-(

Autor: Christian R. (supachris)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Entweder über den Gerätemanager, da kannst du einen beliebigen Treiber 
auswählen und dann auch samt Treiberdateien wieder deinstallieren, oder 
aber was viel besser geht, über dpinst, das basiert auf dem Driver 
Install Framework und ist im WDK enthalten. zur Installation musst du 
das nur im Ordner mit der .inf ausführen, zur Deinstallation mit /u 
starten. Sehr einfach und effizient.

Autor: Markus Müller (mmvisual)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Christian R. schrieb:
> Entweder über den Gerätemanager, da kannst du einen beliebigen Treiber
> auswählen und dann auch samt Treiberdateien wieder deinstallieren, oder
> aber was viel besser geht, über dpinst, das basiert auf dem Driver
> Install Framework und ist im WDK enthalten. zur Installation musst du
> das nur im Ordner mit der .inf ausführen, zur Deinstallation mit /u
> starten. Sehr einfach und effizient.

Ich teste das mal. Hier steht mehr zum "DIF":
http://msdn.microsoft.com/en-us/library/windows/ha...

Erst mal muss ich VS2010 dazu überreden mir eine SYS zu erzeugen.

Autor: Christian R. (supachris)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Dazu brauchst du das WDK. Aber wieso selber einen Treiber schreiben? Für 
sowas gibts doch WinUSB oder auch LibUSB. Sind sogar schon signiert und 
für x64 auch zu benutzen.

Autor: Markus Müller (mmvisual)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Ich habe einen Treiber von einem alten Cypress AN2131 Chip. Der ist 
schon seit langem abgekündigt und Cypress bietet für den alten Anchor 
Chip keine Unterstützung mehr.

Nun das Problem ist, damals hatte ich viele Geräte verkauft, die den 
Chip beinhalten und die Teile sind jetzt nach ca. 10 Jahren immer noch 
voll im Einsatz und werden stark genutzt.

Die Sourcen für die SYS Datei habe ich auch (war damals im DDK vom 
Prozessor dabei) und jetzt will ich das ohne Änderung für X64 
übersetzen.

Aber das geniale Microsoft C++ System stellt einem da nicht einfache 
Steine in den Weg :-(
Alleine schon die Projekteinstellungen werden durch den Update von VS6 
>> VS2010 "verbogen".

Siehe auch hier:
Beitrag "[c++] VS2010, Nicht aufgelöstes externes Symbol "___security_cookie""
mein nächstes Problem.

Autor: Christian R. (supachris)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Achso. Naja, offiziell soll man ja den CyUSB.sys dafür nehmen. Was 
spricht gegen ein Software-Update, das den neuen Treiber anspricht? Wir 
haben das auch so gemacht, erst den CyUSB für den FX2, dann eine 
Übergangsphase der Software, die beides konnte und dann nur noch WinUSB. 
Der ist viel schneller und absolut stabil. Die Cypress Treiber kannste 
doch alles durch die Bank weg vergessen, so buggy wie die sind. Kein 
Wunder, dass die jetzt endlich mal einen signierten CyUSB haben.
Ansonsten brauchst du halt das WDK, aber mach dir nicht zu viele 
Hoffnungen auf eine änderungslose Kompilierung. Ich hab auch mal 
versucht, den PCIe BusMaster Referenztreiber von Xilinx ohne Änderungen 
auf x64 zu kompilieren, das ging zwar und er ließ sich laden, aber bei 
jedem Zugriff gabs massig Bluescreens. Ich hab da leider zu wenig 
Ahnung, aber ich vermute, ganz so einfach ist das nicht.

Autor: Markus Müller (mmvisual)
Datum:
Angehängte Dateien:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Das hatte ich schon versucht, Ergebnis ist nicht sonderlich toll. Gelbes 
Ausrufezeichen im Gerätemanager = geht nicht :-( siehe Bild.

Ich habe die Dateien aus dem Cypress-Download 
"CySuiteUSB_3_4_7_B204.exe" und die INF Datei mit dem VID/PID angepasst. 
Installieren tut der die, aber gehen tut es leider nicht.

Kannst Du mir Deine INF schicken?

Das wäre in der tat das einfachste, hatte ich auch schon so in google 
gelesen.
Mit dem alten Treiber hatte ich auch unter XP die BlueScreens, kam 
regelmäßig vor wenn ich viele Geräte aus/ein steckte.
Wäre auch klasse wenn das weg ginge.

LibUSB kommt bei mir auch noch dran. Ich wollte nur nicht das alte 
Projekt darauf umstellen, das ist doch was größeres.

Autor: Christian R. (supachris)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Markus Müller schrieb:
> Kannst Du mir Deine INF schicken?

Nee, war alles auf Arbeit. Kann ich nicht rausgeben. Wir hatten aber 
auch nur die inf von Cypress angepasst. Aber halt auf dem FX2. Der alte 
An2131 sollte aber auch mit dem CyUSB funktionieren. Aber nimm doch am 
besten gleich WinUSB, der ist sogar noch einfacher zu implementieren als 
der CyUSB.

Autor: Markus Müller (mmvisual)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
>Nee, war alles auf Arbeit.

Hab ich mir schon gedacht ;-)
FX2 ist nicht ganz EZUSB. Ich bin mir da nicht sicher was da alles noch 
anders ist.

Ich nutze den Prozessor mit der Hardwareeigenen USB Funktion, die 
Software hat keinen eigenen USB Treiber. Und die lade ich immer vor dem 
Nutzen einfach runter und starte diese. Somit passt die Software im 
AN2131 immer zur EXE.

Hast Du vielleicht einen Tipp, welche USB Telegramme ich verschicken 
muss, um Daten in das RAM zu schreiben, bzw. Lesen?

Ich würde am liebsten LibUSB nehmen, ich muss die H Dateien dazu 
umschreiben auf Delphi.

Autor: Christian R. (supachris)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Laut Cypress wird aber auch für den AN2131 der CyUSB empfohlen. 
RAM-Download passiert bei Cypress normalerweise über einen USB Vendor 
Request aus den Control Endpoint, ich denke das war beim EZUSB auch 
schon so, denn selbst beim FX3 ist es noch der A0 Request. Genaueres 
steht dann in der Doku zum Chip. Ich hab mir auch ein WinUSB basiertes 
Tool zum Beschreiben des EEPROMS am FX2 geschrieben, eigentlich ziemlich 
einfach. Notfalls mit USB Snoop o.ä. mal mit sniffen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel




Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder GIF-Format hochladen.
Siehe Bildformate
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken erkennst du die Nutzungsbedingungen an.

webmaster@mikrocontroller.netImpressumNutzungsbedingungenWerbung auf Mikrocontroller.net