Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Silicon Labs Multiprotocol update to 2.2.0 broke my hass #3097

Closed
petervnv opened this issue Jun 13, 2023 · 27 comments
Closed

Silicon Labs Multiprotocol update to 2.2.0 broke my hass #3097

petervnv opened this issue Jun 13, 2023 · 27 comments

Comments

@petervnv
Copy link

petervnv commented Jun 13, 2023

Describe the issue you are experiencing

Running Home Assistant 2023.6.1 with a skyconnect dongle and everything was working fine until I got the prompt to update Silicon Labs Multiprotocol to version 2.2.0 a few hours ago.

After installing the update I can no longer use mqtt since the update seems to have broken something....

Silicon Labs Multiprotocol logs:

[19:18:51:173534] Info : [CPCd v4.3.0.0] [Library API v3] [RCP Protocol v4]
[19:18:51:173555] Info : Git commit: 5264ecaef094c48b94f501b71edff4caaadb4545 / branch: 
[19:18:51:173556] Info : Sources hash: d0b1e4d46195ed78ab5fccd6b1dd93f77d56dafcd09d1613ec1806014d40d496
[19:18:51:173558] 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.
[19:18:51:173569] Info : Reading cli arguments
[19:18:51:173570] Info : /usr/local/bin/cpcd 
[19:18:51:190528] Info : Reading configuration
[19:18:51:190535] Info :   file_path = /usr/local/etc/cpcd.conf
[19:18:51:190535] Info :   instance_name = cpcd_0
[19:18:51:190536] Info :   socket_folder = /dev/shm
[19:18:51:190536] Info :   operation_mode = MODE_NORMAL
[19:18:51:190537] Info :   use_encryption = false
[19:18:51:190537] Info :   binding_key_file = /etc/binding-key.key
[19:18:51:190538] Info :   stdout_tracing = false
[19:18:51:190538] Info :   file_tracing = false
[19:18:51:190539] Info :   lttng_tracing = false
[19:18:51:190539] Info :   enable_frame_trace = false
[19:18:51:190540] Info :   traces_folder = /dev/shm/cpcd-traces
[19:18:51:190540] Info :   bus = UART
[19:18:51:190541] Info :   uart_baudrate = 460800
[19:18:51:190541] Info :   uart_hardflow = true
[19:18:51:190542] Info :   uart_file = /dev/ttyUSB0
[19:18:51:190542] Info :   fu_recovery_pins_enabled = false
[19:18:51:190543] Info :   fu_connect_to_bootloader = false
[19:18:51:190543] Info :   fu_enter_bootloader = false
[19:18:51:190544] Info :   restart_cpcd = false
[19:18:51:190544] Info :   application_version_validation = false
[19:18:51:190545] Info :   print_secondary_versions_and_exit = false
[19:18:51:190545] Info :   use_noop_keep_alive = false
[19:18:51:190546] Info :   reset_sequence = true
[19:18:51:190546] Info :   stats_interval = 0
[19:18:51:190546] Info :   rlimit_nofile = 2000
[19:18:51:190547] Info : ENCRYPTION IS DISABLED 
[19:18:51:190548] Info : Starting daemon in normal mode
[19:18:51:207993] Info : Connecting to Secondary...
[19:18:51:288907] Info : RX capability is 256 bytes
[19:18:51:288923] Info : Connected to Secondary
[19:18:51:292446] Info : Secondary Protocol v3
[19:18:51:292457] *** ASSERT *** : FATAL in function 'protocol_version_check' in file /usr/src/cpc-daemon/server_core/server_core.c at line #722 : Secondary Protocol v3 doesn't match CPCd Protocol v4

What type of installation are you running?

Home Assistant Supervised

Which operating system are you running on?

Debian

Which add-on are you reporting an issue with?

Silicon Labs Multiprotocol

What is the version of the add-on?

2.2.0

Steps to reproduce the issue

  1. Accept the update to SLM version 2.2.0
  2. Reboot
  3. SLM can't start and shows the following error in the logs:
    *** ASSERT *** : FATAL in function 'protocol_version_check' in file /usr/src/cpc-daemon/server_core/server_core.c at line Add documentation to the git_pull add-on #722 : Secondary Protocol v3 doesn't match CPCd Protocol v4`
    ...

System Health information

There are currently no repairs available

Anything in the Supervisor logs that might be useful for us?

No response

Anything in the add-on logs that might be useful for us?

No response

Additional information

No response

@darkxst
Copy link
Contributor

darkxst commented Jun 14, 2023

This version requires a firmware update on the SkyConnect. This should be done automatically on SkyConnect, but would appear from the logs, it has failed to update and you are still running the old firmware.

@TomK
Copy link

TomK commented Jun 14, 2023

I had the same problem. You can manually update the firmware on your skyconnect dongle here https://skyconnect.home-assistant.io/firmware-update/

Thankfully this resolved my issue.

@agners
Copy link
Member

agners commented Jun 14, 2023

@TomK if you are using Home Assistant Yellow or SkyConnect the firmware is distributed with the add-on. Make sure you have the option "Automatically flash firmware" enabled, then restart the add-on.

