login: root

Power OFF and ON USB device in linux (ubuntu)

There are two methods of doing this. So first method is for kernels after 2.6.32, and second for older ones.

To view kernel version, simply enter:

 

find Your USB device, no mather what it is USB flash drive, Yubikey, USB disk drive:


Our target is:

Which is located at 2-1.1 (tree part where device 5 is located)
First method (newer kernel)

To turn it off simply echo address:

 

here is result from syslog:

Unfortunately this device was still visible in lsusb, so I turned off whole usb hub there (2-1), and voila, usb device gone.

To enable it, echo same address to “bind” part, for example:

 

Second method (older kernel)
You need to go to devices:

 

Addressess will be listed similar:

 

So go to in our example 2-1.1/power (full path /sys/bus/usb/devices2-1.1/power)

 

to turn off device:

 

to turn on:

 

 

Comments (7)

  1. Anonymous

    ~ $ sudo echo ‘1-1.2’ > /sys/bus/usb/drivers/usb/unbind
    -bash: /sys/bus/usb/drivers/usb/unbind: Permission denied

    Reply
  2. Nieko

    Thanks, finally got it working! :)

    Anonymous: your command executes “echo ‘1-1.2′” under sudo, and then tries to write that to /sys/bus/usb/drivers/usb/unbind as the normal user again. Try this: echo ‘1-1.2″ | sudo tee /sys/bus/usb/drivers/usb/unbind

    Reply
  3. Santos

    You could also use a switchable USB hub.

    Something like this https://www.yepkit.com/products/ykush

    but it’s more expensive :)

    Reply
    1. nsc (Post author)

      Smart way of leaving a backlink.
      I encourage doing opensource projects :)

      Usually the budget depends on what are the requirements. For a simple “faulty” usb emergency device reset I would use my way (I wouldn’t expect something to break, would I?).

      But for day to day planned switch off/on I’d consider such device.
      Thanks for sharing Your product.
      That’s pretty useful thing, it should have more reliable switching capability and it’s more powerful than a server usb port.

      You should consider making a bigger hub, as it seems to be possible to use it as a powersource for usb devices (2Amps of current).
      For example external usb 2.5 hdd would already take 2 ports, leaving only one free.
      Or make an usb controlled power source switcher with relays, it would perfectly go as a combo with this usb hub device :)

      Reply
      1. Santos

        Fully agree with you, the best approach depends of the requirements.

        Those are cool ideas for improving the product.

        Cheers

        Reply
  4. Pingback: » Linux: Turning off power to usb port. Or turn off power to entire usb subsystem

  5. Pingback: Raspberry Pi + L-02C でバッチリ安定する多機能 LTE ルータをつくったメモ – 怠惰の形而上学

Leave a Reply

Close
%d bloggers like this: