Koenkk / zigbee2mqtt

Zigbee 🐝 to MQTT bridge 🌉, get rid of your proprietary Zigbee bridges 🔨
https://www.zigbee2mqtt.io
GNU General Public License v3.0
11.75k stars 1.64k forks source link

Sonoff CC2652P router doesn't pair #12916

Closed mendoncart closed 2 years ago

mendoncart commented 2 years ago

What happened?

I have 2 Sonoff dongle CC2652P. One is flashed with firmware CC1352P2_CC2652P_launchpad_coordinator_20220219 and working (despite the weak signal) with zigbee2mqtt and my zigbee devices. Now, I want to use my second Sonoff Dongle CC2652P as a router, so I flashed it with firmware CC1352P2_CC2652P_launchpad_router_20220125, but it doesn't pair to zigbee network... I've tried to use z-tool.exe, but it doesn't even detect the dongle with the router firmware, only with coordinator firmware. I can't get the router to pair.

What did you expect to happen?

The router flashed dongle to join the zigbee2mqtt device list, and work as a router.

How to reproduce it (minimal and precise)

Flash one sonoff dongle with firmware CC1352P2_CC2652P_launchpad_coordinator_20220219 Set it up with zigbee2mqtt add some zigbee devices on it (so far, everything works) (now the problem) flash other sonoff dongle with firmware CC1352P2_CC2652P_launchpad_router_20220125 enable permit join on zigbee2mqtt wait and nothing happens Disconnectig the newly flashed router and plugging it on a wall power adpter does nothing

Zigbee2MQTT version

1.25.2 commit: 3c5854f

Adapter firmware version

20220219

Adapter

ITead’s Sonoff Zigbee 3.0 USB Dongle Plus

Debug log

No response

fnees commented 2 years ago

Hi, don´t mean to hijack your post, but I have the exact same setup and the router did pair once. I changed the channel and can´t get it to re-pair. Have you seen any instructions on how to set it in pairing mode? Can´t find it anywhere....

As a comment, first time my didn't work I reloaded the fw, have you tried that?

EDIT: Mine are CC2652P as in the description, not the CC2532P as on the title...

jerrm commented 2 years ago

I've flashed 4 or 5 Sonoff Zigbee 3.0 Dongle Plus sticks as routers without issue, moving some of them between machines and between zha/z2m multiple times.

The steps I take:

I haven't tried changing channels in z2m explicitly, but re-flashing a previously paired stick has put the it back into pairing mode for me.

Also, if you remove the stick from net via z2m, it will go back into pairing mode.

YMMV

mendoncart commented 2 years ago

Hi, don´t mean to hijack your post, but I have the exact same setup and the router did pair once. I changed the channel and can´t get it to re-pair. Have you seen any instructions on how to set it in pairing mode? Can´t find it anywhere....

As a comment, first time my didn't work I reloaded the fw, have you tried that?

EDIT: Mine are CC2652P as in the description, not the CC2532P as on the title...

Hi! No problem at all! Thanks for the heads up on the description, I had made a mistake on the title. Yes, I did reflash it several times with the router firmware. None of them worked. I haven't reflash my coordinator, because I would probably have to repair all my devices again, and if I can avoid doing that again, it would be great. I didn't find any instructions about putting the dongle in pairing mode. Only trough zigbee2mqtt can I enable the coordinator to accept new devices.

mendoncart commented 2 years ago
  • cc2538-bsl

What would this be? My dongle flashed as router is not detected by my coordinator... I don't know why is not working, I follow the same steps in this video, but my router never shows up... https://www.youtube.com/watch?v=4usy1ESI4k4&ab_channel=MarkWattTech

ashokaiyar commented 2 years ago

Like @jerrm, I use cc2538-bsl to flash my Sonoff CC2652P USB dongles as routers. With the same firmware version you are using. Works fine. Maybe something is wrong with the program you are using to flash the firmware.

Why not just use cc2538-bsl?

fnees commented 2 years ago

As a contribution, to re-pair sonoff dongle one must open the case and press any of the two buttons shortly.

rolfie23 commented 2 years ago

Here the same problem. Moved from a cc2531 which was working flawlessly but because of the limitations of stat stock ordered an sonoff. No pairing, battery's of remote die very soon etc. No errors or something, then devices where losing. Needed to repair with the old stick.

After some days went back to the 2531 and no problems left, only some errors in the log of Domoticz but those came from the legacy API. Thought it was because of sonoff.... But maybe there is more.

github-actions[bot] commented 2 years ago

This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 7 days

mendoncart commented 2 years ago

I'm still waiting for help.

ashokaiyar commented 2 years ago

I'm still waiting for help.

Did you try using cc2538-bsl?

rolfie23 commented 2 years ago

I'm still waiting for help.

Did you try using cc2538-bsl?

I did, didn't help. Tried every update way mentioned on the internet.

ashokaiyar commented 2 years ago

I did, didn't help.

Can you post the logs generated when flashing with cc2538-bsl? They will provide clues as to what the issue is.

Profixit commented 2 years ago

I use the SONOFF Dongle as a router and coordinator myself. From my experience I get the same problem trying to add routers to my network. If the Router (SONOFF Dongle) has never been used before, then it will connect without problems. If it was previously used as a router then joining the network again is problematic. I find pressing the reset button next to the bootloader button when plugged in seems to clear the memory (not sure about that) it will then be recognised.

rolfie23 commented 2 years ago

I did, didn't help.

Can you post the logs generated when flashing with cc2538-bsl? They will provide clues as to what the issue is.

Where can I find them? Looked in the folder where the cc2538-bsl plugin was, but can't find the logs.

rolfie23 commented 2 years ago

I use the SONOFF Dongle as a router and coordinator myself. From my experience I get the same problem trying to add routers to my network. If the Router (SONOFF Dongle) has never been used before, then it will connect without problems. If it was previously used as a router then joining the network again is problematic. I find pressing the reset button next to the bootloader button when plugged in seems to clear the memory (not sure about that) it will then be recognised.

Here a brand new sonoff that's not working. It's in a case don't going to remove the case every time... So that's no solution.

Profixit commented 2 years ago

I leave the case off, until I'm happy with my mesh. Strange a new one isn't recognised.

rolfie23 commented 2 years ago

I leave the case off, until I'm happy with my mesh. Strange a new one isn't recognised.

That you want to work that way.... Even my old cc2531 can work without putting a case off when adding a new device.

ashokaiyar commented 2 years ago

Where can I find them? Looked in the folder where the cc2538-bsl plugin was, but can't find the logs.

Setup a screen capture - they're console logs.

mcruscher commented 2 years ago

Same issue here. Pairing with SONOFF Zigbee 3.0 USB Dongle Plus ZBDongle-P is not working. Existing network is up and running but pairing new devices is not working. Did anyone figured this out yet?

Koenkk commented 2 years ago

In order to debug this, I would to need a sniff + network key when trying to pair the router: https://www.zigbee2mqtt.io/advanced/zigbee/04_sniff_zigbee_traffic.html#with-cc2531

rolfie23 commented 2 years ago

Sorry I have it really busy last weeks. Whole domotica put aside, and it will be coming weeks to. So if someone else can do it please.

mcruscher commented 2 years ago

Did my best to do the job. The sniff is attached and network key is default. Never changed is. Hopefully does this do the job. I'm no expert in reading this sniffs but I traced the 'joining' and 'closed joining'. In between I tried to join an IKEA E1743 on/off switch and a Xiaomi Door sensor (MCCGQ01LM). With no succes dump.pcapng.zip .

Koenkk commented 2 years ago

@mcruscher

mcruscher commented 2 years ago

@Koenkk

Koenkk commented 2 years ago

@mcruscher can you provide me a sniff when pairing close to the coordinator?

mcruscher commented 2 years ago

@Koenkk Enclosed a new sniff with equal procedure but then close to the coordinator (within 2-5 cm range). Hopefully gives this more insight. Thanks for helping! sniff-close-to.pcapng.zip

Koenkk commented 2 years ago

Can you try to repair the devices with network address 0x9e15 and 0xf897? They are reporting pan identifier conflicts.

image

After that, please provide me a sniff again when trying to pair.

mendoncart commented 2 years ago

Hi @Koenkk! I don't have a CC2531 stick nor a HUSBZB-1 and EZSP USB sticks. So I guess I cant provide you a sniff that you require...

