Como transferir arquivos entre o Kindle e seu computador

Há basicamente 2 formas de transferir fácil os arquivos para o seu leitor digital Kindle.
Você pode usar um cabo USB ou enviar através do email.

Este texto se baseia na oitava geração do Kindle básico.
No lado do computador, eu uso o Linux (Debian 9 Stretch). Digo isso apenas por que as imagens podem ser um pouco diferentes das que você tem aí, contudo, os procedimentos são os mesmos.

Como conectar e transferir arquivos entre o computador e o Kindle via USB

Este método é ótimo para quem deseja fazer backup de seus arquivos contidos no Kindle também, caso tenha razões para não confiar muito no backup automático feito na nuvem.
Comece por conectar o cabo ao Kindle e ao PC/laptop.
kindle usb light power button connect
Ao conectar, o Kindle entra no USB Drive Mode.
Este é o modo padrão e permite, enquanto carrega, fazer eventuais transferências de arquivos.
Use o gerenciador de arquivos do seu sistema para acessar o Kindle como um drive comum.
kindle no gerenciador de arquivos

Acesse a pasta ‘documents’, dentro do Kindle, onde também são armazenados os arquivos adquiridos através da loja da Amazon ou baixados da Internet.
Se quiser que algum documento de texto seja acessível de dentro do navegador do Kindle, transfira-o para este local.
kindle gerenciador de arquivos

Nativamente, os formatos suportados pelo Kindle são AZW, AZW3, TXT, PDF, unprotected MOBI e PRC.
Outros padrões também podem ser lidos, como HTML5/CSS3, DOC, DOCX e EPUB.
Além deles, a plataforma suporta arquivos de imagens JPEG, GIF, PNG, e BMP.

Quando terminar de transferir arquivos, desmonte ou ejete o dispositivo, antes de desconectar o cabo.

A desconexão inadequada do Kindle pode ocasionar danos aos seus arquivos. Fique atenta(o).


Leia outras dicas sobre o Kindle, neste site.

Como obter detalhes dos dispositivos USB no seu sistema

Há inúmeras ferramentas, no Linux, disponíveis para os usuários obterem informações sobre as conexões USB presentes no seu sistema.
Neste post, vou falar de algumas, que podem ser úteis para conseguir informações sobre dispositivos conectados a uma destas portas.
O utilitário usb-devices pode ser usado para exibir na tela do terminal detalhes, com bastante informações, sobre BUSes USB no seu sistema, mesmo que não haja algo conectado.
Se houver, contudo, ele irá mostrar informações sobre o device conectado.
linux usb devices

O usb-devices é um shell script (bash) desenvolvido para exibir informações e detalhes dos “buses” USB presentes no sistema, bem como, dos dispositivos anexados

A saída do script é similar ao conteúdo do arquivo de sistema usb/devices que, usualmente, fica sob o diretório /proc/bus:

less /proc/bus/input/devices
I: Bus=0019 Vendor=0000 Product=0001 Version=0000
N: Name="Power Button"
P: Phys=PNP0C0C/button/input0
S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:10/PNP0C0C:00/input/input0
U: Uniq=
H: Handlers=kbd event0 
B: PROP=0
B: EV=3
B: KEY=10000000000000 0

...


I: Bus=0003 Vendor=04f2 Product=b1d8 Version=5563
N: Name="1.3M WebCam"
P: Phys=usb-0000:00:1a.0-1.1/button
S: Sysfs=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/1-1.1:1.0/input/input13
U: Uniq=
H: Handlers=kbd event13 
B: PROP=0
B: EV=3
B: KEY=100000 0 0 0

Outro arquivo do sistema, relacionado às informações de dispositivos ou sistemas de arquivos USB (caso estejam montados) é o /sys/kernel/debug/usb/devices. Este, contudo, nem sempre está disponível para usuários sem privilégios administrativos:

cat /sys/kernel/debug/usb/devices
cat: /sys/kernel/debug/usb/devices: Permission denied

O script usb-devices não requer privilégios administrativos para retornar informações úteis sobre os dispositivos USB conectados ao seu hardware.
Como limitação, o script só lista as interfaces ativas — aquelas marcadas com um ‘*’ no arquivo /sys/kernel/debug/usb/devices:

sudo cat /sys/kernel/debug/usb/devices | grep "*"
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
C:* #Ifs= 3 Cfg#= 1 Atr=a0 MxPwr=100mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=01 Driver=usbhid
I:* If#= 1 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=00 Prot=00 Driver=usbhid
I:* If#= 2 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=02 Driver=usbhid
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
C:* #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=500mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=0e(video) Sub=01 Prot=00 Driver=uvcvideo
I:* If#= 1 Alt= 0 #EPs= 0 Cls=0e(video) Sub=02 Prot=00 Driver=uvcvideo

Use o lsusb, para obter informações mais enxutas

Os métodos listados acima, podem trazer informações detalhadas voltadas para desenvolvedores.
O utilitários lsusb é mais útil para quem deseja um conjunto de informações mais sucinto:

lsusb 
Bus 002 Device 003: ID 413c:2501 Dell Computer Corp. 
Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 04f2:b1d8 Chicony Electronics Co., Ltd 
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Para obter uma relação mais detalhada, use a opção ‘–verbose’:

lsusb --verbose | less 

Se for executado com privilégios administrativos, o lsusb poderá exibir mais informações.
Como sempre, use o comando grep para filtrar os dados de acordo com suas necessidades:

sudo lsusb --verbose | grep -i bcdusb

O comando acima, irá exibir as versões USB disponíveis no seu sistema.
Veja o que obtive no meu computador de testes (ele é velhinho…):

  bcdUSB               2.00
  bcdUSB               2.00
  bcdUSB               2.00
  bcdUSB               2.00
  bcdUSB               2.00
  bcdUSB               2.00
  bcdUSB               2.00
  bcdUSB               2.00
  bcdUSB               2.00

Como obter informações sobre dispositivos USB em ambiente gráfico

Quem prefere o ambiente gráfico, pode instalar o usbview:

sudo apt install usbview

Este aplicativo irá retornar um conjunto de informações mais extenso, se for executado com privilégios administrativos:

sudo usbview

usbview
O utilitário usbview exibe as informações obtidas de /sys/kernel/debug/usb/devices — por isto, requer ser executado como super usuário.

Conheça o usbhid-dump

O utilitário usbhid-dump lança o stream de dados vindos de dispositivos USB.
O padrão é monitorar o fluxo de todos os dispositivos.
Mas você pode restringir a um só.
No exemplo que segue, o utilitário irá exibir o fluxo vindo do teclado USB (se você tiver um).
Tenha cuidado: você vai perder o controle do teclado USB, ao executar este comando:

sudo usbhid-dump -es

Para interromper o aplicativo, tecle ‘Ctrl + C’ no teclado nativo do seu notebook.
dump stream from mouse and keyboard to screen
O que este programa faz é desconectar os drivers do kernel, relacionados ao(s) dispositivo(s) em questão — assim, nenhum outro programa vai conseguir captar as entradas a partir daquele(s) dispositivo(s).
Se você não conseguir interromper a desconexão, com ‘Ctrl + C’, basta aguardar o tempo padrão de 60 segundos, para recuperar o controle sobre seu dispositivo USB.
Leia mais em Como obter mais informações sobre as portas USB no Linux.

Como acessar dados do smartphone Android via USB

O acesso a dispositivos Android via USB segue alguns padrões e tem algumas opções ou parâmetros que, por vezes, confundem os usuários iniciantes.
Neste texto, vou abordar as formas mais comuns de acessar um smartphone (ou tablet) Android, a partir do PC, através de uma conexão USB.
Antes de começar, vou esclarecer o leitor sobre os equipamentos e os softwares envolvidos nos meus testes.
marshmallow girl android logo stay puft
No lado do smartphone, trata-se de um Motorola Moto G 3, com o Android 6.0 Marshmallow.
Mesmo que o seu smartphone não seja desta marca e/ou modelo, as informações deste texto são genéricas o suficiente para cobrir a grande maioria dos dispositivos.
Quero acrescentar que o aparelho usa o cartão SD no modo interno de armazenamento — o acesso à memória interna não é possível nesta configuração, portanto.
Do lado do PC, estou usando um notebook com o Debian Linux 8.3 Jessie e a interface padrão Gnome 3 — muito semelhante ao Ubuntu.
Ainda que você use outro sistema operacional, acredito que este post possa ser útil para você, caso você esteja tendo dificuldades básicas para entender como conectar o celular ao PC.

As diferentes formas de acessar o smartphone Android via USB

Do lado do smartphone Android, é importante que você selecione o modo de conexão — o seu computador vai reagir a esta escolha.
Para isto, arraste a barra de status de cima para baixo e toque no ícone de opções de conexão USB, conforme você pode ver na tela 1, abaixo:
android-conexao-usb
Em seguida, você deve selecionar uma das opções de conexão USB, na tela 2.
As opções são usar USB para:

  1. Carregamento apenas — quando você não deseja conexão alguma e quer apenas dar uma carga no seu aparelho.
    O artigo Como melhorar a eficiênica da carga da bateria do seu celular ou tablet aborda este assunto com mais profundidade.
  2. Transferir arquivos (MTP) — O Media Transfer Protocol ou protocolo de transferência de mídia permite que o sistema operacional do seu PC inquira o dispositivo Android e ele responde, oferecendo a lista de arquivos e executando as ações pedidas.
    Este protocolo não permite que o Windows, o Linux ou o Mac tenha acesso direto ao conteúdo do dispositivo Android.
    Esta abordagem é que permite que você possa acessar um cartão formatado (em ext4) e criptografado de qualquer sistema operacional — o que inclui o Windows, que não tem suporte a este sistema de arquivos mais avançado.
    Você deve usar quase sempre este protocolo — principalmente se quiser ter mais liberdade de escolha na transferência de arquivos.
  3. Transferir fotos (PTP) — O Picture Transfer Protocol é voltado para fazer a transferência mais eficiente de imagens e vídeos.
    O MTP é um protocolo baseado no PTP, com a adição de recursos.
  4. MIDI — esta opção de conexão é voltada para uso com teclados externos e outros dispositivos, como amplificadores, microfones, speakers etc.

O ajuste do lado do PC

Do lado do PC, os ajustes são mínimos.
O máximo que você precisa fazer é clicar para montar o dispositivo — quando isto não for automático.
montar e abrir dispositivo USB no Gnome 3
Com a minha configuração (no Android), só será possível enxergar os dados através dos protocolos MTP e PTP.
Ao selecionar o segundo protocolo de acesso (no telefone), as pastas específicas de imagens e vídeos serão apresentadas.
Captura de tela de 2016-03-17 16:49:26
O protocolo MTP, em dispositivos que usam o cartão no modo portátil ou portable mode, irá exibir uma tela com acesso à memória de armazenamento interno e ao cartão SD.
Em dispositivos com o cartão formatado como “adopted mode“, internal mode ou modo interno, só é possível acessar o cartão.
Acesso ao cartão de memória via USB

Como determinar a velocidade de seu memory card ou pendrive no Linux com o comando dd

Fazer uma análise do desempenho ou da performance de um dispositivo de armazenamento removível (cartão de memória, drive flash, pendrive etc) é bastante fácil.
Neste texto vou mostrar como usar o comando dd, como ferramenta padrão de qualquer distro Linux, para fazer um benchmarking nos seus dispositivos.
Este tipo de resultado pode ser interessante obter toda vez em que você precisar decidir qual dispositivo quer usar para instalar uma distro Linux Live, por exemplo — onde você vai precisar ter o máximo de desempenho.

A minha história é a seguinte: estou querendo revitalizar um dos meus notebooks antigos, que está sem o disco rigido.
Para isto, vou usar uma ou duas distribuições GNU/Linux Live rodando do pendrive ou do cartão de memória e vou optar por instalá-las nos dispositivos mais rápidos que eu tiver — ou, pelo menos, nos menos lerdos.
Os pendrives usados neste teste são antigos e a máquina conta apenas com 2GB de memória RAM.
Uma quantidade de memória RAM inferior a 3 GB é, na minha opinião, desestimulante para tentar rodar o Linux inteiramente na RAM — para isto, basta usar o parâmetro boot=toram na inicialização do GRUB, caso você queira tentar.
Se você tem também uma máquina antiga à qual gostaria de dar mais algum tempo de sobrevida (de 6 meses a 1 ano, ou mais… ), recomendo investir na compra de um drive em estado sólido SSD.
Além de ganhar velocidade, quando a máquina velha parar de funcionar definitivamente, você pode usar seu SSD em outra máquina.

Não esqueça de fazer backup completo dos dados armazenados nos dispositivos — os procedimentos descritos neste texto ocasionam perda de dados.
Seguem as descrições de cada metodologia usada.

Como determinar a velocidade de leitura e escrita de um dispositivo de armazenamento com o comando dd

O comando dd, no GNU/Linux é um dos comandos tradicionais. Vale a pena conhecê-lo melhor — trata-se de um “canivete suíço”, para realizar as mais variadas tarefas.
Quando terminar o teste, vou usá-lo para instalar as minhas distribuições favoritas dentro do pendrive — clique aqui, para ver como é fácil fazer isto.
O comando dd simplesmente copia dados de um lugar (indicado pelo parâmetro if=) para outro (of=).
Se você faz uso de um sistema de arquivos com caching, tenha em mente que este fator irá influenciar o teste e você poderá obter resultados irreais.
Para tentar driblar o cache, certifique-se de usar valores significativamente altos para o parâmetro ‘count’ do comando dd.
Isto irá forçar o sistema operacional a gravar os dados direto no dispositivo.
Minha sugestão é usar valores acima de 50Kb.
O teste com o dd consiste em enviar dados (aleatórios) para serem escritos direto no dispositivo conectado, com alguns parâmetros adicionados. Veja um exemplo:

sudo dd if=/dev/zero of=/dev/sdd bs=1M count=10241024+0 registros de entrada
1024+0 registros de saída
1073741824 bytes (1,1 GB) copiados, 229,927 s, 4,7 MB/s

Para o propósito deste post, a taxa de leitura do dispositivo terá mais impacto na performance.
Para obter a taxa de leitura sem a influência do cache, execute o seguinte comando antes de cada teste:

sudo sh -c "sync && echo 3 > /proc/sys/vm/drop_caches"

Se quiser saber mais sobre o procedimento de limpar a memória cache no Linux, clique aqui.
Para testar a taxa de leitura, use qualquer arquivo dentro do pendrive em ‘if=’:

dd if=/media/pendrive/teste.log of=/dev/null bs=4k
51200+0 registros de entrada
51200+0 registros de saída
419430400 bytes (419 MB) copiados, 25,1704 s, 16,7 MB/s

Limpar o cache é opcional — mas, se você não fizer isto, vai obter uma taxa de leitura na casa dos GB/s, da qual você não irá usufruir na realidade.

O padrão USB 2.0 tem uma taxa máxima de 480 Mbits/s ou 60 Mbytes/s, teoricamente.
Em função de várias restrições, contudo, a taxa máxima de transferência acaba sendo 280 Mbits/s ou 35 Mbytes/s.
Além disto, a taxa de transferência vai depender da qualidade do seu dispositivo USB, além de outros fatores.

Como última dica, se você está testando cartões de memória para usar no Raspberry Pi e pretende usar aplicações/servidor de banco de dados MySQL ou PostgreSQL, use um blocksize = 8k. Assim:

dd if=/media/pendrive/teste.log of=/dev/null bs=8k

Como extrair informações sobre as portas USB no Linux

O GNU/Linux tem várias opções de comandos para obter as mais variadas e detalhadas informações sobre o seu hardware.
Estes comandos e funções são importantes em várias situações, inclusive para montar scripts de instalação que se adaptem às especifidades do hardware.
Neste texto, procuro responder também uma questão que me foi feita, tempos atrás, sobre como determinar a potência em miliamperes das portas USB de um notebook ou como determinar o consumo atual de um dispositivo.
Para responder a esta e outras questões, listei uma série de comandos que você pode dar no terminal para obter dados sobre as portas USB.
Obviamente, há várias outras formas eficientes para obter tais informações no Linux. Estas são apenas algumas.
Se você tem preferência por algum outro método, sinta-se à vontade para explicá-lo na seção de comentários.

O comando lsusb

O primeiro comando que vamos abordar é um que foi feito para resolver este problema.
Ele pode oferecer mais informações se for executado com privilégios administrativos.
Na sua forma básica, ele oferece informações sobre as portas e sobre os firmwares dos dispositivos conectados.


lsusb 

Bus 004 Device 003: ID 8087:07da Intel Corp. 
Bus 004 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 003: ID 2232:1035  
Bus 003 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Para obter uma riqueza maior de detalhes, use a opção ‘-v’ ou ‘–verbose’:


sudo lsusb --verbose

Use o comando grep para filtrar as informações a um determinado dispositivo.
No exemplo abaixo, segue as informações referentes ao dongle USB do teclado/mouse:


sudo lsusb --verbose | grep -i Dell

Bus 001 Device 003: ID 413c:2501 Dell Computer Corp. 
  idVendor           0x413c Dell Computer Corp.
  iManufacturer           1 Dell
  iProduct                2 Dell KM632 Wireless Keyboard and Mouse

Se você conectar um smartphone ao USB, pode usar o mesmo artifício para encontrar informações sobre ele:


sudo lsusb --verbose | grep -i moto

Bus 001 Device 005: ID 22b8:2e83 Motorola PCS 
  idVendor           0x22b8 Motorola PCS
  iManufacturer           1 motorola
  iProduct                2 MotoG3

Note, no exemplo acima, a primeira linha traz informações sobre o Bus e o número do Device. Veja como exibir informações completas sobre este dispositivo especificamente:


sudo lsusb -v -s 001:005

Bus 001 Device 005: ID 22b8:2e83 Motorola PCS 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x22b8 Motorola PCS
  idProduct          0x2e83 
  bcdDevice           ff.ff
  iManufacturer           1 motorola
  iProduct                2 MotoG3
  iSerial                 3 0016903665
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           39
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass         6 Imaging
      bInterfaceSubClass      1 Still Image Capture
      bInterfaceProtocol      1 Picture Transfer Protocol (PIMA 15470)
      iInterface              5 PTP
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x001c  1x 28 bytes
        bInterval               6
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0000
  (Bus Powered)

Note que, na linha 26, em destaque na listagem acima, encontra-se a informação sobre a capacidade máxima de energização desta porta USB: 500mA.

Como determinar o consumo de energia de um dispositivo USB com o comando lsusb

Uma outra forma de responder especificamente a esta questão é filtrar os resultados do comando com o egrep (o grep também pode ser usado).
Veja um exemplo:


sudo lsusb -v | egrep "^Bus|MaxPower"

### repare no consumo (em miliamperes) dos 3 dispositivos conectados ao meu notebook: HD externo, smartphone Samsung Galaxy ACE II e um dongle para teclado e mouse.
Bus 004 Device 003: ID 8087:07da Intel Corp. 
    MaxPower                0mA
Bus 004 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
    MaxPower                0mA
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    MaxPower                0mA
Bus 003 Device 003: ID 2232:1035  
    MaxPower              500mA
Bus 003 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
    MaxPower                0mA
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    MaxPower                0mA
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    MaxPower                0mA
Bus 001 Device 034: ID 152d:2509 JMicron Technology Corp. / JMicron USA Technology Corp. JMS539 SuperSpeed SATA II 3.0G Bridge
    MaxPower                2mA
Bus 001 Device 036: ID 04e8:6860 Samsung Electronics Co., Ltd GT-I9100 Phone [Galaxy S II], GT-I9300 Phone [Galaxy S III], GT-P7500 [Galaxy Tab 10.1]
    MaxPower              500mA
Bus 001 Device 028: ID 413c:2501 Dell Computer Corp. 
    MaxPower              100mA
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    MaxPower                0mA

O comando usb-devices

Você pode usar o comando usb-devices, combinado ao grep, para obter informações mais compactas sobre o dispositivo Motorola (no meu caso):


usb-devices | grep -A 5 -i motorola

### Como você pode ver, esta é uma forma de obter fácil o número de série de um smartphone:

S:  Manufacturer=motorola
S:  Product=MotoG3
S:  SerialNumber=0016903665
C:  #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=500mA
I:  If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=00 Driver=(none)

Como obter informações com o usbview

O aplicativo gráfico usbview fornece as informações sobre as portas USB e os dispositivos conectados, organizadas em árvore.
Pode ser uma opção interessante para quem não se dá muito bem com a linha de comando. Veja a figura.
Informações sobre o motorola moto g3

Monitoramento das portas USB

O comando udevadm pode ser usado para manter um monitoramento constante das portas USB no seu sistema.
Sempre que houver uma ocorrência, ela será mostrada na tela.


udevadm monitor path /dev/usb/hiddev0

### No exemplo, abaixo, a saída do udevadm ao conectar um drive USB:

KERNEL[13527.084590] add      /devices/pci0000:00/0000:00:14.0/usb1/1-4 (usb)
KERNEL[13527.084830] add      /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.0 (usb)
KERNEL[13527.085322] add      /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.0/host7 (scsi)
KERNEL[13527.085411] add      /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.0/host7/scsi_host/host7 (scsi_host)
UDEV  [13527.089506] add      /devices/pci0000:00/0000:00:14.0/usb1/1-4 (usb)
UDEV  [13527.095055] add      /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.0 (usb)
UDEV  [13527.098276] add      /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.0/host7 (scsi)
UDEV  [13527.098351] add      /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.0/host7/scsi_host/host7 (scsi_host)

...

O udev é o gerenciamento dinâmico de dispositivos do Linux.
Ele supre os softwares do sistema com informações sobre eventos, cuida das permissões dos nós dos dispositivos e pode criar symlinks adicionais ao diretório /dev.
(Manual do udev)

udev – Linux dynamic device management
O daemon do udev, o systemd-udevd.service, recebe os uevents dos dispositivos diretamente do kernel, a cada vez que um é adicionado ou removido no sistema, ou quando seu estado se altera.

O comando dmesg

Por último e não menos importante, o comando dmesg também pode ser usado para buscar informações sobre as portas e dispositivos USB no seu sistema:


dmesg | grep USB

Como sempre, se você souber o que estão procurando, o uso do comando grep ajuda a filtrar as informações, para obter apenas o que te interessa.
Divirta-se!

Assinar blog por e-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.