Autor Tema: [Desarrollo] OpenWrt en Sercomm H500-s  (Leído 2100 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado danitool

  • ****
  • Mensajes: 58
[Desarrollo] OpenWrt en Sercomm H500-s
« en: 22-06-2020, 17:48 (Lunes) »
El Sercomm H500-s es un router modem xDSL con un SoC BCM63167, 128 RAM, 128 MiB Flash tipo NAND, wifi AC y un puerto USB.



wikihttps://openwrt.org/toh/sercomm/h500s

Partes con funcionalidad limitada o nula en OpenWrt:
  • Modem interno xDSL: no funciona, porque no hay soporte GPL en Linux y probablemente nunca lo habrá.
  • VoIP / FXS : no existen drivers.
  • WIFI 2.4GHz: No hay drivers, aunque podría haber soporte básico para el modo b/g en un futuro.
  • WIFI 5GHz AC: Funciona igual que con el firmware original, pero la configuración ha de hacerse de forma manual, no se puede hacer mediante interfaz web LuCi. Resulta que el wifi AC va en un SoC aparte conectado mediante ethernet al SoC principal. Para configurarlo hace falta una utilidad de Quantenna, esta configuración se hace mediante línea de comandos.
Para facilitar el trabajo, he compilado un firmware personalizado que activa el WiFi AC automáticamente. Este firmware lleva dentro la utilidad de Quantenna, el bootloader u-boot del SoC y el firmware ramdisk (topaz-linux) de Quantenna. Además de un script que activa automáticamente la carga del sistema wifi. Una vez arrancado la SSID y contraseña por defecto serán
  • SSID: Quantenna
  • Pass: qtn01234

Compilaciones OpenWrt. No recomendado para inexpertos:
VersiónLinkNotas
Compilación personalizadaopenwrt-snapshot_r13601-h500-s-vfes-squashfs-factory.imgcon interfaz web Luci, wifi AC activado por defecto
Snapshot oficialopenwrt-bcm63xx-smp-sercomm_h500-s-vfes-squashfs-factory.imgsin interfaz web Luci, sin utilidad para activar wifi AC


Para instalarlo basta seguir las instrucciones que he colocado en la wiki. Hay que destacar que el router usará doble firmware, por lo que una vez instalado Openwrt habrá una partición que contiene el firmware original en la partición o bien img1 ó img2.



SNAPSHOT
El firmware oficial todavía está en estado snapshot, por lo que no habrá interfaz web LuCi. Si quisiésemos usar esta compilación y activar el wifi AC tendríamos primero que configurar la interfaz ethernet para que tenga una IP compatible con la del SoC Quantenna. Podemos usar esta pila de comandos para configurarla:
Código: [Seleccionar]
uci set network.lan2=interface
uci set network.lan2.ifname=@lan
uci set network.lan2.proto=static
uci set network.lan2.ipaddr=1.1.1.1
uci set network.lan2.netmask=255.0.0.0
uci commit network

Además necesitamos un server TFTP dentro de Openwrt, el cual se encarga de servir las imágenes (bootloader+ramdisk) que cargará el SoC Quantenna. Para configurarlo con las imágenes en el directorio /etc/wlan
Código: [Seleccionar]
uci set dhcp.@dnsmasq[-1].enable_tftp=1
uci set dhcp.@dnsmasq[-1].tftp_root=/etc/wlan
uci commit dhcp

En /etc/wlan estarán los archivos topaz-linux.lzma.img y u-boot.bin.

Esta es la utilidad con los archivos necesarios, con script que inicia el wifi de Quantenna:
call_qcsapi_1.0.1-1_mips_mips32.ipkPaquete compilado, con la utilidad call_qcsapi_sockrpc, firmwares Quantena y script de inicio
call_qcsapi.tar.gzCódigo fuente del paquete

El paquete tiene la dependencia libtirpc. Por lo que habrá que instalarla también.




Si queremos configurar el wifi AC a nuestro gusto aquí nos encontraremos con un campo totalmente nuevo. Ya que no hay mucha información oficial sobre la API de Quantenna. Lo bueno que podemos coger como referencia el firmware oficial, el cual tiene la configuración almacenada en  /tmp/2/up_5g. Por ejemplo aquí teneis esta de referencia:
Código: [Seleccionar]
~ # cat tmp/2/up_5g
qcsapi_sockraw br0 00:26:86:00:00:00 vlan_config eth1_0 enable
/sbin/ifconfig eth3.300 down
/usr/sbin/brctl delif br0 eth3.300
qcsapi_sockraw br0 00:26:86:00:00:00 rfenable 0
qcsapi_sockraw br0 00:26:86:00:00:00 set_security_defer_mode wifi0 1
/sbin/ifconfig eth3 up
/usr/sbin/brctl addif br0 eth3
qcsapi_sockraw br0 00:26:86:00:00:00 set_ssid wifi0 gatohambriento5G
qcsapi_sockraw br0 00:26:86:00:00:00 set_option wifi0 SSID_broadcast 1
qcsapi_sockraw br0 00:26:86:00:00:00 set_phy_mode wifi0 11ac80
qcsapi_sockraw br0 00:26:86:00:00:00 set_current_tx_power wifi0 100
qcsapi_sockraw br0 00:26:86:00:00:00 set_ap_isolate wifi0 0
qcsapi_sockraw br0 00:26:86:00:00:00 set_rts_threshold wifi0 2347
qcsapi_sockraw br0 00:26:86:00:00:00 set_beacon_interval wifi0 100
qcsapi_sockraw br0 00:26:86:00:00:00 set_group_key_interval wifi0 0
qcsapi_sockraw br0 00:26:86:00:00:00 clear_mac_filters wifi0
qcsapi_sockraw br0 00:26:86:00:00:00 set_macaddr_filter wifi0 0
qcsapi_sockraw br0 00:26:86:00:00:00 pm auto
qcsapi_sockraw br0 00:26:86:00:00:00 pm auto dual_emac
qcsapi_sockraw br0 00:26:86:00:00:00 set_tx_amsdu wifi0 1
qcsapi_sockraw br0 00:26:86:00:00:00 set_tx_max_amsdu wifi0 2
qcsapi_sockraw br0 00:26:86:00:00:00 set_option wifi0 beamforming 1
qcsapi_sockraw br0 00:26:86:00:00:00 set_option wifi0 autorate 1
qcsapi_sockraw br0 00:26:86:00:00:00 set_option wifi0 obss_coexist 1
qcsapi_sockraw br0 00:26:86:00:00:00 set_option wifi0 shortGI 1
qcsapi_sockraw br0 00:26:86:00:00:00 set_airfair wifi0 1
qcsapi_sockraw br0 00:26:86:00:00:00 set_option wifi0 802_11h 1
qcsapi_sockraw br0 00:26:86:00:00:00 set_ssid_group_id wifi0 1
qcsapi_sockraw br0 00:26:86:00:00:00 set_dev_assoc_limit wifi0 102
qcsapi_sockraw br0 00:26:86:00:00:00 set_beacon wifi0 11i
qcsapi_sockraw br0 00:26:86:00:00:00 set_WPA_encryption_modes wifi0 AESEncryption
qcsapi_sockraw br0 00:26:86:00:00:00 set_WPA_authentication_mode wifi0 PSKAuthentication
qcsapi_sockraw br0 00:26:86:00:00:00 set_passphrase wifi0 0 supersecreto
qcsapi_sockraw br0 00:26:86:00:00:00 set_priority wifi0  3
qcsapi_sockraw br0 00:26:86:00:00:00 enable_scs wifi0 1
qcsapi_sockraw br0 00:26:86:00:00:00 set_channel wifi0 0
qcsapi_sockraw br0 00:26:86:00:00:00 rfenable 1
killall scsd
/usr/sbin/scsd -r 1 -b 80 -c 36,40,44,48,52,56,60,64,100,104,108,112,132,136,140 -t 7200 &
qcsapi_sockraw br0 00:26:86:00:00:00 set_security_defer_mode wifi0 0
qcsapi_sockraw br0 00:26:86:00:00:00 set_dtim wifi0 1
qcsapi_sockraw br0 00:26:86:00:00:00 disable_wps wifi0 0
qcsapi_sockraw br0 00:26:86:00:00:00 set_wps_param wifi0 config_methods push_button,virtual_push_button,physical_push_button
qcsapi_sockraw br0 00:26:86:00:00:00 set_wps_param wifi0 uuid 00010203-0405-0607-0809-0a0b0c0ddead
qcsapi_sockraw br0 00:26:86:00:00:00 set_wps_param wifi0 manufacturer Sercomm
qcsapi_sockraw br0 00:26:86:00:00:00 set_wps_param wifi0 device_name Vodafone-H-500-s
qcsapi_sockraw br0 00:26:86:00:00:00 set_wps_param wifi0 model_name Vodafone-H-500-s
qcsapi_sockraw br0 00:26:86:00:00:00 set_wps_param wifi0 model_number Vodafone-H-500-s-v3.4.17
qcsapi_sockraw br0 00:26:86:00:00:00 set_wps_param wifi0 serial_number E1727BXKxxxxx
qcsapi_sockraw br0 00:26:86:00:00:00 set_wps_param wifi0 ap_pin_fail_method auto_lockdown
qcsapi_sockraw br0 00:26:86:00:00:00 apply_security_config wifi0
qcsapi_sockraw br0 00:26:86:00:00:00 set_wps_param wifi0 ap_setup_locked 1
qcsapi_sockraw br0 00:26:86:00:00:00 enable_wps_ap_pin wifi0 0
killall wifi_radar_5g
/usr/sbin/wifi_radar_5g -m 1 &
qcsapi_sockraw br0 00:26:86:00:00:00 set_bss_assoc_limit 2 4
qregist -i 300 -s 3 -d 1 -r


En este caso vemos que el fabricante usa el comando qcsapi_sockraw seguido de una MAC. Pero nosotros usaremos call_qcsapi_sockrpc  seguido de la IP del SoC Quantenna. Algunos ejemplos para Openwrt
Código: [Seleccionar]
call_qcsapi_sockrpc --host 1.1.1.2 rfstatus
call_qcsapi_sockrpc --host 1.1.1.2 rfenable 1
call_qcsapi_sockrpc --host 1.1.1.2 set_channel wifi0 44
call_qcsapi_sockrpc --host 1.1.1.2 get_channel wifi0

Para explorar más a fondo los comandos disponibles os dejo este manual de referencia:
Quantenna Configuration and Status APIs - INTERNAL.pdf

Usé dos routers para conseguir el soporte (autodonados). Uno de ellos, versión Lowi, cayó al final del camino, tal vez un brick recuperable, resulta que la versión Lowi no deja parar CFE en la linea de comandos, aunque si le ponemos el bootloader de vodafone sí que podríamos.

Especial agradecimiento a Noltari por las mejoras en el driver NAND, además de haber hecho posible el poder generar un factory firmware para estos dispositivos de Sercomm.

Saludos.


« Última modificación: 27-06-2020, 11:33 (Sábado) por danitool »

Desconectado Ficht

  • ****
  • Mensajes: 50
Re:[Desarrollo] OpenWrt en Sercomm H500-s
« Respuesta #1 en: 22-06-2020, 20:35 (Lunes) »
 >:( >:( >:( >:(
Verdadero Crack,  enhorabuena.
Saludos.

Desconectado lesgar

  • **
  • Mensajes: 3
Re:[Desarrollo] OpenWrt en Sercomm H500-s
« Respuesta #2 en: 18-07-2020, 00:21 (Sábado) »
Wow, probado y funcionando en mi sercom de lowi. Un Trabajo fenomenal!

Si me pasas el bootloader del sercom de vodafone puedo probar a flashearlo en mi sercom de lowi y comprobar que puedo acceder al bootloader desde uart.

No puedo acceder a la gui del quantenna se supone que está alojada en 1.1.1.2, no? o la version cargada de topaz-linux.lzma.img no lo leva?

He cargado la snapshot para el modelo de lowi y instalado el resto manualmente pq no estaba seguro que la imagen que lleva luci y el driver wifi era compatible con el  router de lowi y funciona bien conectado a la red de lowi

Desconectado jar229

  • Moderador
  • *
  • Mensajes: 4599
Re:[Desarrollo] OpenWrt en Sercomm H500-s
« Respuesta #3 en: 18-07-2020, 10:01 (Sábado) »
Como siempre Danitool dándolo todo  >:( >:( >:( >:(
Valoraciones positivas en compra/venta:
162 en Htcmania
215 en Har2mano
23 en elchapuzasinformatico
12 en gsmspain
 ....
 
Mis equipos en venta: https://drive.google.com/open?id=1Zi_bqLSfg_qCT8sx6JhPaWVvSeZXpcka

Desconectado danitool

  • ****
  • Mensajes: 58
Re:[Desarrollo] OpenWrt en Sercomm H500-s
« Respuesta #4 en: 18-07-2020, 10:35 (Sábado) »
Wow, probado y funcionando en mi sercom de lowi. Un Trabajo fenomenal!

Si me pasas el bootloader del sercom de vodafone puedo probar a flashearlo en mi sercom de lowi y comprobar que puedo acceder al bootloader desde uart.

No puedo acceder a la gui del quantenna se supone que está alojada en 1.1.1.2, no? o la version cargada de topaz-linux.lzma.img no lo leva?

He cargado la snapshot para el modelo de lowi y instalado el resto manualmente pq no estaba seguro que la imagen que lleva luci y el driver wifi era compatible con el  router de lowi y funciona bien conectado a la red de lowi

Hola lesgar. El bootloader de vodafone funciona perfectamente en el de lowi,  tengo pendiente meter el bootloader vodafone en el  firmware OEM de lowi, hacerlo desde Openwrt resulta arriesgado y no recomendable.

No coloqué imagen para lowi, porque tenemos ese riesgo de brick y porque de este router hay pocas unidades en el mercado. No imaginaba que los primeros en probarlo sería gente con la versión lowi.

En cuanto a interfaz web en el firmware de quantenna viene sin ella, también viene con el telnet deshabilitado. También venía con la línea de comandos dehabilitada, aunque lo modifiqué para habilitar esto último.

El wifi AC funciona perfectamente, solo que es un poco más engorroso configurarlo. Este es de momento el único router broadcom de un proveedor con wifi AC funcionando en Openwrt. Con SoC de Quantenna hay  pocos modelos (tal vez 2 ó 3) soportados en Openwrt así que es improbable que se desarrolle algo para luci que configure el wifi. Aunque de todas formas había soporte creo que preliminar para ARC700 en Openwrt.

Saludos
« Última modificación: 18-07-2020, 10:41 (Sábado) por danitool »

Desconectado lesgar

  • **
  • Mensajes: 3
Re:[Desarrollo] OpenWrt en Sercomm H500-s
« Respuesta #5 en: 18-07-2020, 23:19 (Sábado) »
Es una estupenda noticia, cuando quieras algún voluntario para pobar a flashear el bootloader, me avisas y lo pruebo. Si hay que volver al firm de stock, sin problema, es lo lógico, pues lo normal es pasar de firm  stock a wrt.

Cualquer prueba que quieras hacer con el de lowi, tengo el mio disponible.

He cambiado firmware que se carga desde /etc/wlan por los que llevan los de Movistar que tenía guardados por ahi y tambien lo carga correctamete, pero sigo sin poder acceder al gui del quantenna y en los de movistar estoy seguro que venia habilitado por defecto.
Esta es la gui a la que quiero acceder, teóricamente esta alojada en 1.1.1.2  pongo una imagen https://ibb.co/RzxG81x

Siendo el router 1.1.1.1 y la wifi 1.1.1.2, habrá problemas con cloudflare 1.1.1.1?
« Última modificación: 19-07-2020, 01:30 (Domingo) por lesgar »

Desconectado quiquesk

  • **
  • Mensajes: 6
Re:[Desarrollo] OpenWrt en Sercomm H500-s
« Respuesta #6 en: 29-07-2020, 00:16 (Miércoles) »
Hola
He estado probando y he logrado cambiar el SSID, pero al cambiar la contraseña luego no puede acceder por wifi. Me dice contraseña incorrecta.
¿Cúal es la instrucción correcta?Gracias

Desconectado danitool

  • ****
  • Mensajes: 58
Re:[Desarrollo] OpenWrt en Sercomm H500-s
« Respuesta #7 en: 30-07-2020, 10:37 (Jueves) »
Hola
He estado probando y he logrado cambiar el SSID, pero al cambiar la contraseña luego no puede acceder por wifi. Me dice contraseña incorrecta.
¿Cúal es la instrucción correcta?Gracias

No lo he probado pero algo así debería funcionar para poner el wifi con cifrado AES:

Código: [Seleccionar]
call_qcsapi_sockrpc --host 1.1.1.2 rfenable 0
call_qcsapi_sockrpc --host 1.1.1.2 set_ssid wifi0 Gatohambriento5G
call_qcsapi_sockrpc --host 1.1.1.2 set_WPA_encryption_modes wifi0 AESEncryption
call_qcsapi_sockrpc --host 1.1.1.2 set_WPA_authentication_mode wifi0 PSKAuthentication
call_qcsapi_sockrpc --host 1.1.1.2 set_passphrase wifi0 0 supersecreto
call_qcsapi_sockrpc --host 1.1.1.2 rfenable 1
« Última modificación: 07-08-2020, 09:41 (Viernes) por danitool »

Desconectado quiquesk

  • **
  • Mensajes: 6
Re:[Desarrollo] OpenWrt en Sercomm H500-s
« Respuesta #8 en: 06-08-2020, 17:53 (Jueves) »
Hola
He estado unos días fuera y no lo he podido probar.

Siguiendo las instrucciones que me disteis, el resultado es el siguiente:
Código: [Seleccionar]
root@NuevoOpenWRT:~# call_qcsapi_sockrpc --host 1.1.1.2 rfenable 0
complete
root@NuevoOpenWRT:~# call_qcsapi_sockrpc --host 1.1.1.2 set_ssid wifi0 Gatohambr
iento5G
complete
root@NuevoOpenWRT:~# call_qcsapi_sockrpc --host 1.1.1.2 set_WPA_encryption_modes
 wifi0 AESEncryption
complete
root@NuevoOpenWRT:~# call_qcsapi_sockrpc --host 1.1.1.2 set_WPA_authentication_m
ode wifi0 PSKAuthentication
complete
root@NuevoOpenWRT:~# call_qcsapi_sockrpc --host 1.1.1.2 set_passphrase wifi0 sup
ersecreto 0
Node index must be a numeric value
root@NuevoOpenWRT:~# call_qcsapi_sockrpc --host 1.1.1.2 rfenable 1
complete

Al final he descubierto el error que era en la línea que ponía
Código: [Seleccionar]
call_qcsapi_sockrpc --host 1.1.1.2 set_passphrase wifi0 sup
ersecreto 0

Debía de poner
Código: [Seleccionar]
call_qcsapi_sockrpc --host 1.1.1.2 set_passphrase wifi0 0 sup
ersecreto

O sea, el 0 delante de la clave.

Muchas gracias

Desconectado quiquesk

  • **
  • Mensajes: 6
Re:[Desarrollo] OpenWrt en Sercomm H500-s
« Respuesta #9 en: 18-09-2020, 15:22 (Viernes) »
Hola
Al final pude configurar el wifi cambiando el SSID y otros parámetros, pero no sé qué pasa que de un día para otro se borran los parámetros nuevos.
Y como no hay acceso desde LUCI no sé si se borran o no.
He accedido por putty al router pero no encuentro el fichero tmp/2/up_5g para cambiar los parámetros de otra manera.
A ver si alguien me puede decir cómo solucionarlo.
Gracias por adelantado.

Desconectado lesgar

  • **
  • Mensajes: 3
Re:[Desarrollo] OpenWrt en Sercomm H500-s
« Respuesta #10 en: 19-09-2020, 02:16 (Sábado) »
Hola, el archivo tmp/2/up_5g creo que se encuentra en el firmware Original, no en el firmware de openWrt.
Creo que para que no se borre deberia escribirse la configuración en /etc/qcsapi_target_ip.conf
Creo que lo mas sencillo sería habilitar la interfez web de quantenna y una vez configurada, ver si se puede guardar el archivo de configuración y si mantiene los cambios.


« Última modificación: 19-09-2020, 02:16 (Sábado) por lesgar »

Desconectado quiquesk

  • **
  • Mensajes: 6
Re:[Desarrollo] OpenWrt en Sercomm H500-s
« Respuesta #11 en: 20-09-2020, 20:46 (Domingo) »
Hola lesgar
Muchas gracias por tu respuesta.
Lo que no me queda claro es como habilitar la interfaz web de Quantenna. En este foro no he visto cómo hacerlo.
¿Y si está ya habilitada por defecto, debo hacer una conexión con IP fija a 1.1.1.2 para acceder al Wifi de Quantenna por el interfaz web?
Gracias por adelantado

Desconectado quiquesk

  • **
  • Mensajes: 6
Re:[Desarrollo] OpenWrt en Sercomm H500-s
« Respuesta #12 en: 20-09-2020, 23:15 (Domingo) »
Hola
No soy capaz de conectarme a 1.1.1.2, aunque si que me puedo conectar a 1.1.1.1.
Entiendo que el interfaz web también está desactivado.
Si me decís los pasos a seguir para activar la interfaz web y acceder a 1.1.1.2 os estaría agradecido.
Gracias por adelantado.
« Última modificación: 21-09-2020, 18:11 (Lunes) por quiquesk »

Desconectado danitool

  • ****
  • Mensajes: 58
Re:[Desarrollo] OpenWrt en Sercomm H500-s
« Respuesta #13 en: 21-09-2020, 20:51 (Lunes) »
Hola
No soy capaz de conectarme a 1.1.1.2, aunque si que me puedo conectar a 1.1.1.1.
Entiendo que el interfaz web también está desactivado.
Si me decís los pasos a seguir para activar la interfaz web y acceder a 1.1.1.2 os estaría agradecido.
Gracias por adelantado.

Hola @quiquesk, el firmware de Quantenna viene sin interfaz web. Además todo lo que carga quantenna es volátil, excepto algunos datos de calibración por lo que vi cuando lo examiné. Así que toda la configuración tiene que pasársela el sistema principal, en nuestro caso Openwrt.

Si quieres conservar los cambios, la forma más natural es modificando el siguiente archivo:
/etc/init.d/quantenna

Un buen sitio para meter los comandos que configuran los parámetros que quieres sería antes de la línea :
Código: [Seleccionar]
$QCS_CALL rfenable 1https://github.com/danitool/openwrt-pkgs/blob/master/call_qcsapi/files/quantenna.init#L45

Saludos.

Desconectado quiquesk

  • **
  • Mensajes: 6
Re:[Desarrollo] OpenWrt en Sercomm H500-s
« Respuesta #14 en: 23-09-2020, 20:08 (Miércoles) »
Código: [Seleccionar]
Hola @quiquesk, el firmware de Quantenna viene sin interfaz web. Además todo lo que carga quantenna es volátil, excepto algunos datos de calibración por lo que vi cuando lo examiné. Así que toda la configuración tiene que pasársela el sistema principal, en nuestro caso Openwrt.

Si quieres conservar los cambios, la forma más natural es modificando el siguiente archivo:
/etc/init.d/quantenna

Un buen sitio para meter los comandos que configuran los parámetros que quieres sería antes de la línea :
Código: [Seleccionar]
$QCS_CALL rfenable 1
https://github.com/danitool/openwrt-pkgs/blob/master/call_qcsapi/files/quantenna.init#L45

Saludos.
Muchas gracias danitool
Seguí los pasos que me dijiste y he logrado que me mantenga el SSID y la contraseña.
Sin embargo, lo que es el canal le pongo el 48 y al principio se lo pone, pero al final acaba en el 100 y algo como antes.
Pero al menos lo más importante ya lo he conseguido.
Un saludo.

Desconectado danitool

  • ****
  • Mensajes: 58
Re:[Desarrollo] OpenWrt en Sercomm H500-s
« Respuesta #15 en: 24-09-2020, 09:47 (Jueves) »
La linea que hay en el archivo
Código: [Seleccionar]
$QCS_CALL set_channel wifi0 44sobra, bórrala, o cámbiala

Aunque no sé por qué acaba en el canal 100