SkyConnect - silabs multiprotocol and docker

hi @trofo
its not needed if you use “privileged: true” like in the example here

I did had “privileged: true” but it didn’t work until I added those 2 capabilities. Anyway, keep it in mind in case someone else reports it as well.

1 Like

Today zigbee stopped working for no reason. It worked well for 1 month.
It Is absurd.
It start but when i touch a switch It crash

Edit this morning It works… I’m getting crazy

Do you still need help? I just got it working on unraid

2 Likes

Is anyone else running into problems where starting the container just shows all the services within the container starting and then seemingly stopping for no reason?

Expand for full logs
2024-01-11 03:18:33 [INFO] Starting mDNS Responder...
Default: mDNSResponder (Engineering Build) (Jan  5 2024 22:15:16) starting
2024-01-11 03:18:33 [INFO] Flashing firmware is disabled
s6-rc: info: service universal-silabs-flasher successfully started
s6-rc: info: service cpcd: starting
2024-01-11 03:18:33 [INFO] Starting cpcd...
WARNING in function 'main' in file /usr/src/cpc-daemon/main.c at line #186 : Running CPCd as 'root' is not recommended. Proceed at your own risk.
FATAL in function 'config_validate_configuration' in file /usr/src/cpc-daemon/misc/config.c at line #932 : Use of encryption was requested, but the daemon was not compiled with -DENABLE_ENCRYPTION

2024-01-11 03:18:33 [INFO] Generating cpcd configuration.
cont-init: info: /etc/cont-init.d/config.sh exited 0
s6-rc: info: service legacy-cont-init successfully started
[03:18:33:853563] Info : [CPCd v4.3.1.0] [Library API v3] [RCP Protocol v4]
[03:18:33:853605] Info : Git commit: 133b29678b3d0bc7578e098d2f46b4d5bcd2ebb4 / branch:
[03:18:33:853608] Info : Sources hash: ff8300587e7e4ab1def7a89a272c0baef32f9eb3bff9b0ba06b94e655d652367
[03:18:33:853615] WARNING : In function 'main' in file /usr/src/cpc-daemon/main.c at line #186 : Running CPCd as 'root' is not recommended. Proceed at your own risk.
[03:18:33:853628] Info : Reading cli arguments
[03:18:33:853632] Info : /usr/local/bin/cpcd
[03:18:33:854005] *** ASSERT *** : FATAL in function 'config_validate_configuration' in file /usr/src/cpc-daemon/misc/config.c at line #932 : Use of encryption was requested, but the daemon was not compiled with -DENABLE_ENCRYPTION
[03:18:34:854087] Info : Daemon exiting with status EXIT_FAILURE
Logger buffer size = 28672, highwater mark = 760 : 2.65%. Lost logs : 0
2024-01-11 03:18:34 [INFO] CPC ended with exit code 1 (signal 0)...
rm: cannot remove '/dev/shm/cpcd': No such file or directory
2024-01-11 03:18:35 [INFO] Starting cpcd...
WARNING in function 'main' in file /usr/src/cpc-daemon/main.c at line #186 : Running CPCd as 'root' is not recommended. Proceed at your own risk.
s6-rc: info: service cpcd successfully started
s6-rc: info: service zigbeed: starting
s6-rc: info: service zigbeed successfully started
s6-rc: info: service legacy-services: starting
2024-01-11 03:18:36 [INFO] Starting zigbeed...
s6-rc: info: service legacy-services successfully started
s6-rc: info: bringing selected services down
s6-rc: info: service legacy-services: stopping
s6-rc: info: service otbr-web: already down
s6-rc: info: service otbr-agent: already down
s6-rc: info: service legacy-services successfully stopped
s6-rc: info: service legacy-cont-init: stopping
s6-rc: info: service zigbeed: stopping
s6-rc: info: service mdns: stopping
Default: mDNSResponder (Engineering Build) (Jan  5 2024 22:15:16) stopping
s6-rc: info: service legacy-cont-init successfully stopped
s6-rc: info: service fix-attrs: stopping
s6-rc: info: service fix-attrs successfully stopped
2024-01-11 03:18:36 [INFO] mDNS ended with exit code 4 (signal 0)...
2024-01-11 03:18:36 [INFO] zigbeed ended with exit code 256 (signal 15)...
s6-rc: info: service zigbeed successfully stopped
s6-rc: info: service cpcd: stopping
s6-rc: info: service mdns successfully stopped

