No reconoce tarjeta WIFI en HG556A

Algunas veces me ha pasado que después de flashear un router, no aparece la interfaz wifi en el menú de LUCI. Vamos a explicar que puede estar sucediendo.

Los routers HG556A internamente no tienen todos el mismo hardware. En un principio debemos saber que:

Pueden tener integrada dos tipos de tarjetas WIFI:

  • Atheros AR9223 802.11b/g/n en los routers que han denominado Modelo A y B

Los modelos A y B se distinguen en la etiqueta pone en HW version lo siguiente: HG55VDFA VER.C

  • Ralink RT3062F 802.11b/g/n

Este es el que llaman modelo C y se distingue porque en la etiqueta pone en HW version lo siguiente:  HG56BZRB VER.A

Cuando tenemos este último modelo (modelo C) la elección del firmware es clara ya que elegiríamos el siguiente: openwrt-15.05.1-brcm63xx-generic-HG556a_C-squashfs-cfe.bin

Diferentes firmwares a elegir

El problema surje entre el modelo A y el B.

Estos dos modelos a su vez traen diferente fabricante de memoria flash interna. Podemos encontrarnos tres tipos:

  • MX29GL128EH
  • MX29LV128DB
  • S29GL128P10

Aún así, el primer intento de diferenciación es por el número de serie. Podemos consultar la tabla de diferenciación de routers que ya publiqué en una entrada anterior enlace o en la misma página de Openwrt dentro de la sección Supported Versions. Sólo hay que mirar los primeros 5 dígitos del nº de serie y ver su correspondencia en la tabla.

¿Qué pasa si nos equivocamos?

Pues vamos probando. si no es el C, probamos instalando el A y si no el B.

Los he probado todos y no me reconoce la tarjeta WIFI.

Mientras escribo esta entrada me doy cuenta que tras probar en un router versión A, que tengo a mi lado, con el firmware que he descargado versión 15.05.1 no reconoce el WIFI. Con la versión 15.05 y con LEDE 17.01.2 funcionó perfectamente. [Edito] Unos días después en otro router de versión C al instalar Openwrt 15.0.1 me volvió a desaparecer la red Wifi. Con la versión de LEDE se me quedaba continuamente reiniciándose. Al instalar la 15.05 volvió a aparecer.

En este punto puede ser que hayamos perdido los parámetros internos que trae el router de fábrica de la configuración WIFI. Son los llamados CAL_DATA.

Al instalar un firmware en estos routers siempre recomiendan hacer una copia de respaldo de los CAL_DATA (ver comienzo en página de Openwrt ).

¿Pero si ya no están los CAL_DATA, cómo los recuperamos?

Si uno busca como recuperarlos, te dicen que primero es abrir el router y mirar la serigrafía de la memoria flash interna y ver si es uno de los tres que aparecen arriba (MX29GL128E, MX29LV128DB o S29GL128P10).

En principio no hace falta abrir el router ya que con ejecutar una simple orden podemos saber que memoria flash trae el dispositivo.

Entramos por telnet o ssh en el router y ponemos lo siguiente:

dmesg | grep Manufacturer

Nos devolverá una línea del tipo:

[ 0.284000] physmap-flash.0: Found 1 x16 devices at 0x0 in 16-bit bank. Manufacturer ID 0x0000c2 Chip ID 0x00227a

Debemos fijarnos en el Chip ID y buscarlo en esta tabla.

Chip ID Memoria Flash
0x00227e MX29GL128EH
0x00227a MX29LV128DB
0x002101 S29GL128P10

A continuación una vez identificada la flash podremos seguir con este magnífico tutorial donde tendrás que instalar un firmware especial para recuperar los CAL_DATA y seguir los pasos que te indican sólo que ya sabes qué tipo de memoria Flash interna tienes.

Todavía no sé a ciencia cierta qué modelo de los A y B trae seguro un memoria flash u otra. Sólo sé que el que tengo a mi lado y otro que llego a mis manos hace tiempo son de tipo A, y tienen como chip id el  “0x00227a” que se corresponde con la memoria flash de tipo MX29LV128DB. Lo que no puedo asegurar es que todos los  modelo A tengan el mismo chip.

En mi caso con este router he tenido que hacer lo siguiente según el tutorial:

1- Me he bajado el firmware especial desde este enlace.

2- He ‘flasheado’ el router con dicho firmware.

3- He accedido por telnet a la ip 192.168.1.1

4- Puse el siguiente comando

mtd -r erase cal_data

5-  Como mi Memoria Flash era MX29LV128DB puse la siguiente orden después de que se me reiniciase el router y volviera a acceder por telnet:

dd if=/etc/atheros_MX29LV128DB.bin of=/dev/mtd4

6- Acto seguido instalé el firmware versión A  15.05.1 de Openwrt.  PERO NO FUNCIONÓ

7- Después de darle muchas vueltas me percato que el que funciona es la versión 15.05 descargable en este enlace

8- Ahora desde desde Luci intento instalar LEDE en su versión 17.01.2 y va perfecto con la versión A

Debe haber algún error en la compilación para la versión A de este router en la versión 15.05.1

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *