[PD] Gem and ieee1394 firewire cam on linux debian

Hans-Christoph Steiner hans at eds.org
Mon Aug 27 21:53:56 CEST 2007


Hey,

If you do get this C code working, please submit a patch to the patch  
tracker, then it can easily be included.

.hc

On Aug 21, 2007, at 4:28 PM, Tim Boykett wrote:

>
>
> Hello Linux / DV users,
>
> Summary: I think I have a fix for the problem with pix_video that
> has effected several people on some linux distributions. Please
> read on if this matters to you.
>
> Note: this is probably for the pd-dev list, but I am not on it, so I
> hope
> that one of the PD-dev people can pick up on this and say "aha! I can
> do this!"
>
> I am using a machine with udev on it, so the device names are
> not the ones expected by the pix_video object. In particular around
> line 213 of videoDV4L.cpp I see that /dev/ieee1394/dv/host0/PAL/in is
> being looked at, then
> /dev/dv1394.
>
> The error that I think I am seeing is that buf is being set to /dev/
> ieee1394/dv/host0/PAL/in
> then this is not working (it doesn't exist) and the next attempt to
> access /dev/dv1394
> is finding that this is a directory (on my machine). So I get the
> nonsensical
> error:
> /dev/ieee1394/dv/host0/PAL/in: Is a directory
>
> On my machine at least, the
> devices are  /dev/dv1394/0 and /dev/dv1394/1. When I make a link from
> /dev/ieee1394/dv/host0/PAL/in to /dev/dv1394/0 then all is well.
>
> Suggested solution: add more possibilities in this series of tests.
>
>      snprintf(buf, 32, "/dev/ieee1394/dv/host%d/%s/in", devnum,
> (m_norm==NTSC)?"NTSC":"PAL");
>      if ((fd = open(buf, O_RDWR)) < 0)    {
>        if ((fd=open("/dev/dv1394", O_RDWR)) < 0)    {
>          snprintf(buf, 32, "/dev/dv1394/%d", devnum);   /* new for
> debian udev */
>          if ((fd=open(buf, O_RDWR)) < 0)    {
>            perror(buf);
>            return -1;
>          }
>        }
>      }
>
> I am sorry that I am not currently a developer and cannot do this
> myself. I am sure someone else out there is clever enough to make it
> work
> quickly!
>
> I am sure there is a more elegant way to go about this, but I cannot
> work
> out how to locate the appropriate devices using the "ever so clever"
> udev
> system. It seems that people who want to should be able to set up udev
> to have special names for special devices. One possibly solution
> would be to allow
> a message to pass a device name to pix_video, then this device name
> would be
> used instead of pix_video trying to guess. In that case I might have
> been able to
> use a openpanel to point pix_video at the correct /dev/dv1394/0.
>
> Perhaps other people who cannot get this to work can try to find out
> what
> the correct name on their machine is. The names that might work are  
> like
> /dev/dv1394, if I ls -l /dev/1394/0 on my machine I see
>
> crw-rw---- 1 root video 171, 32 2007-08-22 03:42 /dev/dv1394/0
>
> which means I am the right place: the c at the start tells me that  
> this
> is a "special character" device and the "major number" 171 tells me
> (I think!)
> that this is a video device.
>
> So if you want to find some other devices that should be looked at in
> this opening routine, then perhaps suggest them now so that someone
> can add them to the source...
>
> I am also not sure that this way of working through the list of  
> possible
> places for the camera and reporting an error about the last one  
> that was
> tried and failed is the best. But that's something for another day.
>
> Cheers,
>
>    Tim
>
>
>
>
>
>
> On 15/08/2007, at 2:55 PM, Joseph Barrows wrote:
>
>> Hi,
>> I'm having the same problem under fedore core 6 - there is no /dev/
>> video
>>
>> any advice?  (there is no /dev/ieee1394 either
>>
>> (kino see the camera fine)
>>
>> thanks,
>> Joseph
>>
>> On 15/08/07, Tim Boykett <tim at timesup.org> wrote:
>> Hi Kids!
>>
>>    Time for a new adventure. I would like to have a working
>> firewire camera input for manipulation in Gem on a linux
>> box that is sitting here purring at me. The cam works
>> fine with Kino and dvgrab, so the linux-firewire connection
>> is all well.
>>
>> But I am having no luck with pix_video or pdp_v4l. The main problem
>> seems to be that (apparently) recently the naming conventions
>> in debian and possibly linux in general were changed. So there is
>> no more /dev/video0 for the v4l mode, and for pix_video trying to
>> work directly with ieee1394, I get complaints that /dev/ieee1394/dv/
>> host/PAL/in
>> "Is a directory".
>>
>> Has anyone had more luck? Do I need to going from stable to  
>> testing in
>> some parts of debian? Do I need to use some special somethings?
>>
>> Looking forward to the d'Oh moment,
>>
>>    Tim
>>
>>
>> _______________________________________________
>> PD-list at iem.at mailing list
>> UNSUBSCRIBE and account-management -> http://lists.puredata.info/
>> listinfo/pd-list
>>
>>
>>
>> -- 
>> Joseph Barrows
>> live video performance; web site design; new media artist
>> jjbarrows.artwww.net
>> jjbarrows at artwww.net
>> _______________________________________________
>> PD-list at iem.at mailing list
>> UNSUBSCRIBE and account-management -> http://lists.puredata.info/
>> listinfo/pd-list
>
>
> _______________________________________________
> PD-list at iem.at mailing list
> UNSUBSCRIBE and account-management -> http://lists.puredata.info/ 
> listinfo/pd-list



------------------------------------------------------------------------ 
----

"[W]e have invented the technology to eliminate scarcity, but we are  
deliberately throwing it away to benefit those who profit from  
scarcity."        -John Gilmore






More information about the Pd-list mailing list