Zimkey4 fails tests after installing/configuring Camera and OLED Display drivers

Hi,

i’m having trouble getting Zibkey4 to work with Pi5 8Gb latest OS with latest updates Bookworm (latest), i2c enabled using raspi-config:

ls -l /dev/i2c*
crw-rw---- 1 root i2c 89, 0 Mar 4 15:14 /dev/i2c-0
crw-rw---- 1 root i2c 89, 1 Mar 4 15:14 /dev/i2c-1
crw-rw---- 1 root i2c 89, 11 Mar 4 15:14 /dev/i2c-11
crw-rw---- 1 root i2c 89, 13 Mar 4 15:14 /dev/i2c-13
crw-rw---- 1 root i2c 89, 14 Mar 4 15:14 /dev/i2c-14
lrwxrwxrwx 1 root root 6 Mar 4 15:14 /dev/i2c-4 → i2c-11

Zibkey4 is in Dev mode, so im reusing it for every test install: If im using “blank” Pi5 with nothing, but a plain OS installed on it, then everything works OK and test scripts are completing fine.

However, if i then install Arducam drivers with settings required by Cam Array HAT (IMX519 Quad Cam) and also OLED display drivers (display connected to an SPI bus and uses Adafruit Blinka library) then test scripts for Zimkey4 are failing to complete with:

python zk_app_utils_test.py
Exception ignored in: <function Zymkey.del at 0x7fff3dec8360>
Traceback (most recent call last):
File “/usr/local/lib/python3.11/dist-packages/zymkey/init.py”, line 231, in del
raise AssertionError(“bad return code %d” % ret)
AssertionError: bad return code -1
Testing data lock…
Traceback (most recent call last):
File “/home/deo/zymbit4/zk_app_utils_test.py”, line 6, in
dst = zymkey.client.lock(src)
^^^^^^^^^^^^^^^^^^
AttributeError: ‘NoneType’ object has no attribute ‘lock’

python zk_crypto_test.py
Exception ignored in: <function Zymkey.del at 0x7fff15c0c360>
Traceback (most recent call last):
File “/usr/local/lib/python3.11/dist-packages/zymkey/init.py”, line 231, in del
raise AssertionError(“bad return code %d” % ret)
AssertionError: bad return code -1
Signing data…Traceback (most recent call last):
File “/home/deo/zymbit4/zk_crypto_test.py”, line 10, in
signature = zymkey.client.sign(secret_message)
^^^^^^^^^^^^^^^^^^
AttributeError: ‘NoneType’ object has no attribute ‘sign’

sudo journalctl -u zkifc
Feb 26 13:15:54 raspberrypi systemd[1]: Starting zkifc.service - Zymkey Interface Connector…
Feb 26 13:15:54 raspberrypi bash[30980]: chown: warning: ‘.’ should be ‘:’: ‘zymbit.zymbit’
Feb 26 13:15:55 raspberrypi systemd[1]: Started zkifc.service - Zymkey Interface Connector.
Feb 26 13:17:21 raspberrypi systemd[1]: Stopping zkifc.service - Zymkey Interface Connector…
Feb 26 13:17:22 raspberrypi systemd[1]: zkifc.service: Main process exited, code=killed, status=11/SEGV
Feb 26 13:17:23 raspberrypi systemd[1]: zkifc.service: Failed with result ‘signal’.
Feb 26 13:17:23 raspberrypi systemd[1]: Stopped zkifc.service - Zymkey Interface Connector.
Feb 26 13:17:23 raspberrypi systemd[1]: Starting zkifc.service - Zymkey Interface Connector…
Feb 26 13:17:23 raspberrypi bash[79915]: chown: warning: ‘.’ should be ‘:’: ‘zymbit.zymbit’
Feb 26 13:17:24 raspberrypi systemd[1]: Started zkifc.service - Zymkey Interface Connector.
Feb 26 13:17:35 raspberrypi systemd[1]: Stopping zkifc.service - Zymkey Interface Connector…
Feb 26 13:17:36 raspberrypi systemd[1]: zkifc.service: Main process exited, code=killed, status=11/SEGV
Feb 26 13:17:38 raspberrypi systemd[1]: zkifc.service: Failed with result ‘signal’.
Feb 26 13:17:38 raspberrypi systemd[1]: Stopped zkifc.service - Zymkey Interface Connector.
– Boot 990fbf8243484c0db6616ec1f026a896 –
Feb 26 13:18:56 raspberrypi systemd[1]: Starting zkifc.service - Zymkey Interface Connector…
Feb 26 13:18:56 raspberrypi bash[3346]: chown: warning: ‘.’ should be ‘:’: ‘zymbit.zymbit’
Feb 26 13:18:56 raspberrypi systemd[1]: Started zkifc.service - Zymkey Interface Connector.
Feb 26 13:24:35 raspberrypi zkifc[3369]: could not open “/dev” dir, errno=24