@petervnv what hardware are you using?

@TomK
Copy link

TomK commented Jun 14, 2023

@TomK if you are using Home Assistant Yellow or SkyConnect the firmware is distributed with the add-on. Make sure you have the option "Automatically flash firmware" enabled, then restart the add-on.

@agners I am running home assistant os and do have the setting on, but it didn't update it for me.

@darkxst
Copy link
Contributor

darkxst commented Jun 14, 2023

@agners I dont have a SkyConnect to test, but I was poking at the update scripts for other dongles and noticed an issue with the following on my systems (tested in HAOS and on my linux host).

This drops back one level to far and is thus returning USB Controller/hub and not the zigbee dongle for me. So the update script bails out early.

# Check device manufacturer/product information
usb_device_path=$(realpath /sys/class/tty/$(readlink /sys/class/tty/$(basename ${device}))/../../../../)

I need to drop the last ../ to correctly get the path to my dongle

@agners
Copy link
Member

agners commented Jun 14, 2023

I need to drop the last ../ to correctly get the path to my dongle

Not here, if I drop one ../ I am in the interface of the USB, e.g. usb3/3-2/3-2.1/3-2.1:1.0.

However, to get the idProduct, I need to be one up, e.g. usb3/3-2/3-2.1/idProduct

This might depend on the USB chip and the tty driver used maybe? SkyConnect uses FTDI.

So maybe this depends on the system? 🤔

@agners
Copy link
Member

agners commented Jun 14, 2023

@TomK what system are you using (board/HAOS version)?

@TomK
Copy link

TomK commented Jun 14, 2023

@agners

Software

Home Assistant 2023.6.1
Supervisor 2023.06.2
Operating System 10.2
Frontend 20230608.0 - latest

Hardware

Lenovo ThinkCentre M710q i3-7100T
USB SkyConnect_v1.0

@agners
Copy link
Member

agners commented Jun 14, 2023

@TomK can you share the contents of System > Hardware > All Hardware, then select ttyUSBX (whichever is SkyConnect), open the drop down and the content of the ID and Attributes field?

@TomK
Copy link

TomK commented Jun 14, 2023

@agners
ID:

/dev/serial/by-id/usb-Nabu_Casa_SkyConnect_v1.0_a0c8aaa09f18ec1190e1e99a47486eb0-if00-port0

Attributes:

DEVLINKS: >-
  /dev/serial/by-id/usb-Nabu_Casa_SkyConnect_v1.0_a0c8aaa09f18ec1190e1e99a47486eb0-if00-port0
  /dev/serial/by-path/pci-0000:00:14.0-usb-0:5:1.0-port0
DEVNAME: /dev/ttyUSB0
DEVPATH: /devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5:1.0/ttyUSB0/tty/ttyUSB0
ID_BUS: usb
ID_MODEL: SkyConnect_v1.0
ID_MODEL_ENC: SkyConnect\x20v1.0
ID_MODEL_ID: ea60
ID_PATH: pci-0000:00:14.0-usb-0:5:1.0
ID_PATH_TAG: pci-0000_00_14_0-usb-0_5_1_0
ID_REVISION: '0100'
ID_SERIAL: Nabu_Casa_SkyConnect_v1.0_a0c8aaa09f18ec1190e1e99a47486eb0
ID_SERIAL_SHORT: a0c8aaa09f18ec1190e1e99a47486eb0
ID_TYPE: generic
ID_USB_DRIVER: cp210x
ID_USB_INTERFACES: ':ff0000:'
ID_USB_INTERFACE_NUM: '00'
ID_USB_MODEL: SkyConnect_v1.0
ID_USB_MODEL_ENC: SkyConnect\x20v1.0
ID_USB_MODEL_ID: ea60
ID_USB_REVISION: '0100'
ID_USB_SERIAL: Nabu_Casa_SkyConnect_v1.0_a0c8aaa09f18ec1190e1e99a47486eb0
ID_USB_SERIAL_SHORT: a0c8aaa09f18ec1190e1e99a47486eb0
ID_USB_TYPE: generic
ID_USB_VENDOR: Nabu_Casa
ID_USB_VENDOR_ENC: Nabu\x20Casa
ID_USB_VENDOR_ID: 10c4
ID_VENDOR: Nabu_Casa
ID_VENDOR_ENC: Nabu\x20Casa
ID_VENDOR_ID: 10c4
MAJOR: '188'
MINOR: '0'
SUBSYSTEM: tty
TAGS: ':systemd:'
USEC_INITIALIZED: '25489781875'

@agners
Copy link
Member

agners commented Jun 14, 2023

Hm, that looks good.

@TomK can you also share the log of an add-on startup?

You might need to use the Terminal and the following command to get a full startup log:

ha host logs -t addon_core_silabs_multiprotocol -n 1000

@TomK
Copy link

TomK commented Jun 14, 2023

@agners - this is probably not relevant, but i do have another silicon labs usb device (Aeotec Z-Stick 7)
ID:

