Fix_Antena_RTL8188


Enlcae de radio activa pero sin red o (sin internet conectado)

Compre una antena Wi-Fi USB genérica barata basada en un chipt Realtek RTL8188FTV (o RTL8188FU). al conectarlo a mi computadora con Windows 11, detecto todas las redes inalambricas del pero al seleccionar mi red, introducir la pass , la antena se asocia al router en segundos... o micro pero inmediatamente centro de red me muestra el estado:

Estado de red: "Sin Internet, protegida" /o "Conectado, sin acceso a red".

Al abrir la consola y ejecutar ipconfig, veo el típico problema:

Intente los pasos comunes para resolver el problema como :

  1. Reiniciar el modem/router: No resultados.
  2. Configurar IP estatica manualmente: Le asigne 200.190.X.X con mascara 255.255.255.0 y gateway 192.168.1.1. al probar el resultado el mismo :sigue sin haber ping a la puerta de enlace ni resolucion de nombres DNS.
  3. limpiar adaptadores de red viejos: borre dispositivos ocultos y adaptadores fantasma en el administrador de dispositivos, reinstalar todo , sigue igual.

como puede un adaptador conectarse fisicamente por radio al router con 70% de senal, pero no ser capaz de transmitir o recibir ni un solo paquete?


revisar bajo nivel , efuse y memoria de quemado

a este punto que nada funcionaba y estaba seguro no era hardware pense consultar los datos del adaptador en PowerShell con Get-NetAdapter:

Name             : Wi-Fi 2
InterfaceDesc    : Realtek RTL8188FTV Wireless LAN 802.11n USB 2.0 Network Adapter
MacAddress       : 00-00-00-00-00-00
PermanentAddress : 000000000000

Y al ver el identificador de instancia en el bus USBb con pnputil:

Id. de instancia: USB\VID_0BDA&PID_F179\000000000000

La direccion fisica permanente del adaptador o MAC es 00:00:00:00:00:00!.. para entender la causa de este peculiar problema fue necesario investigar sobre bajo nivel

¿que es la memoria eFuse?

Los circuitos integrados inalambricos de bajo costo no incorporan memorias flash ni EEPROMs externas por razones de espacio físico en la placa y costos de fabricacion. een su lugar, el chip Realtek incorpora una matriz interna de eFuse (Fusibles Electrónicos OTP - One-Time Programmable).

¿por que esta antena vino con efuse en 0?

En la fabricacion de marcas oficiales, cada chip pasa por una estacion de prueba donde corre un software industrial llamado Realtek MPTool (Mass Production Tool). Este programa comprueba el radio, calcula la calibracion y quema fisicamente los fusibles en el eFuse con una MAC oficial.

En los talleres asiaticos probablemente , de clones genericos ultrabaratos:

  1. El tiempo de ciclo en maquina cuesta dinero: quemar el eFuse y calibrar cada unidad toma entre 5 y 15 segundos por antena. omitir el paso permite ensamblar miles de dongls mas por hora. seguramente
  2. las direcciones MAC del IEEE cuestan dinero: Registrar bloques oficiales de direcciones MAC ante el IEEE requiere pagar licencias de miles de dólares por cada bloque OUI.

para reducir los costos a la mínima expresion, ensamblaron el dongle y jamas quemaron el eFuse. La antena salio al mercado con sus fusibles electronicos completamente virgenes: puros ceros binarios.


el conflicto de: capa 2 (Radio) vs Capa 3 (Pila IP)

muchos usuarios creen que si la direccion MAC no es valida, la antena ni siquiera debería conectar a la red Wi-Fi. sin embargo, en redes hay una separacion al parecer estricta de capas:

