Commit Graph

23 Commits

Author SHA1 Message Date
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
Cossid
54340050cf Add mcu_software_version fallback when version is not in storage. 2025-06-09 09:39:36 -05:00
Cossid
1f8cc171fe profile-building - Use factory_pin a bit more appropriately. 2025-01-08 08:11:47 -06:00
Cossid
e0639e6dfb profile-building: Support MCU version and upgrade checks. 2024-12-29 20:25:03 -06:00
Cossid
8b8604b780 Minor adjustment to token directions 2024-12-11 13:18:45 -06:00
Cossid
2fda4c394c pull_schema - use uuid instead of chip, as chip is not generated for patched devices. 2024-11-24 22:34:52 -06:00
Cossid
6ee1490d1c profile-building - Copy downloaded schema/schema_id to parent directory for profile regeneration. 2024-11-21 17:00:50 -06:00
Cossid
a9ff45a6ca Update pull_schema with extra fields useful for TuyaMCU devices. 2024-10-16 20:56:29 -05:00
Cossid
6a0551ffb9 Profile Building - Refactor check for if schema exists to base script, so specific script always acts if run.
Add an optional script to check if a firmware upgrade exists (requires pull_schema to have been run).
2023-03-19 18:05:10 -05:00
Cossid
f3646adc4f fix minor typo 2023-03-01 23:07:57 -06:00
Cossid
e744cf59ba Update instructions for obtaining a token using the Smart Life app. 2023-03-01 23:07:36 -06:00
Cossid
003d246a62 python linting and formatting updates
pull_schema
 - Show full token for better debugging
  - Only try firmware key if different from product key
cloudcutter
 - Add logging to all webhook endpoints
  - Only send MQTT OTA update message once.
2022-12-26 15:47:24 -06:00
Cossid
0669beb2e4 profile-building - pull_schema - Update regions, fix assignment bug in CN region. 2022-12-21 10:09:12 -06:00
Cossid
aae45afc72 profile-builder - pull_schema - Add region prefix to failure message when an unknown region is used. 2022-12-21 08:52:12 -06:00
Cossid
a93c1c0cea profile-building:
- Update to require bk7231tools 1.1.8
- Add second match string for BK7231T SDK 2.3.2
- Fix pyproject.toml to work with pip
- Break out tuya_api_connection class to it's own file since it is re-usable.
2022-12-18 17:05:27 -06:00
Cossid
f8ca07a45b Profile building - pull_schema - derive region and domain for API from token instead of passing in as an optional parameter. 2022-12-17 09:28:49 -06:00
Cossid
6464bd1c00 Profile building - pull_schema - Add a try/except for web requests, give a friendlier error when response is not as expected. 2022-12-15 21:30:47 -06:00
Cossid
cefbff7aa5 profile-building - Add more codes to continue searching for schemas after receiving. 2022-12-06 18:41:23 -06:00
Cossid
a43597cab3 Profile Building - Add device configuration to output device file.
Rework pull_schema to be more complete in trying all cases, and add a better error message for expired tokens.
2022-12-03 11:17:36 -06:00
Cossid
78cd02bbc9 Profile building - Pull Schema - Fix when product key and firmware key match, it should be considered a firmware key. 2022-12-02 10:57:11 -06:00
Cossid
1d5348c376 Profiler builder - Separate firmware key and product key, make pull_schema more aware and configurable of input variables. 2022-11-30 20:46:55 -06:00
Cossid
05735ffcf5 Profile building - Add extra safety checks, correct a typo. 2022-11-28 10:03:44 -06:00
Cossid
af29b546a2 Profile Building - Combine and merge haxomatic and profile builder into a series of scripts to better build classic and universal profiles. 2022-11-27 22:01:31 -06:00