Skip to content

Unsupported USB Camera : External Camera Demo #48

@mfchiz

Description

@mfchiz

Hi there, i have been exploring the ocean framework for Meta Quest 3 for a new Camera that is NOT listed in the tested cameras. I tried the demo app for External Camera and when running the demo after selecting i got the following error in the user interface. "Failed to enumerate stream configurations, permission Granted?". I dont think this is a permissions issue as i also made sure to provide the package the CAMERA permission from ADB. Here is the debug log right when it is trying to display:

22:58:47.884 3118 3263 W AppManagerInternal: Entitlement for packageName=com.meta.ocean.app.demo.media.externalcamera.quest not found in cache, channels=[Store, Q4B]
22:58:47.886 29594 29594 D Ocean : OceanUSBManager: Received broadcast, action: com.meta.ocean.system.usb.android.ACTION_USB_PERMISSION
22:58:47.887 29594 29594 D Ocean : OceanUSBManager: Permission granted for device /dev/bus/usb/002/002 (Active Silicon Harrier 40LHD-2)
22:58:47.887 29594 29594 D Ocean : OceanUSBManager: Device permission granted: '/dev/bus/usb/002/002' true
22:58:47.887 29594 29594 D Ocean : USBLiveVideo: Permission granted for device <Active Silicon Harrier 40LHD-2(/dev/bus/usb/002/002).
22:58:47.887 29594 29975 I Ocean : LibUSB version: 1.0.27
22:58:47.887 29594 29975 I Ocean :
22:58:47.888 29594 29975 D Ocean : Attached the environment to the current thread.
22:58:47.889 11096 11096 I PanelService : Quitting application by notifying shell of intent to close via 'quitAndHide'
22:58:47.889 1232 1359 I InputDispatcher: Dropping event because there is no touchable window or gesture monitor at (564, 221) in display 28.
22:58:47.890 1232 7275 W InputManager-JNI: Input channel object 'adf6f28 com.oculus.os.vrusb/com.oculus.os.vrusb.UsbPermissionActivity (client)' was disposed without first being removed with the input manager!
22:58:47.890 29594 29975 D Ocean : Kernel driver is not active
22:58:47.890 29594 29975 W Ocean : VideoDevice: Failed to detach kernel driver from interface: 0, however it seems that no driver was attached, so there may be no need to detach the driver
22:58:47.890 29594 29975 D Ocean : VideoDevice: Succeeded to claim video control interface 0
22:58:47.890 29594 29975 E Ocean : USB::Manager: libusb: error [submit_bulk_transfer] submiturb failed, errno=2
22:58:47.890 29594 29975 E Ocean : VideoDevice: Failed to submit interrupt transfer for the video control interface: LIBUSB_ERROR_IO
22:58:47.890 29594 29975 E Ocean : VideoDevice: Failed to initialize the control interface
22:58:47.890 29594 29975 E Ocean : USBLiveVideo: Failed to create video device for /dev/bus/usb/002/002

At this point i was stumped. The "[submit_bulk_transfer] submiturb failed, errno=2" made me think there may be an issue with the VideoStreaming Interface Descriptor. Or in the USB management codes selection of the interface. I've attached below the USB descriptor of the device. Any thoughts or pointers would be appreciated. I'd like to try and get this camera working if possible. Thanks!

