Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

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

Confirm working or not writing new product string to CP2102N on “ITead Sonoff Zigbee 3.0 USB Dongle Plus” adapter? #19

Closed
Hedda opened this issue Dec 15, 2021 · 3 comments

Comments

@Hedda
Copy link
Contributor

Hedda commented Dec 15, 2021

Can anyone confirm if cp210x-program works for writing product string to CP2102N on “ITead Sonoff Zigbee 3.0 USB Dongle Plus”?

https://itead.cc/product/sonoff-zigbee-3-0-usb-dongle-plus/

https://sonoff.tech/product/diy-smart-switch/sonoff-dongle-plus/

ITead missed writing a custom product description string to CP2102N EEPROM on in their first few batches of ITead Sonoff Zigbee 3.0 USB Dongle Plus adapter so they were shipped without the custom product description that users want and need as a unique identity for automatic discovery in application software.

The latest batch has however been confirmed to have “Sonoff Zigbee 3.0 USB Dongle Plus” (without underscores) already written as Product Description String value to CP2102N EEPROM, and they also added "ITead" as manufacturer, (Note! Not VID or PID).

ITead has released a script that can supposedly write the same “Sonoff Zigbee 3.0 USB Dongle Plus” text as Product Description String value to CP2102N EEPROM to earlier shipped adapters as is now written to the later batches of this adapter but unfortunately closed source and no one has yet confirmed that tool working, and regardless I think many users would be hesitant to run such closed source program on their Windows computer:

https://www.facebook.com/SONOFF.official/posts/2927251720919807

The main reason why want this product string is written is so the USB adapter can be automatically discovered by Home Assistant OS. There is uses the product description string value as a unique identifier in an auto-detection feature for a Zigbee integration:

https://www.home-assistant.io/integrations/zha/#discovery-via-usb-or-zeroconf

https://www.home-assistant.io/integrations/usb/

https://community.home-assistant.io/t/community-help-wanted-to-whitelist-all-compatible-zigbee-and-z-wave-usb-adapters-for-automatic-discovery-in-home-assistant-os/344412

FYI, more information about using that ITead Sonoff Zigbee 3.0 USB Dongle Plus adapter in Home Assistant's ZHA integration here:

https://community.home-assistant.io/t/sonoff-zigbee-3-0-usb-dongle-plus-by-itead-is-based-on-texas-instruments-cc2652p-can-be-pre-ordered-for-10-99/340705/

@Hedda
Copy link
Contributor Author

Hedda commented Feb 24, 2022

I guess this could also be tested but not confirmed with the official Silabs official CP2102N USBXpress Bridge Development Kits?

https://www.silabs.com/development-tools/interface/cp2102n-development-kit

https://www.silabs.com/development-tools/interface/cp2102n-mini-development-kit

@Hedda
Copy link
Contributor Author

Hedda commented Mar 2, 2022

@OpenMyDog @ZZLinvec if you are employed by ITead and working with their “ITead Sonoff Zigbee 3.0 USB Dongle Plus” could you maybe help out with getting this cp210x-program (open-source Python tool/utility by VCTLabs to write to the EEPROM of Silicon Labs CP210x USB-to-UART bridge chip) by working with so can write a new "Product Description" string to its CP2102N?

https://github.com/VCTLabs/cp210x-program

FYI, ITead has posted a script that relies on a closed source program from Silicon Labs which is meant to let end-users themselves write an updated custom "Product Description" string to the CP2102N used by “ITead Sonoff Zigbee 3.0 USB Dongle Plus” adapter so that on already shipped older dongles can match the "Sonoff Zigbee 3.0 USB Dongle Plus” product description string already written to their later shipping batch of dongles (which again is used by application like Home Assistant to automatically discover this dongle a unique product):

https://www.facebook.com/SONOFF.official/posts/2927251720919807

I personally think that would be a much better solution to code a new script based on cp210x-program by VCTLabs as it would help open-source developers in related communities so that they can collaborate on improving this tool which could then be reused by the different open source communities.

@sarnold
Copy link
Member

sarnold commented Apr 14, 2022

I"ve been thinking about a more "modern" design for this, so far I have a sketchy mental design using pyusb, scapy, and marshmallow:

  • pyusb - read/write EEPROM config block
  • scapy - parse bytes into fields, extract data, emit bytes
  • marshmallow - validate data fields/values

@VCTLabs VCTLabs locked and limited conversation to collaborators Apr 14, 2022
@sarnold sarnold converted this issue into discussion #29 Apr 14, 2022

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants