Подключение к Raspberry Pi zero по сети через usb

Для того чтобы подключиться к Raspberry Pi Zero нужно иметь либо Wifi подключение, либо uart адаптер. Это не всегда удобно. В плате есть один usb otg разъём. К нему можно подключить любой usb устройство. А также можно превратить Raspberry в виртуальную сетевую карту, серийный порт, виртуальную клавиатуру, флеш накопитель и прочее. Расскажу вам как настроить сетевую карту и подключиться по ssh.

Подключим карту памяти с установленной версией raspbian к компьютеру. У меня стоит Raspbian Stretch Lite. Это lite версия без gui. На карте два раздела boot, и системный.

Для активации ssh создадим пустой файл

/boot/ssh

В файл /boot/config.txt нужно в конец добавить строку

dtoverlay=dwc2

В файл /boot/cmdline через пробел в конце нужно добавить - modules-load=dwc2,g_ether, вся строка будет выглядеть примерно так

dwc_otg.lpm_enable=0 logo.nologo console=serial0,115200 console=tty1 root=PARTUUID=da2ce776-02 rootfstype=ext4 elevator=deadline fsck. repair=yes rootwait modules-load=dwc2,g_ether

Назначим ip адрес задав его в конфиге /etc/dhcpcd.conf, просто допишите в конец файла следующее:

profile static_usb0
static ip_address=192.168.255.254/24
static routers=192.168.255.1
static domain_name server 1.1.1.1 8.8.8.8

interface usb0
fallback static_usb0

Теперь после включения на плате поднимется сетевой интерфейс usb0 с адресом 192.168.255.254. Кстати при включении Raspberry Pi c помощью кабеля подключенного к OTG разъёму, отдельно питать плату не нужно.

Осталось на компьютере настроить появившуюся виртуальную usb сетевую карту. Укажите ip адрес 192.268.255.1. Проверьте доступность платы:

[email protected]:~$ ping 192.168.255.254
PING 192.168.255.254 (192.168.255.254) 56(84) bytes of data.
64 bytes from 192.168.255.254: icmp_seq=1 ttl=64 time=0.357 ms
64 bytes from 192.168.255.254: icmp_seq=2 ttl=64 time=0.380 ms
64 bytes from 192.168.255.254: icmp_seq=3 ttl=64 time=0.429 ms
^C
--- 192.168.255.254 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2040ms
rtt min/avg/max/mdev = 0.357/0.388/0.429/0.037 ms

Теперь можно подключиться по ssh.

ssh [email protected]