EBC Exercise 06 Connecting without ssh
Embedded Linux Class by Mark A. Yoder
What do you do if your Bone is booting up, but you can't connect with ssh? Here are two things to try.
Connect with a virtual serial port
Many things must happen for the network to boot up and accept an ssh connection. Long before the network is ready, the Bone opens a virtual serial port that you can connect to.
Connect your bone to the host via the USB cable and wait for it to boot. If you can't ssh from the host, run the following on the host:
host$ ls /dev/tty* /dev/tty /dev/tty2 /dev/tty31 /dev/tty43 /dev/tty55 /dev/ttyACM0 /dev/ttyS19 /dev/ttyS30 /dev/tty0 /dev/tty20 /dev/tty32 /dev/tty44 /dev/tty56 /dev/ttyprintk /dev/ttyS2 /dev/ttyS31 /dev/tty1 /dev/tty21 /dev/tty33 /dev/tty45 /dev/tty57 /dev/ttyS0 /dev/ttyS20 /dev/ttyS4 /dev/tty10 /dev/tty22 /dev/tty34 /dev/tty46 /dev/tty58 /dev/ttyS1 /dev/ttyS21 /dev/ttyS5 /dev/tty11 /dev/tty23 /dev/tty35 /dev/tty47 /dev/tty59 /dev/ttyS10 /dev/ttyS22 /dev/ttyS6 /dev/tty12 /dev/tty24 /dev/tty36 /dev/tty48 /dev/tty6 /dev/ttyS11 /dev/ttyS23 /dev/ttyS7 /dev/tty13 /dev/tty25 /dev/tty37 /dev/tty49 /dev/tty60 /dev/ttyS12 /dev/ttyS24 /dev/ttyS8 /dev/tty14 /dev/tty26 /dev/tty38 /dev/tty5 /dev/tty61 /dev/ttyS13 /dev/ttyS25 /dev/ttyS9 /dev/tty15 /dev/tty27 /dev/tty39 /dev/tty50 /dev/tty62 /dev/ttyS14 /dev/ttyS26 /dev/tty16 /dev/tty28 /dev/tty4 /dev/tty51 /dev/tty63 /dev/ttyS15 /dev/ttyS27 /dev/tty17 /dev/tty29 /dev/tty40 /dev/tty52 /dev/tty7 /dev/ttyS16 /dev/ttyS28 /dev/tty18 /dev/tty3 /dev/tty41 /dev/tty53 /dev/tty8 /dev/ttyS17 /dev/ttyS29 /dev/tty19 /dev/tty30 /dev/tty42 /dev/tty54 /dev/tty9 /dev/ttyS18 /dev/ttyS3
There are a number of tty's out there, but the one we want is /dev/ttyACM0
(highlighted above).
You can connect to it via the screen command.
host$ sudo apt update host$ sudo apt install screen host$ ls -ls /dev/ttyACM0 0 crw-rw---- 1 root dialout 166, 0 Dec 26 15:37 /dev/ttyACM0 host$ sudo adduser $USER dialout host$ screen /dev/ttyUSB0 115200 bone login: Debian
You have to be in the group dialout to access /dev/ttyACM0
You may have to hit Enter a couple of times to get the login prompt.
You can now access your Bone, but it's a slower connection (115200 bits per second)
When you are done you can exit screen
by entering Ctrl-A followed by \. When prompted, hit y
.
No Virtual Port
What if you don't see /dev/ttyACM0
? See https://elinux.org/EBC_Exercise_21a_Boot_Sequence to learn how to connect a FTDI cable.
The FTDI serial port allows you to see what the U-boot boot loader is doing, even before the kernel starts.