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: Activate extended WSL functionality in order to work with chmod/chown.
      Re-run the deploy-script afterwards with python3.7 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 use Windows and my Python version is too old (works not for WSL).

    • Solution: Install latest Python 3.7.

  • 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 get stuck on ssh commands and creates a file ssh.exe.stackdump.

    • Solution: Re-run 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.

# 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 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.7.

$ sudo add-apt-repository ppa:deadsnakes/ppa
$ sudo apt-get update
$ sudo apt-get install python3.7 -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.

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 as we are using 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.

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

WiFi "RoboLab Playground"

For the spring course, we provide a separate wireless network called RoboLab Playground.
In order to connect 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.
This also implies, that you cannot reach any device inside the RoboLab Playground WiFi from outside, e.g. while connected to eduroam or VPN/WEB.