javascriptvb.netbatch-filecmddevcon

want to disable / enable usb3 host controller


Looked here first on how to do that and found a lot of references but not up-to-date (windows 10) Tried "net start usbstor" but that is not supported it seems. It appears I need devcon.exe which is part of a huge windows 10 sdk download includeing visual studio

This is my problem, maybe there is another solution:

I have a number of USB 3 external drives they are not used all the time so they go to sleep (the drives, not the computer). This is fine but occasionally one or more of them never wake up when I tried to access them. They are on a server and I access them through the file manager on my desktop. When they do not wake up I have to use remote desktop to run "device manager" and disable "Renesas USB 3.0 eXtensible..." and then enable that host controller. Immediately, all the sleeping drives wake up. I would like to run a program from the command prompt preferably from my desktop and not have to log in using splashtop or VNC. From googleing it seem devcon needs to be on that server.

Maybe there is a service I can start or stop remotely? I did not see usbstor listed as a service.

Thanks for looking!

[EDIT] Wanted to to follow up on this post. I read harvey263 suggestion but I decided I wanted the disks to sleep as they are used rarely and I have no interested in buying a 2TB replacement disk anytime soon. However, I did want to post about that devcon program. I was unable to located the device kit for win10. It was not in Directory of C:\Program Files (x86)\Microsoft SDKs after downloading a huge amount of stuff I did not need, but I discovered that splashtop remote (or server which I already had in all my systems) includes devcon support in its free download and the program is tiny and easy to install. I did have to move their devcon support from C:\Program Files (x86)\Splashtop\Splashtop Remote\Server\Driver\Monitor\utils into my personal download directory as I wanted to execute it upon login and I could not do that from the task scheduler on account of permissions or authorizations. For example, I put

devcon64.exe remove "PCI\VEN_10DE&DEV_026D*"

devcon64.exe rescan

into a task executed once on startup and it disabled the USB controller connected to the drives and then re-scanned, reinstalling the driver and wakening the drives. It also removed the yellow bang that was always on the driver every time I rebooted.


Solution

  • You might be able to alleviate the sleep issue by changing the USB setting in Advanced Power Options (control powercfg.cpl,,1). I think "selective suspend" is normally Enabled by default.

    For devcon.exe you only need to download the Windows Driver Kit. It's not that big and you can copy devcon.exe out to run standalone and uninstall the rest if you want. I have scripted devcon to "re-enable" a device like this:

    devcon disable *ROOT\NDISVIRTUALBUS*
    timeout /t 5 /nobreak
    devcon enable *ROOT\NDISVIRTUALBUS*
    

    You could put this in say "\\RemotePC\c$\Scripts\EnableUSB.bat". Then call it with psexec like lit mentioned:

    psexec \\RemotePC cmd /c ("C:\Scripts\EnableUSB.bat")