Frequently Asked Questions

General

  • Q: When running the Deploy-Script I receive an AttributeError: 'list' object has no attribute 'read' and it crashes.

    • Solution: Check if there is a second version of subprocess installed and remove it.

$ pip list
...
...

# Search for "subprocess.run" in output and remove it if found
$ pip uninstall subprocess.run
  • Q: I use WSL under Windows, but when running the deploy-script I still have to enter the password.

    • Solution: Install WSL 2.
      If you insist on using version 1 you have to activate extended WSL functionality in order to work with chmod/chown.
      Re-run the deploy-script afterwards with python3 deploy.py -c.

# Inside WSL, execute this:
$ sudo vi /etc/wsl.conf
# Add the following lines to this file:
[automount]
enabled = true
options = "metadata"
# Save and close the file with "ESC", then ":" "x" "ENTER"

# Restart WSL and delete the ".bin" directory in "robolab-deploy"
$ cd /mnt/<DRIVE>/path/to/robolab/
$ rm -Rf robolab-deploy/.bin
  • Q: I want to access my files in the WSL, but I can’t find them.

    • Solution: Type \\wsl$ in the Windows "Run" dialog or Windows Explorer address bar.

  • Q: PyCharm does not show my files from the WSL.

    • Solution: Update PyCharm.

  • Q: I use Windows and my Python version is too old (works not for WSL).

    • Solution: Install the latest Python 3.9 (64bit).

  • Q: I use GitBash, and it says "/usr/bin/env python3 not found".

    • Solution: Add an alias to your local python installation to GitBash and start the script with the alias.

$ vi ~/.bashrc
# Hit "i" and add the next lines (check before if py.exe or python.exe):
alias python='winpty python.exe'
alias python3='winpty python.exe'
# Hit "ESC", then ":" "x" "ENTER"

$ source ~/.bashrc

$ python3 deploy.py
  • Q: When executing the Deploy-Script it gets stuck on ssh commands and creates a file ssh.exe.stackdump.

    • Solution: Re-run python3 deploy.py -c to force correct file permissions.

  • Q: GitBash does not use my SSH-keys to connect to the brick or Gitlab.

    • Solution: Make sure to have the ssh-agent running every time GitBash starts.
      This works also for WSL 1.

# Open this file in Gitbash
$ vi ~/.profile

# New lines to add
eval `ssh-agent.exe`
ssh-add ~/.ssh/*

# Restart Gitbash
  • Q: Running the Deploy-Script results in "subprocess not found" or a similar error.

    • Solution: Uninstall Python 32bit (which is lacking the subprocess module) and install the 64bit version.

  • Q: I use Ubuntu and my Python version is too old (works also for WSL).

    • Solution: Install a PPA for Python 3.9.

$ sudo add-apt-repository ppa:deadsnakes/ppa
$ sudo apt-get update
$ sudo apt-get install python3.9 -y
  • Q: I cannot connect to the MQTT broker using TLS or web-sockets due to a strange SSL verification error.

    • Solution: Install the Python package pyOpenSSL and import it in your file communication.py.

  • Q: When running the Deploy.py script, an error [SSL: CERTIFICATE_VERIFY_FAILED] pops up.

    • Solution: Run the following script, which came with your python installation:

$ ls /Applications/ | grep Python # to get your python installation directory ${Python}
$ /Applications/'${Python}'/Install\ Certificates.command # Replace ${Python} with output from first command

Brick-OS

  • Q: I cannot connect to brick using USB networking.

    • Solution: Following the ev3dev instructions for setting up the network connection you’ll have to create a shared network connection. What we found for Windows 10 (8, 7 possible, but not checked) is, that, if you are using a VPN-Client and having an active VPN connection, the brick is not reachable.
      In order to connect to the brick you must disable your VPN connection because it also shares the connection with the same interface we want to use for our shared connection to the brick.

  • Q: I want to update the OS using apt-get.

    • Solution: You don’t. The brick is very limited in its resources and therefore an update/upgrade is not possible.
      Please ask the tutors if they can provide a newer and updated image.

  • Q: I need to upgrade the robolab-startup service.

    • Solution: We enabled this repository for you. Fetch the latest repository data and upgrade the package.
      Running apt-get update may exceed the Bricks memory and freeze. Please talk to your tutor before doing so.

$ sudo apt-get update
$ sudo apt-get upgrade -y robolab-startup

Wi-Fi "RoboLab Playground"

For the spring course, we provide a separate wireless network (IP range: 172.30.0.0/16) called RoboLab Playground.
The Bricks should auto-connect to it. If not, please use the following WPA2 Key:

  • someobviouspass

For our wireless network RoboLab Playground we only enabled access to the campus network (e.g. this documentation). Hence, you cannot access the Internet while being connected to it without using VPN.
Please note, that you cannot reach any device inside the RoboLab Playground Wi-Fi from the outside, e.g. while connected to eduroam or VPN/WEB.