logo elektroda
logo elektroda
X
logo elektroda

Request for Help – Flashing Della Minisplit WiFi Module (WBR3 on TCWBRCU1)

dressyspider 13878 265
ADVERTISEMENT
  • Helpful post
    #181 21578460
    AbidingOhmsLaw
    Level 9  
    Posts: 24
    Help: 1
    Rate: 5
    It's connected to pin 2 & 3, on the RX there is a level shifting circuit to go from 5V to 3V3 logic and then there is transient voltage protection on power and TX/RX lines. Looks straightforward.

    Here is the schematic I traced. (note since this was just a trace I did not try to figure out the resistor, capacitor, or transistor values)

    Request for Help – Flashing Della Minisplit WiFi Module (WBR3 on TCWBRCU1)

    Added after 9 [minutes]:

    >>21578382 No I have a USB UART adapter connected to Log_tx and Log_rx to watch what's going on. I will try with only VCC & GND.

    Added after 27 [minutes]:

    With only the VCC and GND connected when I issue the startDriver TCL it still crashes and reboots but I can't capture the error as the Web Application logs starts after the reboot, I would assume it's the same error.
  • ADVERTISEMENT
  • #182 21578514
    divadiow
    Level 38  
    Posts: 4880
    Help: 427
    Rate: 869
    yup yup. ok. just thought I'd go for the obvious cos you never know :D
  • #183 21578568
    AbidingOhmsLaw
    Level 9  
    Posts: 24
    Help: 1
    Rate: 5
    >>21578302

    Only this flag is checked
    Flag 10 - [MQTT] Broadcast self state on MQTT connect

    This flag is unchecked
    Flag 26 - [UART] Use alternate UART for BL0942, CSE, TuyaMCU, etc

    Added after 6 [minutes]:

    >>21578514

    Of course, especially when there is something odd going on.
  • ADVERTISEMENT
  • #184 21578587
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14444
    Help: 650
    Rate: 12414
    Maybe @AbidingOhmsLaw can take full flash backup for @divadiow to write to his device and test?>
    Helpful post? Buy me a coffee.
  • #186 21578748
    AbidingOhmsLaw
    Level 9  
    Posts: 24
    Help: 1
    Rate: 5
    Here is the firmware as read from the device and a screenshot of the web page
    Request for Help – Flashing Della Minisplit WiFi Module (WBR3 on TCWBRCU1)
  • #187 21578849
    divadiow
    Level 38  
    Posts: 4880
    Help: 427
    Rate: 869
    Request for Help – Flashing Della Minisplit WiFi Module (WBR3 on TCWBRCU1)
    flashed backup to same devices as above. driver does start

    Added after 20 [minutes]:

    OK on 3rd device too - BW15. I've tried pulling all low/high in GPIO dr to no difference. hmm

    Added after 3 [minutes]:

    >>21566741 I don't think I see evidence in posts to say you've de-soldered WBR1 - but is that an option if not already tried?
  • #188 21579183
    AbidingOhmsLaw
    Level 9  
    Posts: 24
    Help: 1
    Rate: 5
    @divadiow Nope the WBR1 is still soldered to the TCLWBR module that I found has its own data sheet on the Tuya site

    https://developer.tuya.com/en/docs/iot/tclwbr-datasheet?id=Kcqmpgs2yc5c6

    The module is only providing power and level translation to the WBR1, I would not think that should cause an issue with the UART. When I flash the stock Tuya firmware back to the module it works and I get the expected output on the UART pins.

    When I flash the OBK firmware (does not matter what build) on first boot up I get these:
    
    Warning: Sector header check failed. Format this sector (0x001f0000).
    Warning: Sector header check failed. Format this sector (0x001f1000).
    Warning: Sector header check failed. Format this sector (0x001f2000).
    Warning: Sector header check failed. Format this sector (0x001f3000).
    Warning: Sector header check failed. Format this sector (0x001f4000).
    Warning: Sector header check failed. Format this sector (0x001f5000).
    Warning: Sector header check failed. Format this sector (0x001f6000).
    Warning: Sector header check failed. Format this sector (0x001f7000).
    Warning: Sector header check failed. Format this sector (0x001f8000).
    Warning: Sector header check failed. Format this sector (0x001f9000).
    Warning: Sector header check failed. Format this sector (0x001fa000).
    Warning: Sector header check failed. Format this sector (0x001fb000).
    Warning: Sector header check failed. Format this sector (0x001fc000).
    Warning: Sector header check failed. Format this sector (0x001fd000).
    Warning: Sector header check failed. Format this sector (0x001fe000).
    Warning: Sector header check failed. Format this sector (0x001ff000).
    Warning: All sector header check failed. Set it to default.
    


    But I don't get these on subsequent boots, Could there be a partition table or part of flash that is not getting correctly being written over? Do these chips have a way to lock out areas like the Esp32? Is that address space 0x001f0000 - 0x001ff000 even valid?
  • ADVERTISEMENT
  • #189 21579192
    insmod
    Level 31  
    Posts: 1356
    Help: 161
    Rate: 426
    I managed to reproduce the issue on a much earlier build. (march 27 dev build)
    If RX is connected to GND (likely in this case), or, i assume, the packet arrives at the precise moment uart is configured, it crashes.

    Added after 1 [minutes]:

    >>21579183 Ignore this warning, this is OBK configuration area preparing (formatting, only on first boot).
  • #190 21579198
    AbidingOhmsLaw
    Level 9  
    Posts: 24
    Help: 1
    Rate: 5
    _____________________________________IT WORKS___________________________________________

    And it is my fault :(

    OK so I while trying to think this out I realized that I have been powering the WBR1 directly to the 3V3 power pin and not via the 5V connector on the TCLWBR board (that has a 3v3 regulator). Looking over the datasheets on the WBR1 I realized that 3V3 AND VCC must be connected and I was not connecting VCC under test since you don't need it to flash. I disconnected the 3v3 from the WBR1 and connected 5v to the TCLWBR board and bingo it works!!!


    Request for Help – Flashing Della Minisplit WiFi Module (WBR3 on TCWBRCU1)

    Added after 8 [hours] 40 [minutes]:

    Got both units fully set up now! I don't mind the delay between changing a setting and the HA card changing, and actually like that it is confirming the change. One this I have noticed, and I think it's with the HA card not OBK or driver, is that the temp on the card is displayed with a tenths digit and the unit will round up or down if you set a temp that is not on the zero for the tenths place.
  • #191 21580173
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14444
    Help: 650
    Rate: 12414
    Interesting, are you refering to VIN pin?
    Request for Help – Flashing Della Minisplit WiFi Module (WBR3 on TCWBRCU1)
    I was not aware about that.

    Are you using temperature in C or F? Temperature is stored as integer, so there is no fractional part. I can check HA discovery code to see if there is an option to specify that.

    Or, again - i can do the thing i already mentioned - just store value sent by HA and use it, and internally allow device to work on the integers, as it's restricted by the protocol
    Helpful post? Buy me a coffee.
  • #192 21580299
    AbidingOhmsLaw
    Level 9  
    Posts: 24
    Help: 1
    Rate: 5
    In some of the documentation they refer to pin 1 as VCC
    Request for Help – Flashing Della Minisplit WiFi Module (WBR3 on TCWBRCU1)


    There is also this "Application note" (Attached) that seems to indicate that pin 1 must also be tied to the power rail. The interesting part is that on the datasheet site indicates that pin1 may be 3V3 or 5V or used as a UART pin? (odd and I did not see other mention of that)

    
    Pin number     Symbol     I/O type     Function
    1              Vin        P            UART_TX, Power supply conversion (5V or 3.3V)
    


    The TCLWBR adaptor board that is in my units has a 3V3 regulator in it and supplies Pin 1 with 5V and Pin 4 with 3V3

    https://developer.tuya.com/en/docs/iot/tclwbr-datasheet?id=Kcqmpgs2yc5c6

    Added after 7 [minutes]:

    Also I am using Fahrenheit, This is the shot showing the HA card with tenths

    Request for Help – Flashing Della Minisplit WiFi Module (WBR3 on TCWBRCU1)

    When setting it, if you stop at a temp above over .5 above it will go to the next whole digit up, and if you stop at .5 or lower it goes to the next lower whole digit (typical rounding). It's not that bothersome. I like the delay for the settings, I am taking that as, when I send a setting the HA card is not changing until the MQTT topic comes back with the new settings. I like that confirmation as I won't be in the garage when I am remotely settings the units and wont have the unit's direct feedback.
    Attachments:
    • WBR1 Module_Tuya Developer Platform_Tuya Developer Platform.pdf (250.37 KB) You must be logged in to download this attachment.
  • #193 21580432
    divadiow
    Level 38  
    Posts: 4880
    Help: 427
    Rate: 869
    @AbidingOhmsLaw — 3/1/25, 6:12 PM
    Code: Text
    Log in, to see the code


    just remembering this from Discord. Did you ever capture full factory boot log? I'm just curious which of the product keys your MCU was sending to the Tuya firmware on WBR1. I wonder if any of your dpIDs are different, though it sounds like you've tested most (?) things and they work?

    Added after 26 [minutes]:

    Request for Help – Flashing Della Minisplit WiFi Module (WBR3 on TCWBRCU1)
    @dressyspider variant add: https://github.com/OpenBekenIOT/webapp/pull/1...mits/db25f6037def6b7b92211c55eed58fdbb2329e6f


    Request for Help – Flashing Della Minisplit WiFi Module (WBR3 on TCWBRCU1)
    @AbidingOhmsLaw variant add (needs more model detail though): https://github.com/OpenBekenIOT/webapp/pull/1...mits/f5e596cc9a124c4ab68757f9f8a3eeae3dbfd84e

    Added after 54 [seconds]:

    pinging @MrGenius who may also have a Della and be interested in this thread
  • #194 21580493
    AbidingOhmsLaw
    Level 9  
    Posts: 24
    Help: 1
    Rate: 5
    I did capture it, Sorta, but I did not save it as there was just a bunch of hex characters following the protocol from the link I posted and the WBR1 started the conversation with the start string I mentioned so I think it was using a custom protocol and could never figure out if it issued anything that identified the pID, MCU or version at least not over the UART. I suspect that it might have given a bunch of data over MQTT to the Tuya server but I never set that up because I did not want to connect my network to the Tuya server (also it's blocked on my DNS). Anyway when I started to decode the UART comms I found that someone else (I gave the link) had already done it. They were using ESP32 and I was going to try that but did not get around to fully getting that going, I think I might have a txt file of the LogRX/LogTX comms at boot somewhere, I will give a look.

    I can get in inside units and outside unit model number though if that might help get the pIDs. Also would the comms from the MCU in the unit still be requesting the pID, could I still capture it for you r is it too late?
  • #195 21580562
    divadiow
    Level 38  
    Posts: 4880
    Help: 427
    Rate: 869
    AbidingOhmsLaw wrote:
    I think I might have a txt file of the LogRX/LogTX comms at boot somewhere

    ah, it's maybe this I was after, but maybe it won't contain the product id key. just curious to know which of the 5 in your original backup is the one used by your model.

    Code: Text
    Log in, to see the code


    Dressyspider's was obtained from the Tuya dev site though after pairing re: https://www.elektroda.com/rtvforum/topic4119999-60.html#21552194
  • #196 21580940
    AbidingOhmsLaw
    Level 9  
    Posts: 24
    Help: 1
    Rate: 5
    >>21580562 Found it, I tried using the TuyaMCU Explorer program but I could not get it to run correctly under mono or Wine (it would load but would not load any files).

    
    ��[01-01 00:01:00 ty N][lr:0x9b02df91] wf_state-------:0
    
    �����������êKɁB•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁrRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁÂ’²ªê*ÉɁb•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁšÂ’²ªê*ÉɁb•…‘é‚ÂÁrBÑœ¹±}¡•…‘é‚ÂÁzRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚Âå
    ÁšÂ’²ªê*ÉɁb•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁšÂ’²ªê*ÉɁB•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁŽÂ’²ªê*ÉɁB•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁŒÂ’²ªê*ÉɁB•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁvRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁšÂ’²ªê*ÉɁB•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁrRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁšÂ’²ªê*ÉɁB•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚Âå
    ÁšÂ’²ªê*ÉɁb•…‘é‚ÂÁrBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁšÂ’²ªê*ÉɁB•…‘é‚ÂÁrBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁŒÂ’²ªê*ÉɁb•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁŽÂ’²ªê*ÉɁB•…‘é‚ÂÁrBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢åzum±Éé‚ÂåÁšÂ’²ªê*ÉɁb•…‘é‚ÂÁrBÑœ¹±}¡•…‘é€ÂÁrRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁšÂ’²ªê*ÉɁ`•…‘é‚ÂÁrBÑœ¹±}¡•…‘é‚ÂÁzRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁšÂ’²ªê*ÉɁB•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢åzum±Éé‚ÂåÁŽÂ’²ªê*ÉɁb•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢åyum±Éé‚Âå
    ÁšÂ’²ªê*ÉɁB•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁrRôŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚Âå
    ÁšÂ’²ªê*ÉɁb•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚Âå
    ÁŠÂ’²ªê*ÉɁB•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢åzum±Éé‚ÂåÁšÂ’²ªê*ÉɁB•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢åzum±Éé‚ÂåÁšÂ’²ªê*ÉɁB•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁvRôŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁšÂ’²ªê*ÉɁ`•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁzRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁšÂ’²ªê*ÉɁB•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁšÂ’²ªê*ÉɁb•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁšÂ’²ªê*ÉɁB•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁtR莊j‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁšÂ’²ªê*ÉɁb•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁšÂ’²ªê*ÉɁB•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁšÂ’²ªê*ÉɁb•…‘é‚ÂÁrBÑœ¹±}¡•…‘é‚ÂÁvRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁšÂ’²ªê*ÉɁB•…‘é‚ÂÁrBÑœ¹±}¡•…‘é‚ÂÁzRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢åxum±Éé‚ÂåÁšÂ’²ªê*ÉɁB•…‘é‚ÂÁpBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚Âå
    ÁšÂ’²ªê*ÉɁb•…‘é‚ÂÁpBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁšÂ’²ªê*ÉɁb•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁzRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁšÂ’²ªê*ÉɁB•…‘é‚ÂÁrBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁšÂ’²ªê*ÉɁb•…‘é‚ÂÁrBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁšÂ’²ªê*ÉɁB•…‘é‚ÂÁrBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚Âå
    ÁšÂ’²ªê*ÉɁB•…‘é‚ÂÁqBÑœ¹±}¡•…‘é‚ÂÁrRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé€ÂåÁšÂ’²ªê*ÉɁB•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢åzum±Éé‚ÂåÁšÂ’²ªê*ÉɁB•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁšÂ’²ªê*ÉɁb•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚Âå
    ÁšÂ’²ªê*ÉɁb•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢åzum±Éé‚ÂåÁšÂ’²ªê*ÉɁb•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁrRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁŠÂ’²ªê*ÉɁb•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢åxum±Éé‚ÂåÁšÂ’²ªê*ÉɁb•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚Âå   ÁÂ’²ªê*ÉɁb•…‘é‚ÂÁrBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁšÂ’²ªê*ÉɁb•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢åxum±Éé‚ÂåÁŒÂ’²ªê*ÉɁ`•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁrRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁŠÂ’²ªê*ÉɁb•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚Âå
    ÁŽÂ’²ªê*ÉɁB•…‘é‚ÂÁrBÑœ¹±}¡•…‘é‚ÂÁrRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁšÂ’²ªê*ÉɁ`•…‘é‚ÂÁpBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁšÂ’²ªê*ÉɁb•…‘é‚ÂÁrBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚Âå
    ÁšÂ’²ªê*ÉɁB•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢åzum±Éé‚ÂåÁŠÂ’²ªê*ÉɁB•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁšÂ’²ªê*ÉɁb•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁšÂ’²ªê*ÉɁB•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢åzum±Éé‚ÂåÁšÂ’²ªê*ÉɁB•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁšÂ’²ªê*ÉɁB•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁvRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁšÂ’²ªê*ÉɁB•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁšÂ’²ªê*ÉɁ`•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁšÂ’²ªê*ÉɁB•…‘é‚ÂÁrBÑœ¹±}¡•…‘é‚ÂÁzRôŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁŠÂ’²ªê*ÉɁb•…‘é‚ÂÁrBÑœ¹±}¡•…‘é‚ÂÁtRäü[01-01 00:00:00 ty N][lr:0x9b02da59] mf_init succ
    
    [01-01 00:00:00 ty N][lr:0x9b02e4dd] enter device init
    
    [01-01 00:00:00 ty N][lr:0x9b031a87] prod_type:0
    
    [01-01 00:00:00 ty N][lr:0x9b031a8f] prod_state:19
    
    [01-01 00:00:00 ty N][lr:0x9b02e5b9] **********[rtl8720cf_common_tcl_air_ty] [1.0.12] compiled at Oct 24 2023 14:29:44**********
    
    [01-01 00:00:00 ty N][lr:0x9b02e5bf] device_init succ
    
    [01-01 00:00:10 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:00:20 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:00:30 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:00:40 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:00:50 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:01:00 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:01:10 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:01:20 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:01:30 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:01:40 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:01:50 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:02:00 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:02:10 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:02:20 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:02:30 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:02:40 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:02:50 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:03:00 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:03:10 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:03:20 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:03:30 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:03:40 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:03:50 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:04:00 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:04:10 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:04:20 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:04:30 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:04:40 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:04:50 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:05:00 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:05:10 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:05:20 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:05:30 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:05:40 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:05:50 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:06:00 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:06:10 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:06:20 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:06:30 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:06:40 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:06:50 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:07:00 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:07:10 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:07:20 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:07:30 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:07:40 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:07:50 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:08:00 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:08:10 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:08:20 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:08:30 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:08:40 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:08:50 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:09:00 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:09:10 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:09:20 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:09:30 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:09:40 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:09:50 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:09:55 ty N][lr:0x9b04a9c9] cur timeq num: 8
    
    [01-01 00:09:55 ty N][lr:0x9b04a9f7] cur workq highpri num: 0
    
    [01-01 00:09:55 ty N][lr:0x9b04aa17] cur workq system num: 0
    
    [01-01 00:09:55 ty N][lr:0x9b04aa5b] cur free heap: 110000
    
    [01-01 00:09:55 ty N][lr:0x9b04aa67] cur runtime: 595226
    
    [01-01 00:10:00 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:10:10 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:10:20 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:10:30 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:10:40 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:10:50 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:11:00 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:11:10 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:11:20 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:11:30 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:11:40 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:11:50 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:12:00 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:12:10 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:12:20 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:12:30 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:12:40 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:12:50 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:13:00 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:13:10 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:13:20 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:13:30 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:13:40 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:13:50 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:14:00 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:14:10 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:14:20 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:14:30 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:14:40 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:14:50 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:15:00 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:15:10 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:15:20 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:15:30 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:15:40 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:15:50 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:16:00 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:16:10 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:16:20 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:16:30 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:16:40 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:16:50 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:17:00 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:17:10 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:17:20 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:17:30 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:17:40 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:17:50 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:18:00 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:18:10 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:18:20 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:18:30 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:18:40 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:18:50 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:19:00 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:19:10 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:19:20 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:19:30 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:19:40 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:19:50 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:19:55 ty N][lr:0x9b04a9c9] cur timeq num: 8
    
    [01-01 00:19:55 ty N][lr:0x9b04a9f7] cur workq highpri num: 1
    
    [01-01 00:19:55 ty N][lr:0x9b04aa17] cur workq system num: 0
    
    [01-01 00:19:55 ty N][lr:0x9b04aa5b] cur free heap: 109952
    
    [01-01 00:19:55 ty N][lr:0x9b04aa67] cur runtime: 1195251
    
    [01-01 00:20:00 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:20:10 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:20:20 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:20:30 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:20:40 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:20:50 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:21:00 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:21:10 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:21:20 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:21:30 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:21:40 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:21:50 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:22:00 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:22:10 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:22:20 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:22:30 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:22:40 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:22:50 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:23:00 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:23:10 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:23:20 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:23:30 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:23:40 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:23:50 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:24:00 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:24:10 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:24:20 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:24:30 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:24:40 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:24:50 ty N][lr:0x9b02df91] wf_state-------:0
    
    �����������åj’²ªê*ÉɁb•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁzRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁšÂ’²ªê*ÉɁB•…‘é‚ÂÁrBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁŒÂ’²ªê*ÉɁb•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁrRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚Âå
    ÁšÂ’²ªê*ÉɁb•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁzRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁšÂ’²ªê*ÉɁb•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁvR쎊j‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁšÂ’²ªê*ÉɁ`•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁšÂ’²ªê*ÉɁB•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢åxum±Éé‚ÂåÁŒÂ’²ªê*ÉɁB•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁšÂ’²ªê*ÉɁB•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁŠÂ’²ªê*ÉɁb•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁvRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁŽÂ’²ªê*ÉɁb•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁšÂ’²ªê*ÉɁB•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁšÂ’²ªê*ÉɁb•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁšÂ’²ªê*ÉɁB•…‘éÂÁrBÑœ¹±}¡•…‘é‚ÂÁtR䎊j‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁšÂ’²ªê*ÉɁB•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚Âå
    ÁŠÂ’²ªê*ÉɁb•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁzRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁŠÂ’²ªê*ÉɁB•…‘é‚ÂÁpBÑœ¹±}¡•…‘é€ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁŠÂ’²ªê*ÉɁB•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁšÂ’²ªê*ÉɁB•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁšÂ’²ªê*ÉɁb•…‘é‚ÂÁrBÑœ¹±}¡•…‘é€ÂÁzRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁšÂ’²ªê*ÉɁb•…‘é‚ÂÁrBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁšÂ’²ªê*ÉɁB•…‘é‚ÂÁbBÑœ¹±}¡•…‘é€ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁšÂ’²ªê*ÉɁb•…‘é‚ÂÁrBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁšÂ’²ªê*ÉɁb•…‘é‚ÂÁrBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁšÂ’²ªê*ÉɁB•…‘é‚ÂÁrBÑœ¹±}¡•…‘é‚ÂÁvRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁšÂ’²ªê*ÉɁb•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁrRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚Âå
    ÁšÂ’²ªê*ÉɁb•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢åyum±Éé‚ÂåÁŠÂ’²ªê*ÉɁB•…‘é‚ÂÁpBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁšÂ’²ªê*ÉɁB•…‘é€ÂÁrBÑœ¹±}¡•…‘é‚ÂÁjRÔŽŠj‚Š‚‚Ò‚‚Ò‚‚¢årum±Éé‚ÂåÁšÂ’²ªê*ÉɁb•…‘é‚ÂÁbBÑœ¹±}¡•…‘é‚ÂÁrRÔü[01-01 00:00:00 ty N][lr:0x9b02da59] mf_init succ
    
    [01-01 00:00:00 ty N][lr:0x9b02e4dd] enter device init
    
    [01-01 00:00:00 ty N][lr:0x9b031a87] prod_type:0
    
    [01-01 00:00:00 ty N][lr:0x9b031a8f] prod_state:19
    
    [01-01 00:00:00 ty N][lr:0x9b02e5b9] **********[rtl8720cf_common_tcl_air_ty] [1.0.12] compiled at Oct 24 2023 14:29:44**********
    
    [01-01 00:00:00 ty N][lr:0x9b02e5bf] device_init succ
    
    [01-01 00:00:10 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:00:20 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:00:30 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:00:40 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:00:50 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:01:00 ty N][lr:0x9b02df91] wf_state-------:0
    
    [01-01 00:01:10 ty N][lr:0x9b02df91] wf_state-------:0
    
  • #197 21581046
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14444
    Help: 650
    Rate: 12414
    Why are you using TuyaMCUExplorer (simple UART port tool with TuyaMCU parsing) to view non-TuyaMCU protocol?
    Helpful post? Buy me a coffee.
  • #198 21581094
    AbidingOhmsLaw
    Level 9  
    Posts: 24
    Help: 1
    Rate: 5
    >>21581046 It was just me trying it out, had not used it before and was going to try it on a smart Christmas light set I got but I could not get it to work even on the sample files. I was trying to run it under Wine under the default config so not surprising. More of my curiosity on the software, I did not expect it to be able to decode the log file.
  • #199 21581101
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14444
    Help: 650
    Rate: 12414
    Ah, I see. Well, don't worry, I'm available every day and I check forum often, so if you want to try it on Christmas lamps, just make a generic packet capture, open a new topic, and I'll check out it once you post it. I'm sure we'll manage to get them working.
    Helpful post? Buy me a coffee.
  • #200 21581236
    AbidingOhmsLaw
    Level 9  
    Posts: 24
    Help: 1
    Rate: 5
    >>21581101 I actually got the same set that I put ESPHome on and then figured out the MCU communications protocol and then wrote a bunch of code to emulate all the functions. I was going to play around with a set and openBeken for fun. I know there are people that have probably done the same cleaner and better than I (It's a common set on Amazon) but like I said it's fun. I'm a SecOps guy that has been at it for 30yr and firmware tinkering and microcontrollers is my way to unwind.

    @divadiow , @p.kaczmarek2, @insmod Thank You all for helping with the Della, Unlike the x-mas lights That one is definitely a need!

    Request for Help – Flashing Della Minisplit WiFi Module (WBR3 on TCWBRCU1)

    Added after 3 [hours] 3 [minutes]:

    And of course @dressyspider for starting the thread and doing the debugging
  • #201 21587488
    dressyspider
    Level 2  
    Posts: 83
    Rate: 10
    Hey everyone,

    Quick update: I’ll be working on finishing the Della Mini Split OpenBeken flashing and setup guide this week. You can find it here: https://www.elektroda.com/rtvforum/topic4125928.html.

    I was away for a little while due to family matters, but I’m now available again and happy to assist with testing, troubleshooting, or anything else the community might need.


    divadiow wrote:
    Did you ever capture full factory boot log? I'm just curious which of the product keys your MCU was sending to the Tuya firmware on WBR1. I wonder if any of your dpIDs are different, though it sounds like you've tested most (?) things and they work?


    I never captured a full factory boot log. I had ordered a device to sniff the UART communication, but it got lost during shipping. I moved forward with manual testing and confirmed that everything appears to work correctly. The DPID mappings are consistent with what others have already discovered.


    AbidingOhmsLaw wrote:
    And of course @dressyspider for starting the thread and doing the debugging


    Thank you. My goal was to help other Della owners break free from Tuya and gain full local control. It has been exciting to see the community build on that progress.
  • #202 21588363
    dressyspider
    Level 2  
    Posts: 83
    Rate: 10
    Hey @p.kaczmarek2

    Does the latest release (1.18.125) include the mini split support/configurations?
  • #203 21588818
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14444
    Help: 650
    Rate: 12414
    I'm afraid we can't really add this driver to main release. It's too large and we already have LFS being overwritten on OTA on multiple occasions.
    We have online build system configuration option instead: https://www.elektroda.com/rtvforum/topic4033833.html So it can be enabled by obk_config.h by any user via Github.
    We also have OBK variants:
    Request for Help – Flashing Della Minisplit WiFi Module (WBR3 on TCWBRCU1)
    Maybe I could include this driver in variants...

    Unless... I'm not sure how much space is actually left on WBR3 ( W701-VA2-CG /RTL8720CF) - @insmod, what do you think? Could we get away with enabling this driver globally and what happens on this platform when size limit is hit?
    Helpful post? Buy me a coffee.
  • #204 21588861
    insmod
    Level 31  
    Posts: 1356
    Help: 161
    Rate: 426
    There is a lot of free space left, firmware partition size is 896kb, while current release is 777kb. And that is with berry enabled.
  • #205 21588875
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14444
    Help: 650
    Rate: 12414
    Then maybe we could enable it for RTL by default... what happens when OTA file is too large on RTL? Maybe we could introduce some kind of build-time alarms so we know exactly when we exceed the limit. I'd like to avoid situations like with BK LFS and BL602 OTA again. It should be easy as long as we determine the limits. Just fail the build and do not publish binary if limit exceeded
    Helpful post? Buy me a coffee.
  • ADVERTISEMENT
  • #206 21588891
    insmod
    Level 31  
    Posts: 1356
    Help: 161
    Rate: 426
    RTL87X0C limit is 896kb
    Don't remember for RTL8710A, but it has 4mb of flash
    RTL8710B is 788kb and have length check in code, if doing the check while building - must be done in https://github.com/openshwprojects/OpenBK7231...atforms/RTL8710B/tools/amebaz_ota_combine.cpp
    RTL8720D is like RTL8710A. If 2mb flash - OTA is disabled. And if 4mb or more - it doesn't matter anyway, OBK is small enough even if everything was enabled.
  • #207 21590268
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14444
    Help: 650
    Rate: 12414
    Yes, please enable all meaningfull features on 4MB builds if you are making any.

    So, I've merged latest ACL features into main release, enabled by default on Realtek.
    Code: C / C++
    Log in, to see the code
    Helpful post? Buy me a coffee.
  • #208 21594704
    AbidingOhmsLaw
    Level 9  
    Posts: 24
    Help: 1
    Rate: 5
    >>21590268 Do you want me to try an OTA of the latest build?
  • #209 21595029
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14444
    Help: 650
    Rate: 12414
    Sure, you can give it a go, however I don't think it can be broken as I just enabled in the main release the same thing that was in the PR.
    Helpful post? Buy me a coffee.
  • #210 21595892
    AbidingOhmsLaw
    Level 9  
    Posts: 24
    Help: 1
    Rate: 5
    >>21595029

    Seems to work just fine.


    Request for Help – Flashing Della Minisplit WiFi Module (WBR3 on TCWBRCU1)

Topic summary

✨ The discussion centers on flashing and customizing the WiFi module (WBR3 on TCWBRCU1 board) of a Della Optima Series minisplit air conditioner to run OpenBeken firmware for local, cloud-free control. Initial assumptions about the device using TuyaMCU were revised after UART traffic analysis revealed a custom protocol similar to TCL AC units, leading to the development and testing of a dedicated TCL driver in OpenBeken. The user successfully desoldered the WBR3 module, backed up its firmware using appropriate Realtek tools (ltchiptool and AmebaZ2 PG Tool), and flashed OpenBeken firmware. Key datapoints such as power, mode, fan speed, temperature, humidity, and PM2.5 were identified from the Tuya IoT platform, but the device uses a binary packet protocol rather than standard Tuya DPIDs.

The community collaboratively developed and refined the TCL driver, enabling control of power, mode (cool, heat, dry, fan, auto), fan speeds (mapped to Smart Life app presets including auto, mute, mid-low to turbo), swing positions (vertical and horizontal), buzzer (beep) on/off, and display brightness on/off. The driver was integrated with Home Assistant via MQTT with discovery support, allowing control and state feedback. Challenges included correct UART parity settings (even parity), packet parsing, and mapping driver values to Home Assistant entities. The user provided detailed logs, testing results, and UI feedback, leading to improvements in MQTT integration, UI elements for fan speed and swing controls, and bug fixes for state synchronization. The project also discussed future enhancements like better OBK UI integration, thermostat card improvements, and potential DIY thermostat projects using OBK on ESP32 with external sensors.

Overall, the thread documents a successful reverse engineering and firmware replacement effort for the Della minisplit WiFi module, enabling local control with OpenBeken, full MQTT/Home Assistant integration, and detailed community-driven driver development for a non-standard protocol device.
Generated by the language model.

FAQ

TL;DR: If you have a Della mini split with a WBR3 module, you can flash OpenBeken locally, back up the original 2 MB flash first, and then control cooling, heat, fan, swing, buzzer, display, and even GEN mode. As one developer put it, "It worked!" This FAQ is for owners who want cloud-free control without losing core AC functions. [#21551100]

Why it matters: This thread shows that some Della WiFi modules are not standard TuyaMCU devices, so using the correct Realtek tools and the TCL driver is the difference between a working local AC and a dead-end flash attempt.

Option Chip family Fit/use in thread Main caveat
WBR3 Realtek RTL8720CF/AmebaZ2 Native Della module; fully tested with OBK TCL driver Fragile pads and traces during wiring
WBR1 on TCLWBR Realtek RTL8720CF Also worked after correct VIN/VCC power wiring Needed both 5 V and 3.3 V path active
WB3S Beken Considered compatible replacement for TuyaMCU-style UART layout Must verify 3.3 V, GND, reset, and UART pin match
CB3S Beken Considered compatible replacement with OBK support Same pinout checks as WB3S

Key insight: The Della TCWBRCU1/WBR3 setup in this thread was ultimately treated as a custom TCL serial protocol, not a normal TuyaMCU datapoint bridge. That is why flashing succeeded only after using Realtek-specific tools and why control required the OpenBeken TCL driver, not GPIO templates. [#21549462]

Quick Facts

  • The confirmed stock backup sizes were 384 KB ROM and 2 MB flash, and the 2 MB dump was verified to boot before flashing OpenBeken. [#21544743]
  • The working UART settings for the TCL protocol were 9600 baud, 8 data bits, even parity, 1 stop bit (9600 8E1); parity was a real failure point until fixed. [#21550462]
  • The Della unit discussed was a 9,000 BTU heat/cool mini split on 115 V, 60 Hz power, using a removable USB WiFi/Bluetooth module with a WBR3 soldered to a TCWBRCU1 carrier. [#21536655]
  • Internal target temperature in the TCL protocol is Celsius only, with a usable command range of 16–31 °C; entering 75 or 77 as if they were Fahrenheit produced wrong results such as 81 °F and 84 °F on the indoor display. [#21553236]
  • Reverse-engineered GEN mode testing showed approximate winter heating limits of 1.2 kW at L1, 1.8 kW at L2, 2.3 kW at L3, and 2.9 kW with no GEN limit, based on clamp monitoring. [#21781377]

How do I flash a Della mini split WBR3 WiFi module on the TCWBRCU1 board with OpenBeken step by step?

Use Realtek tools, not BK7231 tools. 1. Back up the stock WBR3 first with the Realtek workflow, because the verified flash dump was 2 MB and recoverable. 2. Flash an OpenRTL87X0C build that includes the TCL driver or update later by OTA. 3. Start the driver with startDriver TCL, then test commands such as ACMode 1, FANMode 3, and TargetTemperature 24. The thread showed this sequence working on the Della 048-TP-9K2V-23S-IN after successful backup and flash. [#21547316]

What is TuyaMCU, and how is it different from the custom TCL serial protocol used by some Della mini split WiFi modules?

"TuyaMCU is a host-MCU protocol layer that lets a WiFi module exchange standardized datapoints with a separate appliance controller, usually over UART." In this thread, that turned out not to be the whole story for the Della mini split. The WBR3 could run OpenBeken, but the AC control path matched a custom TCL serial protocol instead of normal TuyaMCU DPID traffic, which explained why TuyaMCU commands did nothing while the TCL driver worked. [#21549462]

Why does a Della WBR3 module get stuck on "getting bus" in BK7231 tools, and which flashing tools should I use for Realtek RTL8720CF or AmebaZ2 instead?

It gets stuck because BK7231 tools do not support Realtek AmebaZ2 chips like the WBR3. One helper stated plainly that Easy Flasher does not back up or write Realtek chips. The working toolchain in the thread was ltchiptool for backup and AmebaZ2 PG Tool for writing on RTL8720CF/AmebaZ2 hardware, which immediately solved the stalled "getting bus" problem. [#21544726]

What is a DPID in the Tuya ecosystem, and how were the Della mini split datapoints like power, mode, windspeed, and swing identified in this thread?

"DPID is a Tuya datapoint identifier that maps a cloud-visible property to a device function, type, and value range." The thread identified the Della AC datapoints from the Tuya IoT Platform and later from the product data model. Examples included DPID 1 power, 4 mode, 5 windspeed, 113 vertical swing, 114 horizontal swing, and 120 GEN mode, each with enum or value ranges shown by the Tuya schema. [#21536711]

How can I back up the stock firmware from a WBR3 or WBR1 module before flashing OpenBeken?

Back it up with the Realtek toolchain before you flash anything. The proven path was to read both the ROM and full flash, then verify the sizes: the ROM should be 384 KB and the flash dump 2 MB on the tested WBR3. That backup later booted successfully, which gave the thread a recovery path when hardware pads were lifted during rework. [#21544743]

Which OpenBeken commands were used to control the Della mini split after flashing, including ACMode, FANMode, SwingH, SwingV, TargetTemperature, Buzzer, Display, and Gen?

The working commands were startDriver TCL, ACMode, FANMode, SwingH, SwingV, TargetTemperature, Buzzer, Display, and later Gen. Confirmed examples included ACMode 1 for cool, ACMode 3 for fan-only, TargetTemperature 24, Buzzer 0, Display 0, and the test PR command Gen 0 through Gen 3. Those commands were validated progressively in the thread and then exposed to Home Assistant through MQTT discovery. [#21761114]

Why did TargetTemperature seem wrong when entering Fahrenheit values in OpenBeken, and how does the Della TCL protocol actually handle temperature internally?

It seemed wrong because OpenBeken expected Celsius while the indoor display was showing Fahrenheit. The TCL protocol stores target temperature as a 4-bit value for 16–31 °C, so entering TargetTemperature 75 was interpreted as a Celsius-side command, wrapped internally, and produced values like 29 °C, which appeared as about 84 °F on the unit. Once the user switched to TargetTemperature 24 and 25, the display correctly showed 75 °F and 77 °F. [#21553392]

What was the correct UART configuration for the Della TCL mini split protocol on Realtek, including baud rate and parity, and why did parity matter?

The correct serial format was 9600 8E1: 9600 baud, 8 data bits, even parity, 1 stop bit. Parity mattered because the first TCL driver builds used the wrong parity setting, so commands were sent but not understood correctly by the AC controller. Once even parity was fixed, the unit started beeping on valid commands and mode and fan tests began to work immediately. [#21551100]

How do Home Assistant MQTT discovery and the OpenBeken TCL driver work together for a Della mini split, and what commands or settings are needed to make the climate entity appear?

Start the TCL driver first, then trigger Home Assistant discovery. The thread used startDriver TCL and then either Home Assistant discovery from the UI or the command scheduleHADiscovery 1. After that, Home Assistant created a climate entity and additional controls, and later builds added mode, fan, horizontal swing, and vertical swing support to the discovered entity. [#21561364]

What troubleshooting steps helped when Home Assistant showed Della mini split state updates but power-on or mode changes did not work correctly?

The main fixes were driver-side, not MQTT-side. Early on, Home Assistant could show state changes from OBK, but power-on and mode commands were incomplete because the TCL mode parse and mode publishing were not fully implemented. Once the driver parsed AC mode correctly, Home Assistant could both read OBK state and write changes back, including on/off and mode switching. [#21563089]

WB3S vs CB3S vs WBR3 for a Della mini split replacement module — which options were considered compatible with OpenBeken and what pinout checks matter most?

WBR3 was the native tested module, but WB3S and CB3S were both considered workable OpenBeken replacements. The key check was not brand alone; it was whether GND, 3.3 V, reset, and UART matched the original footprint and host board expectations. The thread specifically noted that other GPIO positions may differ, but the basic UART-based control path could still work if those core pins lined up. [#21548807]

How can I capture UART traffic between the WiFi module and the indoor unit MCU on a Della mini split without a full logic analyzer?

You can capture each UART lane separately with a USB-UART adapter if you match the serial settings. One developer explained that you do not need a full logic analyzer to start; you can connect RX to the line you want to observe, set the correct baud, and record module-to-MCU and MCU-to-module traffic independently. For this TCL setup, correct serial settings mattered, especially parity. [#21550113]

What caused the WBR1 TCLWBR board to crash when starting UART-based OpenBeken drivers, and how was the missing VCC or VIN power connection eventually identified?

The crash came from powering the WBR1 incorrectly during bench testing. The user had supplied only 3.3 V for flashing-style setup, but the TCLWBR adapter also needed the VIN/VCC path active from 5 V so the board’s power scheme matched normal operation. Once they powered the adapter board correctly instead of only the WBR1 core rail, the TCL driver started normally and the module worked. [#21579198]

Where can I find replacement Della-compatible WiFi modules like WBR3, WBR1, or Pioneer USB adapter boards if I damage the original during flashing?

One confirmed source was Pioneer’s replacement USB WiFi/BLE dongle for WYT/WT systems, which a later poster said used the same style of module and compatible firmware family. Earlier in the thread, users also sourced WBR3 replacements from AliExpress after damaging traces and pads during desoldering. The practical lesson was to buy a spare before risky rework, because these module pads are fragile. [#21766471]

How was the GEN or generator mode on supported Della mini splits reverse engineered, and what do the L1, L2, and L3 power limits correspond to in practice?

GEN mode was inferred from the Tuya schema, then tested in a custom OpenBeken PR with Gen 0 to Gen 3, and finally validated by watching real power draw. Practical results on one unit were about 1.2 kW for L1, 1.8 kW for L2, 2.3 kW for L3, and 2.9 kW with no GEN limit during cold-weather heating. The user mapped L1, L2, and L3 to roughly 30%, 50%, and 80% compressor power limits. [#21762524]
Generated by the language model.
ADVERTISEMENT