[03:18:35:921511] Info : [CPCd v4.3.1.0] [Library API v3] [RCP Protocol v4]
[03:18:35:921559] Info : Git commit: 133b29678b3d0bc7578e098d2f46b4d5bcd2ebb4 / branch:
[03:18:35:921562] Info : Sources hash: ff8300587e7e4ab1def7a89a272c0baef32f9eb3bff9b0ba06b94e655d652367
[03:18:35:921565] WARNING : In function 'main' in file /usr/src/cpc-daemon/main.c at line #186 : Running CPCd as 'root' is not recommended. Proceed at your own risk.
[03:18:35:921578] Info : Reading cli arguments
[03:18:35:921581] Info : /usr/local/bin/cpcd
[03:18:35:921922] Info : Reading configuration
[03:18:35:921925] Info :   file_path = /usr/local/etc/cpcd.conf
[03:18:35:921928] Info :   instance_name = cpcd_0
[03:18:35:921930] Info :   socket_folder = /dev/shm
[03:18:35:921933] Info :   operation_mode = MODE_NORMAL
[03:18:35:921935] Info :   use_encryption = false
[03:18:35:921937] Info :   binding_key_file = /root/.cpcd/binding.key
[03:18:35:921939] Info :   stdout_tracing = false
[03:18:35:921941] Info :   file_tracing = false
[03:18:35:921943] Info :   lttng_tracing = false
[03:18:35:921946] Info :   enable_frame_trace = false
[03:18:35:921947] Info :   traces_folder = /dev/shm/cpcd-traces
[03:18:35:921950] Info :   bus = UART
[03:18:35:921952] Info :   uart_baudrate = 460800
[03:18:35:921955] Info :   uart_hardflow = false
[03:18:35:921957] Info :   uart_file = /dev/ttyACM0
[03:18:35:921959] Info :   fu_recovery_pins_enabled = false
[03:18:35:921961] Info :   fu_connect_to_bootloader = false
[03:18:35:921964] Info :   fu_enter_bootloader = false
[03:18:35:921966] Info :   restart_cpcd = false
[03:18:35:921968] Info :   application_version_validation = false
[03:18:35:921970] Info :   print_secondary_versions_and_exit = false
[03:18:35:921972] Info :   use_noop_keep_alive = false
[03:18:35:921975] Info :   reset_sequence = true
[03:18:35:921976] Info :   stats_interval = 0
[03:18:35:921978] Info :   rlimit_nofile = 2000
[03:18:35:921981] Info : ENCRYPTION IS DISABLED
[03:18:35:921982] Info : Starting daemon in normal mode
[03:18:35:932666] Info : Connecting to Secondary...
[03:18:36:005742] Info : RX capability is 256 bytes
[03:18:36:005759] Info : Connected to Secondary
[03:18:36:007250] Info : Secondary Protocol v4
[03:18:36:010538] Info : Secondary CPC v4.3.1
[03:18:36:011986] Info : Secondary bus bitrate is 460800
[03:18:36:015266] Info : Secondary APP vUNDEFINED
[03:18:36:015339] Info : Daemon startup was successful. Waiting for client connections
[03:18:36:306902] Info : Server core cleanup
[03:18:36:306940] Info : Daemon exiting with status EXIT_SUCCESS
Logger buffer size = 28672, highwater mark = 2592 : 9.04%. Lost logs : 0
2024-01-11 03:18:36 [INFO] CPC ended with exit code 0 (signal 0)...
s6-rc: info: service cpcd successfully stopped
s6-rc: info: service universal-silabs-flasher: stopping
s6-rc: info: service universal-silabs-flasher successfully stopped
s6-rc: info: service s6rc-oneshot-runner: stopping
s6-rc: info: service s6rc-oneshot-runner successfully stopped

I see there is a line where it says that an assertion has failed:

[03:18:33:854005] *** ASSERT *** : FATAL in function 'config_validate_configuration' in file /usr/src/cpc-daemon/misc/config.c at line #932 : Use of encryption was requested, but the daemon was not compiled with -DENABLE_ENCRYPTION

However, there does not seem to be any configuration around enabling or disabling encryption, and CPCd seems to start multiple times. Is there possibly another version of this container that I am missing that does include this encryption support?

I am running this within kubernetes and with OTBR_ENABLE set to 0 for debugging (similar results when it is set to 1; no avail :sweat:). The image digest is sha256:73e104437bf16f81cf2c54fa44bc3ea1c2f80eb1b71fbf11ba8ad0acac32f8ca.

I have been stuck on this for quite a while; any pointers would be appreciated, thanks.

since the base images of HA now have useful tags, i have rebuilt all images for all base image tags with equivalent tags on my container
https://hub.docker.com/r/b2un0/silabs-multipan-docker/tags

the real version can also be found in the labels

Is there possibly another version of this container that I am missing that does include this encryption support?

no
i do not build or compile anything in this container.
i have only removed the HAOS stuff based on the work of @nervousapps and @m33ts4k0z

in your case, it would be much more important to know which usb stick and which firmware you are using

1 Like

Thanks for adding specific docker tags to your images; I’ve since updated and tried again with 2.4.2, unfortunately with no difference.

Thanks for confirming.

:person_facepalming: This is indeed a major oversight - as an update to my post above, I’ll clarify them here:

  • USB dongle: SONOFF ZBDongle-E Zigbee 3.0
  • Firmware: MultiPAN RCP - Zigbee + Thread for Silabs Multiprotocol Addon - Baudrate 460800 4.3.1 from darkxst’s web flasher

im using this with SkyConnect and

NabuCasa_SkyConnect_RCP_v4.3.1_rcp-uart-hw-802154_460800.gbl

it looks like, that your firmware is compiled with encryption enabled.
the cpcd - compiled by HA - has no encryption.
see also here:

