Zigbee2MQTT update 1.42.0-2 to 2.0.0-1 Not finding Sonofff dongle

Any help would be appreciated for this error, I have gone back to a previous backup but would like to upgrade to latest version.

I have just tried upgrading Zibee2MQTT to 2.0.0-1, once done my Sonoff dongle is no longer recognised. I have followed the suggestions in the log at Z2M 2.0.0: `USB adapter discovery error (No valid USB adapter found)` · Koenkk/zigbee2mqtt · Discussion #24364 · GitHub and added these lines in my configuration.yaml
serial:
port: >-
/dev/serial/by-id/usb-Silicon_Labs_Sonoff_Zigbee_3.0_USB_Dongle_Plus_0001-if00-port0
adapter: zstack
homeassistant_legacy_entity_attributes: false
homeassistant_legacy_triggers: false
legacy_api: false
legacy_availability_payload: false
legacy: false

In the adapter config I have added the line
adapter: zstack and also tried ezsp

I am getting errors in the log like:

[16:09:25] INFO: Preparing to start...
[16:09:25] INFO: Socat not enabled
[16:09:26] INFO: Starting Zigbee2MQTT...
Starting Zigbee2MQTT without watchdog.
[2025-01-04 16:09:27] error: 	zh:ezsp:ezsp: Connection attempt 1 error: Error: Error: No such file or directory, cannot open /dev/serial/by-id/usb-Silicon_Labs_Sonoff_Zigbee_3.0_USB_Dongle_Plus_0001-if00-port0 adapter: zstack
[2025-01-04 16:09:32] error: 	zh:ezsp:ezsp: Connection attempt 2 error: Error: Error: No such file or directory, cannot open /dev/serial/by-id/usb-Silicon_Labs_Sonoff_Zigbee_3.0_USB_Dongle_Plus_0001-if00-port0 adapter: zstack
[2025-01-04 16:09:42] error: 	zh:ezsp:ezsp: Connection attempt 3 error: Error: Error: No such file or directory, cannot open /dev/serial/by-id/usb-Silicon_Labs_Sonoff_Zigbee_3.0_USB_Dongle_Plus_0001-if00-port0 adapter: zstack
[2025-01-04 16:09:57] error: 	zh:ezsp:ezsp: Connection attempt 4 error: Error: Error: No such file or directory, cannot open /dev/serial/by-id/usb-Silicon_Labs_Sonoff_Zigbee_3.0_USB_Dongle_Plus_0001-if00-port0 adapter: zstack
[2025-01-04 16:09:57] error: 	z2m: Error while starting zigbee-herdsman
[2025-01-04 16:09:57] error: 	z2m: Failed to start zigbee-herdsman
[2025-01-04 16:09:57] error: 	z2m: Check https://www.zigbee2mqtt.io/guide/installation/20_zigbee2mqtt-fails-to-start_crashes-runtime.html for possible solutions
[2025-01-04 16:09:57] error: 	z2m: Exiting...
[2025-01-04 16:09:57] error: 	z2m: Error: Failure to connect
    at Ezsp.connect (/app/node_modules/.pnpm/[email protected]/node_modules/zigbee-herdsman/src/adapter/ezsp/driver/ezsp.ts:364:19)
    at Driver.startup (/app/node_modules/.pnpm/[email protected]/node_modules/zigbee-herdsman/src/adapter/ezsp/driver/driver.ts:186:13)
    at EZSPAdapter.start (/app/node_modules/.pnpm/[email protected]/node_modules/zigbee-herdsman/src/adapter/ezsp/adapter/ezspAdapter.ts:145:16)
    at Controller.start (/app/node_modules/.pnpm/[email protected]/node_modules/zigbee-herdsman/src/controller/controller.ts:136:29)
    at Zigbee.start (/app/lib/zigbee.ts:69:27)
    at Controller.start (/app/lib/controller.ts:142:13)
    at start (/app/index.js:161:5)

Or

z2m: Error: Error: No such file or directory, cannot open /dev/serial/by-id/usb-Silicon_Labs_Sonoff_Zigbee_3.0_USB_Dongle_Plus_0001-if00-port0 adapter: zstack

Your Sonoff dongle uses hardware from Silicon Labs so your adapter option should be ember, not zstack (which is for a different version of the Sonoff dongle).

Thanks for the reply, so I changed the Z2M config to

mqtt:
  server: mqtt://core-mosquitto:1883
  user: user
  password: password
serial:
  port: >-
    /dev/serial/by-id/usb-Silicon_Labs_Sonoff_Zigbee_3.0_USB_Dongle_Plus_0001-if00-port0
  adapter: ember

and the configuration.yaml to

data_path: /config/zigbee2mqtt
socat:
  enabled: false
  master: pty,raw,echo=0,link=/tmp/ttyZ2M,mode=777
  slave: tcp-listen:8485,keepalive,nodelay,reuseaddr,keepidle=1,keepintvl=1,keepcnt=5
  options: "-d -d"
  log: false
