Bug 1000926 - Couldn't recognize Genius Trek 320R webcam
Couldn't recognize Genius Trek 320R webcam
Status: CLOSED CANTFIX
Product: Fedora
Classification: Fedora
Component: kernel (Show other bugs)
19
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Kernel Maintainer List
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2013-08-26 02:56 EDT by Mikhail
Modified: 2013-08-27 04:06 EDT (History)
8 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-08-27 04:06:28 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Mikhail 2013-08-26 02:56:18 EDT
Description of problem:
Couldn't recognize Genius Trek 320R webcam


lsusb -v

Bus 002 Device 008: ID 0458:702c KYE Systems Corp. (Mouse Systems) 
Couldn't open device, some information will be missing
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x0458 KYE Systems Corp. (Mouse Systems)
  idProduct          0x702c 
  bcdDevice            1.02
  iManufacturer           0 
  iProduct                1 
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          101
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0000  1x 0 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0000  1x 0 bytes
        bInterval               4
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       1
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x1400  3x 1024 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0010  1x 16 bytes
        bInterval               4
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       2
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x1380  3x 896 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0010  1x 16 bytes
        bInterval               4
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       3
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x1300  3x 768 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0010  1x 16 bytes
        bInterval               4
Comment 1 Mikhail 2013-08-26 02:58:39 EDT
dmesg:

[264421.349038] usb 2-4: new high-speed USB device number 8 using ehci-pci
[264421.534802] usb 2-4: New USB device found, idVendor=0458, idProduct=702c
[264421.534810] usb 2-4: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[264421.534815] usb 2-4: Product: Trek 320R
Comment 2 Mikhail 2013-08-26 03:12:42 EDT
$ uname -a
Linux telecon-17-afbank-ru 3.10.9-200.fc19.i686.PAE #1 SMP Wed Aug 21 20:32:21 UTC 2013 i686 i686 i386 GNU/Linux
Comment 3 Hans de Goede 2013-08-26 11:20:30 EDT
Hi Mikhail,

It seems that you've a camera which no one else has tried to use with Linux before, getting it supported may be as simple as adding a new usb-id to an existing driver, or it may be a lot harder.

Do you have the original windows drivers for the camera? That could really help, after installing them your windows install should have a so called .inf file for the camera, which may contain importants hints on which bridge and sensor it is using.

Judging from its usb-id it could very well be using a sonix sn9c120 bridge with an unknown sensor. Hopefully the windows driver will give some hints.

If it is a sn9c120 bridge, you could try building your own kernel, then edit:
drivers/media/usb/gspca/sonixj.c

Go to the device_table near the end, and add a line for your camera, you will need to guess the sensor, you could try using the sensor of the 2 existing Genius entries first. Note your camera may have a completely different chipset, and doing this may damage your camera!

I'm afraid I cannot be of more help then this, since I don't have such a camera to test with.

Regards,

Hans
Comment 4 Mikhail 2013-08-26 11:34:18 EDT
Created attachment 790566 [details]
inf file
Comment 5 Mikhail 2013-08-26 11:36:27 EDT
Seem inf file not contain useful info isn't it?
Comment 6 Hans de Goede 2013-08-27 03:56:11 EDT
Comment on attachment 790566 [details]
inf file

(In reply to Mikhail from comment #4)
> Created attachment 790566 [details]
> inf file

Ugh, next time please do not attached copyrighted files without permission / without an open license. I know this is just a simple text file, but it is still copyrighted, and you've no license allowing re-distribution.

I guess I could have been more clear that I wanted you to look at the file, not attach it. I'm marking this as private to avoid further distribution of it through bugzilla.
Comment 7 Hans de Goede 2013-08-27 04:06:28 EDT
(In reply to Mikhail from comment #5)
> Seem inf file not contain useful info isn't it?

Actually it does, it seems you've a camera using the ali m5603 bridge as chipset, so my sn9c120 guess was completely wrong.

Unfortunately there is no driver for that chipset in the Linux kernel. There is an old, not really maintained out of tree driver here:
http://sourceforge.net/p/m560x-driver/code/525/tree/m560x/branches/m5603c-gspca/

Which could probably be made to build with recent kernels, but it also does not support the usb-id for your camera. Possibly adding the extra info needed for your camera to that driver is not that hard, I don't know.

You can try contacting the authors of that driver, and ask if they are willing to modify the driver to build with recent kernels and work with your camera. If you contact them feel free to let them know that if they clean the driver up I'll help them to get it merged into the official upstream Linux sources (I'm the maintainer of most usb webcam drivers in the kernel).

Note You need to log in before you can comment on or make changes to this bug.