Files
Cossid b28723ae61 Add RTL8720CF support (#857)
* Initial RTL8720CF support

* Fix RTL8720CF_OTA file validation.

* be a bit more robust on chip string matching

* Really rough refactor of haxomatic for RTL8720CF, not complete.

* Update RTL8720CF 2.3.0 haxomatic hex match strings

* Remove length validation from authkey/uuid so it can work with both Tuya and CloudCutter generated keys.

* Fix bk7231 string detection
Add second RTL8720CF 2.3.0 profile

* Refactor haxomatic to be more modular and maintainable.

* haxomatic - minor cleanup

* profile-building - Pull PSK when pulling schema.

* Haxomatic - Search all binaries for patch patterns.
Update known RTL8720CF match pattern identifiers.

* Change network to custom 10.204.0.1/24 network (204 = 0xCC)
Send multiple DNS servers, which may help devices that hang after DHCP
Spend less time sending wifi connect requests so AP can start listening sooner.

* Update exploit for new offsets.

* Haxomatic - Add 1.0.x SDK

* Update haxomatic for newer found patterns.

* Minor tweaks

* Updates to profile-building

* Add storage parsing to extract_rtl8720cf

* Switch to bk7231tools to extract rtl8720cf storage to remove an unneeded dependency.

* remove debug code

* Add special case for sdk identification for single build missing standard string.

* Find swv before device_class, as we may want to search directly after it.

* Update comments, seek entire bin for storage.

* Add missing new address in profile.
Add ability to process inactive OTA app.

* Update documentation.

* fix typo.

* Fix a type in beken extract.

* Add haxomatic pattern for oddball BK7231N 2.3.1 SDK.

* Haxomatic - Add RTL8720CF 2.3.1 SDK pattern.

* Fix copy/paste typo

* profile-building - proceess_app - add more device class match strings.

* one more

* profile-building - better log SDK data

* Add a special thanks section.

* fix typo

* Clean up documentation.

* documentation - use numbered lists.

* process_app - add another device class identifier.
2025-11-25 17:18:58 -06:00
..
2025-11-25 17:18:58 -06:00

Profiles moved

"Legacy" device profiles have been migrated to a new format.

The new repository of devices and profiles can be found here:

https://github.com/tuya-cloudcutter/tuya-cloudcutter.github.io


If you'd like to submit a profile you generated, create a pull request to the repo above, not tuya-cloudcutter.

Testing custom profiles

After generating a profile, you'll get two files in profile-classic directory. You can rename the one in profile-classic/devices/ however you want, and update its manufacturer and name strings. Do not change any other fields, as well as the file in profile-classic/profiles/.

These two files can be added to tuya-cloudcutter.github.io repository in a pull request.

To test the profile locally, you can copy the 2 JSONs (without any parent directories) to a subdirectory in device-profiles, like this:

device-profiles/
├─ your-device-name/
│  ├─ your-device-name.json
│  ├─ oem-bk7231n-dctrl-switch-1.1.0-sdk-2.3.1-40.00.json

and run sudo ./tuya-cloudcutter.sh -p your-device-name.