Skip to content

Crankshaft dev mode

Huan Truong edited this page Mar 9, 2018 · 26 revisions

Development mode

This page is being written. There will be more interesting features regarding the dev mode, check back this page later for more tips and tricks.

As Crankshaft is designed as a "plug-n-play" solution, it mostly doesn't need to be configured. But if you want to save the settings or change the system, you could do so by starting it in dev mode. This feature is offered on image 2018-03-05 or later.

To enable dev mode, put a jumper on GPIO4/Ground (Pin 07-09). Then start the system, then wait for it to restart. Voila! You're in dev mode. The screen is black! You can now plug a keyboard to type directly or SSH into the system.

Use default username pi and password raspberry.

To quit dev mode, remove the jumper, then issue sudo reboot. It will reboot twice, and you'll be out of dev mode.

  • It will enable network services that are normally not enabled.
  • It will mount the system in the read-write mode so your changes are saved.
  • It will not start the head unit app automatically until you ask it to (issue sudo systemctl start autoapp.service).
  • It will enable the OpenSSH daemon. Plug a wired connection in, and you can SSH into the system (on Mac & Linux, ssh pi@crankshaft, on Windows, use PuTTY).
  • Note: Every time you enable dev mode, it will generate a new key. When you SSH in, your computer might warn you about changed host signatures - that's OK. Just remove the old sigs so it doesn't complain anymore.

Run OpenAuto under X11 (compatibility mode)

First, enable dev mode and log in. Plug a network cable into the back of the pi. Then, issue:

sudo apt update

sudo apt -y install xserver-xorg xterm xinit

echo "allowed_users=anybody" > /etc/X11/Xwrapper.config

echo "exec autoapp --platform xcb" > ~/.xinitrc

xinit

See if that works better for you.

If it does, then you need to make it start in X11 compat mode by default, type in

sudo sed -i 's/\/local\/bin\/autoapp/\/bin\/xinit/' /etc/systemd/system/autoapp.service

Then pull out the dev jumper and restart sudo reboot.

If this turns out to be an effective way to get HDMI screens to work, it will be automated in the future.

Clone this wiki locally