Nota importante: Flashear OpenWRT quebra permanentemente a funcionalidade de saída PoE, mesmo após reinstalar o RouterOS! O PoE também não funciona no OpenWRT!
Tive um problema significativo com as instruções oficiais de flash do OpenWRT no MikroTik hEX PoE Lite, conforme descrito na wiki do OpenWRT. Usei o RouterOS 7.4.1 e um host Linux para o processo de flash.
Especificamente, iniciar o processo de flash de dentro do RouterOS via System -> RouterBoard -> Settings não funcionou, nem com o bootloader de backup nem sem ele, nem com DHCP nem com BOOTP. Isso causou um loop de boot e requisição DHCP com o log mostrado abaixo
Passos para flashear OpenWRT no RB750UPr2
… e provavelmente na maioria das outras placas RouterOS. Não há nenhum requisito específico para a versão do firmware. O RouterOS 6.47 funciona. O RouterOS 7.4.1 funciona. Não verifiquei nenhum outro além desses, mas muito provavelmente não fará diferença. Especificamente, não há necessidade de fazer downgrade usando este método! O downgrade do RouterOS só é necessário para algum método de flash antigo baseado em Windows.
1 - Conecte um cabo Ethernet do seu computador de flash ao primeiro conector Ethernet do roteador.
O PXE só funcionará nesta porta específica e não funcionará em outras portas!
2 - Configure a interface IP do seu computador de flash.
Usaremos eth0 neste exemplo. Certifique-se de usar a interface correta
sudo ifconfig eth0 192.168.1.10 netmask 255.255.255.0Li em algum lugar que os MikroTiks esperam que o host PXE esteja no IP 192.168.1.10 - isso definitivamente funciona. Outros endereços IP podem ou não funcionar também, não verifiquei. Apenas use esse.
3 - Configure o dnsmasq
sudo apt -y install dnsmasqe então não se esqueça de parar o dnsmasq e remover a configuração padrão
sudo systemctl disable --now dnsmasq
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.default.conf4 - Baixe a imagem correta do OpenWRT
Pesquise no Google por OpenWRT + seu tipo de RouterBoard, ex. OpenWRT RB750UPr2. Isso o levará a um site como este. Role para baixo e baixe tanto a Firmware OpenWrt Install URL quanto a Firmware OpenWrt Upgrade URL! No final você precisará de ambas, mas por enquanto precisamos da que termina com ...-initramfs-kernel.img!
Salve esse arquivo com o nome original. O nome não importa - o que importa é apenas que você use a imagem correta, não o ...-sysupgrade.bin para o boot PXE! Não há absolutamente nenhuma necessidade de nomear o arquivo como vmlinux etc.
5 - Inicie o servidor dnsmasq
No comando a seguir, certifique-se de definir o nome correto da imagem na linha --dhcp-boot
sudo /usr/sbin/dnsmasq \
--no-daemon \
--listen-address 192.168.1.10 \
--bind-interfaces \
-p0 \
--dhcp-authoritative \
--dhcp-range=192.168.1.100,192.168.1.200 \
--bootp-dynamic \
--dhcp-boot=openwrt-19.07.10-ar71xx-mikrotik-rb-nor-flash-16M-initramfs-kernel.bin \
--log-dhcp \
--enable-tftp \
--tftp-root=$(pwd)6 - Reinicie o roteador no modo de boot PXE
Como observado acima, reiniciar via RouterOS não funcionou para mim de forma alguma. Só posso recomendar este método, que também descrevi no meu post do blog Como fazer o roteador MikroTik dar boot usando PXE (netboot) / BOOTP
- Desconecte todas (!) as fontes de alimentação do seu roteador. Isso inclui PoE, se usado. Verifique se todos os LEDs estão apagados.
- Pressione o botão de reset, você deve ouvir um pequeno clique. Às vezes eles são um pouco difíceis de pressionar, às vezes você acha que pressionou mas não pressionou, pois o botão às vezes é menor que o orifício. Eu uso uma pinça para pressioná-lo. Mantenha o botão de reset pressionado até terminar o procedimento.
- Continue pressionando o botão de reset enquanto conecta a fonte de alimentação
- Ainda mantendo o botão de reset pressionado, aguarde as seguintes fases de reset:
- Após ~5 segundos, um dos LEDs começará a piscar
- Após mais 5 segundos, o LED parará de piscar e acenderá permanentemente
- Após mais 5 segundos, o LED apagará permanentemente.
- Apenas após ver o LED apagar após essas três fases (aproximadamente 15 segundos), solte o botão de reset
- O roteador agora deve dar boot usando PXE
7 - Prossiga com o OpenWRT
Se o reset e o boot PXE funcionaram, o OpenWRT está rodando em 192.168.1.1. Na maioria dos dispositivos MikroTik, você precisa conectar o Ethernet a uma das portas LAN (tipicamente qualquer porta exceto a primeira porta) para acessar o OpenWRT. Note que o DHCP não está ativo por padrão.
O próximo passo é basicamente verificar se o OpenWRT funciona corretamente e então instalá-lo na flash usando a imagem ...-sysupgrade.bin que baixamos antes. Isso é bastante fácil e realizado usando a interface Web, é melhor consultar a página da wiki do OpenWRT para mais detalhes.
Log de erro ao iniciar o flash PXE via RouterOS
Veja acima o procedimento que funciona. Este erro ocorreu quando eu não iniciei o processo PXE via botão de Reset
dnsmasq-dhcp: 1534706347 vendor class: Mips_boot
dnsmasq-dhcp: 1534706347 DHCPDISCOVER(eth1) dc:2c:6e:d7:60:9d
dnsmasq-dhcp: 1534706347 tags: eth1
dnsmasq-dhcp: 1534706347 DHCPOFFER(eth1) 192.168.1.100 dc:2c:6e:d7:60:9d
dnsmasq-dhcp: 1534706347 requested options: 1:netmask, 3:router
dnsmasq-dhcp: 1534706347 bootfile name: rb-nor-flash-16M-initramfs-kernel.bin
dnsmasq-dhcp: 1534706347 next server: 192.168.1.10
dnsmasq-dhcp: 1534706347 sent size: 1 option: 53 message-type 2
dnsmasq-dhcp: 1534706347 sent size: 4 option: 54 server-identifier 192.168.1.10
dnsmasq-dhcp: 1534706347 sent size: 4 option: 51 lease-time 1h
dnsmasq-dhcp: 1534706347 sent size: 4 option: 58 T1 30m
dnsmasq-dhcp: 1534706347 sent size: 4 option: 59 T2 52m30s
dnsmasq-dhcp: 1534706347 sent size: 4 option: 1 netmask 255.255.255.0
dnsmasq-dhcp: 1534706347 sent size: 4 option: 28 broadcast 192.168.1.255
dnsmasq-dhcp: 1534706347 sent size: 4 option: 3 router 192.168.1.10
dnsmasq-dhcp: 4257818828 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 4257818828 vendor class: Mips_boot
dnsmasq-dhcp: 4257818828 DHCPDISCOVER(eth1) dc:2c:6e:d7:60:9d
dnsmasq-dhcp: 4257818828 tags: eth1
dnsmasq-dhcp: 4257818828 DHCPOFFER(eth1) 192.168.1.100 dc:2c:6e:d7:60:9d
dnsmasq-dhcp: 4257818828 requested options: 1:netmask, 3:router
dnsmasq-dhcp: 4257818828 bootfile name: rb-nor-flash-16M-initramfs-kernel.bin
dnsmasq-dhcp: 4257818828 next server: 192.168.1.10
dnsmasq-dhcp: 4257818828 sent size: 1 option: 53 message-type 2
dnsmasq-dhcp: 4257818828 sent size: 4 option: 54 server-identifier 192.168.1.10
dnsmasq-dhcp: 4257818828 sent size: 4 option: 51 lease-time 1h
dnsmasq-dhcp: 4257818828 sent size: 4 option: 58 T1 30m
dnsmasq-dhcp: 4257818828 sent size: 4 option: 59 T2 52m30s
dnsmasq-dhcp: 4257818828 sent size: 4 option: 1 netmask 255.255.255.0
dnsmasq-dhcp: 4257818828 sent size: 4 option: 28 broadcast 192.168.1.255
dnsmasq-dhcp: 4257818828 sent size: 4 option: 3 router 192.168.1.10
dnsmasq-dhcp: 1683968382 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 1683968382 vendor class: Mips_boot
dnsmasq-dhcp: 1683968382 DHCPDISCOVER(eth1) dc:2c:6e:d7:60:9d
dnsmasq-dhcp: 1683968382 tags: eth1
dnsmasq-dhcp: 1683968382 DHCPOFFER(eth1) 192.168.1.100 dc:2c:6e:d7:60:9d
dnsmasq-dhcp: 1683968382 requested options: 1:netmask, 3:router
dnsmasq-dhcp: 1683968382 bootfile name: rb-nor-flash-16M-initramfs-kernel.bin
dnsmasq-dhcp: 1683968382 next server: 192.168.1.10
dnsmasq-dhcp: 1683968382 sent size: 1 option: 53 message-type 2
dnsmasq-dhcp: 1683968382 sent size: 4 option: 54 server-identifier 192.168.1.10
dnsmasq-dhcp: 1683968382 sent size: 4 option: 51 lease-time 1h
dnsmasq-dhcp: 1683968382 sent size: 4 option: 58 T1 30m
dnsmasq-dhcp: 1683968382 sent size: 4 option: 59 T2 52m30s
dnsmasq-dhcp: 1683968382 sent size: 4 option: 1 netmask 255.255.255.0
dnsmasq-dhcp: 1683968382 sent size: 4 option: 28 broadcast 192.168.1.255
dnsmasq-dhcp: 1683968382 sent size: 4 option: 3 router 192.168.1.10
dnsmasq-dhcp: 424531201 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 424531201 vendor class: Mips_boot
dnsmasq-dhcp: 424531201 DHCPDISCOVER(eth1) dc:2c:6e:d7:60:9d
dnsmasq-dhcp: 424531201 tags: eth1
dnsmasq-dhcp: 424531201 DHCPOFFER(eth1) 192.168.1.100 dc:2c:6e:d7:60:9d
dnsmasq-dhcp: 424531201 requested options: 1:netmask, 3:router
dnsmasq-dhcp: 424531201 bootfile name: rb-nor-flash-16M-initramfs-kernel.bin
dnsmasq-dhcp: 424531201 next server: 192.168.1.10
dnsmasq-dhcp: 424531201 sent size: 1 option: 53 message-type 2
dnsmasq-dhcp: 424531201 sent size: 4 option: 54 server-identifier 192.168.1.10
dnsmasq-dhcp: 424531201 sent size: 4 option: 51 lease-time 1h
dnsmasq-dhcp: 424531201 sent size: 4 option: 58 T1 30m
dnsmasq-dhcp: 424531201 sent size: 4 option: 59 T2 52m30s
dnsmasq-dhcp: 424531201 sent size: 4 option: 1 netmask 255.255.255.0
dnsmasq-dhcp: 424531201 sent size: 4 option: 28 broadcast 192.168.1.255
dnsmasq-dhcp: 424531201 sent size: 4 option: 3 router 192.168.1.10
dnsmasq-dhcp: 3459997603 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3459997603 vendor class: Mips_boot
dnsmasq-dhcp: 3459997603 DHCPDISCOVER(eth1) dc:2c:6e:d7:60:9d
dnsmasq-dhcp: 3459997603 tags: eth1
dnsmasq-dhcp: 3459997603 DHCPOFFER(eth1) 192.168.1.100 dc:2c:6e:d7:60:9d
dnsmasq-dhcp: 3459997603 requested options: 1:netmask, 3:router
dnsmasq-dhcp: 3459997603 bootfile name: rb-nor-flash-16M-initramfs-kernel.bin
dnsmasq-dhcp: 3459997603 next server: 192.168.1.10
dnsmasq-dhcp: 3459997603 sent size: 1 option: 53 message-type 2
dnsmasq-dhcp: 3459997603 sent size: 4 option: 54 server-identifier 192.168.1.10
dnsmasq-dhcp: 3459997603 sent size: 4 option: 51 lease-time 1h
dnsmasq-dhcp: 3459997603 sent size: 4 option: 58 T1 30m
dnsmasq-dhcp: 3459997603 sent size: 4 option: 59 T2 52m30s
dnsmasq-dhcp: 3459997603 sent size: 4 option: 1 netmask 255.255.255.0
dnsmasq-dhcp: 3459997603 sent size: 4 option: 28 broadcast 192.168.1.255
dnsmasq-dhcp: 3459997603 sent size: 4 option: 3 router 192.168.1.10
dnsmasq-dhcp: 657189184 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 657189184 vendor class: Mips_boot
dnsmasq-dhcp: 657189184 DHCPDISCOVER(eth1) dc:2c:6e:d7:60:9d
dnsmasq-dhcp: 657189184 tags: eth1
dnsmasq-dhcp: 657189184 DHCPOFFER(eth1) 192.168.1.100 dc:2c:6e:d7:60:9d
dnsmasq-dhcp: 657189184 requested options: 1:netmask, 3:router
dnsmasq-dhcp: 657189184 bootfile name: rb-nor-flash-16M-initramfs-kernel.bin
dnsmasq-dhcp: 657189184 next server: 192.168.1.10
dnsmasq-dhcp: 657189184 sent size: 1 option: 53 message-type 2
dnsmasq-dhcp: 657189184 sent size: 4 option: 54 server-identifier 192.168.1.10
dnsmasq-dhcp: 657189184 sent size: 4 option: 51 lease-time 1h
dnsmasq-dhcp: 657189184 sent size: 4 option: 58 T1 30m
dnsmasq-dhcp: 657189184 sent size: 4 option: 59 T2 52m30s
dnsmasq-dhcp: 657189184 sent size: 4 option: 1 netmask 255.255.255.0
dnsmasq-dhcp: 657189184 sent size: 4 option: 28 broadcast 192.168.1.255
dnsmasq-dhcp: 657189184 sent size: 4 option: 3 router 192.168.1.10
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot
dnsmasq-dhcp: 3031796432 available DHCP range: 192.168.1.100 -- 192.168.1.200
dnsmasq-dhcp: 3031796432 vendor class: Mips_boot