Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 23 Jul 2004 11:15:06 -0700 (PDT)
From:      Buzz Slye <buzz@gaia.arc.nasa.gov>
To:        simokawa@sat.t.u-tokyo.ac.jp
Cc:        freebsd-firewire@freebsd.org
Subject:   More digital cameras
Message-ID:  <Pine.GSO.4.61.0407231112010.24645@tioga.arc.nasa.gov>

next in thread | raw e-mail | index | archive | help
Camera registers are set with asynchronous commands to set onboard registers
(i.e., setting the gain, shutter, and image size. etc.). Camera operation
is started by setting a bit in the iso_enable register to start iso
transmission.  Camera operation is described in the "1394-based Digital
Camera Specification".  Some cameras support continuous iso transmission
or may be run in one shot mode.

After the fix to uiomove in fw_read, (fwdev.c line 334):
     err = uiomove((caddr_t)fp, sizeof(struct fw_isohdr), uio);
     err = uiomove((caddr_t)xfer->recv.payload, xfer->recv.pay_len, uio);
I get:
   fwohci0: IR DMA overrun (0x40008051) --- but not always after every frame.
Is this really an error on should I just delete the message ?

The call from fw_read with the fix is for (xfer != NULL).  I thought this
was for non bulkxfer, so how do we get to the message "overrun" by a call
to fwohci_irx_enable  which is from (ir->stproc != NULL) ?
Should there be a call to fwohci_irx_enable from (xfer != NULL) ?

Just what is an overrun anyway ?

We have been lately trying to use 5.2 (June) but that worked badly for us.
But have fallen back to 5.2 (May) but still have problems.
We are using a buffer of 1 chunk and a packet size of 4k, since we
have a new camera of spec 1.30 with a packet size up to 4k.  We can also
run the new camera on the old system of one year ago if we set the camera
packet size to 2k.

Is poll broken, it just times out ?

Buzz Slye
NASA/Ames



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.4.61.0407231112010.24645>