mqtt: {}
serial:
  adapter: ember
  port: >-
    /dev/serial/by-id/usb-Silicon_Labs_Sonoff_Zigbee_3.0_USB_Dongle_Plus_0001-if00-port0
frontend:
  enabled: true
  port: 8099
advanced:
  log_syslog:
    app_name: Zigbee2MQTT
    eol: /n
    host: localhost
    localhost: localhost
    path: /dev/log
    pid: process.pid
    port: 514
    protocol: udp4
    type: '5424'
  channel: 15
  log_level: error
  homeassistant_legacy_entity_attributes: false
  homeassistant_legacy_triggers: false
  legacy_api: false
  legacy_availability_payload: false
device_options:
  legacy: false

This is the error in the log

Starting Zigbee2MQTT without watchdog.
[2025-01-05 10:14:56] error: 	z2m: Error while starting zigbee-herdsman
[2025-01-05 10:14:56] error: 	z2m: Failed to start zigbee
[2025-01-05 10:14:56] error: 	z2m: Check https://www.zigbee2mqtt.io/guide/installation/20_zigbee2mqtt-fails-to-start.html for possible solutions
[2025-01-05 10:14:56] error: 	z2m: Exiting...
[2025-01-05 10:14:57] error: 	z2m: Error: Failed to start EZSP layer with status=HOST_FATAL_ERROR.
    at EmberAdapter.initEzsp (/app/node_modules/zigbee-herdsman/src/adapter/ember/adapter/emberAdapter.ts:684:19)
    at EmberAdapter.start (/app/node_modules/zigbee-herdsman/src/adapter/ember/adapter/emberAdapter.ts:1598:24)
    at Controller.start (/app/node_modules/zigbee-herdsman/src/controller/controller.ts:137:29)
    at Zigbee.start (/app/lib/zigbee.ts:69:27)
    at Controller.start (/app/lib/controller.ts:161:27)
    at start (/app/index.js:154:5)

Your device ID is not complete, it should have a serial number in it.
Check under Setttings/System/Hardware/All Hardware

ttyUSB# (ZBDongle-P) or ttyACM# (ZBDongle-E)

ZBDongle-P = zstack
ZBDongle-E = ember (or ezsp for older firmware)

This is one of mine (with xxxxxx for certain parts of the serial):
/dev/serial/by-id/usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_f0e8552af91bef11bf08a4d9xxxxxx-if00-port0

Thanks for your help, I have it working now and updated to v2. I set it back to zstack

configuration.yaml

  port: >-
    /dev/serial/by-id/usb-Silicon_Labs_Sonoff_Zigbee_3.0_USB_Dongle_Plus_0001-if00-port0
  adapter: zstack

and Z2M config

data_path: /config/zigbee2mqtt
socat:
  enabled: false
  master: pty,raw,echo=0,link=/tmp/ttyZ2M,mode=777
  slave: tcp-listen:8485,keepalive,nodelay,reuseaddr,keepidle=1,keepintvl=1,keepcnt=5
  options: "-d -d"
  log: false
mqtt: {}
serial:
  port: >-
    /dev/serial/by-id/usb-Silicon_Labs_Sonoff_Zigbee_3.0_USB_Dongle_Plus_0001-if00-port0
  adapter: zstack

The Settings/System/Hardware/AllHardware/ttyUSB0 is set to

ID: ID:
/dev/serial/by-id/usb-Silicon_Labs_Sonoff_Zigbee_3.0_USB_Dongle_Plus_0001-if00-port0

Interesting.

I have a Sonoff Dongle Plus with the TI chip which uses zstack. The device’s name does not contain “Silicon Labs” because that’s a different company making a different chip and uses ember (or the deprecated ezsp).

port: >
  dev/serial/by-id/usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_5xxxx-if00-port0

The fact yours indicates “Silicon Labs” in its name yet requires the use of zstack is puzzling.

In another topic, a user bought a Sonoff model E dongle but received a model P. They didn’t know they received a different model until they checked the model name printed on the back of the device.

Whenever you have a moment, I would appreciate it if you could check the model name printed on your dongle and confirm it does NOT end with “-P”.

Let us know what’s printed because it’s odd that a model E can work with the zstack protocol which is designed for completely different hardware (the model P).

Sorry for the delay, had to get into the loft

Side 1: Sonoff Zigbee 3.0 USB Dongle Plus
Side 2: Model: ZBDongle-P, Wireless connection: Zigbee 3.0,

Thanks for taking the time to check the model.

Your device is a “P” model so it uses the CC2652P chip from TI and requires the use of the zstack serial communications protocol.

No idea why “Silicon Labs” is mentioned in the device’s name because the P model doesn’t use the chip (EFR32MG21) from Silicon Labs.

/dev/serial/by-id/usb-Silicon_Labs_Sonoff_Zigbee_3.0_USB_Dongle_Plus_0001-if00-port0
                      ^^^^^^^^^^^^

That explains why it failed to work with the ember protocol which is meant for the “E” model employing the Silicon Labs chip.