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

ZDO Device Unavailable (0x3c) (TZ-1581) #581

Open
grebenyuk51 opened this issue Mar 1, 2025 · 2 comments
Open

ZDO Device Unavailable (0x3c) (TZ-1581) #581

grebenyuk51 opened this issue Mar 1, 2025 · 2 comments
Labels

Comments

@grebenyuk51
Copy link

grebenyuk51 commented Mar 1, 2025

Question

Sometimes I can see in logs in esp_zb_app_signal_handler() ZDO Device Unavailable (0x3c)
And unavailable current device. Not neighbor
Current device addr is 0x4ee9, and unavailable address is the same
Device is not responsive during these situations. I have to reboot it

case ESP_ZB_ZDO_DEVICE_UNAVAILABLE:
	esp_zb_zdo_device_unavailable_params_t *unavail_params = (esp_zb_zdo_device_unavailable_params_t *)esp_zb_app_signal_get_params(p_sg_p);
	ESP_LOGE(TAG,
		"ESP_ZB_ZDO_DEVICE_UNAVAILABLE. Short: 0x%04hx, long: 0x%02x%02x%02x%02x%02x%02x%02x%02x",
		esp_zb_get_short_address(),
		unavail_params->long_addr[7],
		unavail_params->long_addr[6],
		unavail_params->long_addr[5],
		unavail_params->long_addr[4],
		unavail_params->long_addr[3],
		unavail_params->long_addr[2],
		unavail_params->long_addr[1],
		unavail_params->long_addr[0]);
	break;

Logs:

I (286836) ROUTING: err=261, itr=65535
I (286836) Time: 1970-01-06T19:33:39Z
I (288946) Yellow Squash: ZDO signal: ZDO Device Unavailable (0x3c), status: ESP_OK
**E (288946) Yellow Squash: ESP_ZB_ZDO_DEVICE_UNAVAILABLE. Short: 0x4ee9, long: 0x00124b0029e8b232**
I (297656) DS18B20: temperature read from DS18B20[0]: 13.50C
I (297656) Network: Network Extended PAN ID: 01:37:0d:52:5e:ca:40:72, PAN ID: 0x07e1, Channel:15)
**I (297656) Network: My addr. Short: 0x4ee9, long: 0x404ccafffe5b2744**
I (297666) ROUTING: err=0, itr=3
short_addr=0xb416
device_type=1
depth=6
rx_on_when_idle=1
relationship=0
lqi=102
rssi=-60
outgoing_cost=186
age=157
device_timeout=10
timeout_counter=296865
I (297686) ROUTING: err=0, itr=37
short_addr=0x8956
device_type=3
depth=0
rx_on_when_idle=1
relationship=3
lqi=25
rssi=-75
outgoing_cost=186
age=157
device_timeout=10
timeout_counter=296885
I (297706) ROUTING: err=0, itr=41
short_addr=0xcd80
device_type=3
depth=1
rx_on_when_idle=1
relationship=3
lqi=10
rssi=-78
outgoing_cost=186
age=157
device_timeout=10
timeout_counter=296904
I (297726) ROUTING: err=0, itr=44
short_addr=0x1828
device_type=3
depth=1
rx_on_when_idle=1
relationship=3
lqi=40
rssi=-72
outgoing_cost=186
age=157
device_timeout=10
timeout_counter=296923
I (297746) ROUTING: err=0, itr=47
short_addr=0x0000
device_type=3
depth=0
rx_on_when_idle=1
relationship=3
lqi=10
rssi=-78
outgoing_cost=186
age=157
device_timeout=10
timeout_counter=296943
I (297766) ROUTING: err=261, itr=65535
I (297766) Time: 1970-01-06T19:33:50Z
**_ZB_TRACE_LOG[0]: nwk/nwk_main.c:3967    unknown or disallowed cmd - drop_**
I (308586) DS18B20: temperature read from DS18B20[0]: 13.44C
I (308586) Network: Network Extended PAN ID: 01:37:0d:52:5e:ca:40:72, PAN ID: 0x07e1, Channel:15)
**I (308586) Network: My addr. Short: 0x4ee9, long: 0x404ccafffe5b2744**
I (308596) ROUTING: err=0, itr=3
short_addr=0xb416
device_type=1
depth=6
rx_on_when_idle=1
relationship=0
lqi=102
rssi=-60
outgoing_cost=186
age=157
device_timeout=10
timeout_counter=307795
I (308616) ROUTING: err=0, itr=23
short_addr=0x0068
device_type=3
depth=1
rx_on_when_idle=1
relationship=3
lqi=45
rssi=-71
outgoing_cost=186
age=157
device_timeout=10
timeout_counter=307814
I (308636) ROUTING: err=0, itr=37
short_addr=0x8956
device_type=3
depth=0
rx_on_when_idle=1
relationship=3
lqi=25
rssi=-75
outgoing_cost=186
age=157
device_timeout=10
timeout_counter=307834
I (308656) ROUTING: err=0, itr=41
short_addr=0xcd80
device_type=3
depth=1
rx_on_when_idle=1
relationship=3
lqi=10
rssi=-78
outgoing_cost=186
age=157
device_timeout=10
timeout_counter=307853
I (308676) ROUTING: err=0, itr=44
short_addr=0x1828
device_type=3
depth=1
rx_on_when_idle=1
relationship=3
lqi=40
rssi=-72
outgoing_cost=186
age=157
device_timeout=10
timeout_counter=307873
I (308696) ROUTING: err=0, itr=47
short_addr=0x0000
device_type=3
depth=0
rx_on_when_idle=1
relationship=3
lqi=10
rssi=-78
outgoing_cost=186
age=157
device_timeout=10
timeout_counter=307892
I (308716) ROUTING: err=261, itr=65535
I (308716) Time: 1970-01-06T19:34:01Z
I (309806) Yellow Squash: ZDO signal: ZDO Device Unavailable (0x3c), status: ESP_OK
**E (309806) Yellow Squash: ESP_ZB_ZDO_DEVICE_UNAVAILABLE. Short: 0x4ee9, long: 0x00124b0029e8b232**
W (313616) Yellow Squash: Receive Zigbee action(0x1005) callback
I (313616) Yellow Squash: Default CMD command cluster 1026 (0x402) id 11 (0xb) status 0 from 0x0
I (313626) Yellow Squash: from: 00:12:4b:00:29:e8:b2:32

