Gentoo Forums
Gentoo Forums
Quick Search: in
Webcam problems (Function not implemented)
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
lyallp
Guru
Guru


Joined: 14 Jul 2004
Posts: 596
Location: Adelaide/Australia

PostPosted: Sun Apr 27, 2008 11:45 pm    Post subject: Webcam problems (Function not implemented) Reply with quote

I have posted a question over in mulimedia, http://forums.gentoo.org/viewtopic-t-689983.html upon reflection, I think the question belongs here.



Hi, I have been following the wiki at http://gentoo-wiki.com/HOWTO_Install_a_webcam and seem to be having reasonable success, all the way up to the point where I actually try to use the webcam (an MSI StarCam 370i).

Firstly, I am doing everything as root - once I get things working, I will address any permission problems.

I have installed the gspcav1 driver.
Code:

# eix --nocolor gspcav1
[I] media-video/gspcav1
     Available versions:  (~)20060925 (~)20070110 (~)20070508 (~)20071224 {kernel_linux}
     Installed versions:  20071224(21:26:32 04/23/08)(kernel_linux)
     Homepage:            http://mxhaard.free.fr/download.html
     Description:         gspcav1 driver for webcams.

The kernel modules seem to be loaded ok
Code:
# lsmod
Module                  Size  Used by
ipv6                  217956  935
fuse                   39188  6
vboxdrv                44800  0
e100                   28684  0
nvidia               7363200  24
gspca                 646096  0
fan                     3332  0
8139too                19200  0
thermal                11420  0
mii                     3584  2 e100,8139too
videodev               24448  1 gspca
pcspkr                  2048  0
ohci1394               27824  0
i2c_i801                7312  0
v4l2_common            11904  1 videodev
v4l1_compat            13188  1 videodev
intel_agp              18708  1
agpgart                21324  2 nvidia,intel_agp
processor              26304  1 thermal
button                  5904  0
sg                     25744  0

The device shows up in the lsusb (Microdia)
Code:
# lsusb
Bus 004 Device 001: ID 0000:0000 
Bus 005 Device 001: ID 0000:0000 
Bus 003 Device 001: ID 0000:0000 
Bus 002 Device 001: ID 0000:0000 
Bus 001 Device 006: ID 0c45:60c0 Microdia
Bus 001 Device 004: ID 046d:c019 Logitech, Inc.
Bus 001 Device 002: ID 05e3:0660 Genesys Logic, Inc. USB 2.0 Hub
Bus 001 Device 001: ID 0000:0000 

When I plug it in, it is recognised.... (from /var/log/messages)
Code:
Apr 27 18:22:11 lyalls-pc usb 1-6.3: new full speed USB device using ehci_hcd and address 6
Apr 27 18:22:11 lyalls-pc usb 1-6.3: configuration #1 chosen from 1 choice
Apr 27 18:22:11 lyalls-pc /tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/gspca_core.c: USB GSPCA camera found. SONIX JPEG (sn9c1xx)
Apr 27 18:22:11 lyalls-pc /tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/gspca_core.c: [spca5xx_probe:4275] Camera type JPEG
Apr 27 18:22:11 lyalls-pc /tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/gspca_core.c: [spca5xx_getcapability:1249] maxw 640 maxh 480 minw 160 minh 120
Apr 27 18:22:11 lyalls-pc ivman: New Device: /org/freedesktop/Hal/devices/usb_device_c45_60c0_noserial
Apr 27 18:22:11 lyalls-pc ivman: /org/freedesktop/Hal/devices/usb_device_c45_60c0_noserial wasn't mounted, by us or by others...
Apr 27 18:22:11 lyalls-pc ivman: New Device: /org/freedesktop/Hal/devices/usb_device_c45_60c0_noserial_if0
Apr 27 18:22:11 lyalls-pc ivman: /org/freedesktop/Hal/devices/usb_device_c45_60c0_noserial_if0 wasn't mounted, by us or by others...
Apr 27 18:22:11 lyalls-pc ivman: New Device: /org/freedesktop/Hal/devices/usb_device_c45_60c0_noserial_if2
Apr 27 18:22:11 lyalls-pc ivman: /org/freedesktop/Hal/devices/usb_device_c45_60c0_noserial_if2 wasn't mounted, by us or by others...
Apr 27 18:22:11 lyalls-pc ivman: New Device: /org/freedesktop/Hal/devices/usb_device_c45_60c0_noserial_if1
Apr 27 18:22:11 lyalls-pc ivman: /org/freedesktop/Hal/devices/usb_device_c45_60c0_noserial_if1 wasn't mounted, by us or by others...
Apr 27 18:22:11 lyalls-pc ivman: New Device: /org/freedesktop/Hal/devices/usb_device_c45_60c0_noserial_video4linux
Apr 27 18:22:11 lyalls-pc ivman: /org/freedesktop/Hal/devices/usb_device_c45_60c0_noserial_video4linux wasn't mounted, by us or by others...
Apr 27 18:22:11 lyalls-pc ivman: New Device: /org/freedesktop/Hal/devices/usb_device_c45_60c0_noserial_usbraw
Apr 27 18:22:11 lyalls-pc ivman: /org/freedesktop/Hal/devices/usb_device_c45_60c0_noserial_usbraw wasn't mounted, by us or by others...


