it-swarm-id.com

Bagaimana cara menghubungkan kembali perangkat USB yang terputus secara logis?

Dimungkinkan untuk perangkat penyimpanan USB menjadi terputus secara logis: perangkat masih terhubung, tetapi tidak terlihat dari sistem operasi (mis. Itu tidak tercantum dalam /proc/bus/usb). Mungkin ini dapat terjadi pada USB jenis lain atau perangkat yang dapat dilepas lainnya. Ini bisa terjadi misalnya:

Apa yang terjadi pada driver atau di perangkat keras, dan yang paling penting, (bagaimana) dapat menghubungkan kembali perangkat secara logis (tanpa secara fisik menghubungkannya kembali dan kembali)?

Perhatikan bahwa pertanyaan ini bukan tentang pemasangan. Dalam keadaan "secara logis terputus", kernel percaya tidak ada apa-apa di bus USB (dan tentu saja tidak ada entri di bawah /dev).

Terkadang dimungkinkan untuk melakukan siklus daya pada cabang bus USB tempat perangkat terhubung:

# echo suspend > /sys/bus/usb/devices/1-1/power/level
# echo auto > /sys/bus/usb/devices/1-1/power/level

1-1 harus disesuaikan dengan konfigurasi Anda. Anda dapat melihat bagian pohon USB mana yang ditancapkan oleh perangkat Anda dengan menjalankan lsusb -t sebelum mengeluarkannya.

Anda dapat menemukan informasi terperinci di milis linux-usb, tas ini misalnya.

21
jon_d
udevadm info -a -n /dev/sdb

Sekarang periksa Kernel. Misalnya. jika terhubung ke Port 2 dari Front UIP maka akan menjadi 1-1.2 dan jika terhubung ke Port 1 dari Front UIP maka akan menjadi 1-1.1.

Untuk Port 2: Untuk melepaskan USB:

echo '1-1.2' | tee /sys/bus/usb/drivers/usb/unbind

Untuk menghubungkan USB:

echo '1-1.2' | tee /sys/bus/usb/drivers/usb/bind
8
Udaya

Setel ulang perangkat, atau hub yang terhubung, dan perangkat akan muncul kembali. Berikut ini adalah program kecil untuk melakukannya:

http://marc.info/?l=linux-usb-users&m=116827193506484

Ini bekerja untuk sebagian besar drive USB yang saya coba, tetapi ada pengecualian, seperti Kingston DT 101 II 4GB saya, yang gagal perintah INQUIRY dan READ CAPACITY setelah reset, dan tetap tidak dapat digunakan sampai siklus daya.

Anda dapat melakukan siklus daya pada perangkat tanpa mencabutnya jika mendapat daya dari port, dan hub USB Anda mendukung kontrol daya per-port. Berikut ini adalah program kecil untuk mengontrol daya:

http://marc.info/?l=linux-usb-devel&m=113724451205634

Sayangnya, hampir tidak ada hub USB yang mendukung fitur ini, dan sangat sulit untuk menemukan hub yang mendukungnya. Produsen tidak mengiklankannya. Banyak hub juga berbohong tentang hal itu, misalnya jika Anda melakukan "lsusb -v" Anda dapat melihat "Per-port power switching" diiklankan di "wHubCharacteristic", tetapi pada kenyataannya itu tidak bekerja. Chipset mungkin mendukungnya, tetapi lebih mudah/lebih murah bagi pabrikan untuk menghubungkan pin daya port langsung ke catu daya daripada melalui chipset.

6
user6223

Saya menemukan jawaban ini berfungsi dengan baik di sistem Gentoo saya. Harap ingat juga untuk mengaktifkan kembali perangkat Anda jika itu merupakan bagian penting dari sistem Anda (mis. Mouse atau keyboard).

Sudo sh -c 'AUTHFILE="/sys/bus/usb/devices/5-2/authorized" ; echo 0 > "$AUTHFILE" ; sleep 1 ; echo 1 > "$AUTHFILE"'

Untuk melihat apa yang Anda nonaktifkan/aktifkan kembali:

cat /sys/bus/usb/devices/5-2/product
5
Avio

Saya sudah mencoba sebagian besar saran di atas, tetapi itu tidak berhasil untuk saya. Saya menemukan cara mereset perangkat USB dari baris perintah: https://askubuntu.com/a/290519

echo $i >/sys/bus/pci/drivers/ehci_hcd/bind

dimana $i Anda dapat menggunakan ID perangkat yang sesuai dari /sys/bus/pci/drivers/ehci_hcd.

4
Kakanakov

Berikut ini akan melepaskan perangkat USB.

Sudo eject /dev/sde

Berikut ini akan menghubungkan kembali perangkat USB.

Sudo eject -t /dev/sde

Di atas berfungsi di Linux Mint saya.
Referensi: http://www.upubuntu.com/2011/09/how-to-remount-usb-stick-without.html

1
Matthew Wai