[mythtv] LFireDev Error: Starting A/V streaming: Cannot allocate memory

Kelly Campbell kelly.a.campbell at gmail.com
Thu Oct 4 05:59:22 UTC 2007


I think I found the cause but haven't been able to confirm the fix yet.

https://bugs.launchpad.net/bugs/148854

Hope this thread helps someone else out since I mostly answered
everything myself so far :)

-Kelly

On 10/4/07, Kelly Campbell <kelly.a.campbell at gmail.com> wrote:
> Got some more info after diving into the kernel drivers/ieee1394/
> source. It's a dma alloc failure which is logged in dmesg:
>
> [98343.027489] dma_region_alloc: vmalloc_32() failed
>
> So is there some way to give the kernel more dma memory or something?
>
> Thanks,
> Kelly
>
> On 10/4/07, Kelly Campbell <kelly.a.campbell at gmail.com> wrote:
> > I get the following error usually on the second recording after a
> > successful recording. I'm using a very recent svn build of myth trunk,
> > libraw1394, libiec61883, and libavc1394.
> >
> > LFireDev(0016B5FFFE030EF3): Buffered packets 1500 (6000 KB)
> > LFireDev(0016B5FFFE030EF3), Error: Starting A/V streaming
> >                         eno: Cannot allocate memory (12)
> >
> > I've tried debugging this a little bit. I reduced the buffer size by
> > 500 packets as you can see there. The memory issue is sometimes sticky
> > across backend restarts. I haven't tried any bus resets or replugging
> > the cable yet.
> >
> > I've narrowed it down to the ioctl in do_iso_init (libraw1394/src/iso.c):
> >         if(ioctl(handle->fd, cmd, &handle->iso_status)) {
> >                 fprintf(stderr, "ioctl for iso status failed\n");
> >                 return -1;
> >         }
> >
> > Log & stderr output:
> > 2007-10-04 00:18:56.600 LFireDev(0016B5FFFE030EF3): Opening A/V stream object
> > 2007-10-04 00:18:56.600 LFireDev(0016B5FFFE030EF3): Buffered packets
> > 1500 (6000 KB)
> > 2007-10-04 00:18:56.600 LFireDev(0016B5FFFE030EF3): Starting A/V
> > streaming -- really
> > ioctl for iso status failed
> > 2007-10-04 00:18:56.622 LFireDev(0016B5FFFE030EF3), Error: Starting
> > A/V streaming
> >                         eno: Cannot allocate memory (12)
> >
> >
> > Kernel (from Ubuntu 7.10 beta):
> > Linux mythtv 2.6.22-12-generic #1 SMP Sun Sep 23 20:03:18 GMT 2007
> > x86_64 GNU/Linux
> >
> > 1394 controller from lspci -vv:
> > 02:04.0 FireWire (IEEE 1394): VIA Technologies, Inc. IEEE 1394 Host
> > Controller (rev 80) (prog-if 10 [OHCI])
> >         Subsystem: Micro-Star International Co., Ltd. Unknown device 093d
> >         Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
> > ParErr- Stepping- SERR- FastB2B-
> >         Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium
> > >TAbort- <TAbort- <MAbort- >SERR- <PERR-
> >         Latency: 64 (8000ns max), Cache Line Size: 32 bytes
> >         Interrupt: pin A routed to IRQ 21
> >         Region 0: Memory at fcffe000 (32-bit, non-prefetchable) [size=2K]
> >         Region 1: I/O ports at de00 [size=128]
> >         Capabilities: [50] Power Management version 2
> >                 Flags: PMEClk- DSI- D1- D2+ AuxCurrent=0mA
> > PME(D0-,D1-,D2+,D3hot+,D3cold+)
> >                 Status: D0 PME-Enable- DSel=0 DScale=0 PME-
> >
> > Cable box rom info from libavc1394/test/romtest:
> > Node 0:
> > -------------------------------------------------
> > bus info block length = 4
> > bus id = 0x31333934
> > bus options:
> >     isochronous resource manager capable: 1
> >     cycle master capable                : 1
> >     isochronous capable                 : 1
> >     bus manager capable                 : 0
> >     cycle master clock accuracy         : 50 ppm
> >     maximum asynchronous record size    : 512 bytes
> > GUID: 0x0016b5fffe030ef3
> > directory:
> >     node capabilities    : 0x000083c0
> >     vendor id            : 0x000016b5
> >     unit spec id         : 0x00005068
> >     unit software version: 0x00010101
> >     model id             : 0x0000620a
> >     textual leaves       : MOTOROLA DCT-6200 DCT-6200
> >
>


More information about the mythtv-dev mailing list