I have a problem with my whole Zigbee network becoming unresponsive after running for a while. This happens seemingly at random. The longest I’ve seen it run fine is a couple of days, perhaps a week, after which I need to restart the Pi to make it work again (also, sometimes it gets stuck after a restart and I need to unplug the CC2531 stick physically to make the host boot).
So, for example, today at 5:21:59 I see the last unique data point from Bathroom temp sensor, after which the chart goes flat, i.e. the Zigbee controller crashed. It had also crashed before, so I restarted it at ca. 20:00 and it was working up until 5:21:
The logs around that time don’t really show anything interesting, except that the plug started throwing red into Zigbee2mqtt logs after a few minutes:
Zigbee2MQTT:info 2021-06-30 05:39:49: MQTT publish: topic 'zigbee2mqtt/Plug 1', payload '{"current":0,"energy":3.75,"linkquality":10,"power":0,"state":"OFF","voltage":221}'
Zigbee2MQTT:info 2021-06-30 05:40:27: MQTT publish: topic 'zigbee2mqtt/Plug 1', payload '{"current":0,"energy":3.75,"linkquality":13,"power":0,"state":"OFF","voltage":221}'
Zigbee2MQTT:info 2021-06-30 05:40:49: MQTT publish: topic 'zigbee2mqtt/Plug 1', payload '{"current":0,"energy":3.75,"linkquality":10,"power":0,"state":"OFF","voltage":221}'
Zigbee2MQTT:error 2021-06-30 08:18:30: Publish 'set' 'state' to 'Plug 1' failed: 'Error: Command 0x588e81fffed97e41/1 genOnOff.on({}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (Data request failed with error: 'MAC channel access failure' (225))'
Zigbee2MQTT:info 2021-06-30 08:18:30: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"Publish 'set' 'state' to 'Plug 1' failed: 'Error: Command 0x588e81fffed97e41/1 genOnOff.on({}, {\"timeout\":10000,\"disableResponse\":false,\"disableRecovery\":false,\"disableDefaultResponse\":false,\"direction\":0,\"srcEndpoint\":null,\"reservedBits\":0,\"manufacturerCode\":null,\"transactionSequenceNumber\":null,\"writeUndiv\":false}) failed (Data request failed with error: 'MAC channel access failure' (225))'","meta":{"friendly_name":"Plug 1"},"type":"zigbee_publish_error"}'
Zigbee2MQTT:error 2021-06-30 08:18:45: Publish 'set' 'state' to 'Plug 1' failed: 'Error: Command 0x588e81fffed97e41/1 genOnOff.on({}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (Data request failed with error: 'MAC channel access failure' (225))'
Zigbee2MQTT:info 2021-06-30 08:18:45: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"Publish 'set' 'state' to 'Plug 1' failed: 'Error: Command 0x588e81fffed97e41/1 genOnOff.on({}, {\"timeout\":10000,\"disableResponse\":false,\"disableRecovery\":false,\"disableDefaultResponse\":false,\"direction\":0,\"srcEndpoint\":null,\"reservedBits\":0,\"manufacturerCode\":null,\"transactionSequenceNumber\":null,\"writeUndiv\":false}) failed (Data request failed with error: 'MAC channel access failure' (225))'","meta":{"friendly_name":"Plug 1"},"type":"zigbee_publish_error"}'
Zigbee2MQTT:error 2021-06-30 08:18:53: Publish 'set' 'state' to 'Plug 1' failed: 'Error: Command 0x588e81fffed97e41/1 genOnOff.on({}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (Data request failed with error: 'MAC channel access failure' (225))'
Mosquitto logs after a fresh boot (the devices seem to be actually working despite the socket errors. Not sure if it’s relevant):
1625043854: New connection from 127.0.0.1 on port 1883.
1625043854: Socket error on client <unknown>, disconnecting.
1625043884: New connection from 172.30.32.1 on port 1883.
1625043884: New client connected from 172.30.32.1 as 78gyAuLq4QZPzuZ49K3XwB (p2, c1, k60, u'homeassistant').
1625044055: New connection from 172.30.32.2 on port 1883.
1625044055: Socket error on client <unknown>, disconnecting.
1625044091: New connection from 172.30.32.1 on port 1883.
1625044091: New client connected from 172.30.32.1 as mqttjs_e1bdad43 (p2, c1, k60, u'homeassistant').
1625044175: New connection from 172.30.32.2 on port 1883.
1625044175: Socket error on client <unknown>, disconnecting.
1625044295: New connection from 172.30.32.2 on port 1883.
1625044295: Socket error on client <unknown>, disconnecting.
1625044415: New connection from 172.30.32.2 on port 1883.
Supervisor log also has some indication of trouble:
21-06-30 11:48:06 WARNING (MainThread) [supervisor.addons.options] Unknown option 'new_api' for Zigbee2mqtt (7ad98f9c_zigbee2mqtt)
21-06-30 11:48:06 WARNING (MainThread) [supervisor.addons.options] Unknown option 'restartdelay' for Zigbee2mqtt (7ad98f9c_zigbee2mqtt)
21-06-30 11:48:06 WARNING (MainThread) [supervisor.addons.options] Unknown option 'initialdelay' for Zigbee2mqtt (7ad98f9c_zigbee2mqtt)
21-06-30 11:49:09 WARNING (MainThread) [supervisor.addons.options] Option 'anonymous' does not exist in the schema for Mosquitto broker (core_mosquitto)
Core log looks provides some additional hints, but I’m not sure what to make of them. Maybe :
[34771.737100] usb 2-2: new SuperSpeed Gen 1 USB device number 32 using xhci_hcd
[34771.790545] usb 2-2: New USB device found, idVendor=05e3, idProduct=0626, bcdDevice=62.05
[34771.790558] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[34771.790569] usb 2-2: Product: USB3.1 Hub
[34771.790579] usb 2-2: Manufacturer: GenesysLogic
[34771.797290] hub 2-2:1.0: USB hub found
[34771.799131] hub 2-2:1.0: 4 ports detected
[34772.117056] usb 2-2.4: new SuperSpeed Gen 1 USB device number 33 using xhci_hcd
[34772.160534] usb 2-2.4: New USB device found, idVendor=05e3, idProduct=0626, bcdDevice=62.05
[34772.160554] usb 2-2.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[34772.160570] usb 2-2.4: Product: USB3.1 Hub
[34772.160586] usb 2-2.4: Manufacturer: GenesysLogic
[34772.169833] hub 2-2.4:1.0: USB hub found
[34772.171718] hub 2-2.4:1.0: 4 ports detected
[34780.466506] usb 2-2: USB disconnect, device number 32
[34780.466534] usb 2-2.4: USB disconnect, device number 33
[34781.357235] usb 2-2: new SuperSpeed Gen 1 USB device number 34 using xhci_hcd
[34781.400901] usb 2-2: New USB device found, idVendor=05e3, idProduct=0626, bcdDevice=62.05
[34781.400921] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[34781.400937] usb 2-2: Product: USB3.1 Hub
[34781.400953] usb 2-2: Manufacturer: GenesysLogic
[34781.411984] hub 2-2:1.0: USB hub found
[34781.414053] hub 2-2:1.0: 4 ports detected
[34781.737202] usb 2-2.4: new SuperSpeed Gen 1 USB device number 35 using xhci_hcd
[34781.790674] usb 2-2.4: New USB device found, idVendor=05e3, idProduct=0626, bcdDevice=62.05
[34781.790697] usb 2-2.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[34781.790716] usb 2-2.4: Product: USB3.1 Hub
[34781.790735] usb 2-2.4: Manufacturer: GenesysLogic
[34781.800849] hub 2-2.4:1.0: USB hub found
[34781.802929] hub 2-2.4:1.0: 4 ports detected
[34966.799749] usb 2-2: USB disconnect, device number 34
[34966.799777] usb 2-2.4: USB disconnect, device number 35
On startup, the following is found in the logs:
# Supervisor:
21-06-30 12:04:04 INFO (SyncWorker_3) [supervisor.docker.interface] Attaching to zigbee2mqtt/zigbee2mqtt-armv7 with version 1.18.1-1
# Host
[ 2.156389] hub 2-2:1.0: USB hub found
[ 2.158210] hub 2-2:1.0: 4 ports detected
[ 2.285762] usb 1-1.1: new full-speed USB device number 3 using xhci_hcd
[ 2.434503] usb 1-1.1: New USB device found, idVendor=0451, idProduct=16a8, bcdDevice= 0.09
[ 2.434529] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 2.434545] usb 1-1.1: Product: TI CC2531 USB CDC
[ 2.434558] usb 1-1.1: Manufacturer: Texas Instruments
[ 2.434571] usb 1-1.1: SerialNumber: __0X00124B0014DA2C38
...
[ 2.865771] usb 1-1.2: new high-speed USB device number 5 using xhci_hcd
[ 2.966342] usb 1-1-port2: attempt power cycle
...
[ 3.625800] usb 1-1.2: new full-speed USB device number 6 using xhci_hcd
[ 3.734456] usb 1-1.2: not running at top speed; connect to a high speed hub
...
# This seems to keep repeating:
[ 1832.710297] usb 2-2.4: new SuperSpeed Gen 1 USB device number 31 using xhci_hcd
[ 1832.753761] usb 2-2.4: New USB device found, idVendor=05e3, idProduct=0626, bcdDevice=62.05
[ 1832.753780] usb 2-2.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 1832.753797] usb 2-2.4: Product: USB3.1 Hub
[ 1832.753812] usb 2-2.4: Manufacturer: GenesysLogic
[ 1832.763238] hub 2-2.4:1.0: USB hub found
[ 1832.765117] hub 2-2.4:1.0: 4 ports detected
I have the following setup:
- Raspberry Pi 4 8GB running Home Assistant OS 2021.6.6
-
CC2531 / CC2540 board from Aliexpress with an antenna plugged directly into the Pi. I’ve also tried using a powered USB hub, but it seems more stable being plugged in directly. I used the official guide for flashing firmware on it.
Coordinator firmware version: '{"meta":{"maintrel":3,"majorrel":2,"minorrel":6,"product":0,"revision":20190608,"transportrev":2},"type":"zStack12"}'
- Zigbee2MQTT + Mosquitto Broker 1.6.12
- A few Zigbee devices (all ordered from Aliexpress):
- 2x Lonsonho Tuya ZigBee Smart Plug
- 1x XIAOMI Mija Light Sensor
- 2x SONOFF SNZB-03 Motion Sensors
- 4x Aqara Temperature Sensors (3 of which I added yesterday)
- Probably not related, but I also have Z-Stick Gen5 for ZWave, which is plugged into the usb Hub and working perfectly.
To me, it seems that the CC2531 board is to blame (hence I categorized it under Hardware rather than Configuration → Zigbee), but I’ve run out of things to try and ways to debug. I’d highly appreciate some nudges on what else to troubleshoot and try. Alternative Zigbee sticks (Conbee and such) are hard to come by here, so I am trying to understand whether I can fix the current setup rather than replacing it with another one.