Date: Wed, 5 Mar 2008 04:11:09 -0500 From: Anish Mistry <amistry@am-productions.biz> To: freebsd-usb@freebsd.org Cc: Andriy Gapon <avg@icyb.net.ua> Subject: Utility to Suspend/Disable/Enable Power Off USB ports Message-ID: <200803050411.17074.amistry@am-productions.biz>
next in thread | raw e-mail | index | archive | help
--nextPart3042565.XioZt6oEyu Content-Type: multipart/mixed; boundary="Boundary-01=_tOmzHfSfSNJmvWy" Content-Transfer-Encoding: 7bit Content-Disposition: inline --Boundary-01=_tOmzHfSfSNJmvWy Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline I've written the upower utility allows you to selectively suspend usb=20 ports. It acts similar to the Windows "Stop Removable Device"=20 process. It has only been tested on 7.0-RELEASE. WARNING: This program may eat your lunch and kick your dog. You've=20 been warned. Download and compile. fetch http://am-productions.biz/docs/upower.c gcc -o upower upower.c You will need to be root or have rw access to the uhub devices.=20 eg. /dev/usbX Use "usbdevs -v" to find the port/device to suspend. # usbdevs -v Controller /dev/usb0: addr 1: full speed, self powered, config 1, UHCI root hub(0x0000),=20 Intel(0x0000), rev 1.00 port 1 powered port 2 powered Controller /dev/usb1: addr 1: full speed, self powered, config 1, UHCI root hub(0x0000),=20 Intel(0x0000), rev 1.00 port 1 powered port 2 addr 2: low speed, power 100 mA, config 1, product 0x0009 (0x0009), vendor 0x045e(0x045e), rev 1.05 Controller /dev/usb2: addr 1: full speed, self powered, config 1, UHCI root hub(0x0000),=20 Intel(0x0000), rev 1.00 port 1 powered port 2 addr 2: full speed, power 100 mA, config 1, Fingerprint=20 Sensor(0x2580), vendor 0x08ff(0x08ff), rev 6.23 Controller /dev/usb3: addr 1: full speed, self powered, config 1, UHCI root hub(0x0000),=20 Intel(0x0000), rev 1.00 port 1 powered port 2 powered Controller /dev/usb4: addr 1: high speed, self powered, config 1, EHCI root hub(0x0000),=20 Intel(0x0000), rev 1.00 port 1 powered port 2 powered port 3 addr 2: high speed, self powered, config 1, product=20 0x005a(0x005a), vendor 0x0409(0x0409), rev 1.00 port 1 powered port 2 powered port 3 powered port 4 powered port 4 powered Controller /dev/usb5: addr 1: high speed, self powered, config 1, EHCI root hub(0x0000),=20 Intel(0x0000), rev 1.00 port 1 powered port 2 powered port 3 powered port 4 addr 2: high speed, power 320 mA, config 1, Sirius USB2.0=20 Camera(0x3343), Vimicro Corp.(0x0ac8), rev 1.00 Since my built-in USB camera draws power when not in use, I'll suspend=20 it to save battery time. # ./upower /dev/usb5 4 suspend # usbdevs -v Controller /dev/usb0: addr 1: full speed, self powered, config 1, UHCI root hub(0x0000),=20 Intel(0x0000), rev 1.00 port 1 powered port 2 powered Controller /dev/usb1: addr 1: full speed, self powered, config 1, UHCI root hub(0x0000),=20 Intel(0x0000), rev 1.00 port 1 powered port 2 addr 2: low speed, power 100 mA, config 1, product 0x0009 (0x0009), vendor 0x045e(0x045e), rev 1.05 Controller /dev/usb2: addr 1: full speed, self powered, config 1, UHCI root hub(0x0000),=20 Intel(0x0000), rev 1.00 port 1 powered port 2 addr 2: full speed, power 100 mA, config 1, Fingerprint=20 Sensor(0x2580), vendor 0x08ff(0x08ff), rev 6.23 Controller /dev/usb3: addr 1: full speed, self powered, config 1, UHCI root hub(0x0000),=20 Intel(0x0000), rev 1.00 port 1 powered port 2 powered Controller /dev/usb4: addr 1: high speed, self powered, config 1, EHCI root hub(0x0000),=20 Intel(0x0000), rev 1.00 port 1 powered port 2 powered port 3 addr 2: high speed, self powered, config 1, product=20 0x005a(0x005a), vendor 0x0409(0x0409), rev 1.00 port 1 powered port 2 powered port 3 powered port 4 powered port 4 powered Controller /dev/usb5: addr 1: high speed, self powered, config 1, EHCI root hub(0x0000),=20 Intel(0x0000), rev 1.00 port 1 powered port 2 powered port 3 powered port 4 addr 2: high speed, power 320 mA, config 1, product 0x3343 (0x3343), vendor 0x0ac8(0x0ac8), rev 1.00 Thanks to Andriy Gapon for pointing me in the correct direction. =2D-=20 Anish Mistry amistry@am-productions.biz AM Productions http://am-productions.biz/ --Boundary-01=_tOmzHfSfSNJmvWy-- --nextPart3042565.XioZt6oEyu Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (FreeBSD) iD8DBQBHzmOtxqA5ziudZT0RAsHdAJ9NZi70JvRFa6dXN+Ev/Y4nBJFhQACg4D8s cr7A9oeRWxoMWf7tv1ez8qc= =Ml36 -----END PGP SIGNATURE----- --nextPart3042565.XioZt6oEyu--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200803050411.17074.amistry>