Mantıksal olarak bağlantısı kesilmiş bir USB cihazının bağlantısı nasıl yapılır?


55

Bir USB depolama cihazının mantıksal olarak bağlantısı kesilebilir: cihaz hala fişe takılıdır, ancak işletim sisteminden görünmez (örn /proc/bus/usb. Altında listelenmemiş ). Belki bu, diğer USB türlerinde veya diğer çıkarılabilir aygıtlarda da olabilir. Bu örneğin olabilir:

Sürücüde veya donanımda neler oluyor ve en önemlisi, (nasıl) cihaz mantıksal olarak tekrar bağlanabilir mi (fiziksel olarak takıp tekrar takmadan)?

Bu sorunun montajla ilgili olmadığını unutmayın. “Mantıksal olarak bağlantısı kesilmiş” durumda, çekirdek USB veriyolunda hiçbir şey olmadığına inanmaktadır (ve tabii ki altında hiçbir giriş yoktur /dev).


Yanıtlar:


21

Bazen cihazın takılı olduğu USB veri yolunun bir güç çevriminde yapılması mümkündür:

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

1-1Yapılandırmanıza ayarlanmalıdır. Cihazınızı lsusb -tçıkarmadan önce çalıştırarak USB ağacının hangi bölümüne takıldığını görebilirsiniz .

Sen linux-usb e-posta listesinde detaylı bilgi bulabilirsiniz Konuyu örneğin.


6
"Askıya alma" 2.6.36'dan sonra çekirdeklerde çalışmaz.
alexisdm,

Varsayarsak dmesgraporlara göz doğru cihaz kimliği ( "usb 9-4: USB bağlantı kesme [...]"), bu son Arch Linux üzerinde çalışmaz. Sonrasında yol yok /sys/bus/usb/devices/9-4.
l0b0

1
1. dmesg: UYARI! güç / seviye kullanımdan kaldırılmıştır; 2. yerine güç / kontrol kullanın. superuser.com/questions/371068/…
socketpair

Ayrıca suspend, artık son sürümlerdeki sürümlerde de desteklenmiyor ....
Gert van den Berg,

6

Cihazı veya bağlı olduğu göbeği sıfırlayın; cihaz yeniden görünmelidir. İşte bunu yapmak için küçük bir program:

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

Çalıştığım çoğu USB sürücü için çalışıyor, ancak Kingston DT 101 II 4GB gibi istisnalar var ve sıfırlandıktan sonra INQUIRY ve READ CAPACITY komutları başarısız oluyor ve güç kapatılıncaya kadar kullanılamaz durumda kalıyor.

Bağlantı noktasından güç alırsa, fişi çekmeden cihazı açıp kapatabilirsiniz ve USB hub'ınız bağlantı noktası başına güç kontrolünü destekler. İşte gücü kontrol etmek için küçük bir program:

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

Ne yazık ki, neredeyse hiçbir USB hub'ı bu özelliği desteklemiyor ve onu destekleyen birini bulmak çok zor. Üreticiler reklam yapmazlar. Pek çok hub da bu konuda yalan söylüyor, örneğin "lsusb -v" yaparsanız, "wHubCharacteristic" ile yayınlanan "Port başına güç değiştirme" yi görebilirsiniz, ancak gerçekte çalışmaz. Yonga seti bunu destekleyebilir, ancak üreticinin yonga setinden geçmek yerine port güç pinlerini doğrudan güç kaynağına bağlaması daha kolay / ucuzdu.


5

Gentoo sistemimde harika çalışmak için bu cevabı buldum . Lütfen sisteminizin önemli bir parçasıysa (örn. Fare veya klavye) cihazınızı yeniden etkinleştirmeyi unutmayın.

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

Neyi devre dışı bıraktığınızı / yeniden etkinleştirdiğinizi görmek için:

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

Bu, modern Fedora 25 sistemimdeki numarayı yapıyor gibiydi. Diğer yöntemlerden bazıları artık mümkün değildir.
xenithorb

5
udevadm info -a -n /dev/sdb

Şimdi Çekirdeği kontrol et. Örneğin, Front UIP'in 2. Bağlantı Noktasına bağlı ise, o zaman 1-1.2 ve Front UIP'in 1. Bağlantı Noktasına bağlı ise, 1-1.1 olacaktır.

Port 2 için: USB bağlantısını kesmek için:

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

USB bağlamak için:

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

3

Yukarıdaki önerilerin çoğunu denedim ama onlar benim için işe yaramadı. Bir USB cihazını komut satırından nasıl sıfırlayacağımı buldum: https://askubuntu.com/a/290519

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

nerede $isen uygun cihaz kimliğini kullanabilirsiniz /sys/bus/pci/drivers/ehci_hcd.


Lütfen linkten daha fazlasını gönderin; bazı detaylar ekleyin, böylece insanlar bir cevap için tıklamanız gerekmez.
jasonwryan


-5

Sorunuzu tam olarak anladığımdan emin değilim, ancak sistemimde bir USB aygıtı takılı ancak monte edilmemişse bunu 'görebilirim'

$> fdisk -l

Bu, hangi cihazla ilişkili olduğunu söyler (yani / dev / sdd1 veya başka bir şey), sonra da onu elle monte ediyorum.


5
Yine: hayır, soru, erişilemez hale gelen bir dosya sistemi ile ilgili değil (yani sökülmemiş ), bu konuya erişilemeyen bir cihazla ilgili değil (çekirdek bir cihaz görmüyor, tabii ki altında hiçbir giriş yok /dev).
Gilles 'SO- şeytan olmayı'
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.