Ciao a tutti, faccio questo thread per spiegare a tutti come impostare il vlan id per collegare direttamente i router xiaomi ai vari ont e stabilire una connessione pppoe direttamente dal router xiaomi senza aver bisogno di altri accessori intermediari.
Per prima cosa dovrete fare il setup della connessione PPPOE escludendo il vlan id.
Terzo tasto in alto e poi nel sotto menu dovete andare sul secondo tab:

Successivamente dove scorrere un pochettino e troverete il tipo di connessione da impostare che di base è settato su dhcp invece che su pppoe, ovviamente modificatelo inserendo il vostro username e password (nello screen di seguito io ho scelto anche di modificare il dns del router, se volete farlo anche voi questo è il momento migliore, dopo potrebbe creare problemi).

Una volta fatto ciò cliccate sul tasto blu in basso alla schermata per confermare le modifiche.
A questo punto avrete bisogno dello xmir patcher che potete reperire su github:
https://github.com/openwrt-xiaomi/xmir-patcher
Vi basta scaricarlo (Tasto Code e poi nel menu che si apre ve lo fa scaricare come zip).
Lo scompattate sul pc dove volete.
Per farlo funzionare avrete bisogno di python, vi consiglio di installarlo prima.
A questo punto con il router collegato al pc tramite cavo lan potete aprire il tool cliccando sul file che si chiama run.bat.
Il consiglio spassionato a questo punto è di installare l'exploit (Opzione 2) e di installare ssh permanente (Opzione 6). Volendo tramite questo tool si potrebbe anche tradurre l'interfaccia (Opzione 5) a vostra discrezione.
Una volta fatto il tutto, è meglio riavviare il router prima di procedere (Potete usare il tool appena scaricato o semplicemente staccare la presa del router)
A questo punto il mio consiglio è di usare powershell per il collegamento ssh, ma potete anche usare applicativi come winscp.
Il comando da usare su powershell è il seguente:
ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null root@192.168.31.1
Una volta digitato vi chiederà la password che è sempre root .
Se vi state chiedendo cos'è quella parte al centro del comando, serve per skippare la verifica del certificato, perché il router lo cambia ad ogni riavvio ed altrimenti si sarebbe costretti a cancellare il certificato salvato ogni volta.
Una volta fatto l'accesso dovrete eseguire questi comandi uno per volta:
uci set network.wan.ifname='eth0.835'
uci commit network
uci set port_map.1.ifname='eth0.835'
uci commit port_map
Una volta eseguiti potete verificare se la connessione si è attivata da sola, oppure potete forzarla eseguendo il seguente comando:
ifup wan
Se vedete che anche così non si attiva provate a riavviare il router.
Dopo il riavvio se continua a non collegarsi da solo provate a vedere se ha preso le precedenti modifiche eseguendo questi comandi:
uci get network.wan.ifname
uci get port_map.1.ifname
Piccola nota, io ho dato per scontato che il vlan id da usare sia l'835 e che abbiate collegato il cavo lan che arriva dall'ont sulla porta numero 1 (eth0) del router (quella più a sinistra) se non fosse così dovete modificare questi parametri in base alla vostra configurazione, le porte lan sono numerate da 1 a 4 e corrispondono ad eth0-eth3, lascio una piccola foto delle porte numerate:

Ci potrebbe essere anche altro che dovrebbe essere cambiato nei comandi se non avete collegato il cavo dell'ont sulla porta 1, consiglio spassionato, collegatelo alla porta 1 se non siete tanto pratici.
Specifico che questa guida dovrebbe funzionare su tutti i router xiaomi più recenti, ci sono alcuni casi più estremi in cui il router non mantiene la modifica dell'ifname dopo il riavvio (tipo il mio) e per quello ho dovuto fare uno script da inserire nel router direttamente. Per quest'altro metodo al momento non farò una guida, nel caso scrivete o cercatemi su telegram.
Ultima precisazione, la modifica funziona su tutte le versioni del firmware