PDA

Visualizza la versione completa : [BATCH]: Disattivare/riattivare porta USB


ccccc
16-12-2006, 22:31
Salve a tutti.

Vorrei sapere se è possibile disattivare una porta usb sotto windowsXP

Vorrei scrivere un piccolo file ".bat", per automatizzare la seguente serie di operazioni:

------------------------------------
disattiva porta usb1 (per esempio)
riattivala
------------------------------------

Il problema è che non so qual'è il comando dos da usare, se ne esiste uno.

Mi occorre questa serie di operazioni per via della mia connessione ad internet:
utilizzo il cellulare per connettermi ed è collegato via usb al portatile.
La connessione non è molto stabile e spesso s'addormenta senza cadere veramente, così ho scritto un piccolo file .bat che pinga un sito e se la risposta è negativa disconnette e ricconnete.
Sembra semplice a dirla così, ma la riconnessione non riesce alla prima perchè il cell è ancora bloccato. Ho notato che facndogli chiamare un numero a caso prima di provare a riconnettere al numer corretto, spesso si sblocca...non chiedetemi perchè.
A volte però la connessione di rete di cui sto parlando risulta associata ad un altro modem (quello interno al portatile..), con la conseguenza che la riconnessione non ha successo anche dopo numerosi tentativi. Praticamente è come se non riconoscesse più il cell collegato all'usb.
La situazione si può risolvere manualmente staccando e riattaccado la presa usb al portatile, ma mi è necessario riuscire ad effettuare questa operazione automaticamente, allora ho pensato allla possibilità di disattivare l'usb a cui è collegato il cell e riattivarla subito dopo.
Ma per provare questa operazione dovrei conoscere un comando, o una serie di comandi batch in grado di effettuarla.
Purtroppo, per mia inesperienza (sono alle prime armi...), ignoro questo comando (se c'è) e quindi mi rivolgo a voi, sperando di esserre stato chiaro nel descrivere il problema.

Qualcuno può aiutarmi?

Ringrazio in anticipo spreando in una vostra risposta. :P

oregon
16-12-2006, 22:40
Quello che ti serve e' il tool di Microsoft

DevCon

tramite il quale puoi gestire l'abilitazione/disabilitazione dei device.

Non devi pero' gestire la singola porta USB (l'accesso diretto ad una singola porta USB e' un discorso complesso) ma al device che appare collegato al sistema.

Cerca il device che corrisponde al tuo cellulare e disabilita/abilita quello.

Per info su DevCon

http://support.microsoft.com/kb/311272/en-us

ccccc
17-12-2006, 13:22
Grazie mille.

Speravo in una via più facile, ma mi informerò su questo tool.

Comunque una volta installato il tool, poi posso gestire le operazioni descritte con un comando batch, vero?

(Non ho la minima idea di come muovermi...ma inizierò a controllare il link che hai inserito nella risposta...)

Se conosci una via alternativa, magari più semplice, fammi sapere.

Grazie, arrisentirci. :ciauz:

oregon
17-12-2006, 15:38
Certo che lo puoi usare in un batch ...

Via piu' semplice? Questa e' la via piu' semplice ...

ccccc
17-12-2006, 16:35
Si è vero non è complicato...anche se non sono ancora riuscito a farlo funzionare del tutto:

metto il link alle informazioni su questo tool descritte in italiano, magari ad alcuni può essere utile.

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

Dunque, ho provato prima di tutto a ricercare il device di interesse:

>devcon find *

Nel risultato direi che sono rilevanti le seguenti stringhe:

NMWCD\VID_0421&PID_040F&IF_ATC&REV_0502145\6&21951151&0&05 : Nokia 6230 USB Modem AT
NMWCD\VID_0421&PID_040F&IF_MOD_2K&REV_0502145\6&21951151&0&00: Nokia 6230 USB #2
NMWCD\VID_0421&PID_040F&IF_OBX&REV_0502145\6&21951151&0&01 : Nokia 6230 USB OBEX
NMWCD\VID_0421&PID_040F&IF_OBX&REV_0502145\6&21951151&0&02 : Nokia 6230 USB OBEX
NMWCD\VID_0421&PID_040F&IF_OBX&REV_0502145\6&21951151&0&03 : Nokia 6230 USB OBEX
NMWCD\VID_0421&PID_040F&IF_OTH&REV_0502145\6&21951151&0&04 : Nokia 6230 USB Generic

Volendo disattivare e riattivare il device mi pare di aver capito che si debbano usare i comandi:

"disable" e "enable"

Nella guida dice :"Disable devices that match the specific hardware or instance ID". Questo a proposito del comando "disable".

Il mio dubbio è cosa si intende per specific hardware or instance ID?
Così a naso direi che è legato a quelle stringhe sopra....ma ho un po' di dubbi.

Ti chiederei, secondo te, quale sia il nome del device da disattivare cioè l'indirizzo corrispondente al cellulare (la risposta potrebbe esere banale, ma siccome più di una striga, come puoi vedere, ha a che fare con il mio cell......non so quale sia di preciso.)
Potresti riportarmi anche l'intero comando da dare al prompt o da inserire in uno script?
Per fugareogni dubbio?

Mi rendo conto che sia una richiesta da "fannullone", ma ho provato a dare ad esempio:

>devcon status NMWCD\VID_0421&PID_040F&IF_ATC&REV_0502145
No matching devices found.
"PID_040F" non è riconosciuto come comando interno o esterno,
un programma eseguibile o un file batch.
"IF_ATC" non è riconosciuto come comando interno o esterno,
un programma eseguibile o un file batch.
"REV_0502145" non è riconosciuto come comando interno o esterno,
un programma eseguibile o un file batch.

Questo responso mi ha lasciato spiazzato.....

Potresti fare un po' di chiarezza?

Grazie della disponibilità.

A presto. :zizi:

oregon
17-12-2006, 16:57
Usa le " " per contenere le stringhe ...

Se hai altri problemi, leggi questo help

http://technet2.microsoft.com/WindowsServer/en/library/0b077318-2bac-4399-8230-461d5d2a055f1033.mspx?mfr=true

ccccc
17-12-2006, 17:32
Sì hai ragione con le "" funziona.

Comunque restano ancora dubbi su quale sia l'inidrizzo giusto da disabilitare, anche se forse non è indispensabile saperlo....
Infatti ho provato, per essere sicuro, un operazione un po' "brutale", ma efficace:

>devcom disable NMWCD*

Infatti ho notato che "NMWCD" è l'indirizzo iniziale solo del device corrispondente al cellulare.
Ero connesso, ho dato il comandando suddetto e la connessione si è interrotta e il dispositivo non era più presente. A quel punto ho dato lo stesso comando con "enable" a l posto di "disable" e il cell è stato nuovamente riconosciuto, infine ho riconnesso col comando "rasdial" e tutto ha funzionato alla grande.

Purtroppo non posso testare l'efficacia di questa serie di operazioni...perchè il cellulare va in panne quando vuole lui....è una situazione abbastanza random e quindi non posso verificarlo subito.

Quando capiterà il problema vedrò se si risolve utilizzando devcon invece di staccare e riattaccare ll cavo usb..... :zizi:
Nel caso modificherò lo script di "controllo della connessione", in modo che utilizzi anche questa funzione agendo direttamente sulla disabilitazione del dispositivo.

Ad ogni modo, grazie di tutto, soprattutto della disponibilità e pazienza. :zizi:

Arrisentirci!!! :ciauz:

Loading