Gostaria de comentar, mas ainda não tenho pontos de reputação suficientes para fazer isso.
Até onde eu sei, modprobe
é usado para adicionar / remover módulos / drivers. Com o comando modprobe -r -f uhci_hcd
você está tentando remover um módulo construído no kernel link .
Se você deseja desativar seu dispositivo USB e reativá-lo, dê uma olhada em sua postagem aqui: link .
Uma maneira muito mais fácil aqui: link .
EDIT: eu
Eu não tenho uma máquina Linux atm, então infelizmente não consigo reproduzir, mas parece que bind
e unbind
também podem funcionar. Dê uma olhada neste link . Verifique os dois Textblocks a seguir: um com USB Port Power Control
e o outro abaixo, começando com User Interface for Port Power Control
. Certifique-se, quando você unbind
desvincular o módulo / driver do seu dispositivo usb e não o módulo que está relacionado ao seu hub usb.
EDIT II:
Ok, agora estou de volta em casa e pude testá-lo na minha máquina. Estou executando o Lubuntu 16.04. Meu dispositivo USB para teste era um pendrive de 8 GB.
Primeiro, abra um terminal e digite dmesg -w
.
Em seguida, conecte seu dispositivo USB.
[ 1897.772736] usb 2-2: new high-speed USB device number 7 using ehci-pci [ 1897.907178] usb 2-2: New USB device found, idVendor=13fe, idProduct=5500 [ 1897.907185] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 1897.907189] usb 2-2: Product: Silicon-Power8G [ 1897.907193] usb 2-2: Manufacturer: UFD 3.0 [ 1897.907196] usb 2-2: SerialNumber: P1602059070C691668B63659 [ 1897.907802] usb-storage 2-2:1.0: USB Mass Storage device detected [ 1897.909153] scsi host22: usb-storage 2-2:1.0 [ 1898.910257] scsi 22:0:0:0: Direct-Access UFD 3.0 Silicon-Power8G PMAP PQ: 0 ANSI: 6 [ 1898.910896] sd 22:0:0:0: Attached scsi generic sg4 type 0 [ 1898.911521] sd 22:0:0:0: [sdd] 15126528 512-byte logical blocks: (7.74 GB/7.21 GiB) [ 1898.912261] sd 22:0:0:0: [sdd] Write Protect is off [ 1898.912266] sd 22:0:0:0: [sdd] Mode Sense: 45 00 00 00 [ 1898.912982] sd 22:0:0:0: [sdd] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA [ 1898.950371] sdd: [ 1898.953487] sd 22:0:0:0: [sdd] Attached SCSI removable disk [ 1899.243793] FAT-fs (sdd): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
Aqui, podemos ver que um novo dispositivo ehci-pci
em usb 2-2
foi reconhecido. Após algumas linhas, usb 2-2
muda para usb-storage 2-2:1.0
para scsi 22:0:0:0
e finalmente para sd 22:0:0:0
O que esses números significam exatamente está além do meu conhecimento. Tem algo a ver com a porta USB, mas isso não é tudo. Pelo menos é um identificador.
De qualquer forma, agora vamos para a pasta /sys/
. Somwhere dentro de /sys/
vamos encontrar o driver, que é responsável pelo nosso dispositivo usb. Queremos unbind
do nosso dispositivo desse driver. Por isso, precisamos descobrir o caminho para o driver e seu comando unbind
. Nós vamos usar o comando tree
.
Nós digitamos tree /sys/ | grep 22:0:0:0
alex@ga-P55A-UD5:~$ tree /sys/ | grep 22:0:0:0 │ ├── sdd -> ../devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2:1.0/host22/target22:0:0/22:0:0:0/block/sdd │ │ │ ├── 22:0:0:0 -> ../../../devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2:1.0/host22/target22:0:0/22:0:0:0 │ │ │ │ ├── 22:0:0:0 -> ../../../../devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2:1.0/host22/target22:0:0/22:0:0:0 │ │ ├── sdd -> ../../devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2:1.0/host22/target22:0:0/22:0:0:0/block/sdd │ │ ├── 22:0:0:0 -> ../../devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2:1.0/host22/target22:0:0/22:0:0:0/bsg/22:0:0:0 │ │ ├── 22:0:0:0 -> ../../devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2:1.0/host22/target22:0:0/22:0:0:0/scsi_device/22:0:0:0 │ │ ├── 22:0:0:0 -> ../../devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2:1.0/host22/target22:0:0/22:0:0:0/scsi_disk/22:0:0:0 │ │ └── sg4 -> ../../devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2:1.0/host22/target22:0:0/22:0:0:0/scsi_generic/sg4 │ │ ├── 8:48 -> ../../devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2:1.0/host22/target22:0:0/22:0:0:0/block/sdd │ ├── 21:4 -> ../../devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2:1.0/host22/target22:0:0/22:0:0:0/scsi_generic/sg4 │ ├── 249:4 -> ../../devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2:1.0/host22/target22:0:0/22:0:0:0/bsg/22:0:0:0 │ │ │ │ │ │ │ │ ├── 22:0:0:0 │ │ │ │ │ │ │ │ │ │ ├── device -> ../../../22:0:0:0 │ │ │ │ │ │ │ │ │ │ └── 22:0:0:0 │ │ │ │ │ │ │ │ │ │ ├── device -> ../../../22:0:0:0 │ │ │ │ │ │ │ │ │ │ └── 22:0:0:0 │ │ │ │ │ │ │ │ │ │ ├── device -> ../../../22:0:0:0 │ │ │ │ │ │ │ │ │ │ └── 22:0:0:0 │ │ │ │ │ │ │ │ │ │ ├── device -> ../../../22:0:0:0 │ │ │ │ │ │ │ │ │ │ ├── device -> ../../../22:0:0:0
A primeira linha já está nos dizendo para onde ir:
../devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2:1.0/host22/target22:0:0/22:0:0:0/block/sdd
Lembre-se, ainda estamos procurando o comando unbind
em algum lugar na pasta do driver, que está de alguma forma anexado ao nosso dispositivo. Nosso dispositivo, referente a dmesg
, também foi chamado de 2-2:1.0
, então usamos isso como pasta pai para tree
:
tree /sys/devices/pci0000\:00/0000\:00\:1d.7/usb2/2-2/2-2\:1.0/ | grep driver
alex@ga-P55A-UD5:~$ tree /sys/devices/pci0000\:00/0000\:00\:1d.7/usb2/2-2/2-2\:1.0/ | grep driver ├── driver -> ../../../../../../bus/usb/drivers/usb-storage │ │ │ ├── driver -> ../../../../../../../../../bus/scsi/drivers/sd
Agora encontramos o caminho para o driver que está conectado ao dispositivo usb.
Então, vamos ls /sys/bus/usb/drivers/usb-storage/
alex@ga-P55A-UD5:~$ ls /sys/bus/usb/drivers/usb-storage/ 2-2:1.0 bind module new_id remove_id uevent unbind
Agora temos todas as informações de que precisamos, por isso, digitamos o seguinte como root (com sudo
parece não funcionar):
echo -n "2-2:1.0" > /sys/bus/usb/drivers/usb-storage/unbind
e logo depois disso, porque você queria o efeito de reconexão:
echo -n "2-2:1.0" > /sys/bus/usb/drivers/usb-storage/bind
Saída de dmesg -w
:
[ 3516.792135] usb-storage 2-2:1.0: USB Mass Storage device detected [ 3516.792406] scsi host23: usb-storage 2-2:1.0 [ 3517.792201] scsi 23:0:0:0: Direct-Access UFD 3.0 Silicon-Power8G PMAP PQ: 0 ANSI: 6 [ 3517.792879] sd 23:0:0:0: Attached scsi generic sg4 type 0 [ 3517.793592] sd 23:0:0:0: [sdd] 15126528 512-byte logical blocks: (7.74 GB/7.21 GiB) [ 3517.794340] sd 23:0:0:0: [sdd] Write Protect is off [ 3517.794346] sd 23:0:0:0: [sdd] Mode Sense: 45 00 00 00 [ 3517.796083] sd 23:0:0:0: [sdd] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA [ 3517.801135] sdd: [ 3517.803788] sd 23:0:0:0: [sdd] Attached SCSI removable disk [ 3518.096593] FAT-fs (sdd): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
Espero que isso ajude você a encontrar uma solução.
Se você quiser ler mais sobre o tópico: link