USB Hub zurück setzen

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von dive26.

    Niemand eine Idee?
    Habe nun versucht den USB mit Devcon restart neu zu starten. Dies wird aber erst wirksam wenn man den Rechner neu startet.

    Hintergrund:
    Steuere eine Telefoanlage (Agfeo) per PC. Desöfteren wird die Verbindung zwischen TK-Anlage und Computer getrennt. In der Vergangenheit habe ich den Rechner neu gestartet und die Verbindung war wieder aktiv. Auf der Suche nach der Lösung, habe ich festgestet, dass die Rücksetzung des Hubs im Gerätemanger ausreicht.
    Da ich mit meinem VB-Programm Anrufe vermitteln kann, ist die Verbindung zur Anlage notwendig.
    Mein Gedanke war nun: Prüfe vor Aufbau eines Telefonates die Verbindung zur TK-Anlage, falls nicht vorhanden, setze den Hub zurück.
    Gruß Markus
    Mein erster Gedanke dazu war WMI.
    Jedoch bin ich nach kurzer Suche darauf gestoßen:
    msdn.microsoft.com/en-us/library/aa394506(v=vs.85).aspx
    Dort ist zwar die Funktion Reset. jedoch steht da dabei, dass sie nicht von WMI implementiert ist.

    Ich vermute du wirst tiefer in der Windows API graben müssen, um das zu erreichen.
    @Westerwälder Warum geht es mit Devcon nicht? Sollte aber.

    Ich stand vor dem Problem einen USB Smartcardreader softwaremäßig aus- und wieder anzustecken. Ich habe es so gemacht und es funktioniert:

    VB.NET-Quellcode

    1. Dim ZielDatei As String = Path.Combine( "c:", "Temp", "usbrestart.exe")
    2. If System.Environment.Is64BitOperatingSystem Then
    3. IO.File.WriteAllBytes(ZielDatei, My.Resources.devcon64) '64 Bit
    4. Else
    5. IO.File.WriteAllBytes(ZielDatei, My.Resources.devcon32) '32 Bit
    6. End If
    7. If File.Exists(ZielDatei) Then
    8. Process.Start(ZielDatei, "restart usb\class_0B")
    9. End If


    Zur Info: die 32 und 64 Bit Variante von devcon.exe habe ich mir in die Ressourcen abgelegt um diese bei Bedarf zu extrahieren.

    Du musst nur noch die richtige Geräteklasse für Deinen USB-Hub finden.
    Liebe Grüße
    Roland Berghöfer

    Meine aktuellen und kostenlos verwendbaren Tools (mit VB.NET erstellt): freeremarkabletools.com | priconman.com | SimpleCalendar | AudibleTouch | BOComponent.com | bonit.at