Skip to content

fix: replace proprietary hi3516ev200_isp.ko with open_isp#1979

Merged
widgetii merged 1 commit intoOpenIPC:masterfrom
widgetii:fix/hi3516ev200-open-isp
Apr 4, 2026
Merged

fix: replace proprietary hi3516ev200_isp.ko with open_isp#1979
widgetii merged 1 commit intoOpenIPC:masterfrom
widgetii:fix/hi3516ev200-open-isp

Conversation

@widgetii
Copy link
Copy Markdown
Member

@widgetii widgetii commented Apr 3, 2026

Summary

  • Remove DISABLE_ISP=1 for hi3516ev200 in hisilicon-opensdk.mk
  • Update load_hisilicon script to use open_isp instead of hi3516ev200_isp
  • Remove proprietary hi3516ev200_isp.ko blob (199KB)
  • Stop installing vendor ISP blob in hisilicon-osdrv-hi3516ev200.mk

This eliminates the last proprietary kernel module for the HiSilicon hi3516ev200 family, unblocking migration to modern kernels.

Root cause of original DISABLE_ISP=1

The Goke SDK defines VI_MAX_VIR_PIPE_NUM=2 while HiSilicon SDK defines it as 0. This changes VI_MAX_PIPE_NUM (4 vs 2), affecting struct sizes in ioctl interfaces. The vendor libisp.so and the opensdk open_isp.ko encoded different struct sizes into ioctl numbers, causing all ISP ioctls to fail with 0xFFFFFFFF.

Fixed in OpenIPC/openhisilicon#31 — this PR depends on that fix being merged first.

Test plan

  • Built open_isp.ko with VI_MAX_VIR_PIPE_NUM fix for hi3516ev200
  • Deployed all opensdk modules to hi3516ev300 camera (IMX335 sensor)
  • Cold boot: all modules load, Majestic starts, RTSP streaming works
  • Image output verified via JPEG snapshot

🤖 Generated with Claude Code

Remove the last proprietary kernel module for HiSilicon hi3516ev200
family. The open-source open_isp.ko from openhisilicon now works after
fixing VI_MAX_VIR_PIPE_NUM mismatch (OpenIPC/openhisilicon#31).

Changes:
- hisilicon-opensdk.mk: remove DISABLE_ISP=1 for hi3516ev200
- load_hisilicon: replace hi3516ev200_isp with open_isp (4 references)
- hisilicon-osdrv-hi3516ev200.mk: stop installing vendor ISP blob
- Remove hi3516ev200_isp.ko binary blob (199KB)

Depends on: OpenIPC/openhisilicon#31 (VI_MAX_VIR_PIPE_NUM fix)

Tested on hi3516ev300 with IMX335 sensor — Majestic starts and
produces video with the open-source ISP module.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@widgetii widgetii force-pushed the fix/hi3516ev200-open-isp branch from daff450 to 6b303f3 Compare April 4, 2026 03:48
@widgetii widgetii merged commit 661ac69 into OpenIPC:master Apr 4, 2026
86 of 87 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant