Skip to content

Instantly share code, notes, and snippets.

@KameronKeller
Last active October 13, 2022 04:28
Show Gist options
  • Save KameronKeller/f1694e1c5c719cf80004ad7e11dde158 to your computer and use it in GitHub Desktop.
Save KameronKeller/f1694e1c5c719cf80004ad7e11dde158 to your computer and use it in GitHub Desktop.
#!/bin/bash
for sysdevpath in $(find /sys/bus/usb/devices/usb*/ -name dev); do
(
syspath="${sysdevpath%/dev}"
devname="$(udevadm info -q name -p $syspath)"
[[ "$devname" == "bus/"* ]] || [[ "$devname" == "input/"* ]] || [[ "$devname" == "video0"* ]] || exit
eval "$(udevadm info -q property --export -p $syspath)"
[[ -z "$ID_SERIAL" ]] && exit
busnum="$(udevadm info -a -p $(udevadm info -q path -n /dev/$devname) | awk -F "==" '/busnum/ {gsub("\"","");print $2}' | head -1)"
devnum="$(udevadm info -a -p $(udevadm info -q path -n /dev/$devname) | awk -F "==" '/devnum/ {gsub("\"","");print $2}' | head -1)"
bus_dev=${busnum}:${devnum}
lsusb="$(lsusb -s $bus_dev)"
echo "$lsusb - /dev/$devname"
)
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment