Teddycloud CC3200 newbie guide

Thank you @henryk ! You have worded some parts better than I did, I’ll probably update my guide here and there but from what I see I can confirm that everything looks correct.
I would maybe add that you should ensure somehow that the thin wires do not move / touch during using the programmer. At least for me they were still easily moved, that’s why I opted for hot glue.

@MuckyDerMuck I see that you already created a new topic regarding your backup.bin and are already receiving help there.

Thank you for this guide. I try to follow it, but I have some questions.

I am hard stuck at the docker part. I do not use docker other than for the teddycloud so I am lost here.
I installed docker and portainer on a proxmoxx server and deployed teddycloud.
Now I need the certificates. Where do I put the commands under 2? How do I access the files?

edit: ok, I managed to find access the files: I reinstalled docker, enabled ssh and then copied the files via sftp client to my pc.

edit2: I get the error elephant (no connection to wifi) and can’t see the tonie box in my network. As patch I used
"patches": ["altUrl.tc.fritz.box"]
and changed the docker servername to tc. But it does not connect

More specifically it’s pointing to invalid credentials. Did you change the wifi password since first setting up the box?

I’m not sure what’s the best approach here.

I see two ways here:

a) load the ofw1 without patches and use the setup assistant
b) or do it without the setup assistant.

I’d probably go with option b).

I’m not sure whether the credentials are stored in a json file on the sd card.

Minus the reinstall this is the way.

Maybe I have to update the guide in that part to at least give one working example, I assumed anyone running docker on a different machine would have means to move files around.

With SSH enabled you could use scp:

Upload from local machine (e.g. windows pc) to remote machine (raspberry, linux VM, …)

scp /file/on/local/machine username@remote:/file/on/remote/machine

download

scp username@remote:/file/on/remote/machine /file/on/local/machine

I chose option b. My box is now connected to the teddycloud. Thank you for the Guide and the help.

1 Like

I wanted to flash my second box but I am not sure what to do here:

do I just replace the cert files on the tc server with the ones from the second box?

the certs/cllient are used for teddycloud to communicate with boxine cloud.
For each box the certs are stored in a folder with the mac adress:

certs/client/
certs/client/

grafik

this is the content of my tc_certs folder
So do I just need to upload the certs from my second box and overwrite the old? Or do I have to create ne folders? I can not find any mac adress information

Those are used for the passthrough to the boxine cloud. You don’t need to anything with them.

You could check your UID of your box, create a subfolder and also store them there. See 7 Optional

You get the ID from the webUI / docker logs.

See this thread: Path for certificates not correct - #3 by chuckf

You’ll need to create a subfolder for each box. This can be seen in the Toniebox Settings in the WebGUI.

I created a folder with the UID of the second box and uploaded the certs. And I fixed a spelling error in the ngCfg.json :face_with_peeking_eye:, rebooted the box and tc could find it and I was able to add it.
Thank you for your help.

added that hint.

ChatGPT is perfect for such things ^^

I updated some images and I added two working examples under Section 2 Get the server certificate and upload client certificates showing how to move files around using scp.

Hello,
i have trouble installing the cc3200tool. when i execute the command:

pip install git+git://github.com/toniebox-reverse-engineering/cc3200tool.git

it says:

error: externally-managed-environment

× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
    python3-xyz, where xyz is the package you are trying to
    install.
    
    If you wish to install a non-Debian-packaged Python package,
    create a virtual environment using python3 -m venv path/to/venv.
    Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
    sure you have python3-full installed.
    
    If you wish to install a non-Debian packaged Python application,
    it may be easiest to use pipx install xyz, which will manage a
    virtual environment for you. Make sure you have pipx installed.
    
    See /usr/share/doc/python3.12/README.venv for more information.

note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.

i am new to all of this and have no idea what to do.
Can someone please help.

thank you!

Hello,

what operating system are you using? Are you running the command from your command line or from git cmd (which you have installed with git)? edit: in my VM it didn’t matter whether I used cmd or git cmd.

Did you start with a fresh install of python or was python installed before? As mentioned in my post pip was already installed with python (I even replicated the steps in a VM running a fresh install of windows 10). I ran all the commands as administrator on windows.

Again, I rarely dabble with python on my system or in general so I have no clue what you did differently than me, but the error message does give you a hint on what to do. I’d suggest you answer my questions first, but otherwise going with

# choose a path to your liking
python3 -m venv path/to/venv
# then run
path/to/venv/bin/pip install git+git://github.com/toniebox-reverse-engineering/cc3200tool.git

should work (at least from what I gather from the error message).

You could also have a look at pipx and then use

pipx install ...

but I’m not sure whether installing pipx is simpler than creating the virtual environment yourself for a one off use.

edit2:
I was inclined to check my theory and I can confirm it works the way I described.

If you are on windows

# choose a path to your liking 
python3 -m venv C:\venvtest

This may lead to a prompt to install python from the appstore, got to Settings → Manage app execution aliases and disable python / python3.

image

Then it still didn’t work, so I checked if it was python instead of python3 for me:

C:\Users\admin>python --version
Python 3.13.0

hence I ran:

python -m venv C:\venvtest
# wait a moment
C:\venvtest\Scripts\pip install git+https://github.com/toniebox-reverse-engineering/cc3200tool.git
# wait for the install
C:\venvtest\Scripts\cc3200tool -h

Sidenote: for windows it’s Scripts instead of bin as shown in the error message. But maybe you are not windows and this is not relevant to you anyway.

Your working directory for the cc3200tool will now be in your venv.

my system is Ubuntu 24.04.1 LTS

i mostly used the command line/ terminal

i installed python manually over the terminal with

apt install python3-pip

@LucaToni since it worked on windows for me (although I did not encounter that error in the first place) creating the virtual environment and working from there should work for you.

You can look at the more detailed example I gave for windows but for ubuntu it and apply it on your system. Keep in mind that it’s

/the/path/you/chose/bin/pip install 

then.

i tried this

python -m venv C:\venvtest
# wait a moment
C:\venvtest\Scripts\pip install git+https://github.com/toniebox-reverse-engineering/cc3200tool.git
# wait for the install

and it worked, i got the installation of cc3200tool in the /venv/bin folder
but when i run

cc3200tool -h

from /venv/bin folder it says

cc3200tool: command not found

i checked and the cc3200tool is in fact in the /venv/bin/cc3200tool

did you switch to the folder and ran the command

play@playground:/venv/bin$ cc3200tool -h

or did you run the command with the fullpath?

play@playground:~$ /venv/bin/cc3200tool -h

The successful installation of cc3200tool ended with

...
Successfully built cc3200tool
Installing collected packages: pyserial, cc3200tool
Successfully installed cc3200tool-1.2.4 pyserial-3.5

I’m amazed how much faster the cli installation was on my ubuntu vm than on my windows VM, i was quickly able to replicate your setup (had to install ensure pip also) but I can confirm it’s an issue of your path or your lack of providing it:

play@playground:~/test-env/bin$ cc3200tool -h
cc3200tool: command not found
play@playground:~/test$ /home/play/test-env/bin/cc3200tool -h
usage: cc3200tool [-h] [-p PORT] [-if IMAGE_FILE] [-of OUTPUT_FILE] [--reset RESET] [--sop2 SOP2] [--erase_timeout ERASE_TIMEOUT] [--reboot-to-app] [-d DEVICE]
                  {format_flash,erase_file,write_file,read_file,write_flash,read_flash,list_filesystem,read_all_files,write_all_files,dll_data_test} ...

Serial flash utility for CC3200

=> you need to specifiy the full path /home/play/test-env/bin/cc3200tool <your commands>

edit: in case you missed it in the official documentation, I was using windows so COM3 was correct for me, iot may be different for you and under linux:

You may use a different COM port or the right device on linux ex. /dev/ttyUSB0.

you are right!

=> you need to specifiy the full path /home/play/test-env/bin/cc3200tool <your commands>

it worked when i used the full path + command.
Thank you very much!