Última atualização em: 2025-12-06 16:28
A Orange Pi Zero 2W possui duas interfaces USB tipo C. A interface USB0 (a que fica mais próxima da borda lateral da placa), que seria apenas de energia em uma Raspberry Pi Zero, vem no modo USB OTG por padrão, fazendo com que ela possa ser usada como um dispositivo USB (pendrive, adaptador Ethernet, adaptador Serial). O objetivo é fazer com que a Orange Pi Zero 2W apareça como uma interface USB Ethernet RNDIS que possa ser utilizada com Windows e Linux.
O sistema escolhido para a Orange Pi foi o Ubuntu Jammy Desktop com kernel Linux 6.1. É possível que esses passos também funcionem com os outros sistemas disponíveis no site da Orange Pi, mas eu não cheguei a testar. Será utilizado o modo de enlace local para a conexão direta entre a Orange Pi e o computador. É possível fazer configurações mais sofisticadas usando DHCP, DNS, pontes, mas isso não será explicado aqui.
Assumo que a Orange Pi esteja ligada e você tenha acesso a ela, seja com monitor, teclado e mouse, SSH ou porta serial.
Obs: até é possível fazer isso pelo cartão SD sem nem precisar ligar a Orange Pi, deixando-a pronta já na primeira inicialzação, mas é mais complicado.
Os passos são:
sudo nano /etc/netplan/orangepi-default.yaml
Caso você nunca tenha feito edições no arquivo, o conteúdo do arquivo deveria ficar algo como:
network:
version: 2
renderer: NetworkManager
ethernets:
usb0:
optional: true
dhcp4: false
link-local: [ ipv4 ]
addresses: [ 169.254.1.1/16 ]
Foi definido um endereço local para a interface usb0 (169.254.1.1), ao invés de deixar aleatório. Com isso, fica mais consistente o acesso à Orange Pi.
Depois disso, use o seguinte comando para tentar aplicar a configuração do netplan:
sudo netplan try
Verificando que parece tudo certo (não caiu o Wi-Fi, por exemplo), pressione Enter para aplicar as configurações.
g_ether, que é o módulo que será usado para a conectividade Ethernet. Esse arquivo precisa ficar no diretório /etc/modprobe/. Para criar o arquivo, pode-se usar:sudo nano /etc/modprobe.d/g_ether.conf
O conteúdo é:
options g_ether dev_addr=06:11:22:33:44:55 host_addr=06:11:22:33:44:56 use_eem=0 idVendor=0x04b3 idProduct=0x4010 bcdDevice=0x0100
Algumas coisas estão sendo definidas aqui. A Orange Pi terá o endereço MAC 06:11:22:33:44:55, o computador 06:11:22:33:44:56. O modo cdc_eem foi desativado (está sendo usado RNDIS), com o idVendor e idProduct que estão definidos, a Orange Pi aparecerá como uma interface RNDIS da IBM, pois ela tem drivers para Windows 11. bcdDevice define a revisão do dispositivo USB.
sudo nano /etc/systemd/system/late_g_ether.service
O conteúdo do arquivo é o seguinte:
[Unit]
Description=Ativa g_ether após alguns serviços necessários
Wants=network-online.target
After=network-online.target
[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/usr/sbin/modprobe g_ether
[Install]
WantedBy=multi-user.target
Alias=late_g_ether.service
Então, esse serviço precisa ser ativado usando os seguintes comandos:
sudo systemctl daemon-reload
sudo systemctl enable late_g_ether.service
sudo systemctl start late_g_ether.service
Um aspecto interessante é que, ao desligar a Orange Pi, a interface só aparece como desativada quando a Orange Pi está totalmente desligada. Como o LED vermelho indica energia, mesmo com o sistema desligado o LED não apaga, então a detecção de que a interface USB Ethernet foi removida é uma boa forma de confirmar quando a Orange Pi pode ser desconectada da energia.
Espero que esse guia seja útil e tenha dado uma nova ideia de como usar a Orange Pi Zero 2W.