KV260 read mipi frame stuck on dma, help

Hi, I use KV260, ubuntu 22.04, pynq 3.0,

I reproduce base overlay with no error. I copy bit, hwh, tcl, and dtbo files into one folder and read the overlay. There is no error when I read overlay and initialize mipi. but when I want to read the frame, sometime it works, but sometime it does not work. if it does not work it will stuck on frame = mipi.readframe(), when I give interrupt on notebook, I got this status below. has anyone know how to solve it?

Thank you

KeyboardInterrupt Traceback (most recent call last)
Input In [6], in <cell line: 1>()
----> 1 frame = mipi.readframe()
2 PIL.Image.fromarray(frame[:,:,[2,1,0]])

File /usr/local/share/pynq-venv/lib/python3.10/site-packages/pynq/lib/video/pcam5c.py:153, in Pcam5C.readframe(self)
148 def readframe(self):
149 “”“Read a video frame
151 See AxiVDMA.S2MMChannel.readframe for details
152 “””
→ 153 return self._vdma.readchannel.readframe()

File /usr/local/share/pynq-venv/lib/python3.10/site-packages/pynq/lib/video/dma.py:184, in AxiVDMA.S2MMChannel.readframe(self)
182 while self._mmio.read(0x34) & 0x1000 == 0:
183 loop = asyncio.get_event_loop()
→ 184 loop.run_until_complete(asyncio.ensure_future(self._interrupt.wait()))
185 pass
186 self._mmio.write(0x34, 0x1000)

File /usr/local/share/pynq-venv/lib/python3.10/site-packages/nest_asyncio.py:83, in _patch_loop..run_until_complete(self, future)
81 f._log_destroy_pending = False
82 while not f.done():
—> 83 self._run_once()
84 if self._stopping:
85 break

File /usr/local/share/pynq-venv/lib/python3.10/site-packages/nest_asyncio.py:106, in _patch_loop.._run_once(self)
99 heappop(scheduled)
101 timeout = (
102 0 if ready or self._stopping
103 else min(max(
104 scheduled[0]._when - self.time(), 0), 86400) if scheduled
105 else None)
→ 106 event_list = self._selector.select(timeout)
107 self._process_events(event_list)
109 end_time = self.time() + self._clock_resolution

File /usr/lib/python3.10/selectors.py:469, in EpollSelector.select(self, timeout)
467 ready =
468 try:
→ 469 fd_event_list = self._selector.poll(timeout, max_ev)
470 except InterruptedError:
471 return ready


Hi @ihsanalhafiz28,

You already have the same issue open, and I had provided an answer. This is most likely the camera.


i wonder that it is not because of connection, because sometime with similar connection, I got it works and sometime does not work. seems weird but I don’t know what exactly happen. i got zocl-drm axi:zyxclmm_drm: IRQ index 0 not found, on the status in serial connection, is it because of interrupt from csi that does not work?