[Resolved][CC3225] Toniebox won't connect to Teddycloud randomly

Dear all,

Issue:

When waking up the toniebox and placing the tonie on it, the toniebox say error “OWL” with all tonies i try. There is no real log in the teddycloud which shows any problem which is strange. On the Webinterface the Teddycloud don’t show any tonies.
It sort of all started when I did try the Radio function. This seems to be random. I don’t know yet how to recreate the issue. But this has happened now for the third time. And again randomly… for now.

The only thing I can see is when the teddybox hasn’t checked all UID or at least made a connection, I know that the toniebox is stalled. The led goes green and directly to red no matter what I do.

Only way to get out of this, disconnect the battery inside the toniebox. Restarting the Teddycloud is not working. (The method to flip it over and push both ears to reset it won’t work)

Setup:

OS: Linux Ubuntu 22
TeddyCloud vX.X.X (9930675) - 2024-11-14 20:10:20 +0000 ubuntu linux-x86_64(64)](Releases · toniebox-reverse-engineering/teddycloud · GitHub)
Running on docker in a VM on proxmox
Create a JSON “Teddy Party Radio”
Toniebox CC3225 chip

Expected behavior:

Start the toniebox and then be able to directly listen to tonies.

How to recreate:

Create a tonie model as follows:

  • Edit the tonies.custom.json
{

  "model": "Teddy Radio - Kinder Disco",
  "audio_id": [],
  "hash": [],
  "series": "Teddy Radio",
  "episodes": "Teddy Radio - Kinder Disco",
  "tracks": [],
  "language": "DE",
  "pic": "https://static.radioteddy.de/img/9811/535905/202000/o/480/480/streaming_channels15.png"

},
  • assign to the custom tag the following webradio:
    https://streamtdy.ir-media-tec.com/disco/mp3-192/streamtdy.ir-media-tec.com/

  • set live function

  • ensure Boxine cloud sync is off for the custom tag

  • Listen to it. Remove tag from toniebox. let the Toniebox get to sleep.

  • Start toniebox, it will blink blue, green and switch to red when tonies placed on it. Then the connection with Teddycloud won’t be made until the toniebox’s battery is disconnected.

Did someone else had the issue before ? It seems to have something to do with maybe the streaming topic.

Maybe it is a timing topic where the toniebox and teddycloud does the handshake or check the toniebox content. Again I can’t really recreated for the moment and looking for more people having this issue.

If there are no Tonies in the tonies view of teddyCloud, it is most likely the box isn’t connected to teddyCloud.
I don’t know why you’re putting the tonies.custom.json here, as this is just for comfort purposes to identify your Tags more easily.

What means doesn’t work? The box does not restart in the case or does this never works for you?

Without logs it is hard to understand the problem.

I have exactly the same problem with the same Box/chip, actually just in this moment again. I’m trying to debug it as well but without success (until now).

I also think it must have something to do with radiostreams/ffmpeg as this feature seems to be a bit buggy in general, at least on this box. Sometimes the radio stream starts after a few seconds, sometimes it takes 25-30 seconds. The log is sometimes stuck. Sometimes there are broken pipe errors etc.

So at the moment the Box says “owl” and doesn’t show up in Teddycloud anymore. It’s connected to my WiFi though and the DNS changes are active. Resetting the box, restarting the Teddycloud, restarting the Container, switching from develop to latest, no change. This is already the third time this happens. When I went to bed last night, the Toniebox had no problems. Last thing I did was playing a radio stream.

@0xbadbee

Once the toniebox is in this sort of “Stalled situtation”. Waiting for the toniebox to connect back to the teddycloud won’t work. It won’t switch off so fare I could observe and Flipping it on the head and pushing both ears to create a “Reset” didn’t work.

To get the toniebox out of it I need to disconnect the battery.

I did mention the tonies.custom.json to show all the steps I did since I experienced the bug.

I currently trying to recreate the issue. To have more information.

I will try to capture the log of teddycloud next time it happens. But again, I don’t know how to trigger it yet. It seems random but has something to do with the Webradio my feeling.

@marco79cgn

I’m glad I’m not crazy :slight_smile:

So at the moment, the box doesn’t show up at all in Teddycloud. It’s playing offliine content of course without a problem.

When I do a refresh of the Teddycloud GUI in the Browser (CMD + R or F5), it takes quite some time and I get a few dozen buffer warnings in the logs (245 warnings/lines). Don’t know if this might be related, but probably not.

...
INFO |handler_cloud.c:0041:handleCloudTime|  >> respond with current time
INFO |mqtt.c:0687:mqtt_init_box| Skipping client 'Toniebox' (cn: 'default')
WARN |platform_linux.c:0292:socketReceive| buffer does not contain null terminator
INFO |cloud_request.c:0252:web_request|   trying IP: 18.156.186.144
INFO |cloud_request.c:0479:web_request| Response: '1731847455'
WARN |platform_linux.c:0292:socketReceive| buffer does not contain null terminator
WARN |platform_linux.c:0292:socketReceive| buffer does not contain null terminator
WARN |platform_linux.c:0292:socketReceive| buffer does not contain null terminator
WARN |platform_linux.c:0292:socketReceive| buffer does not contain null terminator
WARN |platform_linux.c:0292:socketReceive| buffer does not contain null terminator
WARN |platform_linux.c:0292:socketReceive| buffer does not contain null terminator
WARN |platform_linux.c:0292:socketReceive| buffer does not contain null terminator
WARN |platform_linux.c:0292:socketReceive| buffer does not contain null terminator
WARN |platform_linux.c:0292:socketReceive| buffer does not contain null terminator
WARN |platform_linux.c:0292:socketReceive| buffer does not contain null terminator
WARN |platform_linux.c:0292:socketReceive| buffer does not contain null terminator
...
INFO |cloud_request.c:0200:web_request| Connecting to HTTP server prod.de.tbs.toys:443...
INFO |cloud_request.c:0252:web_request|   trying IP: 3.69.182.181
INFO |cloud_request.c:0479:web_request| Response: '1731847456'

What does the mqtt line mean (skipping client)? I’m not using mqtt at all (until now), the switch is disabled in my settings.

@marco79cgn

Can you check if the toniebox wifi symbol is green. I remembered seen it green but was kind of surprised it won’t show any content and won’t play anything.

Could you write the color coding behavior of the box in that stat?

Is the rtnl domain also targeting teddyCloud?

You may try to enable “Stream force restart” under encode.

@0xbadbee

I had it blocked as I understood from the talk it sends all the interaction to boxing server. I also did read it is not mandatory.

I just enable it to hit the teddycloud server now.

@marco79cgn did you also blocked it ?

With the exchanged certificates, the box cannot send data do boxine via rtnl anyway. For teddyCloud the rtnl is useful, as teddyCloud gets data about a placed / removed tag, claps, tilts etc.

@0xbadbee thanks for the feedback

Quick question where is the enforce option you are mentioning?

I already did that but haven’t noticed any difference. Shouldn’t the live stream always start live and not at the last position when I removed the Tonie?

In my case it is, but I just noticed that I can’t ping it from any machine:

ping rtnl.bxcl.de
ping: rtnl.bxcl.de: No address associated with hostname

I have these entries in my /etc/hosts of the DNS server:

192.168.178.11  prod.de.tbs.toys 
192.168.178.11  rtnl.bxcl.de
fdc0:ffee:bee5:fe1d:e9c8:8e10:7374:ef3b  prod.de.tbs.toys
fdc0:ffee:bee5:fe1d:e9c8:8e10:7374:ef3b  rtnl.bxcl.de

The first one is pingable and leads to the Teddycloud IP.

No, if the content is still downloading it will be continued where it stopped. This option invalides the already downloaded content, so the box triggers a full download.

My bad, a list of my Pihole was blocking rtnl.bxcl.de. I just put it on the allowlist and now it resolves/pings.

And now the Toniebox connects again to Teddycloud without removing the battery! That’s the fix.

Thanks a lot, @0xbadbee for pointing us in the right direction.

So the problem is triggered if rtnl.bxcl.de is blocked for the teddycloud ?

Yes, I just kind of reproduced it. I tried to get the Box recognized for more than an hour without a chance.

Until now I never really cared about this second domain as I read that it would be unnecessary and can even be blocked for Teddycloud. Obviously this is not the case. This domain is normally used for all the user metrics, so no wonder it’s on most block lists.

Without rtnl.bxcl.de, sometimes it works and sometimes not.

Hey,

I must report that It still happens. It happend again today. :frowning:

Have the same problrm on my both boxes with esp32.
In such cases the fastest solution is, to not place a tony onto the box and simply wait.

It never happened again for me since I unblocked the rtnl url. Box works perfectly fine since then.