Es posible poner en modo
repetidor (AP+cliente) este router (VH4032N) con OpenWrt instalado con el driver wl. Voy a explicar como hacerlo sin entrar en demasiados detalles,
Como punto de partida necesitamos:
Estos son los pasos a seguir:- Preparar el router para que tenga conexión a internet, ya sea por cable o mediante el driver wifi tal como viene por defecto, hay tutoriales en otros sitios
- Ahora nos descargamos la paquetería y hacemos las instalaciones pertinentes para el driver wl, usando estos comandos:
opkg update
opkg remove kmod-b43
opkg install kmod-brcm-wl nas wlc wl wireless-tools
rm /etc/config/wireless
reboot
- Editamos el archivo /etc/config/wireless para dejarlo tal que así
config wifi-device 'wl0'
option type 'broadcom'
option txantenna '3'
option rxantenna '3'
option channel '7'
option txpower '21'
option hwmode '11gn'
config wifi-iface 'default_wl0'
option ssid 'OpenWrt'
option encryption 'psk2+ccmp'
option device 'wl0'
option mode 'ap'
option network 'lan'
option key 'supersecreto'
option wmm '1'
config wifi-iface 'wifinet1'
option ssid 'APremoto'
option device 'wl0'
option mode 'sta'
option key 'supersecreto'
option network 'wan'
option encryption 'psk2+ccmp'
option wmm '1'
Aqui es importante colocar el canal que usa nuestro APremoto que queremos repetir, además de su contraseña. Tanto la interfaz cliente como la AP llevan la misma encriptación. El router remoto ha debe tener cifrado WPA2 + AES (otros cifrados podrían funcionar, o no).
- Ahora editamos el archivo /etc/config/network para que sea congruente con la anterior configuración
config interface 'loopback'
option ifname 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
config interface 'lan'
option type 'bridge'
option ifname 'eth0.1'
option proto 'static'
option netmask '255.255.255.0'
option ip6assign '60'
option ipaddr '192.168.4.254'
config switch
option name 'switch0'
option reset '1'
option enable_vlan '1'
config switch_vlan
option device 'switch0'
option vlan '1'
option ports '0 1 2 3 8t'
config interface 'wan'
option proto 'dhcp'
Nótese que aquí hemos cambiado la IP de Openwrt por 192.168.4.254, pero puede ser cualquier otra que no entre en conflicto con el APremoto que queremos repetir (la IP ha de estar en una subred diferente)
- La configuración ya está lista, pero no funcionará. Resulta que después de iniciar la red hay que reiniciar el wifi para que funcione. Los driver wl distan de ser perfectos como sabemos. Podemos hacer un apaño para que reinicie el wifi después de iniciarse el router. Para ello creamos el archivo que añade un delay de 30 segundos al wifi en la ruta /etc/config/wifi-delay.sh cuyo contenido será:
#!/bin/sh
sleep 30
wifi
ip link set wl0-1 address $(wl -i wl0-1 bssid)
y le damos permisos de ejecución con este comando:
chmod +x /etc/config/wifi-delay.sh
- Necesitamos que ese script se inicie cuando arranca openwrt, para ello lo añadimos a /etc/rc.local, cuyo contenido será este:
# Put your custom commands here that should be executed once
# the system init finished. By default this file does nothing.
/etc/config/wifi-delay.sh&
exit 0
- Reiniciamos el router, y esperamos un par de minutos antes de conectarnos a la red repetidora
Nota importante: Una vez configurado todo, si vamos a la interfaz web Luci en el apartado wifi aparentemente muestra que no hay nada conectado, haced caso omiso ya que la info es errónea. Como los drivers wl no son para nada estándar esto es normal .
Para ver que hay conectado usamos los comandos iwinfo, wl assoc, wl assoclist y wl rssi. Ejemplo:
root@OpenWrt:/# iwinfo
wl0 ESSID: "APremoto"
Access Point: 00:90:4C:1B:DE:AD
Mode: Master Channel: 7 (2.442 GHz)
Tx-Power: 22 dBm Link Quality: 5/5
Signal: -57 dBm Noise: -96 dBm
Bit Rate: 1.0 MBit/s
Encryption: WPA2 PSK (CCMP)
Type: wl HW Mode(s): 802.11bgn
Hardware: 14E4:A8D6 14E4:A8D6 [Broadcom BCMA8D6]
TX power offset: none
Frequency offset: unknown
Supports VAPs: yes PHY name: wl0
wl0-1 ESSID: "OpenWrt"
Access Point: DA:61:94:33:DE:AD
Mode: Master Channel: 7 (2.442 GHz)
Tx-Power: 22 dBm Link Quality: 5/5
Signal: -51 dBm Noise: -96 dBm
Bit Rate: 1.0 MBit/s
Encryption: WPA2 PSK (CCMP)
Type: wl HW Mode(s): 802.11bgn
Hardware: 14E4:A8D6 14E4:A8D6 [Broadcom BCMA8D6]
TX power offset: none
Frequency offset: unknown
Supports VAPs: yes PHY name: wl0-1
root@OpenWrt:/# wl -i wl0-1 assoclist
assoclist 5C:5D:77:FE:DE:AD
root@OpenWrt:/# wl -i wl0-1 rssi 5C:5D:77:FE:DE:AD
-48
root@OpenWrt:/#
root@OpenWrt:~# iwinfo wl0-1 assoclist
5C:5D:77:FE:DE:AD -38 dBm / -95 dBm (SNR 57) 0 ms ago
RX: 1.0 MBit/s 5945 Pkts.
TX: 72.2 MBit/s 6963 Pkts.
expected throughput: unknown
Lo he probado con éxito conectando un smartphone al VH4032N, el cual repetía la señal de un AP remoto con varias paredes de por medio. La navegación parecía bastante estable. Solo puedo decir que funciona y nos puede sacar de un apuro.
Si alguien se anima a probarlo, recomiendo que primero pruebe con distancias cortas, simplemente para lograr conectividad y saber que todo está configurado correctamente. Luego que lo aleje al punto de interés.
Saludos