bam: init usb-resetter

This commit is contained in:
makefu 2025-02-17 10:23:37 +01:00
parent 412101b4f2
commit d0061badd7
No known key found for this signature in database
GPG key ID: 36F7711F3FC0F225

View file

@ -0,0 +1,17 @@
{ pkgs, ... }:
let
pkg = pkgs.writeDash "reset_usb_controllers.sh" ''
${pkgs.pciutils}/bin/lspci -D | grep -e 'USB controller:.*xHCI Controller' \
| awk '{print $1}') \
| while read usb_controller_address; do
echo "$usb_controller_address" | sudo tee '/sys/bus/pci/drivers/xhci_hcd/unbind';
sleep 1;
echo "$usb_controller_address" | sudo tee '/sys/bus/pci/drivers/xhci_hcd/bind';
done
'';
in
{
services.udev.extraRules = [
''ACTION=="offline", SUBSYSTEM=="usb", KERNEL=="usb2",ATTRS{idVendor}=="*", ATTRS{idProduct}=="*", RUN+="${reset_script}"''
];
}