you should ask the maintainer for your firmware.

1 Like

@cadmium another user had the problem! but wit SkyConnect!

he has has fixed this within

the docker images with 2.4.3(latest) are rebuilded
https://hub.docker.com/r/b2un0/silabs-multipan-docker

Thanks so much for updating me! I have re-pulled 2.4.3, and I can confirm that the image is no longer randomly quitting :tada:

Would you also be able to re-build 2.4.2 version with these changes? It appears that 2.4.3 has incompatibility problems with zigbee2mqtt, and I am thus unable to connect z2m to this version of the silabs addon: Assertion failed: Command (setConfigurationValue) returned unexpected state: [object Object] · Issue #19168 · Koenkk/zigbee2mqtt · GitHub

Thanks so much again!

Already done.

1 Like

Thanks so much; I am able to now get zigbee2mqtt to connect and resume operation :sunglasses:

1 Like

Hello @MowMdown , how do you got it to work on unraid with home assistant container ? Thank you :slight_smile:

seems broken still over here as well…
(Unraid hosting Home Assistant VM)

[15:17:13] INFO: Starting cpcd…
WARNING in function ‘main’ in file /usr/src/cpc-daemon/main.c at line #186 : Running CPCd as ‘root’ is not recommended. Proceed at your own risk.
FATAL in function ‘protocol_version_check’ in file /usr/src/cpc-daemon/server_core/server_core.c at line #729 : Secondary Protocol v5 doesn’t match CPCd Protocol v4
[15:17:13:333160] Info : [CPCd v4.3.1.0] [Library API v3] [RCP Protocol v4]
[15:17:13:333184] Info : Git commit: 133b29678b3d0bc7578e098d2f46b4d5bcd2ebb4 / branch:
[15:17:13:333185] Info : Sources hash: ff8300587e7e4ab1def7a89a272c0baef32f9eb3bff9b0ba06b94e655d652367
[15:17:13:333186] WARNING : In function ‘main’ in file /usr/src/cpc-daemon/main.c at line #186 : Running CPCd as ‘root’ is not recommended. Proceed at your own risk.
[15:17:13:333194] Info : Reading cli arguments
[15:17:13:333196] Info : /usr/local/bin/cpcd
[15:17:13:335096] Info : Reading configuration
[15:17:13:335098] Info : file_path = /usr/local/etc/cpcd.conf
[15:17:13:335099] Info : instance_name = cpcd_0
[15:17:13:335099] Info : socket_folder = /dev/shm
[15:17:13:335100] Info : operation_mode = MODE_NORMAL
[15:17:13:335100] Info : use_encryption = false
[15:17:13:335101] Info : binding_key_file = /etc/binding-key.key
[15:17:13:335101] Info : stdout_tracing = false
[15:17:13:335102] Info : file_tracing = false
[15:17:13:335102] Info : lttng_tracing = false
[15:17:13:335103] Info : enable_frame_trace = false
[15:17:13:335103] Info : traces_folder = /dev/shm/cpcd-traces
[15:17:13:335104] Info : bus = UART
[15:17:13:335104] Info : uart_baudrate = 460800
[15:17:13:335105] Info : uart_hardflow = true
[15:17:13:335105] Info : uart_file = /dev/ttyUSB0
[15:17:13:335105] Info : fu_recovery_pins_enabled = false
[15:17:13:335106] Info : fu_connect_to_bootloader = false
[15:17:13:335106] Info : fu_enter_bootloader = false
[15:17:13:335107] Info : restart_cpcd = false
[15:17:13:335107] Info : application_version_validation = false
[15:17:13:335108] Info : print_secondary_versions_and_exit = false
[15:17:13:335109] Info : use_noop_keep_alive = false
[15:17:13:335109] Info : reset_sequence = true
[15:17:13:335110] Info : stats_interval = 0
[15:17:13:335110] Info : rlimit_nofile = 2000
[15:17:13:335111] Info : ENCRYPTION IS DISABLED
[15:17:13:335111] Info : Starting daemon in normal mode
[15:17:13:345783] Info : Connecting to Secondary…
[15:17:13:426296] Info : RX capability is 256 bytes
[15:17:13:426303] Info : Connected to Secondary
[15:17:13:430023] Info : Secondary Protocol v5
[15:17:13:430026] *** ASSERT *** : FATAL in function ‘protocol_version_check’ in file /usr/src/cpc-daemon/server_core/server_core.c at line #729 : Secondary Protocol v5 doesn’t match CPCd Protocol v4
[15:17:14:430385] Info : Daemon exiting with status EXIT_FAILURE
Logger buffer size = 28672, highwater mark = 2438 : 8.50%. Lost logs : 0
[15:17:14] INFO: CPC ended with exit code 1 (signal 0)…

edit: I updated it on Home Assistant SkyConnect and it started up in the addon now, but it still doesn’t work within home assistant. I still get Unknown error occured

okay?! and how do you think we should help now?

I have no idea… I switched it just just straight zigbee firmware for now and its solid. the multi-pan is so unstable.

This was it: