Forum: Mikrocontroller und Digitale Elektronik AVR und CDC-Treiber fuer RS-232 unter Win7


von Ralph S. (jjflash)


Lesenswert?

Guten Tag allerseits,

immer wieder mal versuche ich folgendes (was wohl auch im Internet 
hinlänglich bekannt ist):

Ich verwende auf einem AVR (in diesem Falle ein Tiny2313) das CDC-232 um 
einen virtuellen Com-Port zu haben.

Siehe: http://www.recursion.jp/avrcdc/cdc-232.html

Das funktioniert auch alles super prächtig... unter Win2000, WinXP .. 
sogar auf dem Win7 Starter (allerdings 32 Bit) auf dem Netbook.

Nuuuuuuuuur unter Windows7 (64 Bit) kommt das allseits bekannte Problem:

Wenn der - unsignierte - Treiber geladen werden soll (was Win7 so gar 
nicht mag) dann muß das Windows System in den "Testmodus" versetzt 
werden damit das Teil läuft.

D-A-S  G-E-F-Ä-L-L-T  M-I-R  N-I-C-H-T !

Gibt es denn wirklich keine andere Möglichkeit das unter Win7-64 Bit 
OHNE Testmodi laufen zu lasen.

Ich habe den Umweg über LIBUSB-Win32 versucht, dann kann sich das Teil 
ja installieren, aber eine Ausgabe bspw. auf einem Terminalprogramm ist 
dann hinfällig.

Hat da vielleicht irgendwer in den weiten des Internets die NIE ein 
anderer Mensch zuvor gesehen hat, doch tatsächlich einen signierten 
Treiber für das  CDC-232 ?

Gruß,
Ralph

von Oliver J. (skriptkiddy)


Lesenswert?

Ralph S. schrieb:
> Wenn der - unsignierte - Treiber geladen werden soll (was Win7 so gar
> nicht mag) dann muß das Windows System in den "Testmodus" versetzt
> werden damit das Teil läuft.

Bei CDC-serial wird normalerweise nur ein windows-eigener Treiber namens 
usbser.sys geladen. Den kannst du für dein Gerät auch verwenden. Dafür 
musst du beim installieren "avrcdc_inf\raw\avrcdc.inf" auswählen. Damit 
sollte es funktionieren.

Gruß Oliver

von Ralph S. (jjflash)


Lesenswert?

> Bei CDC-serial wird normalerweise nur ein windows-eigener Treiber namens
> usbser.sys geladen. Den kannst du für dein Gerät auch verwenden. Dafür
> musst du beim installieren "avrcdc_inf\raw\avrcdc.inf" auswählen. Damit
> sollte es funktionieren.

... und genau DAS ... funktioniert mit Windows7 64 Bit eben nicht mehr !

von Oliver J. (skriptkiddy)


Lesenswert?

Ralph S. schrieb:
> ... und genau DAS ... funktioniert mit Windows7 64 Bit eben nicht mehr !

Bei mir funktioniert es. Hab mal selbst auf Basis eines STM32 ein Gerät 
entwickelt, welches zur Kommunikation einen CDC-Serial Port bereit 
stellt. Dafür ließ sich ohne Probleme unter Zuhilfenahme einer 
angepassten INF-Datei der Windowstreiber (Windows7 x64) installieren. 
Windows hat zwar gemeckert, dass ich einen nicht signierten Treiber 
installieren wollte, hat es dann aber nach einen Buttondruck trotzdem 
getan.

Gruß Oliver

von Oliver J. (skriptkiddy)


Lesenswert?

Ok ich habe es gerade noch einmal mit dem avr-cdc getestet und es 
funktioniert tatsächlich nicht mit dem betriebsystemeigenen Treiber von 
Windws7 x64. Der Grund ist, dass der Treiber spec-konform implementiert 
ist und sich das Gerät anscheinend nicht spec-conform verhält [1]. 
Abhilfe schafft nur der nicht signierte mitgelieferte Treiber, welcher 
den Test-Mode benötigt oder man nutzt ein Gerät, welches sich der 
Spezifikation entsprechend verhält (also keine Frickellösung). Natürlich 
kannst du dir auch ein anderes Betriebssystem installieren (Linux), denn 
damit funktioniert das Teil bei mir ohne Probleme out of the box.

Gruß Oliver

[1] http://www.recursion.jp/avrcdc/driver.html

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.