I end up with the device successfully created, each time it's plugged in
Code:

  lrwxrwxrwx  1 root root            10 Apr 27 18:22 video -> v4l/video0
  lrwxrwxrwx  1 root root            10 Apr 27 18:22 video0 -> v4l/video0

which is
Code:

  crw-rw----  1 root video 81, 0 Apr 27 18:22 video0

When I try to do a v4l-info, I see the following in /var/log/messages
Code:
Apr 27 18:40:18 lyalls-pc /tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/gspca_core.c: [spca5xx_set_light_freq:1932] Sensor currently not support light frequency banding filters.
Apr 27 18:40:18 lyalls-pc /tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/gspca_core.c: [gspca_set_isoc_ep:945] ISO EndPoint found 0x81 AlternateSet 8
Apr 27 18:40:18 lyalls-pc /tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/gspca_core.c: init isoc: usb_submit_urb(0) ret -38
Apr 27 18:40:18 lyalls-pc /tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/gspca_core.c: [spca5xx_open:1996]  DEALLOC error on init_Isoc

I have tried increasing shared memory by adding
Code:
echo "kernel.shmmax = 134217728" >> /etc/sysctl.conf ; sysctl -p

Good old mplayer has the same problems when I try use it, as described in the wiki -
Code:
# mplayer tv:// -tv driver=v4l:width=352:height=288:device=/dev/video0
MPlayer dev-SVN-rUNKNOWN-4.1.2 (C) 2000-2008 MPlayer Team
CPU: Intel(R) Pentium(R) 4 CPU 2.80GHz (Family: 15, Model: 3, Stepping: 3)
CPUflags:  MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled for x86 CPU with extensions: MMX MMX2 SSE SSE2

Playing tv://.
TV file format detected.
Selected driver: v4l
 name: Video 4 Linux input
 author: Alex Beregszaszi
 comment: under development
unable to open '/dev/video0': Function not implemented


Exiting... (End of file)

mplayer has v4l and v4l2 use flags, as can be seen by the eix output below.
Code:
[I] media-video/mplayer
     Installed versions:  1.0_rc2_p25993(21:44:15 04/23/08)(X a52 aac alsa cddb cdparanoia dga directfb dts dv dvb dvd enca encode gif gtk iconv ipv6 jpeg kernel_linux libcaca mad mmx mmxext mp2 mp3 opengl oss png quicktime radio rar real rtc samba sdl speex sse sse2 svga tga truetype unicode v4l v4l2 video_cards_vesa vorbis win32codecs x264 xanim xinerama xv xvid xvmc -3dnow -3dnowext -aalib -altivec -amrnb -amrwb -arts -bidi -bindist -bl -cdio -cpudetection -custom-cflags -debug -doc -esd -fbcon -ftp -ggi -jack -joystick -ladspa -lirc -live -livecd -lzo -md5sum -musepack -nas -nemesi -openal -pnm -pulseaudio -srt -ssse3 -teletext -theora -tivo -video_cards_mga -video_cards_s3virge -video_cards_tdfx -vidix -xscreensaver -zoran)
     Homepage:            http://www.mplayerhq.hu/
     Description:         Media Player for Linux


Any assistance would be greatly appreciated.
_________________
...Lyall
Back to top
View user's profile Send private message
BradN
Veteran
Veteran


Joined: 18 Apr 2002
Posts: 1265
Location: Wisconsin (USA)

PostPosted: Mon Apr 28, 2008 2:49 am    Post subject: Reply with quote

I think this is the first spot where things start to go wrong:

Apr 27 18:40:18 lyalls-pc /tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/gspca_core.c: init isoc: usb_submit_urb(0) ret -38

