Found at: http://www.kinodv.org/article/print/21/-1/10/


Top level Frequently Asked Questions

Some previous Linux distributions did not turn on IDE DMA by default. This results in many dropped frames when grabbing DV data using Kino or dvgrab, even if the disk is technically fast enough.

The reason for this behavior: The IDE interface generates an enormous amount of interrupts when DMA is not turned on (one interrupt for each data word transmitted). The ieee1394 interface card generates interrupts too, and both interfaces compete for device driver service. Now, if an interrupt for the disk drive gets lost or delayed, the data will simply be processed a bit later. The iee1394 interface card on the other hand does not have much internal memory. If it is not served, the data is simply discarded.

The ieee1394 routines in Kino and dvgrab check for completeness; if any one frame is incomplete it is discarded too.

To check whether DMA is currently active, enter the following command (substitute /dev/hda with your disk drive device):

# hdparm -v /dev/hda

/dev/hda:
 multcount    =  0 (off)
 I/O support  =  0 (default 16-bit)
 unmaskirq    =  0 (off)
 using_dma    =  1 (on)
 keepsettings =  0 (off)
 nowerr       =  0 (off)
 readonly     =  0 (off)
 readahead    =  8 (on)
 geometry     = 7297/255/63, sectors = 117231408, start = 0


Check the using_dma line. If it is not on then turn on IDE DMA with this command, but read the hdparm manpages before doing so:

# hdparm -d1 /dev/hda

/dev/hda:
 setting using_dma to 1 (on)
 using_dma    =  1 (on)




| Back to normal page view |