C'est pas une réponse
Mais j'interprète ça comme "tout type d'erreur". Ça fait pas mal de cas à détecter... Quelques pistes en vrac :
- si ton périphérique est connecté à un bus énumérable, vérifier s'il est présent dans la liste d'énumération (par exemple, pour l'USB :
lsusb et / ou
/proc/bus/usb ; y'a l'équivalent pour le bus PCI, etc.). Ça te garantit au moins qu'il est effectivement connecté et qu'il n'y a pas de problème électrique majeur (pas à 100 % cependant, tu ne verras pas forcément un problème intermittent de cette façon).
- si le driver de ton périphérique crée dynamiquement des entrées dans le système de fichiers (par exemple /dev/xxx), vérifier si ces entrées sont présentes. Si c'est le cas, c'est que le driver a été chargé correctement, et probablement qu'il a réussi à communiquer avec le matériel (à vérifier, peut-être qu'il y a des cas particuliers).
- vérifier les logs périodiquement pour voir s'il y a des messages d'erreur relatifs au périphérique à surveiller, en filtrant avec le nom du driver et / ou du couple vendor ID - product ID (pour les bus qui ont cette notion, ce qui inclut au moins USB et PCI). Exemple :
http://unix.stackexchange.com/questions/74367/watch-usb-connections-vendor-id-product-id-revision- après, les autres tests risquent d'être spécifiques au périphérique en particulier.