Without an ethernet port, the Pi Zero doesn’t lend itself to being setup without a monitor and keyboard. This post shows how to configure your wifi using the Adafruit console lead without having to plug in a monitor or keyboard.
The Adafruit Console Lead uses the PL2303TA (a USB-to-serial/parallel converter chip) to talk to the Pi over GPIO pins 8 and 10 via USB. You can use this kind of USB to serial communication on plenty of devices but with the Pi, it’s handy to use the
screen application to effectively open a “telnet-like” terminal to your Pi.
Most of the guides on the internet point you to older versions of the drivers, but to get things working on the Mac with El Capitan or Sierra, I’ve found v1.6 of the Prolific driver is the only working option.
It’s not hard to build you’re own cable from the basic components or you could try eBay for parts for under £2/$2 but I can’t say if they use genuine Prolific chips or counterfeit.
Create a Screen
$ ls -la /dev/tty.usb* crw-rw-rw- 1 root wheel 17, 4 28 Dec 19:49 /dev/tty.usbserial
Startup screen and point it to your Pi (
115200 is the baud rate to communicate with).
screen /dev/tty.usbserial 115200
You might need to hit the
enter key to wake things up, but you should see a regular Linux login prompt.
By default, the console width is 30 characters and wraps on a single line. It’s pretty annoying when you paste a long command, so you can increase it for you session with the following
stty cols 130
When you fire up the
screen window manager, you can use
A ( +
A) to enter “command mode”, hitting a subsequent key will execute a command. For example,
A followed by a
? will show you some helpful commands.
Here are some reminders of useful commands.
|Get some help||
|Kill a session||
You might want to setup you’re wireless from within
screen. Connecting to a non-hidden network is straight forward. Setting things up for a hidden network is a little more involved.
/etc/network/interfaces file and ensure it has a
wlan0 section. For open networks, something like this.
source-directory /etc/network/interfaces.d auto lo iface lo inet loopback iface eth0 inet dhcp allow-hotplug wlan0 iface wlan0 inet dhcp wpa-ssid "Guest Network" wpa-psk "passphrase"
and for hidden networks, something like this.
/etc/network/interfaces file to access a network (with hidden SSID).
source-directory /etc/network/interfaces.d auto lo iface lo inet loopback iface eth0 inet dhcp auto wlan0 allow-hotplug wlan0 iface wlan0 inet dhcp wpa-scan-ssid 1 wpa-ap-scan 1 wpa-key-mgmt WPA-PSK wpa-proto RSN WPA wpa-pairwise CCMP TKIP wpa-group CCMP TKIP wpa-ssid "network-name" wpa-psk 12484.....654 iface default inet dhcp
Using the console lead is an easy way to use a telnet-like terminal to setup your Pi when you don’t want to connect a monitor and keyboard. As an alternative, you could try a headless setup mounting an SD card, whereby you’d mount an SD Card (with a raspian image) onto a unix-like machine and modify the file system directly.
See my post on common Pi setup for more notes and tips on general Pi setup.