Zigbee2mqtt: VM ok, but RaspberryPi5 ETIMEDOUT / ECONNRESET

Have a working VM with HAOS Core 2024.12.2 and SLZB-06 Zigbee coordinator. Set up a RaspberryPi5 with same config and restore of complete backup from the VM. (worked great! kudos!)
zigbee2MQTT with HA on RaspberryPi5 fails with ETIMEDOUT and ECONNRESET on socket. If I reboot the SLZB-06 and restart Z2M will run for a couple of minutes and fail with ETIMEDOUT. If I set watchodog to 1,5,10,15,20 the watchdog restarts are okay, but after an ETIMEDOUT, get an ECONNRESET the next few retries. Here is a representative log snippet:

[2025-04-01 12:30:38] info: 	z2m: Logging to console, file (filename: log.log)
[2025-04-01 12:30:38] info: 	z2m: Starting Zigbee2MQTT version 2.1.3 (commit #unknown)
[2025-04-01 12:30:38] info: 	z2m: Starting zigbee-herdsman (3.2.7)
[2025-04-01 12:30:38] info: 	zh:zstack:znp: Opening TCP socket with 192.168.1.154:6638
[2025-04-01 12:30:38] info: 	zh:zstack:znp: Socket connected
[2025-04-01 12:30:38] info: 	zh:zstack:znp: Socket ready
[2025-04-01 12:30:38] info: 	zh:zstack:znp: Writing CC2530/CC2531 skip bootloader payload
[2025-04-01 12:30:39] info: 	zh:zstack:znp: Skip bootloader for CC2652/CC1352
[2025-04-01 12:30:40] info: 	z2m: zigbee-herdsman started (resumed)
[2025-04-01 12:30:40] info: 	z2m: Coordinator firmware version: '{"meta":{"maintrel":1,"majorrel":2,"minorrel":7,"product":1,"revision":20221226,"transportrev":2},"type":"zStack3x0"}'
[2025-04-01 12:30:40] info: 	z2m: Dining pendant (0xb0ce18140366f735): E11-G13 - Sengled Element classic (A19) (EndDevice)
.... more device info here....
[2025-04-01 12:30:40] info: 	z2m: Spare2 (0xb0ce18140366f691): E11-G13 - Sengled Element classic (A19) (EndDevice)
[2025-04-01 12:30:40] info: 	z2m: Currently 17 devices are joined.
[2025-04-01 12:30:40] info: 	z2m: Connecting to MQTT server at mqtt://core-mosquitto:1883
[2025-04-01 12:30:40] info: 	z2m: Connected to MQTT server
[2025-04-01 12:30:40] info: 	z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/bridge/state', payload '{"state":"online"}'
[2025-04-01 12:30:40] info: 	z2m: Started frontend on port 8099
[2025-04-01 12:30:40] info: 	z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Dining pendant', payload '{"brightness":254,"energy":0.12,"linkquality":91,"power":0,"state":"OFF","update":{"installed_version":9,"latest_version":9,"state":"idle"}}'
[2025-04-01 12:30:40] info: 	z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/West pendant', payload '{"brightness":254,"energy":0.34,"linkquality":102,"power":0,"state":"ON","update":{"installed_version":9,"latest_version":9,"state":"idle"}}'
.... more device info here....
[2025-04-01 12:30:40] info: 	z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Spare2', payload '{"energy":109951162.78,"linkquality":7,"power":0,"state":null,"update":{"installed_version":9,"latest_version":9,"state":"idle"}}'
[2025-04-01 12:30:40] info: 	z2m: Zigbee2MQTT started!
[2025-04-01 12:30:45] info: 	z2m:mqtt: MQTT publish: topic 'homeassistant/binary_sensor/1221051039810110150109113116116_0x00124b0031d82918/connection_state/config', payload '{"device":{"hw_version":"zStack3x0 20221226","identifiers":["zigbee2mqtt_bridge_0x00124b0031d82918"],"manufacturer":"Zigbee2MQTT","model":"Bridge","name":"Zigbee2MQTT Bridge","sw_version":"2.1.3"},"device_class":"connectivity","entity_category":"diagnostic","name":"Connection state","object_id":"zigbee2mqtt_bridge_connection_state","origin":{"name":"Zigbee2MQTT","sw":"2.1.3","url":"https://www.zigbee2mqtt.io"},"payload_off":"offline","payload_on":"online","state_topic":"zigbee2mqtt/bridge/state","unique_id":"bridge_0x00124b0031d82918_connection_state_zigbee2mqtt","value_template":"{{ value_json.state }}"}'
model":"Bridge","name":"Zigbee2MQTT Bridge","sw_version":"2.1.3"},"device_class":"connectivity","entity_category":"diagnostic","name":"Connection state","object_id":"zigbee2mqtt_bridge_connection_state","origin":{"name":"Zigbee2MQTT","sw":"2.1.3","url":"https://www.zigbee2mqtt.io"},"payload_off":"offline","payload_on":"online","state_topic":"zigbee2mqtt/bridge/state","unique_id":"bridge_0x00124b0031d82918_connection_state_zigbee2mqtt","value_template":"{{ value_json.state }}"}'
[2025-04-01 12:31:35] error: 	zh:zstack:znp: Socket error Error: read ETIMEDOUT
[2025-04-01 12:31:35] info: 	zh:zstack:znp: Port closed
[2025-04-01 12:31:35] info: 	zh:zstack:znp: closing
[2025-04-01 12:31:35] error: 	z2m: Adapter disconnected, stopping
[2025-04-01 12:31:35] info: 	z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/bridge/state', payload '{"state":"offline"}'
[2025-04-01 12:31:35] info: 	z2m: Disconnecting from MQTT server
[2025-04-01 12:31:35] info: 	z2m: Stopping zigbee-herdsman...
[2025-04-01 12:31:35] info: 	z2m: Stopped zigbee-herdsman
[2025-04-01 12:31:35] info: 	z2m: Stopped Zigbee2MQTT
WATCHDOG: Waiting 1min before next start try.
Starting Zigbee2MQTT with watchdog (60000,300000,900000,1800000,3600000).
[2025-04-01 12:32:35] info: 	z2m: Logging to console, file (filename: log.log)
[2025-04-01 12:32:35] info: 	z2m: Starting Zigbee2MQTT version 2.1.3 (commit #unknown)
[2025-04-01 12:32:35] info: 	z2m: Starting zigbee-herdsman (3.2.7)
[2025-04-01 12:32:35] info: 	zh:zstack:znp: Opening TCP socket with 192.168.1.154:6638
[2025-04-01 12:32:35] info: 	zh:zstack:znp: Socket connected
[2025-04-01 12:32:35] info: 	zh:zstack:znp: Socket ready
[2025-04-01 12:32:35] info: 	zh:zstack:znp: Writing CC2530/CC2531 skip bootloader payload
[2025-04-01 12:32:36] error: 	zh:zstack:znp: Socket error Error: read ECONNRESET
[2025-04-01 12:32:36] error: 	z2m: Error while starting zigbee-herdsman
[2025-04-01 12:32:36] error: 	z2m: Failed to start zigbee-herdsman
[2025-04-01 12:32:36] error: 	z2m: Check https://www.zigbee2mqtt.io/guide/installation/20_zigbee2mqtt-fails-to-start_crashes-runtime.html for possible solutions
[2025-04-01 12:32:36] error: 	z2m: Exiting...
[2025-04-01 12:32:36] error: 	z2m: Error: Error while opening socket
    at Socket.<anonymous> (/app/node_modules/.pnpm/[email protected]/node_modules/zigbee-herdsman/src/adapter/z-stack/znp/znp.ts:158:24)
    at Socket.emit (node:events:536:35)
    at emitErrorNT (node:internal/streams/destroy:170:8)
    at emitErrorCloseNT (node:internal/streams/destroy:129:3)
    at processTicksAndRejections (node:internal/process/task_queues:90:21)
[2025-04-01 12:32:36] info: 	zh:zstack:znp: Port closed
WATCHDOG: Waiting 5min before next start try.

You are not trying to ha e two Zigbee sticks connecting to the same network, are you?
The standard only allow one Zigbee coordinator (ie. Zigbee stick).

Thanks WallyR. Only one zigbee controller. Network, cabling, hardware configuration, antenna locations identical between working VM config and failing RaspberryPi 5 config. Same software load. Only difference is RaspberryPi 5 vs. a VM image.

e.g. RaspberryPi 5 and SBLZ-06 connected to same switch (as was VM and SBLZ-06).

Updated all software to latest and see same results:

  • Home Assistant 2025.4
  • Zigbee2MQTT version 2.2.0-1
  • zigbee-herdsman (3.4.11)
  • mqtt broker 6.5.0
  • SLZB-06 core v2.8.2.dev3
  • SLZB-06 radio 20221226
  • SLZB-06 zigbee coordinator 20250321

Could be faulty RaspberryPi 5 card getting noise on net circuits? Will look for a RaspberryPI 5 network test method.

Thanks all, for your ideas.

You are using an USB extension cable for the radio stick, right?

USB3 port chips are known to cause interference in the 2,4Ghz spectrum and the Zigbee signal strength is too weak to handle it, where WiFi is more powerful.
A 30-50cm cable should do it.

The SLZB-06 is ethernet based (you can run it with USB too, but then you need a cable anyway) SLZB-06 Zigbee Ethernet PoE USB LAN WIFI Adapter

Please show your /zigbee2mqtt/configuration.yaml