WinFuture-Forum.de: Usb-wechselplatte - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Windows XP
Seite 1 von 1

Usb-wechselplatte per Befehl/Sctipt trennen und neu verbinden


#1 Mitglied ist offline   roadrunner 

  • Gruppe: Mitglieder
  • Beiträge: 18
  • Beigetreten: 12. März 05
  • Reputation: 0

geschrieben 14. September 2007 - 19:19

Hallo, WF-Gemeinde!
Folgendes Problem:
Da ich häufig mit "nackten" Festplatten arbeite und den geöffneten PC und den Kabelsalat satt hatte, habe ich in meinen Tower einen Wechselrahmen eingebaut und über einen USB-IDE-Dongle am internen USB-Port angeschlossen. Nun muß ich aber zum Wechsel der Platte immer noch den Rechner öffnen, um das USB-Kabel abzuziehen und neu anzustecken, damit die neue Platte erkannt wird. Wie geht das per Software?
Habe schon Einiges probiert, z.B.:

devcon remove USB\Vid_0409*Pid0056*Rev_0000
oder
devcon disable USB\Vid_0409*Pid0056*Rev_0000

aber es passiert nichts, devcon meldet: No devices removed/disabled.

Deaktiviere ich über hardware sicher entfernen (dabei ist die Platte im Gerätemanager für schnelles entfernen konfiguriert!),
komme ich nach dem Plattenwechsel auch nicht mehr ran. Bin bald am Verzweifeln.

So, habe eben mal über Gerätemanager-->USB-Controller-->USB-Massenspeicher-->Eigenschaften-->Gerät deaktivieren versucht, damit geht es, ebenso das aktivieren nach Wechsel.

Das ist aber recht umständlich, ich würde das ganze lieber über eine .bat oder Ähnliches "auf Knopfdruck" erledigen.
Und warum funzt devcon nicht? Die Gerätedaten des USB-IDE-Dongles stimmen!

Hat jemand eine Idee?

Danke schon mal
Roadrunner


XPproSP2+alle WF-Updpacks, Epox 8RDA+ (nforce2), AthlonXP3000+, 1GB Ram

Dieser Beitrag wurde von roadrunner bearbeitet: 14. September 2007 - 19:45

0

Anzeige



#2 Mitglied ist offline   DK2000 

  • Gruppe: Administration
  • Beiträge: 19.795
  • Beigetreten: 19. August 04
  • Reputation: 1.434
  • Geschlecht:Männlich
  • Wohnort:Oben auf dem Berg
  • Interessen:Essen, PC, Filme, TV Serien...

geschrieben 14. September 2007 - 19:44

Welche Version von DevCon verwendest Du?

Für Vista sollte man Version 6.0.6000.16386 aus dem aktuellem DDK für Vista verwenden. Auch darauf achten, dass man entsprechend zum installiertem Vista die x86 oder x64 Version verwendet und den Script mit Adminrechten ausführt.

Ansonsten, bei mir geht das so

Nur USB Festplatte entfernen
devcon remove "@USBSTOR\DISK&VEN_ST350083&PROD_0AS&REV_\921388888888&0"

Dazugehörigen Controller entfernen
devcon remove "@USB\VID_152D&PID_2336\921388888888"

Bringt mich eigentlich auf eine Idee. Das könnte mich mit meinem "SATA on the Go" Problem weiter helfen. Muss ich glatt mal testen.

EDIT: War da Gedanklich noch im Vista Forum weiter oben. Sehe auch, dass Du Windows XP SP2 verwendest. Sollte aber dennoch so klappen. Hoffe ich jedenfalls. Kann es gerade mit XP nicht testen, nur mit Vista. Die richtige Kennung für Deine Geräte solltest Du mit devcon find USB* ermitteln können.

Dieser Beitrag wurde von DK2000 bearbeitet: 14. September 2007 - 19:54

Ich bin kein Toilettenpapier-Hamster.
---
Ich bin ein kleiner, schnickeldischnuckeliger Tiger aus dem Schwarzwald.
Alle haben mich ganz dolle lila lieb.
0

#3 Mitglied ist offline   Slasher2k 

  • Gruppe: aktive Mitglieder
  • Beiträge: 442
  • Beigetreten: 07. Januar 02
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Sachsen

geschrieben 14. September 2007 - 22:07

Vielleicht hilft dir DAS hier weiter

Gruß Slasher2k

Dieser Beitrag wurde von Slasher2k bearbeitet: 14. September 2007 - 22:07

0

#4 Mitglied ist offline   roadrunner 

  • Gruppe: Mitglieder
  • Beiträge: 18
  • Beigetreten: 12. März 05
  • Reputation: 0

geschrieben 15. September 2007 - 06:39

Hallo,
Dank an euch beide.
Problem (fast) gelöst, der Fehler saß vor der Tastatur, hatte den _ nach Pid vergessen. Devcon funzt also!
Nun zum (fast):
Wie kann die .bat die Ausgabe von zB. "devcon status USB\Vid_0409*" auswerten um zu entscheiden ob disable oder enable?
Gibts da irgendwelche geheimen errorcodes oder wie wertet man die Textausgabe aus?
Hätte gern ein Tool, das je nach Situation das Richtige erledigt.
Gruß
roadrunner
0

#5 Mitglied ist offline   Slasher2k 

  • Gruppe: aktive Mitglieder
  • Beiträge: 442
  • Beigetreten: 07. Januar 02
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Sachsen

geschrieben 15. September 2007 - 09:32

ich würde da leihenhaft so realisieren, dass ich beim "anmelden" gleichzeitig ne leere datei erstelle und beim abmelden diese wieder lösche. Das ließe sich dann mit ne Bedingung innerhalb der .BAT / .CMD verknüpfen:

IF EXIST Datei - entweder abmelden oder anmelden.

Mit "IF EXIST <USB-Stick>:\NUL" könntest du überprüfen ob das Laufwerk auch wirklich getrennt / verbunden ist.


Gruß Slasher2k
0

#6 Mitglied ist offline   roadrunner 

  • Gruppe: Mitglieder
  • Beiträge: 18
  • Beigetreten: 12. März 05
  • Reputation: 0

geschrieben 16. September 2007 - 19:29

Hallo,
also die Idee mit der Umleitung war der Tip schlechthin.
Nach über 10 Jahren der fast-Dos-Abstinenz vergißt man halt so Einiges.
Hab mich dann nochmal da durchgefitzt und nun die Lösung gefunden.
hier meine wechsel.bat


@echo off
set dev=USB\Vid_0409*Pid_0056*

devcon status %dev% | find "running" > NUL
if errorlevel 1 goto enable
if errorlevel 0 goto disable
goto :end

:disable
echo deaktiviere...
devcon disable %dev%
echo %errorlevel%
devcon status %dev% | find "disabled"
if errorlevel 0 goto :dis
goto :end

:enable
echo aktiviere...
devcon enable %dev%
devcon status %dev% | find "problem" > NUL
if not errorlevel 1 goto problem
devcon status %dev% | find "running" > NUL
if errorlevel 0 goto :en
goto :end

:dis
color E0
echo.
echo.
echo Erfolgreich deaktiviert
echo.
echo.
goto :end

:en
color A0
echo.
echo.
echo Erfolgreich aktiviert
echo.
echo.
goto :end

:problem
color CA
echo.
echo.
echo PROBLEM, bitte Platte einsetzen!
echo.
echo.
echo deaktiviere...
devcon disable %dev%
devcon status %dev% | find "disabled" > NUL
if errorlevel 0 goto :disprob

:disprob
echo.
echo.
echo deaktiviert
echo.
echo.

:end
pause
<p>


Das klappt nun wie gewünscht. Bei set=... muß man natürlich die entsprechende Hardwarekennung angeben ;-))
(aus dem Gerätemanager ->Eigenschaften ->Details ->Geräteinstanzerkennung)
Der Problemzweig wertet aus, wenn sich keine eingeschaltwete Platte im Wechselrahmen befindet.

Vielleicht hilft es ja noch jemandem

Gruß
roadrunner

Dieser Beitrag wurde von roadrunner bearbeitet: 16. September 2007 - 19:30

0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0