Known Software Issue — MIPI-DSI Display
Affected hardware: Hailo-15 SOM mounted on the HB-IOT carrier board Interface: MIPI-DSI display output Status: Open — still present in Hailo BSP 1.12.1, pending fix in a future Hailo-15 SDK release
Issue
On the Hailo-15 SOM paired with the HB-IOT carrier board, the MIPI-DSI display does not reliably come up on the first initialization attempt. This is a known software bug in the current Hailo-15 SDK DSI driver and is expected to be resolved in an upcoming SDK release from Hailo. It is unchanged in BSP 1.12.1.
Workaround
Until an official fix is provided by Hailo, the display can be brought up reliably by retrying modetest several times before letting it run persistently. The steps below describe how to reproduce this workaround on the board.
The display comes up after a number of short mode-set attempts. The function below unbinds the kernel console from the frame buffer (so it does not compete with modetest), makes up to nine short attempts, then a final one in the foreground, and binds the console back afterwards so the panel keeps showing the console.
1. Find the DSI connector ID
bash
modetest -M hailo-drm -c | awk '/DSI-1/ { print $1 }' | tr -d :2. Run modetest in a retry loop
Start modetest, kill it quickly, retry, and on the final attempt let it stay alive. The following shell function implements this sequence:
bash
display_test() {
for vt in /sys/class/vtconsole/vtcon*/bind; do echo 0 > "$vt" 2>/dev/null; done
ATTEMPTS=0
MAX_ATTEMPTS=9
CONNECTOR=$(modetest -M hailo-drm -c | awk '/DSI-1/ { print $1 }' | tr -d :)
while [ $ATTEMPTS -lt $MAX_ATTEMPTS ]; do
ATTEMPTS=$((ATTEMPTS + 1))
setsid modetest -M hailo-drm -s ${CONNECTOR}:1024x600-60@RG24 </dev/null >/dev/null 2>&1 &
MPID=$!
sleep 0.2
kill -9 $MPID 2>/dev/null
wait $MPID 2>/dev/null
done
# Final attempt in the foreground; press ENTER to exit and continue
modetest -M hailo-drm -s ${CONNECTOR}:1024x600-60@RG24
# After modetest exits, restore the console on the frame buffer so the panel keeps displaying it
for vt in /sys/class/vtconsole/vtcon*/bind; do echo 1 > "$vt" 2>/dev/null; done
}3. Run the function
bash
Expected Result
After the final attempt the display shows modetest's built-in colour-bar test pattern. Press ENTER on the serial console to end modetest; the function then binds the kernel console back to the frame buffer, and the panel shows the console from there on. The mode 1024x600-60@RG24 matches the 7" panel of the HB-IOT kit; adjust it for another panel (modetest -M hailo-drm -c lists the modes the panel reports).
Success: If the color-bar test pattern appears on the MIPI-DSI panel, the workaround has been applied successfully and the display path is operational.
Notes
ℹ Note: This workaround is a temporary measure. The root cause lies in the Hailo-15 SDK MIPI-DSI drivers and should be addressed by Hailo in a future software release. SolidRun will update this guide once an official fix is available.
Last updated