Les neufbox ont bien accès, pour le diagnostic (récupérer la puissance reçue, l'état GPON, les versions de firmware, la température, ...).
Peut-être qu'il faudrait regarder comment.
Bon, pour le G-010-A, j'ai regardé comment on pourrait faire
en théorie.
D'abord, avant toute manipulation, je conseille fortement de faire une sauvegarde des /dev/mtd*, et des variables uboot (fw_printenv).Si on se loupe il faudra soit prendre la main sur uboot, soit dessouder la flash.
Mais il y a des variables qui suggèrent qu'on pourrait dialoguer avec uboot sans port série :
fw_setenv ncip 192.168.1.1
fw_setenv preboot "$(fw_printenv preboot); run start_netconsole"
Et sur le PC (avec l'IP 192.168.1.1) :
socat - udp-listen:6666
Ce qui permettrait d'avoir une partie des messages d'uboot, et laisserait 5s pour interrompre le boot et avoir une ligne de commande.
L'ennui est que si je me trompe (le fait d'exécuter le script en preboot par exemple), ça peut casser le boot

La macro select_image dans uboot est un peu complexe avec ses multiples tests.
Il y a une macro update_system qui écrit image0 et positionne commit=0 image0_is_valid=1.
Sous Linux :
Dans /proc/mtd, quand l'image0 est active, on a :
- mtd2 = linux (l'image complète)
- mtd3 = rootfs (sous partie)
- mtd4 = rootfs_data (sous partie)
- mtd5 = image1 (image inactive)
Il y a un script "update_env_flag", qui prend un numéro d'image (0 ou 1) en paramètre.
Mais il positionne entre autres commit ET next_active.
Je dirais :
- récupérer l'image active (traces de boot, cat /proc/mtd, ou upgradestatus)
- flasher l'image inactive : "mtd write image.bin image1 && update_env_flag 1"