USB-A abnormal behavior

  • Hello, we have only tested cameras with drivers so far, and we have not tested cameras with built-in drivers. I suspect this issue may be related to the RKISP driver. Typically, cameras using a generic driver are directly compiled into the kernel and registered as /dev/video0 upon startup. If no device occupies /dev/video0, the RKISP driver will take over when loaded.
    You loaded gspca_ov534.ko after loading the RKISP driver, which may cause some errors.
    You can try moving /oem/usr/ko/insmod_ko.sh to another location to prevent it from running at startup and test whether the issue still occurs.
  • Thank You for the information on RKISP.

    Disabling the RKISP as suggested makes only USB device appears as Video0 as expected. But it doesn't provide additional outcome on the issues.

    Meanwhile I performed more trials and here are the observations:

    First, disconnecting the ethernet cable for usb device recognition appeared to be irrelevant. I made several attempts for usb cable disconnect and reconnect trials and found that when I handle the board eg touching pins, components, the shield of usb or ethernet sockets the device can be recognized. If I put and usb extender and reconnect the cable there is no way made usb device to be recognized. I conclude that as; since that particular usb device has a some long cable comparing to other usb devices, the signal might be noisy where the board cannot tolerate and device driver gave up probing. When handling the board I might introduce some sort of impudences, perhaps, and helps it working magically. I don't have proper equipment to measure the usb signal readily available.

    I also noticed that, for the frame overflow issue, the cpu has 100% utilization when ffmpeg streams the video. After 5-6 seconds the overflowing occurs and cpu utilization drops to 10~13%. That suggests me ffmpeg does not utilize hw acceleration on the board. Can yo confirm?

    I also dig through the MPI development guide ( RK-KF-YF-576, page 61) and as far as I understand the HW acceleration is only provided for MIPI devices. Since the guide is in Chinese I rely on translation and would like to verify if this is accurate. Particularly no hardware acceleration or AI processing is applicable to usb devices? If so I should stop wasting time with usb cams and get proper MIPI cams...
  • 1 USB is mainly a differential signal, and the length or quality of the USB cable will affect the communication quality;
    2 The hardware encoding of the RV1106 can only be done using the Rockit library provided by Rockchip, and there is currently no method to call the Rockit library when using ffmpeg commands, and can only be achieved by writing code
    3 Hardware encoder and AI processing can work as long as the data and configuration information are transmitted, using MIPI camera or USB camera