Última atualização em: 2025-12-06 16:28

Como configurar a Orange Pi Zero 2W para aparecer como uma interface Ethernet USB para computadores

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:

  1. Editar o arquivo do netplan para que fique como o exemplo, usando

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.

  1. Criar um novo arquivo com os dados do módulo 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.

  1. Criar um arquivo com um serviço do systemd, para que a interface de rede seja ativada, mas apenas após alguns outros serviços iniciem. Escolhi essa abordagem pois ela se mostrou a mais consistente. Para criar o serviço, use:

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.