Как я могу запросить USB-устройство и узнать, что оно живо?

Я использую Raspbian на Raspberry pi 2. У меня есть RFID-считыватель, подключенный к нему через USB.

Моя проблема: USB-устройство RFID периодически становится недоступным, и после включения и выключения питания устройство не работает.

Мой вопрос: Как я могу запросить устройство и узнать, что оно живое? Я могу использовать lsusb и другие инструменты, но запрашивают ли они у системы последнюю известную информацию об устройстве или они действительно снова касаются устройства и получают информацию?

Для тех, кто заинтересован, вот мой примерный запуск сценария в cron:

    #!/bin/bash

    rfid_reader="$(lsusb |grep ffff:0035)"
    echo $rfid_reader
    bus="$(lsusb |grep ffff:0035|cut -c 5-7)"
    echo $bus
    device="$(lsusb |grep ffff:0035|cut -c 16-18)"
    echo $device
    # echo "$(./usbreset /dev/bus/usb/$bus/$device)"

    if [ -z "$rfid_reader" ]; then
        echo "rfid_reader is not available, restarting USB"
        echo 0x0 > /sys/devices/platform/bcm2708_usb/buspower
        echo 0x1 > /sys/devices/platform/bcm2708_usb/buspower
        sleep 5
        ifdown eth0
        sleep 5
        ifup eth0

    else
        echo $rfid_reader
        echo "rfid_reader is fine"
    fi

Где ffff: 0035 - это идентификатор моего USB-устройства RFID от lsusb. Поскольку сетевой адаптер интегрирован с USB, он плохо восстанавливается после включения и выключения. Сон и ifup / ifdown решают эту проблему.

0
20.05.2017, 07:49
0 ответов

Теги

Похожие вопросы