No meu notebook, tenho uma câmera USB, o Ubuntu 10.04 de 32 bits rodando em cartão SD e o Android Jelly Bean em memória flash.
O Ubuntu não reconhece a câmera (nem mesmo a porta USB), porque não oferece nenhuma fonte de alimentação, por algum motivo. Se eu conectar um fio entre uma porta USB e a porta USB da câmera, o dmesg reconhecerá minha porta USB e minha câmera.
No entanto, se eu remover meu cartão SD, meu laptop inicializa o Android JB. Também não reconhece a porta USB onde a câmera está conectada. Mas quando eu lanço o aplicativo da câmera, de alguma forma o USB recebe energia e começa a funcionar! Há algum truque no serviço de câmera do Android que alimenta a porta USB.
Alguém sabe alguma coisa sobre isso?
Esta é a saída lsusb
quando a porta da câmera USB recebe uma fonte de alimentação através do fio que eu conecto.
$ lsusb
Bus 003 Device 002: ID 04d9:2ba0 Holtek Semiconductor, Inc.
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 013: ID 1e4e:0102
Bus 001 Device 004: ID 0bda:8176 Realtek Semiconductor Corp.
Bus 001 Device 002: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Aqui está a saída normal de lsusb
, sem que a câmera / porta USB seja reconhecida.
$ lsusb
Bus 003 Device 002: ID 04d9:2ba0 Holtek Semiconductor, Inc.
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 004: ID 0bda:8176 Realtek Semiconductor Corp.
Bus 001 Device 002: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Isso é dmesg
quando conecto o fio. Observe que desconecta porque não é fácil ficar parado segurando o fio.
$ dmesg | tail
[ 483.790202] uvcvideo: Found UVC 1.00 device USB2.0 Camera (1e4e:0102)
[ 483.797666] input: USB2.0 Camera as /devices/pci0000:00/0000:00:04.0/usb1/1-1/1-1:1.0/input/input4
[ 484.608278] usb 1-1: USB disconnect, device number 8
[ 486.123368] usb 1-1: new high speed USB device number 9 using ehci_hcd
[ 486.258975] usb 1-1: device descriptor read/all, error -71
[ 486.320237] hub 1-0:1.0: unable to enumerate USB device on port 1
[ 486.896696] usb 1-1: new high speed USB device number 11 using ehci_hcd
[ 487.040213] uvcvideo: Found UVC 1.00 device USB2.0 Camera (1e4e:0102)
[ 487.047682] input: USB2.0 Camera as /devices/pci0000:00/0000:00:04.0/usb1/1-1/1-1:1.0
/input/input5
[ 491.890035] usb 1-1: USB disconnect, device number 11
Se possível, onde posso encontrar o código-fonte que contém as operações executadas pelo aplicativo da câmera?