kernel_module_learn/10_lnp_usb_driver/bind.sh

36 lines
1.3 KiB
Bash
Raw Normal View History

2025-02-25 21:31:17 +01:00
#!/usr/bin/env bash
# Définir les détails du périphérique USB et des pilotes
VENDOR_ID="1b1c"
DEVICE_ID="0c0b"
NEW_DRIVER="lightning-node-pro"
# Vérifier les identifiants avec lsusb
echo "Vérifiez que le périphérique est listé avec les identifiants corrects :"
lsusb | grep "${VENDOR_ID}:${DEVICE_ID}"
# Trouver le chemin du périphérique USB
USB_DEVICE_PATH=$(find /sys/bus/usb/devices/*/ -type f -name 'idVendor' -execdir sh -c 'grep -q '"$VENDOR_ID"' idVendor && grep -q '"$DEVICE_ID"' idProduct && pwd' \; | head -n 1)
if [ -z "$USB_DEVICE_PATH" ]; then
echo "Périphérique USB non trouvé"
exit 1
fi
echo "Chemin du périphérique USB : $USB_DEVICE_PATH"
# Extraire l'identifiant du périphérique (par exemple, 1-10)
DEVICE_IDENTIFIER=$(basename "$USB_DEVICE_PATH")
echo "Identifiant du périphérique : $DEVICE_IDENTIFIER"
# Délier le périphérique USB du pilote actuel
echo "Délier le périphérique USB du pilote actuel..."
echo -n "$DEVICE_IDENTIFIER" | sudo tee "/sys/bus/usb/devices/$DEVICE_IDENTIFIER/driver/unbind" > /dev/null
# Lier le périphérique USB au nouveau pilote
echo "Lier le périphérique USB au nouveau pilote..."
echo -n "$DEVICE_IDENTIFIER" | sudo tee "/sys/bus/usb/drivers/${NEW_DRIVER}/bind" > /dev/null
echo "Périphérique USB lié avec succès au nouveau pilote"