/dev/serial/by-id/usb-Silicon_Labs_CP2102N_USB_to_UART_Bridge_Controller_9a7551917c94eb11972b32703d98b6d1-if00-port0

Attributes:

DEVLINKS: >-
  /dev/serial/by-id/usb-Silicon_Labs_CP2102N_USB_to_UART_Bridge_Controller_9a7551917c94eb11972b32703d98b6d1-if00-port0
  /dev/serial/by-path/pci-0000:00:14.0-usb-0:6:1.0-port0
DEVNAME: /dev/ttyUSB1
DEVPATH: /devices/pci0000:00/0000:00:14.0/usb1/1-6/1-6:1.0/ttyUSB1/tty/ttyUSB1
ID_BUS: usb
ID_MODEL: CP2102N_USB_to_UART_Bridge_Controller
ID_MODEL_ENC: CP2102N\x20USB\x20to\x20UART\x20Bridge\x20Controller
ID_MODEL_ID: ea60
ID_PATH: pci-0000:00:14.0-usb-0:6:1.0
ID_PATH_TAG: pci-0000_00_14_0-usb-0_6_1_0
ID_REVISION: '0100'
ID_SERIAL: >-
  Silicon_Labs_CP2102N_USB_to_UART_Bridge_Controller_9a7551917c94eb11972b32703d98b6d1
ID_SERIAL_SHORT: 9a7551917c94eb11972b32703d98b6d1
ID_TYPE: generic
ID_USB_DRIVER: cp210x
ID_USB_INTERFACES: ':ff0000:'
ID_USB_INTERFACE_NUM: '00'
ID_USB_MODEL: CP2102N_USB_to_UART_Bridge_Controller
ID_USB_MODEL_ENC: CP2102N\x20USB\x20to\x20UART\x20Bridge\x20Controller
ID_USB_MODEL_ID: ea60
ID_USB_REVISION: '0100'
ID_USB_SERIAL: >-
  Silicon_Labs_CP2102N_USB_to_UART_Bridge_Controller_9a7551917c94eb11972b32703d98b6d1
ID_USB_SERIAL_SHORT: 9a7551917c94eb11972b32703d98b6d1
ID_USB_TYPE: generic
ID_USB_VENDOR: Silicon_Labs
ID_USB_VENDOR_ENC: Silicon\x20Labs
ID_USB_VENDOR_ID: 10c4
ID_VENDOR: Silicon_Labs
ID_VENDOR_ENC: Silicon\x20Labs
ID_VENDOR_ID: 10c4
MAJOR: '188'
MINOR: '1'
SUBSYSTEM: tty
TAGS: ':systemd:'
USEC_INITIALIZED: '2596737'

@TomK
Copy link

TomK commented Jun 14, 2023

@agners Logs as requested (attached to reduce length)
silabs-log.txt

I tried to get some logs from when i attempted the update, unfortunately they don't go back far enough.

@agners
Copy link
Member

agners commented Jun 14, 2023

This tells me that at least once flashing worked:

Jun 14 06:00:03 homeassistant addon_core_silabs_multiprotocol[454]: 2023-06-14 07:00:03 homeassistant universal_silabs_flasher.flash[181] INFO Extracted GBL metadata: NabuCasaMetadata(metadata_version=1, sdk_version='4.3.0', ezsp_version=None, ot_rcp_version=None, fw_type=<FirmwareImageType.RCP_UART_802154: 'rcp-uart-802154'>, baudrate=460800)
Jun 14 06:00:03 homeassistant addon_core_silabs_multiprotocol[454]: 2023-06-14 07:00:03 homeassistant universal_silabs_flasher.flasher[181] INFO Probing ApplicationType.GECKO_BOOTLOADER at 115200 baud
Jun 14 06:00:05 homeassistant addon_core_silabs_multiprotocol[454]: 2023-06-14 07:00:05 homeassistant universal_silabs_flasher.flasher[181] INFO Probing ApplicationType.CPC at 460800 baud
Jun 14 06:00:06 homeassistant addon_core_silabs_multiprotocol[454]: 2023-06-14 07:00:06 homeassistant universal_silabs_flasher.flasher[181] INFO Detected ApplicationType.CPC, version '4.2.2' at 460800 baudrate (bootloader baudrate None)
Jun 14 06:00:06 homeassistant addon_core_silabs_multiprotocol[454]: 2023-06-14 07:00:06 homeassistant universal_silabs_flasher.flash[181] INFO Firmware version '4.3.0' does not match expected version '4.2.2'
Jun 14 06:00:06 homeassistant addon_core_silabs_multiprotocol[454]: 2023-06-14 07:00:06 homeassistant universal_silabs_flasher.flasher[181] INFO Probing ApplicationType.GECKO_BOOTLOADER at 115200 baud
Jun 14 06:00:06 homeassistant addon_core_silabs_multiprotocol[454]: 2023-06-14 07:00:06 homeassistant universal_silabs_flasher.flasher[181] INFO Detected bootloader version '2.1.1'
Jun 14 06:00:06 homeassistant addon_core_silabs_multiprotocol[454]: 2023-06-14 07:00:06 homeassistant universal_silabs_flasher.flasher[181] INFO Detected ApplicationType.CPC, version '4.2.2' at 460800 baudrate (bootloader baudrate 115200)
Jun 14 06:00:06 homeassistant addon_core_silabs_multiprotocol[454]: NabuCasa_SkyConnect_RCP_v4.3.0_rcp-uart-hw-802154_460800.gbl
Jun 14 06:00:24 homeassistant addon_core_silabs_multiprotocol[454]: s6-rc: info: service universal-silabs-flasher successfully started

Was there maybe another add-on or integration accessing the device before?

@TomK
Copy link

TomK commented Jun 14, 2023

@agners I don't believe so. Is it possible that the addon flashed the firmware a second time, but only after I had manually updated the firmware using the website? It was around that time when i plugged it back into my HA box.

@agners
Copy link
Member

agners commented Jun 15, 2023

@agners I don't believe so. Is it possible that the addon flashed the firmware a second time, but only after I had manually updated the firmware using the website? It was around that time when i plugged it back into my HA box.

We've seen firmware hangs previously, so maybe that was the case and unplugging it helped there. Not really possible to tell what the problem was with flashing now that it works again.

@agners
Copy link
Member

agners commented Jun 17, 2023

@petervnv have you been able to resolve this issue?

@AOskam
Copy link

AOskam commented Jun 19, 2023

Hi,

Almost the same problem, update to 2.2.0 broke my ZHA, manually updated skyconnect to 4.2.2, still the stick can't be properly found.

Proxmox install - ryzen 5 7600u - USB passthrough. Was working as a charm before the update.
Add-on can find the skyconnect without difficulties:
/dev/serial/by-id/usb-Nabu_Casa_SkyConnect_v1.0_6e8a6e57ac14ed11a036bc8be054580b-if00-port0

Add-on: Silicon Labs Multiprotocol
Zigbee and OpenThread multiprotocol add-on

Add-on version: 2.2.0
You are running the latest version of this add-on.
System: Home Assistant OS 10.2 (amd64 / qemux86-64)
Home Assistant Core: 2023.6.2
Home Assistant Supervisor: 2023.06.2

Please, share the above information when looking for help
or support in, e.g., GitHub, forums or the Discord chat.

s6-rc: info: service banner successfully started
s6-rc: info: service universal-silabs-flasher: starting
[09:18:39] INFO: Flashing firmware is disabled
s6-rc: info: service universal-silabs-flasher successfully started
s6-rc: info: service cpcd-config: starting
[09:18:40] INFO: Generating cpcd configuration.
s6-rc: info: service cpcd-config successfully started
s6-rc: info: service cpcd: starting
[09:18:40] 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.
[09:18:40:220463] Info : [CPCd v4.3.0.0] [Library API v3] [RCP Protocol v4]
[09:18:40:220486] Info : Git commit: 5264ecaef094c48b94f501b71edff4caaadb4545 / branch:
[09:18:40:220487] Info : Sources hash: d0b1e4d46195ed78ab5fccd6b1dd93f77d56dafcd09d1613ec1806014d40d496
[09:18:40:220488] 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.
[09:18:40:220497] Info : Reading cli arguments
[09:18:40:220499] Info : /usr/local/bin/cpcd
[09:18:40:237807] Info : Reading configuration
[09:18:40:237811] Info : file_path = /usr/local/etc/cpcd.conf
[09:18:40:237812] Info : instance_name = cpcd_0
[09:18:40:237813] Info : socket_folder = /dev/shm
[09:18:40:237814] Info : operation_mode = MODE_NORMAL
[09:18:40:237814] Info : use_encryption = false
[09:18:40:237815] Info : binding_key_file = /etc/binding-key.key
[09:18:40:237816] Info : stdout_tracing = false
[09:18:40:237816] Info : file_tracing = false
[09:18:40:237817] Info : lttng_tracing = false
[09:18:40:237818] Info : enable_frame_trace = false
[09:18:40:237818] Info : traces_folder = /dev/shm/cpcd-traces
[09:18:40:237819] Info : bus = UART
[09:18:40:237819] Info : uart_baudrate = 115200
[09:18:40:237820] Info : uart_hardflow = true
[09:18:40:237821] Info : uart_file = /dev/ttyUSB0
[09:18:40:237822] Info : fu_recovery_pins_enabled = false
[09:18:40:237822] Info : fu_connect_to_bootloader = false
[09:18:40:237823] Info : fu_enter_bootloader = false
[09:18:40:237823] Info : restart_cpcd = false
[09:18:40:237824] Info : application_version_validation = false
[09:18:40:237825] Info : print_secondary_versions_and_exit = false
[09:18:40:237825] Info : use_noop_keep_alive = false
[09:18:40:237826] Info : reset_sequence = true
[09:18:40:237827] Info : stats_interval = 0
[09:18:40:237827] Info : rlimit_nofile = 2000
[09:18:40:237828] Info : ENCRYPTION IS DISABLED
[09:18:40:237829] Info : Starting daemon in normal mode
[09:18:40:260189] Info : Connecting to Secondary...
[09:18:42:260280] Info : Failed to connect, secondary seems unresponsive
[09:18:42:260294] Info : Connecting to Secondary...

@darkxst
Copy link
Contributor

darkxst commented Jun 19, 2023

updated skyconnect to 4.2.2

You need current version 4.3.0

[09:18:40:237819] Info : uart_baudrate = 115200

baudrate needs to be set to 460800

@agners
Copy link
Member

agners commented Jun 19, 2023

@AOskam

[09:18:39] INFO: Flashing firmware is disabled

Also, please make sure to enable "Automatically flash firmware"!

@brunokc
Copy link

brunokc commented Jun 22, 2023

On a similar boat. I have a HA Yellow, so onboard Zigbee/Thread support. Once I sorted out the different serial port it needed to be on (ttyAMA4 for me), I'm now seeing the same message:

Jun 22 00:43:12 yellow addon_core_silabs_multiprotocol[560]: FATAL in function 'protocol_version_check' in file /usr/src/cpc-daemon/server_core/server_core.c at line #722 : Secondary Protocol v3 doesn't match CPCd Protocol v4

I do have "Automatically Flash Firmware" selected, but I don't see any attempts to update the firmware.

Is there a way to either force the firmware update or do it out of band, like with the SkyConnect?

Thanks!

Edit: adding additional logs. I wonder if the flasher is just skipping my device because it's not a USB device?

 Add-on: Silicon Labs Multiprotocol
 Zigbee and OpenThread multiprotocol add-on
-----------------------------------------------------------
 Add-on version: 2.2.0
 You are running the latest version of this add-on.
 System: Home Assistant OS 10.3  (aarch64 / yellow)
 Home Assistant Core: 2023.6.2
 Home Assistant Supervisor: 2023.06.2
-----------------------------------------------------------
 Please, share the above information when looking for help
 or support in, e.g., GitHub, forums or the Discord chat.
-----------------------------------------------------------
s6-rc: info: service banner successfully started
s6-rc: info: service universal-silabs-flasher: starting
[17:52:24] INFO: The selected serial port is not a USB device.
[17:52:24] WARNING: No firmware found for the selected device, assuming firmware is installed.
s6-rc: info: service universal-silabs-flasher successfully started
s6-rc: info: service cpcd-config: starting
[17:52:25] INFO: Generating cpcd configuration.
s6-rc: info: service cpcd-config successfully started
s6-rc: info: service cpcd: starting
[17:52:26] 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 #722 : Secondary Protocol v3 doesn't match CPCd Protocol v4

@brunokc
Copy link

brunokc commented Jun 22, 2023

I think I found the problem. Silicon Labs Multiprotocol (SLM) addon update 2.2.0 and Home Assistant OS 10.3 are incompatible. HA OS 10.3 moved the serial ports around. The SLM addon expects to find the radio on ttyAMA1 on HA Yellow, but with the HA OS 10.3 update, it looks like the radio is now on ttyAMA4. Then the flasher fails to find the radio on Yellow as it's hard-coded to look for it on ttyAMA1:

[...]
# Assume to run on Yellow if UART4 is mapped to ttyAMA1
if [ -d /sys/devices/platform/soc/fe201800.serial/tty/ttyAMA1 ] && [ "${device}" == "/dev/ttyAMA1" ]; then
    bashio::log.info "Detected Home Assistant Yellow"
    firmware="NabuCasa_Yellow_RCP_v4.3.0_rcp-uart-hw-802154_460800.gbl"
    gpio_reset_flag="--yellow-gpio-reset"
else
[...]

I'm going to try to manually run the flasher from within the container to get it updated.

@brunokc
Copy link

brunokc commented Jun 22, 2023

Success:

Jun 22 01:40:40: -----------------------------------------------------------
Jun 22 01:40:40:  Add-on: Silicon Labs Multiprotocol
Jun 22 01:40:40:  Zigbee and OpenThread multiprotocol add-on
Jun 22 01:40:40: -----------------------------------------------------------
Jun 22 01:40:40:  Add-on version: 2.2.0
Jun 22 01:40:40:  You are running the latest version of this add-on.
Jun 22 01:40:41:  System: Home Assistant OS 10.3  (aarch64 / yellow)
Jun 22 01:40:41:  Home Assistant Core: 2023.6.2
Jun 22 01:40:41:  Home Assistant Supervisor: 2023.06.2
Jun 22 01:40:41: -----------------------------------------------------------
Jun 22 01:40:41:  Please, share the above information when looking for help
Jun 22 01:40:41:  or support in, e.g., GitHub, forums or the Discord chat.
Jun 22 01:40:41: -----------------------------------------------------------
Jun 22 01:40:41: s6-rc: info: service banner successfully started
Jun 22 01:40:41: s6-rc: info: service universal-silabs-flasher: starting
Jun 22 01:40:42: [18:40:42] INFO: Detected Home Assistant Yellow
Jun 22 01:40:42: [18:40:42] INFO: Starting universal-silabs-flasher with /dev/ttyAMA4
Jun 22 01:40:43: 2023-06-21 18:40:43 yellow universal_silabs_flasher.flash[181] INFO Extracted GBL metadata: NabuCasaMetadata(metadata_version=1, sdk_version='4.3.0', ezsp_version=None, ot_rcp_version=None, fw_type=<FirmwareImageType.RCP_UART_802154: 'rcp-uart-802154'>, baudrate=460800)
Jun 22 01:40:43: 2023-06-21 18:40:43 yellow universal_silabs_flasher.flasher[181] INFO Triggering Yellow bootloader
Jun 22 01:40:43: 2023-06-21 18:40:43 yellow universal_silabs_flasher.flasher[181] INFO Probing ApplicationType.GECKO_BOOTLOADER at 115200 baud
Jun 22 01:40:43: 2023-06-21 18:40:43 yellow universal_silabs_flasher.flasher[181] WARNING No application can be launched
Jun 22 01:40:43: 2023-06-21 18:40:43 yellow universal_silabs_flasher.flasher[181] INFO Detected bootloader version '2.0.1'
Jun 22 01:40:43: 2023-06-21 18:40:43 yellow universal_silabs_flasher.flasher[181] INFO Launched application from bootloader, continuing probing
Jun 22 01:40:43: 2023-06-21 18:40:43 yellow universal_silabs_flasher.flasher[181] INFO Detected ApplicationType.GECKO_BOOTLOADER, version '2.0.1' at 115200 baudrate (bootloader baudrate 115200)
Jun 22 01:40:43: 2023-06-21 18:40:43 yellow universal_silabs_flasher.flash[181] INFO Firmware baudrate 115200 differs from expected baudrate 460800
Jun 22 01:40:43: NabuCasa_Yellow_RCP_v4.3.0_rcp-uart-hw-802154_460800.gbl
Jun 22 01:41:06: s6-rc: info: service universal-silabs-flasher successfully started
Jun 22 01:41:06: s6-rc: info: service cpcd-config: starting
Jun 22 01:41:06: [18:41:06] INFO: Using known baudrate of 460800 for cpcd!
Jun 22 01:41:07: [18:41:07] INFO: Generating cpcd configuration.
Jun 22 01:41:07: s6-rc: info: service cpcd-config successfully started
Jun 22 01:41:07: s6-rc: info: service cpcd: starting
Jun 22 01:41:07: [18:41:07] INFO: Starting cpcd...
Jun 22 01:41:07: 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.
Jun 22 01:41:08: s6-rc: info: service cpcd successfully started
Jun 22 01:41:08: s6-rc: info: service zigbeed: starting
Jun 22 01:41:08: s6-rc: info: service otbr-agent: starting
Jun 22 01:41:08: s6-rc: info: service zigbeed successfully started
Jun 22 01:41:08: [18:41:08] INFO: Starting zigbeed...

There's probably a better way to do this, but here's what I did:

  1. SSH into HA OS
  2. Stop the Sillicon Labs Multiprotocol addon
  3. cd /mnt/data
  4. Create a tag to hold on to the original image, just in case:
docker image tag homeassistant/aarch64-addon-silabs-multiprotocol:2.2.0 homeassistant/aarch64-addon-silabs-multiprotocol:hold
  1. Create a Dockerfile with these contents:
cat <<EOM > Dockerfile
FROM homeassistant/aarch64-addon-silabs-multiprotocol:2.2.0
RUN sed -i s/ttyAMA1/ttyAMA4/g /etc/s6-overlay/scripts/universal-silabs-flasher-up
EOM
  1. Create new patched image and mark it with the version and as latest as well:
docker build . -t homeassistant/aarch64-addon-silabs-multiprotocol:patched
docker image tag homeassistant/aarch64-addon-silabs-multiprotocol:patched homeassistant/aarch64-addon-silabs-multiprotocol:2.2.0
docker image tag homeassistant/aarch64-addon-silabs-multiprotocol:patched homeassistant/aarch64-addon-silabs-multiprotocol:latest
  1. Start the Sillicon Labs Multiprotocol addon
  2. Check the logs to see if the update took effect (I just used journalctl -ef on the SSH session I had opened)
  3. After the update, you might want to go back to the original image by retagging it and the restarting the addon:
docker image tag homeassistant/aarch64-addon-silabs-multiprotocol:hold homeassistant/aarch64-addon-silabs-multiprotocol:2.2.0
docker image tag homeassistant/aarch64-addon-silabs-multiprotocol:hold homeassistant/aarch64-addon-silabs-multiprotocol:latest

@github-actions
Copy link

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@github-actions github-actions bot added the stale label Jul 22, 2023
@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Jul 29, 2023
@mbay0r
Copy link

mbay0r commented Jan 31, 2024

Hi,

i have the same problem, here is the log.
any ideas? thank you very much.

Silicon Labs Multiprotocol Current version: 2.4.4
Core 2024.1.6
Supervisor 2023.12.1
Operating System 11.4

device: >-
  /dev/serial/by-id/usb-Silicon_Labs_CP2102N_USB_to_UART_Bridge_Controller_f280e7e92655ed11bcfc9c131d62bc44-if00-port0
baudrate: "460800"
flow_control: true
autoflash_firmware: true
cpcd_trace: false
otbr_enable: true
otbr_log_level: info
otbr_firewall: true
[16:40:26:175857] Info : Git commit: 133b29678b3d0bc7578e098d2f46b4d5bcd2ebb4 / branch: 
[16:40:26:175859] Info : Sources hash: ff8300587e7e4ab1def7a89a272c0baef32f9eb3bff9b0ba06b94e655d652367
[16:40:26:175863] 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.
[16:40:26:175892] Info : Reading cli arguments
[16:40:26:175900] Info : /usr/local/bin/cpcd 
[16:40:26:176263] Info : Reading configuration
[16:40:26:176267] Info :   file_path = /usr/local/etc/cpcd.conf
[16:40:26:176269] Info :   instance_name = cpcd_0
[16:40:26:176270] Info :   socket_folder = /dev/shm
[16:40:26:176271] Info :   operation_mode = MODE_NORMAL
[16:40:26:176272] Info :   use_encryption = false
[16:40:26:176273] Info :   binding_key_file = /etc/binding-key.key
[16:40:26:176274] Info :   stdout_tracing = false
[16:40:26:176274] Info :   file_tracing = false
[16:40:26:176275] Info :   lttng_tracing = false
[16:40:26:176276] Info :   enable_frame_trace = false
[16:40:26:176277] Info :   traces_folder = /dev/shm/cpcd-traces
[16:40:26:176278] Info :   bus = UART
[16:40:26:176279] Info :   uart_baudrate = 460800
[16:40:26:176280] Info :   uart_hardflow = false
[16:40:26:176281] Info :   uart_file = /dev/ttyS0
[16:40:26:176282] Info :   fu_recovery_pins_enabled = false
[16:40:26:176283] Info :   fu_connect_to_bootloader = false
[16:40:26:176283] Info :   fu_enter_bootloader = false
[16:40:26:176284] Info :   restart_cpcd = false
[16:40:26:176285] Info :   application_version_validation = false
[16:40:26:176286] Info :   print_secondary_versions_and_exit = false
[16:40:26:176287] Info :   use_noop_keep_alive = false
[16:40:26:176288] Info :   reset_sequence = true
[16:40:26:176289] Info :   stats_interval = 0
[16:40:26:176290] Info :   rlimit_nofile = 2000
[16:40:26:176291] Info : ENCRYPTION IS DISABLED 
[16:40:26:176292] Info : Starting daemon in normal mode
[16:40:26:176327] *** ASSERT *** : FATAL system call in function 'driver_uart_open' in file /usr/src/cpc-daemon/driver/driver_uart.c at line #325 : Input/output error
[16:40:27:176876] Info : Daemon exiting with status EXIT_FAILURE
Logger buffer size = 28672, highwater mark = 2205 : 7.69%. Lost logs : 0
[16:40:27] INFO: CPC ended with exit code 1 (signal 0)...
rm: cannot remove '/dev/shm/cpcd': No such file or directory
[16:40:28] 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 system call in function 'driver_uart_open' in file /usr/src/cpc-daemon/driver/driver_uart.c at line #325 : Input/output error``` 

@puddly
Copy link
Collaborator

puddly commented Jan 31, 2024

@mbay0r Please see #3192 (comment).

@alimdi
Copy link

alimdi commented May 3, 2024

Hi,

i have the same problem, here is the log. any ideas? thank you very much.

Silicon Labs Multiprotocol Current version: 2.4.4 Core 2024.1.6 Supervisor 2023.12.1 Operating System 11.4

device: >-
  /dev/serial/by-id/usb-Silicon_Labs_CP2102N_USB_to_UART_Bridge_Controller_f280e7e92655ed11bcfc9c131d62bc44-if00-port0
