Skip to content

Commit 0ad6be7

Browse files
committed
2 parents a3e0673 + 75c5701 commit 0ad6be7

24 files changed

+494
-22
lines changed

content/docs/custom-firmware/cc3200/hackieboxng-bl/ofw-patches.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,6 @@ If you want to use alternative tags those patches will help you. Even other iso1
2020
### Block count >8 ([blockCheck.310.json](https://github.com/toniebox-reverse-engineering/hackiebox_cfw_ng/blob/master/sd-bootloader-ng/bootmanager/sd/revvox/boot/patch/blockCheck.310.json) / [blockCheck.307.json](https://github.com/toniebox-reverse-engineering/hackiebox_cfw_ng/blob/master/sd-bootloader-ng/bootmanager/sd/revvox/boot/patch/blockCheck.307.json))
2121
Usally the toniebox checks if the tag has exactly 8 blocks. The check allows the tag to have more than that. (ex. SLIX or SLIX2)
2222

23-
### Block count <=8 ([blockCheckRemove.310.json](https://github.com/toniebox-reverse-engineering/hackiebox_cfw_ng/blob/master/sd-bootloader-ng/bootmanager/sd/revvox/boot/patch/blockCheckRemove.310.json) / [blockCheckRemove.308.json](https://github.com/toniebox-reverse-engineering/hackiebox_cfw_ng/blob/master/sd-bootloader-ng/bootmanager/sd/revvox/boot/patch/blockCheckRemove.308.json))
24-
Usally the toniebox checks if the tag has exactly 8 blocks. The check allows the tag to have less than that.
25-
2623
### No privacy password ([noPass3.310.json](https://github.com/toniebox-reverse-engineering/hackiebox_cfw_ng/blob/master/sd-bootloader-ng/bootmanager/sd/revvox/boot/patch/noPass3.310.json) / [noPass3.305.json](https://github.com/toniebox-reverse-engineering/hackiebox_cfw_ng/blob/master/sd-bootloader-ng/bootmanager/sd/revvox/boot/patch/noPass3.305.json))
2724
Usally doesn't allow tags without the boxine specific or the NXP specific privacy mode password. With the patch you can use tags without having privacy password support (ex. SLIX). It disables the rf field for a moment when the second privacy password failed. This patch uses the new dynamic patching engine to generate dynamic arm asm bytecode.
2825

@@ -67,4 +64,9 @@ Usally doesn't allow tags without the boxine specific or the NXP specific privac
6764
Usally doesn't allow tags without the boxine specific or the NXP specific privacy mode password. With the patch you can use tags without having privacy password support (ex. SLIX). It disables the rf field for a moment when the second privacy password failed.
6865

6966
### Disable charger wakeup ([noChargWake.305.json](https://github.com/toniebox-reverse-engineering/hackiebox_cfw_ng/blob/master/sd-bootloader-ng/bootmanager/sd/revvox/boot/patch/noChargWake.305.json))
70-
The toniebox won't wakeup anymore if it is put onto the charger. **noChargWake.305 Doesn't work on 3.1.0-BF2 and higher. Box won't wakeup anymore** ***Attention, this patch is only working if you disconnect the battery for a second before loading the patched ofw. If you start the unpatched ofw once, you will have to disconnect the battery again***
67+
The toniebox won't wakeup anymore if it is put onto the charger. **noChargWake.305 Doesn't work on 3.1.0-BF2 and higher. Box won't wakeup anymore** ***Attention, this patch is only working if you disconnect the battery for a second before loading the patched ofw. If you start the unpatched ofw once, you will have to disconnect the battery again***
68+
69+
### Block count <=8 ([blockCheckRemove.310.json](https://github.com/toniebox-reverse-engineering/hackiebox_cfw_ng/blob/master/sd-bootloader-ng/bootmanager/sd/revvox/boot/patch/blockCheckRemove.310.json) / [blockCheckRemove.308.json](https://github.com/toniebox-reverse-engineering/hackiebox_cfw_ng/blob/master/sd-bootloader-ng/bootmanager/sd/revvox/boot/patch/blockCheckRemove.308.json))
70+
Usally the toniebox checks if the tag has exactly 8 blocks. The check allows the tag to have less than that.
71+
72+
**This patch breaks the transfer of the authentication data to the cloud, this means downloading the content of the Tonies if using teddyCloud won't work and those Tonies will be marked as no-cloud**

content/docs/rules/_index.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
---
2+
title: "Community Guidelines"
3+
description: "Please don't forget to read our Community Guidelines!"
4+
weight: 14
5+
---
6+
# Rules for our Chats and Forums - Community Guidelines
7+
8+
## Do's
9+
10+
### §1. Be respectful
11+
Treat others with kindness and respect.
12+
13+
### §2. Complex questions
14+
For in-depth inquiries, please use our [Forum](https://forum.revvox.de).
15+
16+
### §3. Stay on topic
17+
This community is focused on Toniebox-related discussions.
18+
19+
### §4. Use English
20+
To ensure everyone can participate, please stick to English. Messages in other languages are deleted without comment.
21+
22+
## Don'ts
23+
24+
### §5. No piracy
25+
Any requests or discussions related to piracy will result in an immediate ban.
26+
27+
### §6. No team tagging
28+
Don't tag the team for general questions. Replying is totally ok if we are already in the discussion.
29+
30+
### §7. No general hacking
31+
This is not a community for general hacking. Questions like "Can you hack Instagram?" or "How to crack Candy Crush?" result in a ban.
32+
33+
### §8. No self-promotion without permission
34+
If you're a merchant, clearly identify yourself and ask permission before sharing links to your products.
35+
36+
### §9. Posting the same question in multiple places
37+
Please stick to the [Forum](https://forum.revvox.de) if you started there. Scattering the answers in [Telegram](https://t.me/toniebox_reverse_engineering) and Discource will make it hard for others to find the solution.
38+
39+
### §10. No kidnapping of solved threads
40+
If you find a thread in our [Forum](https://forum.revvox.de) that seems to be solved, don't hijack it for your problem. It may look similar, but this will end up in chaos. Open your own thread!
41+
42+
## Helpful Tips
43+
- Use the search function before asking a question
44+
- Be patient when waiting for responses
45+
- Share your knowledge to help others
46+
47+
## Telegram
48+
Please follow the Miss Rose Bots instructions. If you don't do that, you are unable to write. Then please leave our [Telegram Group](https://t.me/toniebox_reverse_engineering) and rejoin it.
49+
50+
## More
51+
Feel free to refine this document with a PR!

content/docs/tools/teddyCloud/_index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@ headless: true
1010
## Features
1111
teddyCloud is an alternative server for your Toniebox, allowing you to host the cloud services locally.
1212
This gives you the control about which data is sent to the original manufacturer's cloud and allows you
13-
to host your own figurine audio files on e.g. your [NAS or any other server](supported-server-hardware). It provides an easy to use WebGui.
13+
to host your own figurine audio files on e.g. your [NAS or any other server](setup/supported-server-hardware). It provides an easy to use WebGui.
1414

1515
![teddyCloud Webinterface](/img/teddyCloudWebinterface.png)
1616

1717
You can also use teddyCloud on the command line to manipulate esp32 firmware dumps or encode Tonie Audio Files (TAFs). See ```teddycloud --help```.
1818

1919
## Links
2020
* [GitHub](https://github.com/toniebox-reverse-engineering/teddycloud)
21-
* [Releases](https://github.com/toniebox-reverse-engineering/teddycloud/releases)
21+
* [Releases](https://github.com/toniebox-reverse-engineering/teddycloud/releases)

content/docs/tools/teddyCloud/setup/_index.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ An example [docker-compose.yaml can be found within the docker subdir.](https://
1515
Please beware that port 443 cannot be remapped and you cannot use a reverse proxy like nginx or traefik without passing through the TLS (complex, not recommended). The client certificate authentication needs to be done by teddyCloud. Also, there is no SNI. If you are using docker, you can use macvlan to give the teddyCloud container a dedicated IP address (recommended).
1616

1717
## Preparation
18+
First of all, prepare your teddyCloud installation. On first run, teddyCloud generates its certificates. During the generation you cannot access the webinterface. This can take several minutes! Be sure you check the log output!
19+
1820
Please connect your Toniebox to your Wi-Fi and update its firmware. Many boxes are shipped with a production firmware that needs to be updated. Otherwise the box won't work as it should. It is not necessary to connect the box to the mytonies app/account. [Connect the box without the setup assistant.](https://support.tonies.com/hc/en-us/articles/4415294030482-How-do-I-set-up-a-Wi-Fi-connection-without-the-setup-assistant)
1921

2022
## Device specific preparation
@@ -36,4 +38,4 @@ Currently the teddyCloud webinterface is reachable through the IP of the docker
3638
Changes affecting the toniebox (volume, LED) which are made through this interface will only be reflected onto the toniebox after pressing the big ear for a few seconds until a beep occurs (freshnessCheck).
3739

3840
### Content (Legacy)
39-
Please put your content into the ```/data/content/default/``` in the same structure as on your toniebox. You can edit ```500304E0.json``` file beside the content files to mark them as live or you can prevent the usage of the Boxine cloud for that tag with the nocloud parameter. By setting a source teddyCloud can stream any content that ffmpeg can decode (urls and files). Please check that the file and folders in upper case. If not rename them, otherwise teddyCloud won't serve them to the box!
41+
Please put your content into the ```/data/content/default/``` in the same structure as on your toniebox. You can edit ```500304E0.json``` file besides the content files to mark them as live or you can prevent the usage of the Boxine cloud for that tag with the nocloud parameter. By setting a source teddyCloud can stream any content that ffmpeg can decode (urls and files). Please check that the file and folders are in upper case. If not rename them, otherwise teddyCloud won't serve them to the box!

content/docs/tools/teddyCloud/setup/dump-certs/cc3200.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: ""
44
---
55

66
# CC3200
7-
You can use the [cc3200tool](https://github.com/toniebox-reverse-engineering/cc3200tool) to dump your certificates over the Tag Connect debug port of the box. If you have installed the [HackieboxNG Bootloader](/docs/custom-firmware/cc3200/hackieboxng-bl/) you should already have those files in your backup. If not, you should install [HackieboxNG](/docs/custom-firmware/cc3200/hackieboxng-bl/). This will allow to to read and write files from/to microSD and flash by booting the [Hackiebox CFW](/docs/custom-firmware/cc3200/hackiebox-cfw).
7+
You can use the [cc3200tool](https://github.com/toniebox-reverse-engineering/cc3200tool) to dump your certificates over the Tag Connect [debug port](/docs/wiki/cc3200/debug-port) of the box. If you have installed the [HackieboxNG Bootloader](/docs/custom-firmware/cc3200/hackieboxng-bl/) you should already have those files in your backup. If not, you should install [HackieboxNG](/docs/custom-firmware/cc3200/hackieboxng-bl/). This will allow to to read and write files from/to microSD and flash by booting the [Hackiebox CFW](/docs/custom-firmware/cc3200/hackiebox-cfw).
88
Please drop the three .der files to `/certs/client/`.
99

1010
## Read certificates via Hackiebox CFW

content/docs/tools/teddyCloud/setup/dump-certs/esp32.md

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,37 @@ description: ""
77
You can extract the flash memory via the debug port of the box and the esptool. Keep your backup! Please use a recent version of [esptool](https://github.com/espressif/esptool). (>v4.4)
88
Please connect the jumper J100 (Boot) and reset the box to put it into the required UARTmode. Connect your 3.3V UART to J103 (TxD, RxD, GND).
99

10+
If you're unsure in which mode the ESP32 is starting:
11+
12+
#### Normal startup mode
13+
14+
LED blinking green, startup sound is played, Serial output:
15+
16+
ESP-ROM:esp32s3-20210327
17+
Build:Mar 27 2021
18+
rst:0x1 (POWERON),boot:0x8 (SPI_FAST_FLASH_BOOT)
19+
SPIWP:0xee
20+
mode:DIO, clock div:1
21+
load:0x3fcd0108,len:0x118
22+
load:0x403b6000,len:0xb90
23+
load:0x403ba000,len:0x27f4
24+
entry 0x403b61c4
25+
+ gibberish
26+
27+
28+
#### Download mode
29+
30+
LED is off, no sound, Serial output:
31+
32+
ESP-ROM:esp32s3-20210327
33+
Build:Mar 27 2021
34+
rst:0x1 (POWERON),boot:0x0 (DOWNLOAD(USB/UART0))
35+
waiting for download
36+
37+
1038
![J103 Pinout](/img/tb-esp32-uart.jpg)
1139

12-
If connected with the Boot jumper, the box just start in "DOWNLOAD (USB/UART0)" mode (Check with a serial monitor) and the LED will be off. Beware, if the serial monitor is open it will block esptool.py from accessing the esp. If you get a "BROWNOUT_RST" check your power supply / battery. "SPI_FAST_FLASH_BOOT" indicates a boot without the J100 jumper.
40+
Beware, if the serial monitor is open it will block esptool.py from accessing the esp. If you get a "BROWNOUT_RST" check your power supply / battery. "SPI_FAST_FLASH_BOOT" indicates a boot without the J100 jumper.
1341

1442
## Browser based
1543
You can use the build in ESP32 box flashing tool in the webinterface of teddyCloud to backup your box with "Read ESP32".

content/docs/tools/teddyCloud/setup/supported-server-hardware.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@ Below is a compilation of NAS/server hardware that has been successfully utilize
1616
| Raspberry Pi Zero 2 | slow on initial startup (expect 20 minutes and more for initial certificate creation!), encoding also very slow, possible crashes in some situations, but in general usable |
1717
| Synology NAS DS923+ (DSM 7.2.1) | - |
1818
| Raspberry Pi Zero | Docker installation is a little bit tricky, getting it running could take some extra steps see https://forum.revvox.de/t/hardware-requirements-does-teddycloud-run-on-a-raspberry-zero-1st-gen/309 |
19+
| Raspberry Pi 1 Model A Rev 1.1 | Works with Raspberry Pi OS (32-Bit) and the teddycloud build for Alpine Linux (see https://github.com/toniebox-reverse-engineering/teddycloud/issues/225) |
20+
| Qnap TS-462 (QTS 5.2.3.3006) | Works out of the box in Container Station |
21+
| Proxmox on Dell Wyse 5070 | Works out of the box with Proxmox VE Helper Script. Needs some time till you can access the ip address. |
1922
| ... | |
2023

2124
Consider using Alpine container instead of Ubuntu / Debian container if your server has limited resources.

content/docs/tools/teddyCloud/setup/test-troubleshooting.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ bookCollapseSection: true
55
---
66
# teddyCloud - Test & Troubleshooting
77
## Connection toniebox to teddyCloud
8-
First of all please be sure the cloud is not enabled in the webinterface. Then close all browser windows to teddyClouds webinterface and open the logs of teddyCloud. If you are using docker you can access them via: `docker logs teddyCloud`.
8+
First of all please be sure the cloud is not enabled in the webinterface. Then close all browser windows to teddyClouds webinterface and open the logs of teddyCloud. If you are using docker you can access them via: `docker logs teddycloud`.
99

1010
To be sure your toniebox can connect to teddyCloud we do a so called "freshnessCheck". This can be initiated by pressing one ear of the box until the LED is pulsing blue.
1111

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
---
2+
title: "Edit JSON files with vscode"
3+
description: "edit json files locally"
4+
bookCollapseSection: true
5+
---
6+
7+
# Edit JSON files with vscode
8+
9+
You can use a json schema which can provide you the ability for autocompletion and validation in your favorite editor. This article describes it for vscode.
10+
11+
Schemas:
12+
13+
* [content-json-schema.json](/teddyCloud/tecdoc/content-json-schema.json)
14+
* [tonies-custom-json-schema.json](/teddyCloud/tecdoc/tonies-custom-json-schema.json)
15+
* [tonieboxes-custom-json-schema.json](/teddyCloud/tecdoc/tonieboxes-custom-json-schema.json)
16+
* [plalist-tap-json-schema.json](/teddyCloud/tecdoc/plalist-tap-json-schema.json)
17+
18+
## content.json
19+
20+
Add the Schemaurl to the json file.
21+
22+
Example:
23+
24+
```json
25+
{
26+
"$schema": "{{< siteurl >}}teddyCloud/tecdoc/content-json-schema.json",
27+
"live": false,
28+
"nocloud": false,
29+
"source": "",
30+
"skip_seconds": 0,
31+
"cache": false,
32+
"cloud_ruid": "",
33+
"cloud_auth": "",
34+
"cloud_override": false,
35+
"tonie_model": "",
36+
"_version": 5
37+
}
38+
39+
```
40+
41+
## tonies.custom.json / tonieboxes.custom.json
42+
43+
To configure this for vscode you have to edit `.vscode/settings.json`.
44+
45+
Add the following parts to the `settings.json`:
46+
47+
```json
48+
{
49+
"json.schemaDownload.enable": true,
50+
"json.schemas": [
51+
{
52+
"fileMatch": ["tonies.custom.json"],
53+
"url": "{{< siteurl >}}teddyCloud/tecdoc/tonies-custom-json-schema.json"
54+
},
55+
{
56+
"fileMatch": ["tonieboxes.custom.json"],
57+
"url": "{{< siteurl >}}teddyCloud/tecdoc/tonieboxes-custom-json-schema.json"
58+
}
59+
]
60+
}
61+
```
62+
63+
## Plalist (TAP) Files
64+
65+
```json
66+
{
67+
"$schema": "{{< siteurl >}}teddyCloud/tecdoc/plalist-tap-json-schema.json",
68+
"type": "tap",
69+
"audio_id": 0,
70+
"filepath": "lib://by/tapID/radio.taf",
71+
"name": "Radio",
72+
"files": [
73+
{
74+
"filepath": "lib://by/audioID/1234567890.taf",
75+
"name": "Hörspiel Tonie"
76+
},
77+
{
78+
"filepath": "lib://mp3/album/title.mp3",
79+
"name": "A Song"
80+
},
81+
{
82+
"filepath": "http://nas.intranet/musiclibrary/album/song.mp3",
83+
"name": "Network Audio"
84+
}
85+
]
86+
}
87+
```

0 commit comments

Comments
 (0)