Feb 26 13:25:01 raspberrypi zkifc[3369]: could not open “/dev” dir, errno=24
lines 1-45…skipping…
Feb 26 13:15:54 raspberrypi systemd[1]: Starting zkifc.service - Zymkey Interface Connector…
Feb 26 13:15:54 raspberrypi bash[30980]: chown: warning: ‘.’ should be ‘:’: ‘zymbit.zymbit’
Feb 26 13:15:55 raspberrypi systemd[1]: Started zkifc.service - Zymkey Interface Connector.
Feb 26 13:17:21 raspberrypi systemd[1]: Stopping zkifc.service - Zymkey Interface Connector…
Feb 26 13:17:22 raspberrypi systemd[1]: zkifc.service: Main process exited, code=killed, status=11/SEGV
Feb 26 13:17:23 raspberrypi systemd[1]: zkifc.service: Failed with result ‘signal’.
Feb 26 13:17:23 raspberrypi systemd[1]: Stopped zkifc.service - Zymkey Interface Connector.
Feb 26 13:17:23 raspberrypi systemd[1]: Starting zkifc.service - Zymkey Interface Connector…
Feb 26 13:17:23 raspberrypi bash[79915]: chown: warning: ‘.’ should be ‘:’: ‘zymbit.zymbit’
Feb 26 13:17:24 raspberrypi systemd[1]: Started zkifc.service - Zymkey Interface Connector.
Feb 26 13:17:35 raspberrypi systemd[1]: Stopping zkifc.service - Zymkey Interface Connector…
Feb 26 13:17:36 raspberrypi systemd[1]: zkifc.service: Main process exited, code=killed, status=11/SEGV
Feb 26 13:17:38 raspberrypi systemd[1]: zkifc.service: Failed with result ‘signal’.
Feb 26 13:17:38 raspberrypi systemd[1]: Stopped zkifc.service - Zymkey Interface Connector.
– Boot 990fbf8243484c0db6616ec1f026a896 –
Feb 26 13:18:56 raspberrypi systemd[1]: Starting zkifc.service - Zymkey Interface Connector…
Feb 26 13:18:56 raspberrypi bash[3346]: chown: warning: ‘.’ should be ‘:’: ‘zymbit.zymbit’
Feb 26 13:18:56 raspberrypi systemd[1]: Started zkifc.service - Zymkey Interface Connector.
Feb 26 13:24:35 raspberrypi zkifc[3369]: could not open “/dev” dir, errno=24
Feb 26 13:24:36 raspberrypi zkifc[3369]: could not open “/dev” dir, errno=24

My /boot/firmware/config.txt file:

dtparam=i2c_arm=on
camera_auto_detect=0
display_auto_detect=1
auto_initramfs=1
dtoverlay=vc4-kms-v3d
max_framebuffers=2
disable_fw_kms_setup=1
arm_64bit=1
disable_overscan=1
arm_boost=1

[cm4]
otg_mode=1

[cm5]
dtoverlay=dwc2,dr_mode=host

[all]
dtoverlay=imx519
dtparam=i2c_vc=on
dtparam=uart0=on
dtoverlay=max98357a
dtoverlay=spi0-0cs

My zkenv.conf file:

cat /var/lib/zymbit/zkenv.conf
ZK_GPIO_WAKE_PIN=575

dpkg -l | grep -i zym
ii libzk 1.1-22 arm64 Zymkey Base Communications Library
ii libzymkeyssl 1.0-11 arm64 Zymkey SSL Engine Library
ii zkapputilslib 1.1-25 arm64 Zymkey User API
ii zkbootrtc 1.1-15 arm64 Zymkey RTC retrieval standalone app
ii zkifc 1.2-36 arm64 Zymkey Interface Connector
ii zkpkcs11 1.0-3 arm64 Zymkey PKCS11 Library
ii zksaapps 1.0-16 arm64 Stand alone zymkey apps

zymbit4# systemctl status zkifc
● zkifc.service - Zymkey Interface Connector
Loaded: loaded (/etc/systemd/system/zkifc.service; enabled; preset: enabled)
Active: active (running) since Tue 2025-03-04 14:46:54 GMT; 21min ago
Process: 2832 ExecStartPre=/bin/bash -c mkdir -p /run/zkstatus && chown -R zymbit.zymbit /run/zkstatus (code=exited, status=0/SUCCESS)
Process: 2834 ExecStartPre=/bin/sleep 0.5 (code=exited, status=0/SUCCESS)
Main PID: 2855 (zkifc)
Tasks: 3 (limit: 9553)
CPU: 8min 8.383s
CGroup: /system.slice/zkifc.service
└─2855 /usr/bin/zkifc -s /var/lib/zymbit/

Mar 04 15:08:03 raspberrypi zkifc[2855]: accept on client: Too many open files
Mar 04 15:08:03 raspberrypi zkifc[2855]: accept on client: Too many open files
Mar 04 15:08:03 raspberrypi zkifc[2855]: accept on client: Too many open files
Mar 04 15:08:03 raspberrypi zkifc[2855]: accept on client: Too many open files
Mar 04 15:08:03 raspberrypi zkifc[2855]: accept on client: Too many open files
Mar 04 15:08:03 raspberrypi zkifc[2855]: accept on client: Too many open files
Mar 04 15:08:03 raspberrypi zkifc[2855]: accept on client: Too many open files
Mar 04 15:08:03 raspberrypi zkifc[2855]: accept on client: Too many open files
Mar 04 15:08:03 raspberrypi zkifc[2855]: accept on client: Too many open files
Mar 04 15:08:03 raspberrypi zkifc[2855]: accept on client: Too many open files

–After stopping all services we are planning to protect with Zymkey:

systemctl status zkifc
● zkifc.service - Zymkey Interface Connector
Loaded: loaded (/etc/systemd/system/zkifc.service; enabled; preset: enabled)
Active: active (running) since Tue 2025-03-04 15:15:13 GMT; 34min ago
Process: 1524 ExecStartPre=/bin/bash -c mkdir -p /run/zkstatus && chown -R zymbit.zymbit /run/zkstatus (code=exited, status=0/SUCCESS)
Process: 1526 ExecStartPre=/bin/sleep 0.5 (code=exited, status=0/SUCCESS)
Main PID: 1527 (zkifc)
Tasks: 3 (limit: 9553)
CPU: 1.075s
CGroup: /system.slice/zkifc.service
└─1527 /usr/bin/zkifc -s /var/lib/zymbit/

Mar 04 15:49:33 raspberrypi zkifc[1527]: could not open “/dev” dir, errno=24
Mar 04 15:49:34 raspberrypi zkifc[1527]: could not open “/dev” dir, errno=24
Mar 04 15:49:35 raspberrypi zkifc[1527]: could not open “/dev” dir, errno=24
Mar 04 15:49:36 raspberrypi zkifc[1527]: could not open “/dev” dir, errno=24
Mar 04 15:49:37 raspberrypi zkifc[1527]: could not open “/dev” dir, errno=24
Mar 04 15:49:38 raspberrypi zkifc[1527]: could not open “/dev” dir, errno=24
Mar 04 15:49:39 raspberrypi zkifc[1527]: could not open “/dev” dir, errno=24
Mar 04 15:49:40 raspberrypi zkifc[1527]: could not open “/dev” dir, errno=24
Mar 04 15:49:41 raspberrypi zkifc[1527]: could not open “/dev” dir, errno=24
Mar 04 15:49:42 raspberrypi zkifc[1527]: could not open “/dev” dir, errno=24

I also tried to first encrypt the disk and then install drives, then Pi5 will fail to boot.

Can you suggest a solution?

thanks,