Can you please confirm the procedure of pairing a new CC2652P as router? I have one cc2652p already working as coordinator, so I flash the other stick with firmware CC1352P2_CC2652P_launchpad_router_20220125, and after this, I enable permit join on zigbee2mqtt, but nothing happens...

If I press the button on the router stick, the zigbee2mqtt recognize something but still doesn't pair.

Am I doing something obviously wrong?

mcruscher commented 2 years ago

@Koenkk I did a repair on the mentioned devices (both routers) but stil same results. Next try was to remove and then repair. This was successful. This lead me to remove en repairing all routers. As a consequence I had to repair all child-devices as well. In the end I builded up my entire network which is working again. But te migration from CC2531 to CC2652 was not that smoothly I was hoping for. The identifier conflict you mentioned are most likely the cause of this all. However it makes me curious how these conflicts are caused.

Koenkk commented 2 years ago

@mendoncart

If I press the button on the router stick, the zigbee2mqtt recognize something but still doesn't pair.

Can you provide the log of this.

@mcruscher

great that the issue is fixed now.

But te migration from CC2531 to CC2652 was not that smoothly I was hoping for.

it indeed isn't and due to technical reason it cannot be made smoother. A detailed explanation can be found in https://github.com/Koenkk/zigbee2mqtt/issues/9117; TLDR; the CC2531 doesn't store all information needed for the CC2652 to properly pair devices (mainly due to Zigbee 1.2 -> Zigbee 3.0 migration)

mendoncart commented 2 years ago

Hi @Koenkk, sorry it took so long.

Here is the log after setting zigbee2mqtt pairing to Permit Join All, and pressing the boot button on the cc2652p flashed with router firmware.

https://pastebin.com/S1dj9K8H

Just to clarify, the log says that a device was successfully configured, but this device does not show in any place. Nor the dashboard, nor the devices listed under the permit join button, nor the network map.

Koenkk commented 2 years ago

@mendoncart

Info 2022-08-31 15:50:00Configuring 'Coordinator'
Info 2022-08-31 15:50:00Successfully configured 'Coordinator'

Could it be that this device has the same ieeeAddress of your coordinator? You can change it in flash programmer v2 (TI flashing tool: https://www.zigbee2mqtt.io/guide/adapters/#notes

mendoncart commented 2 years ago

Bingo! That was it!!! They both had the same Address. Thank you @Koenkk! You rock! image image

For anyone coming across the same problem, here are a few steps to solve it:

  1. Follow this guide to change you stick address.
  2. You can generate a new address using this tool. 2.1 In the middle box click Encode 2.2 Just paste your current address on the left 2.3 Change the middle box back to Decode 2.4 Change some characters on the left 2.5 Copy your new address
  3. Reflash your stick following the guide on step 1.
BobbyMoore commented 9 months ago

Bingo! That was it!!! They both had the same Address. Thank you @Koenkk! You rock! image image

For anyone coming across the same problem, here are a few steps to solve it:

  1. Follow this guide to change you stick address.
  2. You can generate a new address using this tool. 2.1 In the middle box click Encode 2.2 Just paste your current address on the left 2.3 Change the middle box back to Decode 2.4 Change some characters on the left 2.5 Copy your new address
  3. Reflash your stick following the guide on step 1.

Does anyone have any further detailed instruction on this? I suspect I have the same issue, but unable to follow the above steps for https://cryptii.com/pipes/base64-to-hex.

Base64 encoding? From Hex to what?

tismofied commented 6 months ago

I've flashed 4 or 5 Sonoff Zigbee 3.0 Dongle Plus sticks as routers without issue, moving some of them between machines and between zha/z2m multiple times.

The steps I take:

  • Flash under Linux (usually from the HA container) with cc2538-bsl using the sonoff bootloader parameter
  • Disconnect stick from usb
  • Enable permit join in z2m
  • Plug stick into a power block
  • Stick pairs virtually instantly

I haven't tried changing channels in z2m explicitly, but re-flashing a previously paired stick has put the it back into pairing mode for me.

Also, if you remove the stick from net via z2m, it will go back into pairing mode.

YMMV

Thank you so much. power block was the successful step for me.