What does it say?
Code:ls -l /dev/video*
This webcam worked on Slackware 13.0 only because I was able to come up with a script scheme to find which video device number was being assigned between the VIA8235, bttv, and camera. It changed almost regularly. With 13.37 that script does not work. Here is what I know:
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 0409:005a NEC Corp. HighSpeed Hub
Bus 001 Device 003: ID 0c45:60fc Microdia PC Camera with Mic (SN9C105)
Bus 001 Device 004: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse
egrep -i sn9c1 /var/log/messages
Apr 6 20:27:04 kernel: [ 4.295318] sn9c102: V4L2 driver for SN9C1xx PC Camera Controllers v1:1.47pre49
Apr 6 20:27:04 kernel: [ 4.295814] usb 1-1.3: SN9C105 PC Camera Controller detected (vidid 0x0C45:0x60FC)
Apr 6 20:27:04 kernel: [ 4.401175] usbcore: registered new interface driver sn9c102
lsmod | egrep -i sn9c1
sn9c102 141903 0
videodev 57461 7 tuner,tvaudio,tda7432,msp3400,bttv,
0 VIA 8235
1 Brooktree Bt878
2 USB camera <----------it has microphone
usb_submit_urb() failed, error -28 occurs in the boot up
I have tried several mplayer commands to get a snapshot in either .png or .jpeg with the same result a bordered window with no image and the image entirely black.
Here is an example:
mplayer -fps 15 -vf screenshot -vo xv,x11 tv:// -tv driver=v4l2:device=/dev/video1:width=640:height=480
If /dev/video0 is used it gives the error: unable to open '/dev/video0': No space left on device
if /dev/video2 is used it gives the error: unable to open '/dev/video2': No such file or directory
I do not know how to prove it but I think that video1 is really for bttv and somehow the correct device is not found. Any help appreciated.
Last edited by timtravlr; 7th April 2012 at 04:57 PM.
What does it say?
Code:ls -l /dev/video*
Ah yes I would forget the obvious:
ls -l /dev/video*:
crw-rw----+ 1 root video 81, 0 Apr 7 05:33 /dev/video0
crw-rw----+ 1 root video 81, 1 Apr 7 05:33 /dev/video1
OK now why is there "no space left" on vid0 and is vid1 bttv? I may be presuming incorrectly but wouldn't there be a 1:1 match between audio and video numbers?? If not then what is correlation between vid0, no space, and usb_submit_urb() failed?? How to determine if camera toast or not?
means newer driver is taking or using too much bandwidth from USB port i.e. USB bandwidth exceeded. In other words, your old driver was perfect and newer driver is causing all problems. If I were you I will try to connect that camera in another USB host ( not hub ). You can also use a pci usb host. Finally, you can modify driver to use less bandwidth (a hard hack and requires good knowledge of programming).Code:unable to open '/dev/video0': No space left on device
By another "USB host (not hub)" do I presume correctly that U mean another USB port? I have 2 USB ports 1 used by hub to extend USB. Would the other really be any different?
Is pci USB host meaning to connect the USB plug to a USB-to-PCI converter plug and then to the PCI port?
Moved camera to pci port but when I ran lspci did not see anything about it.
Moved camera to second USB port (yes it is a separate bus) and used /dev/video0 got same output a window frame with no image totally black. No errors or warnings.
Looked for a hardware checker found none so am looking for someone with a spare camera to see if that output is black too.
The use of the webcam is part of using mplayer/mencorder as an a/v manager script I have weritten in shell script. Hence use of other apps is not part of the plan and should not be because this camera has worked in the past.
Another approach I am investigating is to use a USB-to-PCI conversion plug. Use of the optical mouse apparently sucks bandwidth.
I took the USB HUB out of the connections and put camera on its own USB Bus.
It appears to me from the following that the OS has the camera set up for video0 not 1 but when 0 used it doesn't work yet video1 seems to [[my comments]]:
mplayer -$FPS -$VO -capture -vf screenshot tv:// -tv $DRV:$DVC
Selected device: SN9C1xx PC Camera
v4l2: ioctl enum norm failed: Invalid argument
Error: Cannot set norm!
Selected input hasn't got a tuner! [[Camera has no tuner TV card does]]
v4l2: Cannot get fps
v4l2: ioctl set mute failed: Invalid argument
v4l2: ioctl query control failed: Invalid argument
[[Camera won't work on video0]]
BUT when DVC="device=/dev/video1" the same command
[[Camera seems to work on video1 just no image]]
Selected device: BT878 video (Hauppauge (bt87)
Opening video filter: [screenshot]
v4l2: 24 frames successfully processed, -23 frames dropped. [[frames cycle]]
[[video0 is setup for camera by OS]]
bash-4.1# dmesg | egrep HV7131R
[ 5.133883] usb 2-1: HV7131R image sensor detected
bash-4.1# dmesg | egrep video
[ 0.266271] pci 0000:01:00.0: Boot video device
[ 3.947874] Linux video capture interface: v2.00
[ 5.579550] usb 2-1: V4L2 device registered as video0
[[Setup for bttv is video1]]
[ 5.751747] bttv0: registered device video1
bash-4.1# dmesg | egrep camera |
[ 2.058198] usb 2-1: Product: USB camera
Do U agree that the app seems to find happiness on video1 but should have been on video0?
Last edited by timtravlr; 11th April 2012 at 03:57 PM.
It does say
lsusb may give out more info.Code:[[Setup for bttv is video1]]
There are currently 1 users browsing this thread. (0 members and 1 guests)