На моем ноутбуке у меня есть USB-камера, 32-битная Ubuntu 10.04, работающая на SD-карте, и Android Jelly Bean на флэш-памяти.
Ubuntu не распознает камеру (даже USB-порт), потому что она по какой-то причине не предлагает ей никакого питания. Если я подключу провод между USB-портом с питанием и USB-портом камеры, то dmesg распознает мой USB-порт и камеру.
Однако, если я вынимаю SD-карту, мой ноутбук загружает Android JB. Он также не распознает порт USB, к которому подключена камера. Но как только я запускаю приложение камеры, как-то USB получает питание и начинает работать! Существует некоторая хитрость в сервисе камеры Android, который питает USB-порт.
Кто-нибудь что-нибудь знает об этом?
Это выход lsusb
, когда на порт USB-камеры подается питание через провод, который я подключаю.
$ 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
Вот обычный вывод lsusb
без распознавания камеры / порта USB.
$ 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
Это dmesg
, когда я подключаю провод. Обратите внимание, что он отсоединяется, потому что не так легко стоять на месте, удерживая провод.
$ 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
Если возможно, где я могу найти исходный код, содержащий операции, выполняемые приложением камеры?
Это устройство (1e4e:0102) должно обнаружиться как: Etron Technologies, 'камера USB 2.0'
см.: UVC-драйвер Linux и инструменты
Сайт предложил, чтобы это полностью поддерживалось, и все же это не..
Вы еще не определили версию шляпы Ubuntu, которую Вы используете.