PSEYE Driver Issues

Hello,
I have been struggling with getting the PSEYE to work with our jetson for quite a while now. I have downloaded the 4.4.38 kernel source and built the GSPCA driver for the PSEYE (ov_534). I used make install_modules to install the driver modules on the jetson. Currently, when I run lsmod, I get this:

nvidia@tegra-ubuntu:~$ lsmod
Module                  Size  Used by
gspca_ov534            14571  0
gspca_main             29389  1 gspca_ov534
bcmdhd               7673941  1
bluedroid_pm           13770  0

When I plug the camera in, it is detected by lsusb and the connection event appears in dsmesg:

[  138.904818] usb 1-3: new high-speed USB device number 2 using xhci-tegra
[  138.936816] usb 1-3: New USB device found, idVendor=1415, idProduct=2000
[  138.943869] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  138.951242] usb 1-3: Product: USB Camera-B4.09.24.1
[  138.956322] usb 1-3: Manufacturer: OmniVision Technologies, Inc.
[  139.000879] gspca_main: v2.14.0 registered
[  139.008987] gspca_main: 1415:2000 too many config
[  139.014039] gspca_main: 1415:2000 too many config
[  139.019280] gspca_main: 1415:2000 too many config
[  139.024189] usbcore: registered new interface driver ov534

I am fairly sure the “too many config” is the reason that the camera is not actually working and doesn’t appear as a video in /dev/. I have tried to look into this issue and gotten no results and not even anyone with the same problem. Any idea how this issue could be resolved?

I doubt I can help on that, but anyone who can will probably want to see the output from:

sudo lsusb -vvv -d 1415:2000

Here you go:

nvidia@tegra-ubuntu:~$ sudo lsusb -vvv -d 1415:2000
Bus 001 Device 002: ID 1415:2000 Nam Tai E&E Products Ltd. or OmniVision Technologies, Inc. Sony Playstation Eye
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x1415 Nam Tai E&E Products Ltd. or OmniVision Technologies, Inc.
  idProduct          0x2000 Sony Playstation Eye
  bcdDevice            2.00
  iManufacturer           1 OmniVision Technologies, Inc.
  iProduct                2 USB Camera-B4.09.24.1
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          142
    bNumInterfaces          3
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval              10
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass         1 Audio
      bInterfaceSubClass      1 Control Device
      bInterfaceProtocol      0 
      iInterface              0 
      AudioControl Interface Descriptor:
        bLength                 9
        bDescriptorType        36
        bDescriptorSubtype      1 (HEADER)
        bcdADC               1.00
        wTotalLength           42
        bInCollection           1
        baInterfaceNr( 0)       2
      AudioControl Interface Descriptor:
        bLength                12
        bDescriptorType        36
        bDescriptorSubtype      2 (INPUT_TERMINAL)
        bTerminalID             1
        wTerminalType      0x0201 Microphone
        bAssocTerminal          2
        bNrChannels             4
        wChannelConfig     0x0000
        iChannelNames           0 
        iTerminal               0 
      AudioControl Interface Descriptor:
        bLength                 9
        bDescriptorType        36
        bDescriptorSubtype      3 (OUTPUT_TERMINAL)
        bTerminalID             2
        wTerminalType      0x0101 USB Streaming
        bAssocTerminal          1
        bSourceID               3
        iTerminal               0 
      AudioControl Interface Descriptor:
        bLength                12
        bDescriptorType        36
        bDescriptorSubtype      6 (FEATURE_UNIT)
        bUnitID                 3
        bSourceID               1
        bControlSize            1
        bmaControls( 0)      0x00
        bmaControls( 1)      0x02
          Volume Control
        bmaControls( 2)      0x02
          Volume Control
        bmaControls( 3)      0x02
          Volume Control
        bmaControls( 4)      0x02
          Volume Control
        iFeature                0 
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol      0 
      iInterface              0 
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       1
      bNumEndpoints           1
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol      0 
      iInterface              0 
      AudioStreaming Interface Descriptor:
        bLength                 7
        bDescriptorType        36
        bDescriptorSubtype      1 (AS_GENERAL)
        bTerminalLink           2
        bDelay                  1 frames
        wFormatTag              1 PCM
      AudioStreaming Interface Descriptor:
        bLength                11
        bDescriptorType        36
        bDescriptorSubtype      2 (FORMAT_TYPE)
        bFormatType             1 (FORMAT_TYPE_I)
        bNrChannels             4
        bSubframeSize           2
        bBitResolution         16
        bSamFreqType            1 Discrete
        tSamFreq[ 0]        16000
      Endpoint Descriptor:
        bLength                 9
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            5
          Transfer Type            Isochronous
          Synch Type               Asynchronous
          Usage Type               Data
        wMaxPacketSize     0x0300  1x 768 bytes
        bInterval               4
        bRefresh                0
        bSynchAddress           0
        AudioControl Endpoint Descriptor:
          bLength                 7
          bDescriptorType        37
          bDescriptorSubtype      1 (EP_GENERAL)
          bmAttributes         0x01
            Sampling Frequency
          bLockDelayUnits         0 Undefined
          wLockDelay              0 Undefined
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0000
  (Bus Powered)

Hi,
Can it run with uvcvideo driver? We have verified USB3 cameras with uvcvideo drivers.

I’m just speculating, but it looks like this requires a custom driver on the video part (isochronous data would be audio or video, but the audio is shown separately, so this seems to be video being treated as just data). There are also several custom control interfaces, so perhaps even if the driver you added is correct for the video it may need specialty control software. Do you happen to have a URL for documentation on making this work on ordinary desktop Linux?

While I was working through you suggestions last night, I realized I was compiling the Module from L4T 28.2 sources (Development Version), but I was running the 28.1 L4T kernel. Compiling from the right kernel sources fixed the problem. Thanks for your help.