Se han enviado los parches a openwrt-devel, pero blogic, debido a que hay que hacer dos definiciones debido a que hay dos revisiones de hardware, ha dicho lo siguiente:
2014-03-12 9:31 GMT+01:00, John Crispin:
> hi,
>
> i am starting to wonder if we should to runtime detection of the fw blob
> to use ... i.e. indicate in the dts file if we want 11g or 22fe firmware
> and let the code figure out the version
>
> John
gmtii y yo opinamos lo mismo: que el driver se encargue de detectar los switchs y cargue el firm adecuado, así con una sola compilación las dos revisiones quedan soportadas y no nos tenemos que romper la cabeza si nos equivocamos al compilar.
blogic no ha dicho esto por fastidiar, sino que hay otro router que también tiene dos revisiones con diferentes firms (
https://dev.openwrt.org/ticket/15057) y si se hace como él dice el livebox y el BT Openreach necesitarán un solo archivo de definición cada uno en vez de los dos que harían falta por router.
Lesgar y
gmtii ya han hecho un trabajón

dándole soporte al cacharro y yo de C y de drivers no tengo casi idea, por lo que os agradecería si alguno puede echarle un ojo a ésto.
Creo que los archivos que habría que tocar son los correspondientes a estos parches
https://dev.openwrt.org/browser/trunk/target/linux/lantiq/patches-3.10/0008-NET-PHY-adds-driver-for-lantiq-PHY11G.patchhttps://dev.openwrt.org/browser/trunk/target/linux/lantiq/patches-3.10/0019-NET-lantiq-adds-PHY11G-firmware-blobs.patchhttps://dev.openwrt.org/browser/trunk/target/linux/lantiq/patches-3.10/0020-NET-MIPS-lantiq-adds-xrx200-net.patchhttps://dev.openwrt.org/browser/trunk/target/linux/lantiq/patches-3.10/0022-NET-multi-phy-support.patchy ver si el .phy_id o algún otro valor que sea único para cada modelo de switch se pueden leer antes de que cargue el firm.
Para vergüenza mía no sé en qué parte del kernel está la rutina que carga el firm que se le indica en el archivo dts
[ 0.380000] gptu: succeeded to request irq 131
[ 0.384000] phy-xrx200 gphy-xrx200.8: requesting lantiq/vr9_phy11g_a2x.bin
[ 0.392000] phy-xrx200 gphy-xrx200.8: booting GPHY0 firmware at 78C0000
[ 0.400000] phy-xrx200 gphy-xrx200.8: booting GPHY1 firmware at 78C0000
[ 0.508000] squashfs: version 4.0 (2009/01/31) Phillip Lougher
y aquí el driver del switch (lantiq.c) anuncia lo que ha encontrado
[ 0.776000] libphy: lantiq,xrx200-mdio: probed
[ 0.784000] net-xrx200: invalid MAC, using random
[ 0.788000] eth0: attached PHY [Lantiq XWAY VR9 GPHY 11G v1.4] (phy_addr=0:11, irq=-1)
[ 0.796000] eth0: attached PHY [Lantiq XWAY VR9 GPHY 11G v1.4] (phy_addr=0:13, irq=-1)
[ 0.804000] eth0: attached PHY [Lantiq XWAY PEF7071 v1.5] (phy_addr=0:00, irq=-1)
[ 0.812000] wdt 1f8803f0.watchdog: Init done
Hay una cosa que sí sé: los switch se configuran mediante el bus mdio.