Capa Protocolo Comportamiento con MAC 00:00:00:00:00:00
Capa 2 (Enlace / 802.11) b aalizas Wi-Fi, Autenticacion, 4Way Handshake WPA2-PSK FFunciono: El punto de acceso (Access Point) solo comprueba que la contraseña PSK coincida y establece las llaves de criptografia en el canal de radio. el enlace fisico queda estable.
capa 3 (Red / Pila IP) DHCP (Obtencion de IP) y ARP (Conversion de MAC a IP) La Falla: Windows envia paquetes DHCPDISCOVER con MAC remitente en ceros asi que el router descarta el paquete y jamas responde.
y el filtro en el kernel Linux del Router:
Practicamente todos los routers domesticos corren Linux (openWrwt, AsusWRT o firmwares basados en BusyBox)en el nucleo de red de Linux (net/ipv4/arp.c y filtros de socket de dnsmasq / udhcpd), existe la validación estandar:
if (!is_valid_ether_addr(eth->h_source))
    goto drop;
Segun el estandar , una direccion de todos ceros no es una direccion valida. El router la clasifica como trafico basura/nulo (martian source) y la desecha. El router jamas emite un DHCPOFFER. Windows agota los retry y recurre a la IP de fallo 169.254.x.x.

por que falla en Windows pero no en Linux


asi que la solucion obvia es forzar el controlador NDIS 6.20 e inyectar la MAC

como los fusibles de la antena ya no se pueden fundir por hardware sin una estacion de programacion de laboratorio, la solución definitiva en Windows es saltarse la lectura del efuse a nivel de software

  1. elimina ar el controlador bloqueador: desinstalar los paquetes de drivers recientes (NDIS 6.70) para que Windows no los elija por fecha.
  2. instalar el controlador realtek NDIS 6.20 / 6.50 (versión 1030.3.831.2015): esta version historica de realtek utiliza el modelo Native Wi-Fi de Windows, el cual si consulta la directiva estandar NetworkAddress en la clave de registro del adaptador.
  3. inyectar la dirección MAC LAA (Locally Administered Address): El estándar NDIS exige que las direcciones MAC personalizadas para adaptadores inalambricos tengan activo el bit local (el segundo digito hexadecimal debe ser 2, 6, A o E, por ejemplo: 02:E0:4C:81:88:02).
  4. reiniciar el adaptador: El driver arranca, lee la clave del registro, ignora la eFuse en blanco y registra la MAC válida. El router procesa el DHCP al instante y entrega la IP sin rechistar.

Descarga del paquete y script de reparacion

Prepare un archivo comprimido en mi seccion de repositorios que incluye los archivos limpios del controlador nDIS 6.20 firmados por Realtek y un script automatizado .bat que realiza todo el proceso con un solo clikc:

ejecutar por comandos

si prefieres hacer la reparacion a mano por terminal, abre PowerShell como Administrador y ejecuta:

# desinstala el driver que bloquea ,  moderno de la tienda de controladores
pnputil /delete-driver oem37.inf /uninstall /force

# instala el driver NDIS 6.20
pnputil /add-driver netrtwlanu.inf /install

# asigna una mac (LAA) en el registro de Windows
Get-ChildItem 'HKLM:\SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}' | ForEach-Object {
    $p = Get-ItemProperty $_.PSPath
    if ($p.MatchingDeviceId -like '*VID_0BDA&PID_F179*') {
        Set-ItemProperty $_.PSPath -Name 'NetworkAddress' -Value '02E04C818802'
        Write-Host "MAC configurada exitosamente en $($_.PSChildName)"
    }
}

# reinicia la interfaz de red
Get-NetAdapter | Where-Object { $_.InterfaceDescription -match 'Realtek.*8188' } | Restart-NetAdapter

al reconectarse al wifi, la antena transmitira con MAC 02:E0:4C:81:88:02, el router le asignara su IP por DHCP en menos de 2 mins y la navegacion quedara restaurada al 100%.


Importante

Las actualizaciones de windows siempre intentaran o actualizaran el driver instalado recuerda cada vez que termine una actualizacion ir a :

Administrador de dispositivos -> Adaptadores de red -> Nombredetuantena_8_Wireless_LAN_NetworkAdapter -> Click derecho/propiedades 
      Controlador-> Revertir al controlador anterior