Запоминающее устройство USB может быть логически отключено: устройство все еще подключено, но невидимо в операционной системе (например, оно не указано в списке /proc/bus/usb
). Может быть, это может произойти и с другими видами USB или других съемных устройств. Это может произойти, например:
- после того, как Наутилус отключил USB-накопитель ;
- после того, как VirtualBox запросил запоминающее устройство USB (устройство исчезает с хоста Linux, когда оно подключено к гостю, и не появляется автоматически, если оно отсоединено от гостя).
Что происходит в драйвере или в оборудовании, и, что наиболее важно, (как) можно логически переподключить устройство (без его физического подключения и включения)?
Обратите внимание, что этот вопрос не о монтаже. В состоянии «логически отключено» ядро считает, что на шине USB ничего нет (и поэтому, конечно, там нет входа /dev
).
Ответы:
Иногда можно выполнить цикл питания на ветви шины USB, где подключено устройство:
1-1
Должно быть отрегулировано в конфигурацию. Вы можете увидеть, к какой части дерева USB подключено ваше устройство, запустив егоlsusb -t
перед извлечением.Вы можете найти подробную информацию в списке рассылки linux-usb, например , в этой ветке .
источник
dmesg
сообщает правильный идентификатор устройства («usb 9-4: USB отключить [...]»), это не работает в последней версии Arch Linux./sys/bus/usb/devices/9-4
Впоследствии пути нет .suspend
больше не поддерживается в последних версиях ядра ....Перезагрузите устройство или концентратор, к которому оно подключено, и устройство должно появиться снова. Вот небольшая программа для этого:
http://marc.info/?l=linux-usb-users&m=116827193506484
Он работает для большинства USB-накопителей, которые я пробовал, но есть исключения, такие как мой Kingston DT 101 II 4 ГБ, который не выполняет команды INQUIRY и READ CAPACITY после сброса и остается непригодным для включения и выключения питания.
Вы можете выключить и снова включить устройство, если оно получает питание от порта, а концентратор USB поддерживает управление питанием для каждого порта. Вот небольшая программа для управления питанием:
http://marc.info/?l=linux-usb-devel&m=113724451205634
К сожалению, почти нет USB-концентраторов, поддерживающих эту функцию, и очень трудно найти тот, который поддерживает ее. Производители не афишируют это. Многие хабы также лгут об этом, например, если вы делаете «lsusb -v», вы можете видеть «Коммутация питания на порт», объявленную в «wHubCharacteristic», но в действительности это не работает. Чипсет может поддерживать его, но для производителя было проще / дешевле подключить выводы питания порта непосредственно к источнику питания, а не проходить через чипсет.
источник
Я нашел, что этот ответ отлично работает на моей системе Gentoo. Также не забудьте включить устройство, если оно является важной частью вашей системы (например, мышь или клавиатура).
Чтобы увидеть, что вы отключаете / снова включаете:
источник
Теперь проверьте ядро. Например, если он подключен к порту 2 Front UIP, то это будет 1-1.2, а если он подключен к порту 1 Front UIP, то будет 1-1.1.
Для порта 2: для отключения USB:
Для подключения USB:
источник
Я перепробовал большинство вышеперечисленных предложений, но они не сработали для меня. Я нашел способ перезагрузки USB-устройства из командной строки: https://askubuntu.com/a/290519
где
$i
вы можете использовать соответствующий идентификатор устройства с/sys/bus/pci/drivers/ehci_hcd
.источник
Следующее отключит устройство USB.
Следующее повторно подключит устройство USB.
Вышеуказанное работает на моем Linux Mint.
Ссылка: http://www.upubuntu.com/2011/09/how-to-remount-usb-stick-without.html
источник
Я не уверен, что правильно понимаю ваш вопрос, но в моей системе, если USB-устройство подключено, но не смонтировано, я могу «увидеть его» с помощью
Это говорит мне, с каким устройством это связано (т.е. / dev / sdd1 или что-то), затем я вручную монтирую его.
источник
/dev
).