baudrate: "460800"
flow_control: true
autoflash_firmware: true
cpcd_trace: false
otbr_enable: true
otbr_log_level: info
otbr_firewall: true
[16:40:26:175857] Info : Git commit: 133b29678b3d0bc7578e098d2f46b4d5bcd2ebb4 / branch: 
[16:40:26:175859] Info : Sources hash: ff8300587e7e4ab1def7a89a272c0baef32f9eb3bff9b0ba06b94e655d652367
[16:40:26:175863] 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.
[16:40:26:175892] Info : Reading cli arguments
[16:40:26:175900] Info : /usr/local/bin/cpcd 
[16:40:26:176263] Info : Reading configuration
[16:40:26:176267] Info :   file_path = /usr/local/etc/cpcd.conf
[16:40:26:176269] Info :   instance_name = cpcd_0
[16:40:26:176270] Info :   socket_folder = /dev/shm
[16:40:26:176271] Info :   operation_mode = MODE_NORMAL
[16:40:26:176272] Info :   use_encryption = false
[16:40:26:176273] Info :   binding_key_file = /etc/binding-key.key
[16:40:26:176274] Info :   stdout_tracing = false
[16:40:26:176274] Info :   file_tracing = false
[16:40:26:176275] Info :   lttng_tracing = false
[16:40:26:176276] Info :   enable_frame_trace = false
[16:40:26:176277] Info :   traces_folder = /dev/shm/cpcd-traces
[16:40:26:176278] Info :   bus = UART
[16:40:26:176279] Info :   uart_baudrate = 460800
[16:40:26:176280] Info :   uart_hardflow = false
[16:40:26:176281] Info :   uart_file = /dev/ttyS0
[16:40:26:176282] Info :   fu_recovery_pins_enabled = false
[16:40:26:176283] Info :   fu_connect_to_bootloader = false
[16:40:26:176283] Info :   fu_enter_bootloader = false
[16:40:26:176284] Info :   restart_cpcd = false
[16:40:26:176285] Info :   application_version_validation = false
[16:40:26:176286] Info :   print_secondary_versions_and_exit = false
[16:40:26:176287] Info :   use_noop_keep_alive = false
[16:40:26:176288] Info :   reset_sequence = true
[16:40:26:176289] Info :   stats_interval = 0
[16:40:26:176290] Info :   rlimit_nofile = 2000
[16:40:26:176291] Info : ENCRYPTION IS DISABLED 
[16:40:26:176292] Info : Starting daemon in normal mode
[16:40:26:176327] *** ASSERT *** : FATAL system call in function 'driver_uart_open' in file /usr/src/cpc-daemon/driver/driver_uart.c at line #325 : Input/output error
[16:40:27:176876] Info : Daemon exiting with status EXIT_FAILURE
Logger buffer size = 28672, highwater mark = 2205 : 7.69%. Lost logs : 0
[16:40:27] INFO: CPC ended with exit code 1 (signal 0)...
rm: cannot remove '/dev/shm/cpcd': No such file or directory
[16:40:28] 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 system call in function 'driver_uart_open' in file /usr/src/cpc-daemon/driver/driver_uart.c at line #325 : Input/output error``` 

Got the same problem :

[12:32:45] 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 system call in function 'driver_uart_open' in file /usr/src/cpc-daemon/driver/driver_uart.c at line #323 : No such file or directory
[12:32:45:833174] Info : [CPCd v4.3.1.0] [Library API v3] [RCP Protocol v4]
[12:32:45:833304] Info : Git commit: 133b29678b3d0bc7578e098d2f46b4d5bcd2ebb4 / branch: 
[12:32:45:833308] Info : Sources hash: ff8300587e7e4ab1def7a89a272c0baef32f9eb3bff9b0ba06b94e655d652367
[12:32:45:833314] 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.
[12:32:45:833351] Info : Reading cli arguments
[12:32:45:833359] Info : /usr/local/bin/cpcd 
[12:32:45:833588] Info : Reading configuration
[12:32:45:833593] Info :   file_path = /usr/local/etc/cpcd.conf
[12:32:45:833595] Info :   instance_name = cpcd_0
[12:32:45:833597] Info :   socket_folder = /dev/shm
[12:32:45:833599] Info :   operation_mode = MODE_NORMAL
[12:32:45:833601] Info :   use_encryption = false
[12:32:45:833603] Info :   binding_key_file = /etc/binding-key.key
[12:32:45:833605] Info :   stdout_tracing = false
[12:32:45:833607] Info :   file_tracing = false
[12:32:45:833608] Info :   lttng_tracing = false
[12:32:45:833610] Info :   enable_frame_trace = false
[12:32:45:833612] Info :   traces_folder = /dev/shm/cpcd-traces
[12:32:45:833614] Info :   bus = UART
[12:32:45:833615] Info :   uart_baudrate = 460800
[12:32:45:833618] Info :   uart_hardflow = false
[12:32:45:833619] Info :   uart_file = /dev/ttyACM0
[12:32:45:833621] Info :   fu_recovery_pins_enabled = false
[12:32:45:833623] Info :   fu_connect_to_bootloader = false
[12:32:45:833625] Info :   fu_enter_bootloader = false
[12:32:45:833627] Info :   restart_cpcd = false
[12:32:45:833629] Info :   application_version_validation = false
[12:32:45:833631] Info :   print_secondary_versions_and_exit = false
[12:32:45:833632] Info :   use_noop_keep_alive = false
[12:32:45:833634] Info :   reset_sequence = true
[12:32:45:833636] Info :   stats_interval = 0
[12:32:45:833638] Info :   rlimit_nofile = 2000
[12:32:45:833640] Info : ENCRYPTION IS DISABLED 
[12:32:45:833642] Info : Starting daemon in normal mode
[12:32:45:833653] *** ASSERT *** : FATAL system call in function 'driver_uart_open' in file /usr/src/cpc-daemon/driver/driver_uart.c at line #323 : No such file or directory
[12:32:46:833852] Info : Daemon exiting with status EXIT_FAILURE
Logger buffer size = 28672, highwater mark = 2214 : 7.72%. Lost logs : 0
[12:32:46] INFO: CPC ended with exit code 1 (signal 0)...
rm: cannot remove '/dev/shm/cpcd': No such file or directory

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

9 participants