Install tool for nuking USB controllers
This commit is contained in:
parent
d5f087f720
commit
bcf71c47f2
3 changed files with 34 additions and 0 deletions
|
@ -121,6 +121,8 @@ yay --noconfirm -Syu \
|
||||||
discord \
|
discord \
|
||||||
openasar-git;
|
openasar-git;
|
||||||
|
|
||||||
|
. "../../Common/Software/nuke-usb/install.sh";
|
||||||
|
|
||||||
# Python
|
# Python
|
||||||
yay --noconfirm -Syu \
|
yay --noconfirm -Syu \
|
||||||
python \
|
python \
|
||||||
|
|
4
scripts/Common/Software/nuke-usb/install.sh
Normal file
4
scripts/Common/Software/nuke-usb/install.sh
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
#!/bin/bash
|
||||||
|
pushd "${BASH_SOURCE%/*}" > /dev/null;
|
||||||
|
sudo install -m 755 ./nuke-usb.sh /usr/local/bin/nuke-usb;
|
||||||
|
popd > /dev/null;
|
28
scripts/Common/Software/nuke-usb/nuke-usb.sh
Executable file
28
scripts/Common/Software/nuke-usb/nuke-usb.sh
Executable file
|
@ -0,0 +1,28 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
# Resets all USB host controllers of the system.
|
||||||
|
# This is useful in case one stopped working
|
||||||
|
# due to a faulty device having been connected to it.
|
||||||
|
|
||||||
|
base="/sys/bus/pci/drivers"
|
||||||
|
sleep_secs="1"
|
||||||
|
|
||||||
|
# This might find a sub-set of these:
|
||||||
|
# * 'ohci_hcd' - USB 3.0
|
||||||
|
# * 'ehci-pci' - USB 2.0
|
||||||
|
# * 'xhci_hcd' - USB 3.0
|
||||||
|
echo "Looking for USB standards ..."
|
||||||
|
for usb_std in "$base/"?hci[-_]?c*
|
||||||
|
do
|
||||||
|
echo "* USB standard '$usb_std' ..."
|
||||||
|
for dev_path in "$usb_std/"*:*
|
||||||
|
do
|
||||||
|
dev="$(basename "$dev_path")"
|
||||||
|
echo " - Resetting device '$dev' ..."
|
||||||
|
printf '%s' "$dev" | sudo tee "$usb_std/unbind" > /dev/null
|
||||||
|
sleep "$sleep_secs"
|
||||||
|
printf '%s' "$dev" | sudo tee "$usb_std/bind" > /dev/null
|
||||||
|
echo " done."
|
||||||
|
done
|
||||||
|
echo " done."
|
||||||
|
done
|
||||||
|
echo "done."
|
Loading…
Reference in a new issue