USB camera doesn't work on HiKey960

When plug one LogiTech USB camera into HiKey960 USB3.0 port or USB Type C port (with the converter), I got following messages from dmesg:

[ 2819.170624] usb 1-1.1: new high-speed USB device number 5 using xhci-hcd
[ 2819.467956] usb 1-1.1: New USB device found, idVendor=046d, idProduct=082c
[ 2819.474950] usb 1-1.1: New USB device strings: Mfr=0, Product=2, SerialNumber=1
[ 2819.482421] usb 1-1.1: Product: HD Webcam C615
[ 2819.487024] usb 1-1.1: SerialNumber: E6498A20

There is no /dev/video file, and the camera doesn’t work.

But if I plug it into a Ubuntu 16.04 Linux PC, I got:
[109592.600467] usb 1-1: new high-speed USB device number 50 using xhci_hcd
[109592.931106] usb 1-1: New USB device found, idVendor=046d, idProduct=082c
[109592.931111] usb 1-1: New USB device strings: Mfr=0, Product=2, SerialNumber=1
[109592.931113] usb 1-1: Product: HD Webcam C615
[109592.931115] usb 1-1: SerialNumber: E6498A20
[109593.227094] uvcvideo: Found UVC 1.00 device HD Webcam C615 (046d:082c)
[109593.240230] uvcvideo 1-1:1.2: Entity type for entity Extension 5 was not initialized!
[109593.240235] uvcvideo 1-1:1.2: Entity type for entity Processing 2 was not initialized!
[109593.240238] uvcvideo 1-1:1.2: Entity type for entity Camera 1 was not initialized!
[109593.240240] uvcvideo 1-1:1.2: Entity type for entity Extension 6 was not initialized!
[109593.240243] uvcvideo 1-1:1.2: Entity type for entity Extension 7 was not initialized!
[109593.240246] uvcvideo 1-1:1.2: Entity type for entity Extension 8 was not initialized!
[109593.240450] input: HD Webcam C615 as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.2/input/input24

There is /dev/video file, and the camera works.

I have tried to config the Linux kernel to enable UVC, Media USB etc drivers, but the problem is the same.

Does anybody have made USB camera working on HiKey960? And what did you do?

Thanks a lot!

Hi,

I have the same issue with the USB camera:

[ 333.136021] usb 1-1.1: new high-speed USB device number 5 using xhci-hcd
[ 333.322867] usb 1-1.1: New USB device found, idVendor=05a3, idProduct=9601
[ 333.329946] usb 1-1.1: New USB device strings: Mfr=2, Product=1, SerialNumber=3
[ 333.339346] usb 1-1.1: Product: Stereo Vision 1
[ 333.344589] usb 1-1.1: Manufacturer: HD Camera Manufacturer
[ 333.350901] usb 1-1.1: SerialNumber: Stereo Vision 1

There is no /dev/video file, and the camera doesn’t work. no luck to make it work atm.
I will check my kernel config

@minjun Which images are you using?

There’s currently an issue with USB host: https://bugs.96boards.org/show_bug.cgi?id=573

You can try rebuilding the kernel with the patch below:
— a/arch/arm64/boot/dts/hisilicon/hi3660.dtsi
+++ b/arch/arm64/boot/dts/hisilicon/hi3660.dtsi
@@ -557,15 +557,6 @@
status = “ok”;
};

-		hubv1: gpio_hubv1 {
-			compatible = "hisilicon,gpio_hubv1";
-			typc_vbus_int_gpio,typec-gpios = <&gpio25 2 0>;
-			typc_vbus_enable_val = <0>;
-			hub_vdd12_en_gpio = <&gpio9 1 0>;
-			hub_vdd33_en_gpio = <&gpio9 2 0>;
-			status = "disabled";
-		};
-
 		hubv2: gpio_hubv2 {
 			compatible = "hisilicon,gpio_hubv2";
 			typc_vbus_int_gpio,typec-gpios = <&gpio25 2 0>;
@@ -576,7 +567,6 @@
 			hub_reset_en_gpio = <&gpio4 4 0>;
 			pinctrl-names = "default";
 			pinctrl-0 = <&usbhub5734_pmx_func>;
-			status = "disabled";
 		};
 
 		i2c3: i2c@fdf0c000 {

other usb devices are working properly now,

the usb camera is not working atm, well, anyway, I will rebuild the kernel and try it again.

thanks a lot!

Hi Robert, minjun,

Your device is well enumerated by the usbcore.
However, it seems that the device is not managed by any USB driver.
I suggest you to configure your kernel with the USB_VIDEO_CLASS config.

Which OS are you running on the hikey ?

If you build it as a module don’t forget the module_install/depmod step in order to load it automatically.

1 Like

Hi Loic,

I’m running kernel 4.9.44 with debian stretch rootfs.

Thank you for the info. I will try it later :slight_smile:

Thank you everyone!

I use the latest Linux kernel from AOSP git server and tested it on Android.

After configured the USB_VIDEO_CLASS and other configs, the /dev/video0 shows up and the camera works fine with the test capture program.

@minjun

Could be interesting to share which Android camera HAL(v4l2) you actually use (if any).