In Wireshark these moments looks like
Image

What is the proper way of processing such situations?

Additional context.

ESP32-C6 End Device. Addr of device is Short: 0x4ee9, long: 0x404ccafffe5b2744
SDK 1.6.3

@github-actions github-actions bot changed the title ZDO Device Unavailable (0x3c) ZDO Device Unavailable (0x3c) (TZ-1581) Mar 1, 2025
@grebenyuk51
Copy link
Author

Route request with no Response
Image

I (21405766) ROUTING: err=0, itr=2
short_addr=0xfbe8
device_type=1
depth=3
rx_on_when_idle=1
relationship=0
lqi=178
rssi=-45
outgoing_cost=186
age=157
device_timeout=10
timeout_counter=21404966
I (21405786) ROUTING: err=0, itr=3
short_addr=0xb416
device_type=1
depth=6
rx_on_when_idle=1
relationship=0
lqi=91
rssi=-62
outgoing_cost=186
age=157
device_timeout=10
timeout_counter=21404985
I (21405806) ROUTING: err=0, itr=4
short_addr=0x87f4
device_type=3
depth=1
rx_on_when_idle=1
relationship=3
lqi=15
rssi=-77
outgoing_cost=186
age=157
device_timeout=10
timeout_counter=21405005
I (21405826) ROUTING: err=0, itr=5
short_addr=0x6d1a
device_type=3
depth=0
rx_on_when_idle=1
relationship=3
lqi=20
rssi=-76
outgoing_cost=186
age=157
device_timeout=10
timeout_counter=21405024
I (21405846) ROUTING: err=0, itr=7
short_addr=0x674f
device_type=3
depth=1
rx_on_when_idle=1
relationship=3
lqi=10
rssi=-78
outgoing_cost=186
age=157
device_timeout=10
timeout_counter=21405044
I (21405866) ROUTING: err=0, itr=9
short_addr=0x429d
device_type=3
depth=5
rx_on_when_idle=1
relationship=3
lqi=51
rssi=-70
outgoing_cost=186
age=157
device_timeout=10
timeout_counter=21405064
I (21405886) ROUTING: err=0, itr=11
short_addr=0x3ddf
device_type=3
depth=1
rx_on_when_idle=1
relationship=3
lqi=20
rssi=-76
outgoing_cost=186
age=157
device_timeout=10
timeout_counter=21405084
I (21405906) ROUTING: err=0, itr=12
short_addr=0xfea4
device_type=3
depth=1
rx_on_when_idle=1
relationship=3
lqi=20
rssi=-76
outgoing_cost=186
age=157
device_timeout=10
timeout_counter=21405103
I (21405926) ROUTING: err=0, itr=14
short_addr=0x67c6
device_type=3
depth=3
rx_on_when_idle=1
relationship=3
lqi=40
rssi=-72
outgoing_cost=186
age=157
device_timeout=10
timeout_counter=21405123
I (21405946) ROUTING: err=0, itr=16
short_addr=0xe3a1
device_type=3
depth=1
rx_on_when_idle=1
relationship=3
lqi=20
rssi=-76
outgoing_cost=186
age=157
device_timeout=10
timeout_counter=21405143
I (21405966) ROUTING: err=0, itr=19
short_addr=0xb2e0
device_type=3
depth=1
rx_on_when_idle=1
relationship=3
lqi=40
rssi=-72
outgoing_cost=186
age=157
device_timeout=10
timeout_counter=21405163
I (21405986) ROUTING: err=0, itr=22
short_addr=0x79ac
device_type=3
depth=1
rx_on_when_idle=1
relationship=3
lqi=61
rssi=-68
outgoing_cost=186
age=157
device_timeout=10
timeout_counter=21405183
I (21406006) ROUTING: err=0, itr=23
short_addr=0x0068
device_type=3
depth=1
rx_on_when_idle=1
relationship=3
lqi=45
rssi=-71
outgoing_cost=186
age=157
device_timeout=10
timeout_counter=21405202
I (21406026) ROUTING: err=0, itr=24
short_addr=0x78f4
device_type=3
depth=1
rx_on_when_idle=1
relationship=3
lqi=76
rssi=-65
outgoing_cost=186
age=157
device_timeout=10
timeout_counter=21405222
I (21406046) ROUTING: err=0, itr=25
short_addr=0xe00c
device_type=3
depth=1
rx_on_when_idle=1
relationship=3
lqi=51
rssi=-70
outgoing_cost=186
age=157
device_timeout=10
timeout_counter=21405242
I (21406066) ROUTING: err=0, itr=26
short_addr=0x2af6
device_type=3
depth=1
rx_on_when_idle=1
relationship=3
lqi=35
rssi=-73
outgoing_cost=186
age=157
device_timeout=10
timeout_counter=21405262
I (21406086) ROUTING: err=0, itr=29
short_addr=0xb075
device_type=3
depth=1
rx_on_when_idle=1
relationship=3
lqi=45
rssi=-71
outgoing_cost=186
age=157
device_timeout=10
timeout_counter=21405281
I (21406106) ROUTING: err=0, itr=30
short_addr=0xdf25
device_type=3
depth=1
rx_on_when_idle=1
relationship=3
lqi=20
rssi=-76
outgoing_cost=186
age=157
device_timeout=10
timeout_counter=21405301
I (21406126) ROUTING: err=0, itr=31
short_addr=0x0ab1
device_type=3
depth=1
rx_on_when_idle=1
relationship=3
lqi=20
rssi=-76
outgoing_cost=186
age=157
device_timeout=10
timeout_counter=21405321
I (21406146) ROUTING: err=0, itr=32
short_addr=0x5175
device_type=3
depth=1
rx_on_when_idle=1
relationship=3
lqi=51
rssi=-70
outgoing_cost=186
age=157
device_timeout=10
timeout_counter=21405341
I (21406166) ROUTING: err=0, itr=33
short_addr=0x451f
device_type=3
depth=1
rx_on_when_idle=1
relationship=3
lqi=66
rssi=-67
outgoing_cost=186
age=157
device_timeout=10
timeout_counter=21405361
I (21406186) ROUTING: err=0, itr=37
short_addr=0x8956
device_type=3
depth=0
rx_on_when_idle=1
relationship=3
lqi=30
rssi=-74
outgoing_cost=186
age=157
device_timeout=10
timeout_counter=21405381
I (21406206) ROUTING: err=0, itr=38
short_addr=0x7e31
device_type=3
depth=1
rx_on_when_idle=1
relationship=3
lqi=20
rssi=-76
outgoing_cost=186
age=157
device_timeout=10
timeout_counter=21405400
I (21406216) ROUTING: err=0, itr=39
short_addr=0x30b6
device_type=3
depth=2
rx_on_when_idle=1
relationship=3
lqi=35
rssi=-73
outgoing_cost=186
age=157
device_timeout=10
timeout_counter=21405420
I (21406236) ROUTING: err=0, itr=40
short_addr=0x6d7a
device_type=3
depth=1
rx_on_when_idle=1
relationship=3
lqi=15
rssi=-77
outgoing_cost=186
age=157
device_timeout=10
timeout_counter=21405440
I (21406256) ROUTING: err=0, itr=41
short_addr=0xcd80
device_type=3
depth=1
rx_on_when_idle=1
relationship=3
lqi=10
rssi=-78
outgoing_cost=186
age=157
device_timeout=10
timeout_counter=21405460
I (21406276) ROUTING: err=0, itr=43
short_addr=0x6e0c
device_type=3
depth=2
rx_on_when_idle=1
relationship=3
lqi=25
rssi=-75
outgoing_cost=186
age=157
device_timeout=10
timeout_counter=21405479
I (21406296) ROUTING: err=0, itr=44
short_addr=0x1828
device_type=3
depth=1
rx_on_when_idle=1
relationship=3
lqi=40
rssi=-72
outgoing_cost=186
age=157
device_timeout=10
timeout_counter=21405499
I (21406316) ROUTING: err=0, itr=45
short_addr=0x166c
device_type=3
depth=1
rx_on_when_idle=1
relationship=3
lqi=40
rssi=-72
outgoing_cost=186
age=157
device_timeout=10
timeout_counter=21405519
I (21406336) ROUTING: err=0, itr=46
short_addr=0xfa31
device_type=3
depth=2
rx_on_when_idle=1
relationship=3
lqi=45
rssi=-71
outgoing_cost=186
age=157
device_timeout=10
timeout_counter=21405539
I (21406356) ROUTING: err=0, itr=47
short_addr=0x0000
device_type=3
depth=0
rx_on_when_idle=1
relationship=3
lqi=10
rssi=-78
outgoing_cost=186
age=157
device_timeout=10
timeout_counter=21405559
I (21406376) ROUTING: err=261, itr=65535
I (21406386) Time: 1970-01-07T01:25:38Z
ZB_TRACE_LOG[0]: nwk/nwk_main.c:3967    unknown or disallowed cmd - drop
I (21410346) Yellow Squash: ZDO signal: ZDO Device Unavailable (0x3c), status: ESP_OK
E (21410346) Yellow Squash: ESP_ZB_ZDO_DEVICE_UNAVAILABLE. Short: 0x4ee9, long: 0x00124b0029e8b232
I (21417196) DS18B20: temperature read from DS18B20[0]: 12.81C
I (21417196) Network: Network Extended PAN ID: 01:37:0d:52:5e:ca:40:72, PAN ID: 0x07e1, Channel:15)
I (21417196) Network: My addr. Short: 0x4ee9, long: 0x404ccafffe5b2744
I (21417206) ROUTING: err=0, itr=2

@xieqinan
Copy link
Contributor

xieqinan commented Mar 4, 2025

Not neighbor
Current device addr is 0x4ee9, and unavailable address is the same
Device is not responsive during these situations. I have to reboot it

This signal is usually generated when a command for a remote device is confirmed as unreachable after multiple APS retransmissions. At this point, the remote device is either offline or does not exist. It would be best to investigate the root cause of the issue from the remote device's side.

Could you also provide more details about the End Device, such as its logs and relevant functions?

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

No branches or pull requests

2 participants