xref: /plan9/386/bin/usb/probe (revision 25fc69938fdecc61cd09e795cbe2d2f72f1082b1)
184363d68SDavid du Colombier#!/bin/rc
2*25fc6993SDavid du Colombier# usb/probe [-h] - list all usb devices, including hubs
384363d68SDavid du Colombierrfork e
4906943f9SDavid du Colombiertest -e /dev/usb || bind -a '#u' /dev || {
5906943f9SDavid du Colombier	echo no '#u/usb' >[1=2]
6906943f9SDavid du Colombier	exit nousb
784363d68SDavid du Colombier}
8906943f9SDavid du Colombier
9*25fc6993SDavid du Colombierfilter = cat
10*25fc6993SDavid du Colombierif (~ $1 -h)
11*25fc6993SDavid du Colombier	filter = (grep -v ' (root)?hub ')
12*25fc6993SDavid du Colombier
13*25fc6993SDavid du Colombierawk 'BEGIN	{ ep = "" }
14906943f9SDavid du Colombier$1 ~ /ep[0-9]+\.0/ && $2 == "enabled" && $NF ~ /busy|idle/ {
15*25fc6993SDavid du Colombier	ep=$1
16*25fc6993SDavid du Colombier	next
17906943f9SDavid du Colombier}
18906943f9SDavid du Colombier{
19906943f9SDavid du Colombier	if(ep != ""){
20*25fc6993SDavid du Colombier		printf "%s %s\n", ep, $0
21*25fc6993SDavid du Colombier		ep = ""
22906943f9SDavid du Colombier	}
23906943f9SDavid du Colombier}
24*25fc6993SDavid du Colombier' /dev/usb/ctl | $filter
25906943f9SDavid du Colombier
26906943f9SDavid du Colombierexit ''
27