Hi Hailo Team,
I am facing an issue with hailonet on an i.MX platform.
Environment:
- Board: iMX 8m plus
- Hailo Device: Hailo-8
- HailoRT Version: HailoRT-CLI version 4.23.0
- GStreamer Version: 1.24
- Camera: Sony LLCMOS camera
- Input Format: YUY2
- Input Resolution: 1920x1080 @ 60 FPS
Issue:
When using hailonet in the pipeline, the pipeline gets stuck and prints the following errors:
[HailoRT] [error] Ioctl HAILO_VDMA_LAUNCH_TRANSFER failed due to invalid address
[HailoRT] [error] CHECK_SUCCESS failed with status=HAILO_INVALID_OPERATION(6) - Failed launch transfer
Pipeline:
gst-launch-1.0
v4l2src device=/dev/video3 do-timestamp=true
! video/x-raw,width=1280,height=720,framerate=60/1
! identity drop-buffer-flags=corrupted
! queue leaky=downstream max-size-buffers=5
! imxvideoconvert_g2d
! video/x-raw,pixel-aspect-ratio=1/1,width=640,height=640,format=RGBA
! videoconvert
! video/x-raw,format=RGB,width=640,height=640
! queue leaky=downstream max-size-buffers=5
! hailonet hef-path=../AI/model/Visible/yolov8s.hef
! fakesink
Observations:
- The same HEF works correctly with another camera that outputs 640x480.
- The pipeline runs correctly when hailonet is removed.
- The issue appears only when using the Sony LLCMOS camera stream.
- The error occurs during pipeline startup/preroll.
Could this be related to:
- DMA buffer handling
- Memory type negotiation
- Stride/alignment from the Sony camera
- Hailonet input requirements
Please let me know what additional logs or debug information would be useful.
Thank you.
Below output of commands:
root@imx8mp-lpddr4-evk:~# hailortcli --version
HailoRT-CLI version 4.23.0
root@imx8mp-lpddr4-evk:~# hailortcli scan
Hailo Devices:
[-] Device: 0000:01:00.0
root@imx8mp-lpddr4-evk:~# cd build/
root@imx8mp-lpddr4-evk:~/build# hailortcli parse-hef ../AI/model/Visible/yolov8s.hef
Architecture HEF was compiled for: HAILO8
Network group name: yolov8s, Single Context
Network name: yolov8s/yolov8s
VStream infos:
Input yolov8s/input_layer1 UINT8, NHWC(640x640x3)
Output yolov8s/yolov8_nms_postprocess FLOAT32, HAILO NMS BY CLASS(number of classes: 80, maximum bounding boxes per class: 100, maximum frame size: 160320)
Operation:
Op YOLOV8
Name: YOLOV8-Post-Process
Score threshold: 0.200
IoU threshold: 0.70
Classes: 80
Max bboxes per class: 100
Image height: 640
Image width: 640
root@imx8mp-lpddr4-evk:~/build# v4l2-ctl -d /dev/video5 --all
Driver Info:
Driver name : uvcvideo
Card type : HD_CAMERA
Bus info : usb-xhci-hcd.2.auto-1
Driver version : 6.6.23
Capabilities : 0x84a00001
Video Capture
Metadata Capture
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x04200001
Video Capture
Streaming
Extended Pix Format
Media Driver Info:
Driver name : uvcvideo
Model : HD_CAMERA
Serial :
Bus info : usb-xhci-hcd.2.auto-1
Media version : 6.6.23
Hardware revision: 0x00000000 (0)
Driver version : 6.6.23
Interface Info:
ID : 0x03000002
Type : V4L Video
Entity Info:
ID : 0x00000001 (1)
Name : HD_CAMERA
Function : V4L2 I/O
Flags : default
Pad 0x01000007 : 0: Sink
Link 0x02000010: from remote pad 0x100000a of entity ‘Extension 3’ (Video Pixel Formatter): Data, Enabled, Immutable
Priority: 2
Video input : 0 (Camera 1: ok)
Format Video Capture:
Width/Height : 1920/1080
Pixel Format : ‘YUYV’ (YUYV 4:2:2)
Field : None
Bytes per Line : 3840
Size Image : 4147200
Colorspace : sRGB
Transfer Function : Default (maps to sRGB)
YCbCr/HSV Encoding: Default (maps to ITU-R 601)
Quantization : Default (maps to Limited Range)
Flags :
Crop Capability Video Capture:
Bounds : Left 0, Top 0, Width 1920, Height 1080
Default : Left 0, Top 0, Width 1920, Height 1080
Pixel Aspect: 1/1
Selection Video Capture: crop_default, Left 0, Top 0, Width 1920, Height 1080, Flags:
Selection Video Capture: crop_bounds, Left 0, Top 0, Width 1920, Height 1080, Flags:
Streaming Parameters Video Capture:
Capabilities : timeperframe
Frames per second: 30.000 (30/1)
Read buffers : 0
root@imx8mp-lpddr4-evk:~/build# v4l2-ctl -d /dev/video5 --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
Type: Video Capture
[0]: 'YUYV' (YUYV 4:2:2)
Size: Discrete 1920x1080
Interval: Discrete 0.017s (60.000 fps)
Interval: Discrete 0.020s (50.000 fps)
Interval: Discrete 0.033s (30.000 fps)
Interval: Discrete 0.040s (25.000 fps)
Interval: Discrete 0.067s (15.000 fps)
Interval: Discrete 0.100s (10.000 fps)
Size: Discrete 1280x720
Interval: Discrete 0.017s (60.000 fps)
Interval: Discrete 0.020s (50.000 fps)
Interval: Discrete 0.033s (30.000 fps)
Interval: Discrete 0.040s (25.000 fps)
Interval: Discrete 0.067s (15.000 fps)
Interval: Discrete 0.100s (10.000 fps)
Size: Discrete 800x600
Interval: Discrete 0.017s (60.000 fps)
Interval: Discrete 0.020s (50.000 fps)
Interval: Discrete 0.033s (30.000 fps)
Interval: Discrete 0.040s (25.000 fps)
Size: Discrete 640x480
Interval: Discrete 0.017s (60.000 fps)
Interval: Discrete 0.020s (50.000 fps)
Interval: Discrete 0.033s (30.000 fps)
Interval: Discrete 0.040s (25.000 fps)
[1]: 'MJPG' (Motion-JPEG, compressed)
Size: Discrete 640x480
Interval: Discrete 0.017s (60.000 fps)
Interval: Discrete 0.020s (50.000 fps)
Interval: Discrete 0.033s (30.000 fps)
Interval: Discrete 0.040s (25.000 fps)
Size: Discrete 800x600
Interval: Discrete 0.017s (60.000 fps)
Interval: Discrete 0.020s (50.000 fps)
Interval: Discrete 0.033s (30.000 fps)
Interval: Discrete 0.040s (25.000 fps)
Size: Discrete 1280x720
Interval: Discrete 0.017s (60.000 fps)
Interval: Discrete 0.020s (50.000 fps)
Interval: Discrete 0.033s (30.000 fps)
Interval: Discrete 0.040s (25.000 fps)
Interval: Discrete 0.067s (15.000 fps)
Interval: Discrete 0.100s (10.000 fps)
Size: Discrete 1920x1080
Interval: Discrete 0.017s (60.000 fps)
Interval: Discrete 0.020s (50.000 fps)
Interval: Discrete 0.033s (30.000 fps)
Interval: Discrete 0.040s (25.000 fps)
Interval: Discrete 0.067s (15.000 fps)
Interval: Discrete 0.100s (10.000 fps)