Bus 002 Device 001: ID 0403:602a Future Technology Devices International, Ltd Active Silicon Harrier 40LHD-2
Device Descriptor:
  bLength               18
  bDescriptorType        1
  bcdUSB              3.10
  bDeviceClass         239 Miscellaneous Device
  bDeviceSubClass        2 ?
  bDeviceProtocol        1 Interface Association
  bMaxPacketSize0        9
  idVendor          0x0403 Future Technology Devices International, Ltd
  idProduct         0x602a [unknown]
  bcdDevice           0.01
  iManufacturer          2 Active Silicon
  iProduct               1 Active Silicon Harrier 40LHD-2
  iSerialNumber          7 C-1668708167-AS40LHD-2
  bNumConfigurations     1
  Configuration Descriptor:
    bLength                9
    bDescriptorType        2
    wTotalLength      0x019a
    bNumInterfaces         3
    bConfigurationValue    1
    iConfiguration         0 
    bmAttributes        0xc0
      Self Powered
    MaxPower             4mA
    Interface Association:
      bLength                8
      bDescriptorType       11
      bFirstInterface        0
      bInterfaceCount        2
      bFunctionClass        14 Video
      bFunctionSubClass      3 Video Interface Collection
      bFunctionProtocol      0 
      iFunction              3 Active Silicon Harrier 40LHD-2
    Interface Descriptor:
      bLength                9
      bDescriptorType        4
      bInterfaceNumber       0
      bAlternateSetting      0
      bNumEndpoints          0
      bInterfaceClass       14 Video
      bInterfaceSubClass     1 Video Control
      bInterfaceProtocol     0 
      iInterface             3 Active Silicon Harrier 40LHD-2
        VideoControl Interface Descriptor:
          bLength                           13
          bDescriptorType                    4
          bDescriptorSubtype                 1 (HEADER)
          bcdUVC                          1.10
          wTotalLength                  0x004f
          dwClockFrequency                 148.500000MHz
          bInCollection                      1
          baInterfaceNr( 0)                  1
        VideoControl Interface Descriptor:
          bLength                           18
          bDescriptorType                    4
          bDescriptorSubtype                 2 (INPUT_TERMINAL)
          bTerminalID                        1
          wTerminalType                 0x0201 Camera Sensor
          bAssocTerminal                     0
          iTerminal                          0 
          wObjectiveFocalLengthMin           0
          wObjectiveFocalLengthMax       32256
          wOcularFocalLength                 0
          bControlSize                       3
          bmControls                0x000202aa
            Auto-Exposure Mode
            Exposure Time (Absolute)
            Focus (Absolute)
            Iris (Absolute)
            Zoom (Absolute)
            Focus, Auto
        VideoControl Interface Descriptor:
          bLength                           13
          bDescriptorType                    4
          bDescriptorSubtype                 5 (PROCESSING_UNIT)
          bUnitID                            2
          bSourceID                          1
          wMaxMultiplier                     0
          bControlSize                       3
          bmControls                0x00000375
            Brightness
            Hue
            Sharpness
            Gamma
            White Balance Temperature
            Backlight Compensation
            Gain
          iProcessing                        0 0
          bmVideoStandards                0x00
        VideoControl Interface Descriptor:
          bLength                           26
          bDescriptorType                    4
          bDescriptorSubtype                 6 (EXTENSION_UNIT)
          bUnitID                            4
          guidExtensionCode                  {25a6dcb8-4c04-a0f8-a2a7-7b9232a49b1e}
          bNumControls                       1
          bNrInPins                          1
          baSourceID( 0)                     2
          bControlSize                       1
          bmControls( 0)                  0x01
          iExtension                         0 
        VideoControl Interface Descriptor:
          bLength                            9
          bDescriptorType                    4
          bDescriptorSubtype                 3 (OUTPUT_TERMINAL)
        bTerminalID                        3
        wTerminalType                    257 USB Streaming
        bAssocTerminal                     0
        bSourceID                          4
        iTerminal                          0 
    Interface Descriptor:
      bLength                9
      bDescriptorType        4
      bInterfaceNumber       1
      bAlternateSetting      0
      bNumEndpoints          1
      bInterfaceClass       14 Video
      bInterfaceSubClass     2 Video Streaming
      bInterfaceProtocol     0 
      iInterface             3 Active Silicon Harrier 40LHD-2
        VideoStreaming Interface Descriptor:
          bLength                           14
          bDescriptorType                    4
          bDescriptorSubtype                 1 (INPUT_HEADER)
          bNumFormats                        1
          wTotalLength                  0x00e3
          bEndpointAddress                0x81 EP 1 In
          bmInfo                             0
          bTerminalLink                      3
          bStillCaptureMethod                0
          bTriggerSupport                    0
          bTriggerUsage                      0
          bControlSize                       1
          bmaControls( 0)                    0
        VideoStreaming Interface Descriptor:
          bLength                           27
          bDescriptorType                    4
          bDescriptorSubtype                 4 (FORMAT_UNCOMPRESSED)
          bFormatIndex                       1
          bNumFrameDescriptors               6
          guidFormat                         {32595559-0000-0010-8000-00aa00389b71}
          bBitsPerPixel                     16
          bDefaultFrameIndex                 1
          bAspectRatioX                      0
          bAspectRatioY                      0
          bmInterlaceFlags                0x00
          bCopyProtect                       0
          bmInterlaceFlags                0x00
            Interlaced stream or variable: No
            Fields per frame: 2
            Field 1 first: No
            Field pattern: Field 1 only
        VideoStreaming Interface Descriptor:
          bLength                           30
          bDescriptorType                    4
          bDescriptorSubtype                 5 (FRAME_UNCOMPRESSED)
          bFrameIndex                        1
          bmCapabilities                  0x00
            Still image unsupported
          wWidth                          1920
          wHeight                         1080
          dwMinBitRate                      16
          dwMaxBitRate               400000000
          dwMaxVideoFrameBufferSize    4147200
          dwDefaultFrameInterval        166666
          bFrameIntervalType                 1
          dwFrameInterval( 0)           166666
        VideoStreaming Interface Descriptor:
          bLength                           30
          bDescriptorType                    4
          bDescriptorSubtype                 5 (FRAME_UNCOMPRESSED)
          bFrameIndex                        2
          bmCapabilities                  0x00
            Still image unsupported
          wWidth                          1920
          wHeight                         1080
          dwMinBitRate                      16
          dwMaxBitRate               400000000
          dwMaxVideoFrameBufferSize    4147200
          dwDefaultFrameInterval        200000
          bFrameIntervalType                 1
          dwFrameInterval( 0)           200000
        VideoStreaming Interface Descriptor:
          bLength                           30
          bDescriptorType                    4
          bDescriptorSubtype                 5 (FRAME_UNCOMPRESSED)
          bFrameIndex                        3
          bmCapabilities                  0x00
            Still image unsupported
          wWidth                          1920
          wHeight                         1080
          dwMinBitRate                      16
          dwMaxBitRate               400000000
          dwMaxVideoFrameBufferSize    4147200
          dwDefaultFrameInterval        333333
          bFrameIntervalType                 1
          dwFrameInterval( 0)           333333
        VideoStreaming Interface Descriptor:
          bLength                           30
          bDescriptorType                    4
          bDescriptorSubtype                 5 (FRAME_UNCOMPRESSED)
          bFrameIndex                        4
          bmCapabilities                  0x00
            Still image unsupported
          wWidth                          1920
          wHeight                         1080
          dwMinBitRate                      16
          dwMaxBitRate               400000000
          dwMaxVideoFrameBufferSize    4147200
          dwDefaultFrameInterval        400000
          bFrameIntervalType                 1
          dwFrameInterval( 0)           400000
        VideoStreaming Interface Descriptor:
          bLength                           30
          bDescriptorType                    4
          bDescriptorSubtype                 5 (FRAME_UNCOMPRESSED)
          bFrameIndex                        5
          bmCapabilities                  0x00
            Still image unsupported
          wWidth                          1280
          wHeight                          720
          dwMinBitRate                      16
          dwMaxBitRate               400000000
          dwMaxVideoFrameBufferSize    1843200
          dwDefaultFrameInterval        166666
          bFrameIntervalType                 1
          dwFrameInterval( 0)           166666
        VideoStreaming Interface Descriptor:
          bLength                           30
          bDescriptorType                    4
          bDescriptorSubtype                 5 (FRAME_UNCOMPRESSED)
          bFrameIndex                        6
          bmCapabilities                  0x00
            Still image unsupported
          wWidth                          1280
          wHeight                          720
          dwMinBitRate                      16
          dwMaxBitRate               400000000
          dwMaxVideoFrameBufferSize    1843200
          dwDefaultFrameInterval        200000
          bFrameIntervalType                 1
          dwFrameInterval( 0)           200000
        VideoStreaming Interface Descriptor:
          bLength                            6
          bDescriptorType                    4
          bDescriptorSubtype                13 (COLOR_FORMAT)
          bColorPrimaries                    0 (Unspecified)
          bTransferCharacteristics           0 (Unspecified)
          bMatrixCoefficients                0 (Unspecified)
      Endpoint Descriptor:
        bLength                7
        bDescriptorType        5
        bEndpointAddress    0x81 EP 1 IN
        bmAttributes           2
          Transfer Type          Bulk
          Sync Type              None
          Usage Type             Data
        wMaxPacketSize    0x0400 1x 1024 bytes
        bInterval              0
        bMaxBurst             15
        Interface Association:
          bLength                8
          bDescriptorType       11
          bFirstInterface        2
          bInterfaceCount        1
          bFunctionClass       255 Vendor Specific Class
          bFunctionSubClass      6 
          bFunctionProtocol      2 
          iFunction              2 Active Silicon Harrier 40LHD-2
    Interface Descriptor:
      bLength                9
      bDescriptorType        4
      bInterfaceNumber       2
      bAlternateSetting      0
      bNumEndpoints          3
      bInterfaceClass      255 Vendor Specific Class
      bInterfaceSubClass     6 [unknown]
      bInterfaceProtocol     2 
      iInterface             2 Active Silicon Harrier 40LHD-2
      Endpoint Descriptor:
        bLength                7
        bDescriptorType        5
        bEndpointAddress    0x05 EP 5 OUT
        bmAttributes           2
          Transfer Type          Bulk
          Sync Type              None
          Usage Type             Data
        wMaxPacketSize    0x0400 1x 1024 bytes
        bInterval              0
        bMaxBurst             15
      Endpoint Descriptor:
        bLength                7
        bDescriptorType        5
        bEndpointAddress    0x85 EP 5 IN
        bmAttributes           2
          Transfer Type          Bulk
          Sync Type              None
          Usage Type             Data
        wMaxPacketSize    0x0400 1x 1024 bytes
        bInterval              0
        bMaxBurst             15
      Endpoint Descriptor:
        bLength                7
        bDescriptorType        5
        bEndpointAddress    0x86 EP 6 IN
        bmAttributes           3
          Transfer Type          Interrupt
          Sync Type              None
          Usage Type             Data
        wMaxPacketSize    0x0004 1x 4 bytes
        bInterval              1
        bMaxBurst              0
Binary Object Store Descriptor:
  bLength                5
  bDescriptorType       15
  wTotalLength      0x0016
  bNumDeviceCaps         2
  USB 2.0 Extension Device Capability:
    bLength                7
    bDescriptorType       16
    bDevCapabilityType     2
    bmAttributes  0x00000006
      BESL Link Power Management (LPM) Supported
  SuperSpeed USB Device Capability:
    bLength               10
    bDescriptorType       16
    bDevCapabilityType     3
    bmAttributes        0x00
    wSpeedsSupported  0x000c
      Device can operate at High Speed (480Mbps)
      Device can operate at SuperSpeed (5Gbps)
    bFunctionalitySupport  2
      Lowest fully-functional device speed is Full Speed (12Mbps)
    bU1DevExitLat         10 micro seconds
    bU2DevExitLat       2047 micro seconds
Device Status:    0x0001


Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions