Forum: PC-Programmierung USB-Controller via Software deaktivieren


von Stefan_H (Gast)


Lesenswert?

Hallo,

Ich habe folgendes Problem: Ich verwende FT232R Chip unter WinXP und 
Windows 7, Jedes mal wenn in der Nähe eine induktive Last ein- oder 
ausgeschalten wird, geht die Verbindung verloren. Unter Windows 7 ist 
das kein Problem, weil das Betriebsystem die Verbindung wieder aufnimmt. 
Unter WinXP geht das leider nicht und ich muss entweder den Chip 
abstecken und wieder anstecken oder im Gerätemanager den "USB Serial 
Converter" unter "USB-Controller" deaktivieren und wieder aktivieren.

Nachdem die Hard und Software über Stunden unbeobachtet laufen soll, 
kann ich beides nicht machen. Jetzt stellt sich mir die Frage, ob es 
eine Möglichkeit gibt via Software den "USB Serial Converter" zu 
deaktivieren und dann wieder aktivieren?

Ich verwende als Compiler und IDE LabWindows/CVI

Danke im Vorraus,

Stefan

von Juergen R. (stumpjumper)


Lesenswert?

Stefan_H schrieb:
> Hallo,
>
> Ich habe folgendes Problem: Ich verwende FT232R Chip unter WinXP und
> Windows 7, Jedes mal wenn in der Nähe eine induktive Last ein- oder
> ausgeschalten wird, geht die Verbindung verloren. Unter Windows 7 ist
> das kein Problem, weil das Betriebsystem die Verbindung wieder aufnimmt.
> Unter WinXP geht das leider nicht und ich muss entweder den Chip
> abstecken und wieder anstecken oder im Gerätemanager den "USB Serial
> Converter" unter "USB-Controller" deaktivieren und wieder aktivieren.
>
> Nachdem die Hard und Software über Stunden unbeobachtet laufen soll,
> kann ich beides nicht machen. Jetzt stellt sich mir die Frage, ob es
> eine Möglichkeit gibt via Software den "USB Serial Converter" zu
> deaktivieren und dann wieder aktivieren?
>
> Ich verwende als Compiler und IDE LabWindows/CVI
>
> Danke im Vorraus,
>
> Stefan
Hallo Stefan,
hast Du schon mal versucht den Rechner per USV vom Stromnetz zu 
entkoppeln.
Ich würde erst mal versuchen durch solche Maßnahmen das Problem an sich 
zu vermeiden.
Auf der seriellen Seite dann z.B. zusätzliche Abschirmung durch einen 
Metallschlauch.

von Entwickler12345 (Gast)


Lesenswert?

Hallo,

meldet der sich richtig über Plug&Play ab oder bleibt die Verbindung 
hängen? Wenn nur die Verbindung hängen bleibt,liegt es vermutlich daran, 
dass viele Datenfehler aufgelaufen sind und der Host die Endpunkte in 
HALT setzt. Dann musst du die mit einem Clear_Feature(EP_HALT) wieder 
loslaufen lassen, falls du die Möglichkeit hat.

Gruß

von Frank K. (fchk)


Lesenswert?

Eine echte serielle Schnittstellenkarte in einem PCI/PCIe Slot sollte 
Dein Problem lösen.

fchk

von Leo H. (Gast)


Lesenswert?

Hi,

hast du auf dem XP-Rechner zufällig das FT-Prog Tool von FTDI?
Damit kann man die ICs zurücksetzen um geänderte EEPROM-Daten zu 
übernehmen, nach dem Reset melden sie sich komplett neu an.
Vielleicht kannst du da das Kommando mitschneiden und selber senden.

von Arc N. (arc)


Lesenswert?

In der FTD2XX.dll von FTDI gibt's die Funktion FT_CyclePort, die genau 
das macht.
"The effect of this function is the same as disconnecting then 
reconnecting the device from USB. Possible use of this function is 
situations where a fatal error has occurred and it is difficult, or not 
possible, to
recover without unplugging and replugging the USB cable."
http://www.ftdichip.com/Support/Documents/ProgramGuides/D2XX_Programmer%27s_Guide%28FT_000071%29.pdf

von Stefan_H (Gast)


Lesenswert?

Hallo Leute,

Danke für die Antworten... aber... ;-)

Störungen zu vermeiden wäre zwar super, ist aber durch gewisse Umstände 
nicht möglich. Das Board war eigentlich nur für Tests und entwicklung 
gedacht. Der FT232R liegt EMV-Technisch ganz schlecht und sie die 
Datenleitung für USB liegt quer über das ganze Board.... Problem ist, 
das das Board "irrtümlich" im Einsatz ist und ich die Sache ohne 
Hardwareänderungen zum laufen bringen muss.

Bzgl. Clear_Feature(EP_HALT): Ich habe leider nur wenig Ahnung von USB 
ansich. Ich Kann den fehler nur so beschreiben: Wenn der Fehler 
Passiert, hört man das Typische Ab-/Anstecken-Geräusch von Windows XP 
und der der Chip lässt sich nichtmehr ansprechen:
1
ftStatus=FT_Open(0,&ftHandle);
ftStatus ist immer 1 (invalid ftHandle)

Womit ich dann  FT_CyclePort(ftHandle) nicht ausführen kann, da ich 
keinen ftHandle habe.

Wie gesagt, das einzige was hilft ist USB-Stecker raus und wieder rein, 
oder im Gerätemanager den "USB Serial Converter" deaktivieren und wieder 
aktivieren.

glg,

Stefan

von Arc N. (arc)


Lesenswert?

Stefan_H schrieb:
>
1
> ftStatus=FT_Open(0,&ftHandle);
2
>
> ftStatus ist immer 1 (invalid ftHandle)
>
> Womit ich dann  FT_CyclePort(ftHandle) nicht ausführen kann, da ich
> keinen ftHandle habe.

Ist das Gerät überhaupt auf Geräteindex 0 zu finden bzw. was liefert 
FT_CreateDeviceInfoList zurück?

von bluppdidupp (Gast)


Lesenswert?


von Stefan_H (Gast)


Lesenswert?

Hallo,

Arc Net schrieb:
>>> ftStatus=FT_Open(0,&ftHandle);
>> > ftStatus ist immer 1 (invalid ftHandle)
>>
>> Womit ich dann  FT_CyclePort(ftHandle) nicht ausführen kann, da ich
>> keinen ftHandle habe.
>
> Ist das Gerät überhaupt auf Geräteindex 0 zu finden bzw. was liefert
> FT_CreateDeviceInfoList zurück?

Ja, Gerät ist immer auf 0, wenn der Fehler auftritt, wird kein device 
erkannt!

bluppdidupp schrieb:
> http://stackoverflow.com/questions/1438371/win32-a...

Ja, das ist ein schritt in richtung lösung. Mit dem HH_Lib_Test kann ich 
das entsprechende Device disablen und enablen, danach geht alles wieder. 
Jetz muss ich es nur schaffen die Lib auf Labwindows umzuschreiben...

Melde mich wenn es neues gibt!

lg

Stefan

von Xenu (Gast)


Lesenswert?

Es wäre einfacher das Microsoft-Tool DevCon zu benutzen und von Deinem 
Programm aus aufzurufen:

http://support.microsoft.com/kb/311272

von Stefan_H (Gast)


Lesenswert?

Hallo,

Xenu schrieb:
> Es wäre einfacher das Microsoft-Tool DevCon zu benutzen und von Deinem
> Programm aus aufzurufen:
>
> http://support.microsoft.com/kb/311272

;-) Danke, war grad dabei aus der HardwareHelpLib eine exe zu basteln 
die mir das machen würde. Werde aber trotzdem die DevCon nehmen, danke 
für den Tipp

lg

Stefan

von Christian R. (supachris)


Lesenswert?

Devcon erfordert allerdings Admin-Rechte für solche Sachen...

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.