Without looking at the code and what could cause a -38 return code, I'm not sure what the problem would be. It looks (first guess just from this message) like a usb call to outside of the gspca driver is failing.

Actually I've just used this driver sucessfully (with a different chipset webcam) a few days ago on 2.6.24-r4, and after figuring out I had to set the driver type to v4l (not v4l2) in mplayer, I had no problems getting an image.

One possible idea is trying a driver one version older, since sometimes later versions break a device that was working before...


Here are some outputs from a working session:
Code:
Apr 27 01:51:04 p100 usb 3-2: new full speed USB device using uhci_hcd and address 7
Apr 27 01:51:05 p100 usb 3-2: configuration #1 chosen from 1 choice
Apr 27 01:51:05 p100 /var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/gspca_core.c: USB GSPCA camera found.(ZC3XX)
Apr 27 01:51:05 p100 /var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/gspca_core.c: [spca5xx_probe:4275] Camera type JPEG
Apr 27 01:51:05 p100 /var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/Vimicro/zc3xx.h: [zc3xx_config:669] Find Sensor HV7131R(c)
Apr 27 01:51:05 p100 /var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/gspca_core.c: [spca5xx_getcapability:1249] maxw 640 maxh 480 minw 160 minh 120
Apr 27 01:51:05 p100 usbcore: registered new interface driver gspca
Apr 27 01:51:05 p100 /var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/gspca_core.c: gspca driver 01.00.20 registered
Apr 27 02:05:05 p100 /var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/gspca_core.c: [spca5xx_set_light_freq:1932] Sensor currently not support light frequency banding filters.
Apr 27 02:05:05 p100 /var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/gspca_core.c: [gspca_set_isoc_ep:945] ISO EndPoint found 0x81 AlternateSet 7
Apr 27 02:05:06 p100 /var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/gspca_core.c: [spca5xx_do_ioctl:2124] Bridge ZC301-2
Apr 27 02:05:06 p100 /var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/gspca_core.c: [spca5xx_do_ioctl:2124] Bridge ZC301-2
Back to top
View user's profile Send private message
lyallp
Guru
Guru


Joined: 14 Jul 2004
Posts: 596
Location: Adelaide/Australia

PostPosted: Mon Apr 28, 2008 7:32 am    Post subject: Reply with quote

Well, I know why the driver says 'Sensor currently not support light frequency banding filters'.
There is a 'switch' statement at roughly line 1918 in gspca_core.c which required, in my case, an additional line
Code:
case SENSOR_MI0360:

making the whole switch statement as follows (I have also tweaked the PDEBUG):-
Code:
   switch (spca50x->sensor) {
   case SENSOR_TAS5130C_VF0250:
   case SENSOR_TAS5130CXX:
   case SENSOR_PB0330:
   case SENSOR_PAS106:
   case SENSOR_ICM105A:
   case SENSOR_HDCS2020b:
   case SENSOR_CS2102:
   case SENSOR_OV7660:
   case SENSOR_OV7620:
   case SENSOR_MC501CB:
        case SENSOR_MI0360: /* put in by Lyall, just to see what happens */
      break;
   default:
      PDEBUG(0,
             "Sensor [decimal=%d hex=%x] currently not support light frequency banding filters.", spca50x->sensor, spca50x->sensor);
      return -EINVAL;
   }


Now, I don't receive the filter message but I still have the usb_submit_urb() problem. I am currently unable to figure out where the 38 is coming from. No docs, that I have read yet, mention a code which evaluates to 38 - I grep every .h file in the kernel source tree looking for each return value.

This is not an area I have spent any time in.
_________________
...Lyall
Back to top
View user's profile Send private message
BradN
Veteran
Veteran


Joined: 18 Apr 2002
Posts: 1265
Location: Wisconsin (USA)

PostPosted: Mon Apr 28, 2008 8:47 am    Post subject: Reply with quote

The light banding thing doesn't seem to prevent it from working (it shows up in my output but the camera worked)
Back to top
View user's profile Send private message
lyallp
Guru
Guru


Joined: 14 Jul 2004
Posts: 596
Location: Adelaide/Australia

PostPosted: Tue Apr 29, 2008 12:18 am    Post subject: Reply with quote

Well, I am making progress.

After digging around the kernel USB source, finding the ENOSYS return code (which is 38 ) which is returned by usb/core/hub.c, I thought I would try plugging my webcam directly into the mobo USB port, rather than the more convenient USB Hub I was using.

Now, I get a white screen with little trianglur bits spread in an even grid across the whole screen, when I use
Code:
 mplayer tv:// -tv driver=v4l:width=352:height=288:device=/dev/video0


Every time I start mplayer, I see this in the /var/log/messages (note, this still includes my hacked driver, which sets the light banding)
Code:
Apr 29 14:32:37 lyalls-pc /tmp/gspcav1-20071224/gspca_core.c: [spca5xx_set_light_freq:1937] Light frequency banding filter set to 50HZ mode
Apr 29 14:32:37 lyalls-pc /tmp/gspcav1-20071224/gspca_core.c: [gspca_set_isoc_ep:945] ISO EndPoint found 0x81 AlternateSet 8
Apr 29 14:32:37 lyalls-pc /tmp/gspcav1-20071224/gspca_core.c: [spca5xx_do_ioctl:2125] Bridge SN9CXXX
Apr 29 14:32:37 lyalls-pc /tmp/gspcav1-20071224/gspca_core.c: [spca5xx_do_ioctl:2125] Bridge SN9CXXX


v4l-info reports the following
Code:
root@lyalls-pc:lyall
# v4l-info

### video4linux device info [/dev/video0] ###
general info
    VIDIOCGCAP
        name                    : "Sangha 350k"
        type                    : 0x1 [CAPTURE]
        channels                : 1
        audios                  : 0
        maxwidth                : 640
        maxheight               : 480
        minwidth                : 160
        minheight               : 120

channels
    VIDIOCGCHAN(0)
        channel                 : 0
        name                    : "SN9CXXX"
        tuners                  : 0
        flags                   : 0x0 []
        type                    : CAMERA
        norm                    : 0

tuner
ioctl VIDIOCGTUNER: Invalid argument

audio
ioctl VIDIOCGAUDIO: Invalid argument

picture
    VIDIOCGPICT
        brightness              : 65520
        hue                     : 0
        colour                  : 32768
        contrast                : 16128
        whiteness               : 0
        depth                   : 24
        palette                 : RGB24

buffer
    VIDIOCGFBUF
        base                    : (nil)
        height                  : 0
        width                   : 0
        depth                   : 0
        bytesperline            : 0

window
    VIDIOCGWIN
        x                       : 0
        y                       : 0
        width                   : 352
        height                  : 288
        chromakey               : 0
        flags                   : 0



xawtv generates the same output as mediaplayer.

I do note, however, that if I shine a light into the webcam (or point it outside), I see a faint flickering.
_________________
...Lyall
Back to top
View user's profile Send private message
lyallp
Guru
Guru


Joined: 14 Jul 2004
Posts: 596
Location: Adelaide/Australia

PostPosted: Thu May 01, 2008 7:33 am    Post subject: Reply with quote

Well, I am definitely having fun here.
I seem to have gone backwards, now nothing shows at all, not sure why.
I know the webcam won't work in my USB Hub, when everything else I have plugged into it does, because of some unimplemented functionality, either in the USB drivers or the Hub itself.

I tried using usbview (app-admin/usbview-1.0-r3) to have a look at the webcam. Now, I am no expert in what to expect but the output from this webcam looks really suspicious, like there is some form of looping somewhere, although, each repeat of the interface seems to vary it's max packet size.

I am very interested to see other webcams outputs from usbview (or from /proc/bus/usb/devices, as it's more compact and I can feed a file containing the /proc/bus/usb/devices data into usbview for 'prettifying').

Mine shows...USB camera
Code:

Speed: 12Mb/s (full)
USB Version:  1.10
Device Class: 00(>ifc )
Device Subclass: 00
Device Protocol: 00
Maximum Default Endpoint Size: 64
Number of Configurations: 1
Vendor Id: 0c45
Product Id: 60c0
Revision Number:  1.01

Config Number: 1
   Number of Interfaces: 3
   Attributes: 80
   MaxPower Needed: 500mA

   Interface Number: 0
      Name: gspca
      Alternate Number: 0
      Class: ff(vend.)
      Sub Class: ff
      Protocol: ff
      Number of Endpoints: 3

         Endpoint Address: 81
         Direction: in
         Attribute: 1
         Type: Isoc
         Max Packet Size: 0
         Interval: 1ms

         Endpoint Address: 82
         Direction: in
         Attribute: 2
         Type: Bulk
         Max Packet Size: 64
         Interval: 0ms

         Endpoint Address: 83
         Direction: in
         Attribute: 3
         Type: Int.
         Max Packet Size: 1
         Interval: 100ms

   Interface Number: 0
      Name: gspca
      Alternate Number: 1
      Class: ff(vend.)
      Sub Class: ff
      Protocol: ff
      Number of Endpoints: 3

         Endpoint Address: 81
         Direction: in
         Attribute: 1
         Type: Isoc
         Max Packet Size: 128
         Interval: 1ms

         Endpoint Address: 82
         Direction: in
         Attribute: 2
         Type: Bulk
         Max Packet Size: 64
         Interval: 0ms

         Endpoint Address: 83
         Direction: in
         Attribute: 3
         Type: Int.
         Max Packet Size: 1
         Interval: 100ms

   Interface Number: 0
      Name: gspca
      Alternate Number: 2
      Class: ff(vend.)
      Sub Class: ff
      Protocol: ff
      Number of Endpoints: 3

         Endpoint Address: 81
         Direction: in
         Attribute: 1
         Type: Isoc
         Max Packet Size: 256
         Interval: 1ms

         Endpoint Address: 82
         Direction: in
         Attribute: 2
         Type: Bulk
         Max Packet Size: 64
         Interval: 0ms

         Endpoint Address: 83
         Direction: in
         Attribute: 3
         Type: Int.
         Max Packet Size: 1
         Interval: 100ms

   Interface Number: 0
      Name: gspca
      Alternate Number: 3
      Class: ff(vend.)
      Sub Class: ff
      Protocol: ff
      Number of Endpoints: 3

         Endpoint Address: 81
         Direction: in
         Attribute: 1
         Type: Isoc
         Max Packet Size: 384
         Interval: 1ms

         Endpoint Address: 82
         Direction: in
         Attribute: 2
         Type: Bulk
         Max Packet Size: 64
         Interval: 0ms

         Endpoint Address: 83
         Direction: in
         Attribute: 3
         Type: Int.
         Max Packet Size: 1
         Interval: 100ms

   Interface Number: 0
      Name: gspca
      Alternate Number: 4
      Class: ff(vend.)
      Sub Class: ff
      Protocol: ff
      Number of Endpoints: 3

         Endpoint Address: 81
         Direction: in
         Attribute: 1
         Type: Isoc
         Max Packet Size: 512
         Interval: 1ms

         Endpoint Address: 82
         Direction: in
         Attribute: 2
         Type: Bulk
         Max Packet Size: 64
         Interval: 0ms

         Endpoint Address: 83
         Direction: in
         Attribute: 3
         Type: Int.
         Max Packet Size: 1
         Interval: 100ms

   Interface Number: 0
      Name: gspca
      Alternate Number: 5
      Class: ff(vend.)
      Sub Class: ff
      Protocol: ff
      Number of Endpoints: 3

         Endpoint Address: 81
         Direction: in
         Attribute: 1
         Type: Isoc
         Max Packet Size: 680
         Interval: 1ms

         Endpoint Address: 82
         Direction: in
         Attribute: 2
         Type: Bulk
         Max Packet Size: 64
         Interval: 0ms

         Endpoint Address: 83
         Direction: in
         Attribute: 3
         Type: Int.
         Max Packet Size: 1
         Interval: 100ms

   Interface Number: 0
      Name: gspca
      Alternate Number: 6
      Class: ff(vend.)
      Sub Class: ff
      Protocol: ff
      Number of Endpoints: 3

         Endpoint Address: 81
         Direction: in
         Attribute: 1
         Type: Isoc
         Max Packet Size: 800
         Interval: 1ms

         Endpoint Address: 82
         Direction: in
         Attribute: 2
         Type: Bulk
         Max Packet Size: 64
         Interval: 0ms

         Endpoint Address: 83
         Direction: in
         Attribute: 3
         Type: Int.
         Max Packet Size: 1
         Interval: 100ms

   Interface Number: 0
      Name: gspca
      Alternate Number: 7
      Class: ff(vend.)
      Sub Class: ff
      Protocol: ff
      Number of Endpoints: 3

         Endpoint Address: 81
         Direction: in
         Attribute: 1
         Type: Isoc
         Max Packet Size: 900
         Interval: 1ms

         Endpoint Address: 82
         Direction: in
         Attribute: 2
         Type: Bulk
         Max Packet Size: 64
         Interval: 0ms

         Endpoint Address: 83
         Direction: in
         Attribute: 3
         Type: Int.
         Max Packet Size: 1
         Interval: 100ms

   Interface Number: 0
      Name: gspca
      Alternate Number: 8
      Class: ff(vend.)
      Sub Class: ff
      Protocol: ff
      Number of Endpoints: 3

         Endpoint Address: 81
         Direction: in
         Attribute: 1
         Type: Isoc
         Max Packet Size: 1023
         Interval: 1ms

         Endpoint Address: 82
         Direction: in
         Attribute: 2
         Type: Bulk
         Max Packet Size: 64
         Interval: 0ms

         Endpoint Address: 83
         Direction: in
         Attribute: 3
         Type: Int.
         Max Packet Size: 1
         Interval: 100ms

   Interface Number: 1
      Name: (none)
      Alternate Number: 0
      Class: 01(audio)
      Sub Class: 01
      Protocol: 00
      Number of Endpoints: 0

   Interface Number: 2
      Name: (none)
      Alternate Number: 0
      Class: 01(audio)
      Sub Class: 02
      Protocol: 00
      Number of Endpoints: 0

   Interface Number: 2
      Name: (none)
      Alternate Number: 1
      Class: 01(audio)
      Sub Class: 02
      Protocol: 00
      Number of Endpoints: 1

         Endpoint Address: 84
         Direction: in
         Attribute: 1
         Type: Isoc
         Max Packet Size: 64
         Interval: 1ms


This output is sourced from /proc/bus/usb/devices, which shows a similar, but more condensed version of the above story.
Code:

T:  Bus=01 Lev=02 Prnt=03 Port=01 Cnt=01 Dev#=  6 Spd=12  MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=0c45 ProdID=60c0 Rev= 1.01
S:  Product=USB camera
C:* #Ifs= 3 Cfg#= 1 Atr=80 MxPwr=500mA
I:  If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=gspca
E:  Ad=81(I) Atr=01(Isoc) MxPS=   0 Ivl=1ms
E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=83(I) Atr=03(Int.) MxPS=   1 Ivl=100ms
I:  If#= 0 Alt= 1 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=gspca
E:  Ad=81(I) Atr=01(Isoc) MxPS= 128 Ivl=1ms
E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=83(I) Atr=03(Int.) MxPS=   1 Ivl=100ms
I:  If#= 0 Alt= 2 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=gspca
E:  Ad=81(I) Atr=01(Isoc) MxPS= 256 Ivl=1ms
E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=83(I) Atr=03(Int.) MxPS=   1 Ivl=100ms
I:  If#= 0 Alt= 3 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=gspca
E:  Ad=81(I) Atr=01(Isoc) MxPS= 384 Ivl=1ms
E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=83(I) Atr=03(Int.) MxPS=   1 Ivl=100ms
I:  If#= 0 Alt= 4 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=gspca
E:  Ad=81(I) Atr=01(Isoc) MxPS= 512 Ivl=1ms
E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=83(I) Atr=03(Int.) MxPS=   1 Ivl=100ms
I:  If#= 0 Alt= 5 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=gspca
E:  Ad=81(I) Atr=01(Isoc) MxPS= 680 Ivl=1ms
E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=83(I) Atr=03(Int.) MxPS=   1 Ivl=100ms
I:  If#= 0 Alt= 6 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=gspca
E:  Ad=81(I) Atr=01(Isoc) MxPS= 800 Ivl=1ms
E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=83(I) Atr=03(Int.) MxPS=   1 Ivl=100ms
I:  If#= 0 Alt= 7 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=gspca
E:  Ad=81(I) Atr=01(Isoc) MxPS= 900 Ivl=1ms
E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=83(I) Atr=03(Int.) MxPS=   1 Ivl=100ms
I:* If#= 0 Alt= 8 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=gspca
E:  Ad=81(I) Atr=01(Isoc) MxPS=1023 Ivl=1ms
E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=83(I) Atr=03(Int.) MxPS=   1 Ivl=100ms
I:* If#= 1 Alt= 0 #EPs= 0 Cls=01(audio) Sub=01 Prot=00 Driver=(none)
I:* If#= 2 Alt= 0 #EPs= 0 Cls=01(audio) Sub=02 Prot=00 Driver=(none)
I:  If#= 2 Alt= 1 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=(none)
E:  Ad=84(I) Atr=01(Isoc) MxPS=  64 Ivl=1ms


My /var/log/messages shows the following (with my slightly modified driver, which gives a little more info)
Code:

May  1 21:48:24 lyalls-pc usb 1-6.2: new full speed USB device using ehci_hcd and address 6
May  1 21:48:24 lyalls-pc usb 1-6.2: configuration #1 chosen from 1 choice
May  1 21:48:24 lyalls-pc usb 1-6.2: SN9C105 PC Camera Controller detected (vid:pid 0x0C45:0x60C0)
May  1 21:48:24 lyalls-pc ivman: New Device: /org/freedesktop/Hal/devices/usb_device_c45_60c0_noserial
May  1 21:48:24 lyalls-pc ivman: /org/freedesktop/Hal/devices/usb_device_c45_60c0_noserial wasn't mounted, by us or by others...
May  1 21:48:24 lyalls-pc ivman: New Device: /org/freedesktop/Hal/devices/usb_device_ffffffff_ffffffff_noserial
May  1 21:48:24 lyalls-pc ivman: /org/freedesktop/Hal/devices/usb_device_ffffffff_ffffffff_noserial wasn't mounted, by us or by others...
May  1 21:48:24 lyalls-pc usb 1-6.2: No supported image sensor detected for this bridge
May  1 21:48:24 lyalls-pc /tmp/gspcav1-20071224/gspca_core.c: [spcaDetectCamera:2946] vendor=(decimal=3141 hex=c45) product=(decimal=24768 hex=60c0)
May  1 21:48:24 lyalls-pc /tmp/gspcav1-20071224/gspca_core.c: USB GSPCA camera found. SONIX JPEG (sn9c1xx)
May  1 21:48:24 lyalls-pc /tmp/gspcav1-20071224/gspca_core.c: [spca5xx_probe:4277] Camera type JPEG
May  1 21:48:24 lyalls-pc /tmp/gspcav1-20071224/gspca_core.c: [spca5xx_getcapability:1249] maxw 640 maxh 480 minw 160 minh 120
May  1 21:48:24 lyalls-pc ivman: New Device: /org/freedesktop/Hal/devices/usb_device_c45_60c0_noserial_video4linux
May  1 21:48:24 lyalls-pc ivman: /org/freedesktop/Hal/devices/usb_device_c45_60c0_noserial_video4linux wasn't mounted, by us or by others...
May  1 21:48:24 lyalls-pc ivman: New Device: /org/freedesktop/Hal/devices/usb_device_c45_60c0_noserial_if1
May  1 21:48:24 lyalls-pc ivman: /org/freedesktop/Hal/devices/usb_device_c45_60c0_noserial_if1 wasn't mounted, by us or by others...
May  1 21:48:24 lyalls-pc ivman: New Device: /org/freedesktop/Hal/devices/usb_device_c45_60c0_noserial_if2
May  1 21:48:24 lyalls-pc ivman: /org/freedesktop/Hal/devices/usb_device_c45_60c0_noserial_if2 wasn't mounted, by us or by others...
May  1 21:48:24 lyalls-pc ivman: New Device: /org/freedesktop/Hal/devices/usb_device_c45_60c0_noserial_usbraw
May  1 21:48:24 lyalls-pc ivman: /org/freedesktop/Hal/devices/usb_device_c45_60c0_noserial_usbraw wasn't mounted, by us or by others...
May  1 21:49:14 lyalls-pc /tmp/gspcav1-20071224/gspca_core.c: [spca5xx_set_light_freq:1937] Light frequency banding filter set to 50HZ mode
May  1 21:49:14 lyalls-pc /tmp/gspcav1-20071224/gspca_core.c: [gspca_set_isoc_ep:945] ISO EndPoint found 0x81 AlternateSet 8
May  1 21:49:14 lyalls-pc /tmp/gspcav1-20071224/gspca_core.c: init isoc: usb_submit_urb(0) ret -38
May  1 21:49:14 lyalls-pc /tmp/gspcav1-20071224/gspca_core.c: [spca5xx_open:1997]  DEALLOC error on init_Isoc

_________________
...Lyall
Back to top
View user's profile Send private message
BradN
Veteran
Veteran


Joined: 18 Apr 2002
Posts: 1265
Location: Wisconsin (USA)

PostPosted: Thu May 01, 2008 3:35 pm    Post subject: Reply with quote

At first glance it appears that all the different "alternate numbers" are there to support varying packet sizes, as the driver chooses the one with the largest packet size.
Back to top
View user's profile Send private message
Bobe84
n00b
n00b


Joined: 06 May 2008
Posts: 4

PostPosted: Tue May 06, 2008 6:25 pm    Post subject: MSI StarCam 370i Reply with quote

Ok, don't bother. I took gspcav1 driver and modified it to work with MSI StarCam 370i and MSI StarCam Clip.
Driver code is stripped down and only works with 0c45 60c0 id.
go to : http://pamplast.com/gspca/
download it
it compiles as msicam module
remove old gspca
and try this on
I u have problems please first read readme.txt, and u have email and jabber contact.

Regards Boban Aleksov, Serbia.
Back to top
View user's profile Send private message
BradN
Veteran
Veteran


Joined: 18 Apr 2002
Posts: 1265
Location: Wisconsin (USA)

PostPosted: Tue May 06, 2008 10:40 pm    Post subject: Reply with quote

Sounds like something the gspca crew would want to have... have you submitted a patch?
Back to top
View user's profile Send private message
Bobe84
n00b
n00b


Joined: 06 May 2008
Posts: 4

PostPosted: Tue May 06, 2008 10:48 pm    Post subject: Reply with quote

Well i didn't send them patch because there is no way to truly identify that this is my chip, i havent found way to read that from camera :(
I was emailing Michele Mxaard and he replyed couple of times but for now it will stay this way.
This driver is very modified, and my opinion was why not to make it only for 0c45 60c0, so i kicked out all other code.
So now it compiles to modulename=MSICAM not GSPCA; Only works for 0c45 60c0 to escape posibility to have interference with gspca.
Only thing i have to do is to make color balancing or auto white balancing workin.(very big job) Now colors are increased equally.
Driver is configured to work from ~13fps to 30fps max.
Please email me at bobe84@gmail.com for some feedback and impressions.
Back to top
View user's profile Send private message
BradN
Veteran
Veteran


Joined: 18 Apr 2002
Posts: 1265
Location: Wisconsin (USA)

PostPosted: Wed May 07, 2008 12:19 am    Post subject: Reply with quote

Hmm, so what you're saying is that the USB ID isn't enough to guarantee you're talking to that specific chip? Or you're having problems making sure your changes to the gspca code only affect it when using that chip?
Back to top
View user's profile Send private message
Bobe84
n00b
n00b


Joined: 06 May 2008
Posts: 4

PostPosted: Wed May 07, 2008 12:30 am    Post subject: Reply with quote

Well yes, there seems to be other devices with that ID :( Sangha 535k for example.And i tried to read chip id from camera with no success.
Anyway i wrote different codes for sonix bridge init is completely different.
So i did what i did...
I dunno what is Michele from gspca planning to do or when it is going to release new, but i think next gspca will support these cameras.
(Problem with these cameras is that they have different i2c base, and when doing init to camera it writes to completely wrong place)
Second thing is that these cameras have newer image sensors on them( sort of upgraded version )
For example mine sensor has IFP incorporated, so he can automaticaly(without driver) change expo regulate color balance bla bla.
Mine driver is like driver for win and it does not use IFP feature because it turned out to be very unuseful feature.
Back to top
View user's profile Send private message
BradN
Veteran
Veteran


Joined: 18 Apr 2002
Posts: 1265
Location: Wisconsin (USA)

PostPosted: Wed May 07, 2008 2:30 am    Post subject: Reply with quote

Well, what other projects have done, ie bttv for video capture boards, is use a card= parameter to override any auto-detection or for boards that can't be distinguished... maybe something like that will be necessary.
Back to top
View user's profile Send private message
lyallp
Guru
Guru


Joined: 14 Jul 2004
Posts: 596
Location: Adelaide/Australia

PostPosted: Wed May 07, 2008 3:09 am    Post subject: Reply with quote

Well, I have an image now :-)

I installed camorama and things seem to work ok, with regard to video, but people are blue :-)

Thanks!
_________________
...Lyall
Back to top
View user's profile Send private message
Bobe84
n00b
n00b


Joined: 06 May 2008
Posts: 4

PostPosted: Wed May 07, 2008 7:20 am    Post subject: Reply with quote

Ok, now try spcaview, camstream, cheese, skype, or some other program and it will work.
Camorama doesn't now whether he has RGB or BGR stream.
If u really want to work this nice with camorama u can put FORCE_RGB=1 in gspca_core.c.


Cheers, Boban.
Back to top
View user's profile Send private message
lyallp
Guru
Guru


Joined: 14 Jul 2004
Posts: 596
Location: Adelaide/Australia

PostPosted: Wed May 07, 2008 7:28 am    Post subject: Reply with quote

spcaview - much better.

Thanks :-)

Bottom line, it does not work when plugged into my Hub but does if I plug it directly into the Motherboard USB sockets.

The problem with the hub is some unimplemented functionality, which I think is in the Linux USB core, as the Hub works fine in Windows.
_________________
...Lyall
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT - 5 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum