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
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!
i cannot connect to portainer UI (https://localhost:9443/) via browser (firefox).
yesterday it was running already and i could reach teddycloud UI.
today i tried again and browser says:
Unable to connect
An error occurred during a connection to localhost:9443.
over command line i checked several things
$ docker compose version
Docker Compose version v2.29.7-desktop.1
re-installed portainer with
docker volume create portainer_data
docker run -d -p 9443:9443 --name portainer2 --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:2.21.4
and checked
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
73ec54cfe619 portainer/portainer-ce:2.21.4 "/portainer" 16 minutes ago Restarting (1) 30 seconds ago portainer2
You have to connect via https. There will be a certificate warning which you have to accept.
If you donât get this option to connect anyways, maybe check the security level or try a different browser.
yes, i connected via https and accepted the certificates yesterday. It was working just fine, but not today. And i did not change any security settings since then.
now i also checked with chromium and it also says: unable to connect, website not reached.
Iâm on mobile / lunch break so I can go into detail right now.
Whatâs striking me directly is, the output of docker ps shows created 16 min ago and itâs restarting (30s). Iâd assume portainer isnât running currently.
I donât know on top of my head if portainer has additional volumes beside data. So for a proper reinstall make sure you deleted all volumes. docker container rm should be the command for that. Consult the docker documentation to be sure.
Why do you call it portainer 2 now? What happened to the first one?
Iâm glad to provide more detailed support over the weekend, however I would try the following in order to eliminate a layer of complexity for now. Donât use portainer for now and just run Teddycloud. Depending on whether you already flashed the server ca to your Toniebox I would backup the server ca and try to replace it if you spin up another instance of Teddycloud (to avoid reflashing the box). In simple terms, replace the ca in the directory where you would download it from to flash to your box with the one you already flashed to the box.
If you havenât flashed anything to the box yet, even better. Then focus on running Teddycloud first and just obtain the ca.
For that do as I described, put the docker compose for Teddycloud in a directory und run docker compose up -d from there.
You would have to inspect and post the logs for portainer to shine some light and the error.
docker logs -f portainer2
Portainer is a nice but completely optional although when I get to look at the logs Iâm happy to help there too.
ok, connection to portainer is resolved. a simple restart helpedâŚ
and the tonie box is not flashed yet.
i re-installed portainer today and called it portainer2. the existing teddycloud from yesterday was also not working anymore so i deleted it over portainer webinterface together with the portainer container. then i tried to reinstall (add stack) teddycloud to portainer but it fails, i guess due to the former installation.
if needed i can upload the logs
so i tired on the command line to remove container, image and volume in that order. but when i run
sudo docker stop 73ec54cfe619
Error response from daemon: cannot stop container: 73ec54cfe619: permission denied
If portainer is running, just delete the stack in the gui. You can also browse for container and volumes there, deleted the Teddycloud related ones and youâre good to go.
Thatâs the beauty of portainer, stacks created there can be managed entirely in the GUI there.
Additionally you could recreate the stack and just give it a different name in the compose file:
container_name: teddycloud
Iâm still on mobile but
When it fails you should get an alert in the GUI stating the error. May be interesting to know why it fails.
when i deploy the teddycloud stack i get the following notification:
Failed to deploy a stack: Network teddyc_default Creating Network teddyc_default Created Volume âteddyc_firmwareâ Creating Volume âteddyc_firmwareâ Created Volume âteddyc_cacheâ Creating Volume âteddyc_cacheâ Created Volume âteddyc_certsâ Creating Volume âteddyc_certsâ Created Volume âteddyc_configâ Creating Volume âteddyc_configâ Created Volume âteddyc_contentâ Creating Volume âteddyc_contentâ Created Volume âteddyc_libraryâ Creating Volume âteddyc_libraryâ Created Container teddycloud Creating Container teddycloud Created Container teddycloud Starting Error response from daemon: driver failed programming external connectivity on endpoint teddycloud (a888be9d9bed2c25656ec462c44a4f534c2fa079912df1bbd79495a7fb5acc0e): failed to bind port 0.0.0.0:80/tcp: Error starting userland proxy: listen tcp4 0.0.0.0:80: bind: address already in use
Teddycloud uses port 80, check if portainer, another container or any other service (pinole?) already uses port 80.
In the grand scheme of things a reverse proxy is of great help here, but that doesnât work with Teddycloud afaik.
Follow the YouTube video I posted in my guide on how to use Macvlan â problem solved then.
Instead of assigning the network in the GUI, put it in the compose file (I already included that part in my docker compose file I provided for the guide).
You can check which process occupies Port 80 with this command:
sudo ss -ltnp | grep :80
gives me the following:
LISTEN 0 511 *:80 *:* users:(("apache2",pid=1822,fd=4),("apache2",pid=1821,fd=4),("apache2",pid=1820,fd=4))
Here we go, thereâs already an Apache webserver running on Port 80 which is why Teddycloud canât use it. (If it would be a Docker container, then there should be something like docker-proxy
in the list.)
Any idea what that might be?
no idea where this is coming from.
what can i do to remove it
also i wonder how teddycloud was running yesterday. the settings were the same.
Honestly, easiest would be to use macvlan. Itâs 5 min work, find a IP address outside your DHCP range (probably .200 upwards), create the config in portainer and create the network. If you follow the syntax (-creation) in the video you can just uncomment the lines in the docker compose I already provided. Most of the 5 min youâll spend watching the video. I even posted the timestamp where you can start to follow along.
As I posted earlier, when you really make use of portainer and start running 10,20,30 containers you will eventually run into the problem of needing the same port twice.
Either you use macvlan and assign new IPs to the containers or you will dive into the world of reverse proxies.
Itâs not advisable starting to remove the Apache webserver to free port 80.
When you decide to run pihole on the machine for example (or any other service you want, that wants to use a standard port like 80, 443, etc.)it also uses port 80 and then you have the same problem, but now deleting pihole or Teddycloud isnât an option since you want both.
Sometimes you can of course rebind the port (9444 to 443 for portainer) but like with Teddycloud, thatâs not always an option.
Afaik only port 443 canât be changed for the teddycloud â toniebox communication. So make sure that this is not used by another service.
But it should be no problem to map port 80 (web interface) to another port on your host machine.
Try to change it in your docker-compose.yaml
:
ports:
- 81:80
Then open the teddycloud gui on this port, e.g. http://192.168.178.10:81