Seguridad Wireless - Wifi

Equipos y materiales => Puntos de acceso, routers, switchs y bridges => Openwrt & LEDE => Mensaje iniciado por: manelio en 02-11-2022, 18:41 (Miércoles)

Título: Sobre los módulos wifi PCI-E Ath10k
Publicado por: manelio en 02-11-2022, 18:41 (Miércoles)
Hola,
Recientemente he intentado instalar uno perteneciente a un TP-Link Archer C7 v.2 en otro router y aunque tanto el módulo como el router y su puerto PCI-E tienen sus drivers soportados por OpenWRT y están instalados, el módulo no se inicializa correctamente (falta que el arranque haga la calibración).

Mi primera opción para instalar un módulo wifi es de esta marca (Atheros) porque son los que mejor funcionan en OpenWRT bajo mi punto de vista, pero después de este fiasco y antes de comprar otro módulo de esta marca quiero consultar en el foro por si alguien sabe si todos los módulos PCI-E ath10k necesitan estar calibrados por el firmware del router o sólo sucede con los instalados en un modelo en concreto, creo que lo lógico sería que el módulo se auto calibrara en el arranque o incluso poder utilizar una calibración estándar aunque no fuera tan afinada.

 Alguien ha tenido alguna experiencia que pueda comentar sobre este tema?
 Saludos.
Título: Re:Sobre los módulos wifi PCI-E Ath10k
Publicado por: Tki2000 en 04-11-2022, 00:02 (Viernes)
Xácticamente. La calibración suele estar en una partición y se lee por el driver en el arranque.
Supongo que podrás extraer el contenido de la partición y llevarlo al otro router.
Algo así comentan en este hilo: https://forum.openwrt.org/t/wifi-calibration-data-for-ath10k/83428
Otro similar : https://forum.openwrt.org/t/ath10k-and-qca4019-bin-files/11341
Y otro: https://forum.openwrt.org/t/how-to-qca9880-br4a-caldata-mac-in-x86-64-system/128631

Título: Re:Sobre los módulos wifi PCI-E Ath10k
Publicado por: manelio en 04-11-2022, 17:44 (Viernes)
Gracias,
Alguno de estos link no lo habia visto y me ha acrarado algo, por lo visto los módulos atheros genéricos incorporan los datos de calibraje en el propio modulo.

Pero si no me equivoco las soluciones que postean son para un modulo personalizable como es mi caso pero que el router ya incorpora en el firmware una partición donde alojar los datos de calibraje, particion creada desde el u-boot en este caso, solo necesitan adaptar los datos de calibraje con la direccion MAC mediante la funcion ath10k_patch_mac que hay en/lib/functions/caldata.sh.

Pero yo intento que un router sin esa partición donde alojar el cal-dada se la proporcione, lo veo dificil ya que imagino que el modulo lee el cal-data antes que el router haya terminado de arrancar, lo necesita durante el arranque.  Supongo que la ruta donde encontrar el cal-data lo tiene asumido el módulo, TP-Link  Archer C7 usa la partición llamada "ART", modificar el u-boot para añadir esa partición se  escapa a mis conocimientos, voy a hacer alguna prueba por si no fuese necesario crear esa partición pero lo dudo.

De momento me quedo con que un módulo atheros genérico ya incorpora los datos de calibraje, supongo que el motivo de no usar un módulo genérico es para poder asignar una MAC propia, ahora le veo algún sentido a tal complicación.

Si en alguna suposición me equivoco corregidme por favor.
Título: Re:Sobre los módulos wifi PCI-E Ath10k
Publicado por: danitool en 08-11-2022, 18:47 (Martes)
La partición caldata no tiene por qué ser necesaria. Al menos en mi router wndr4300 con dos chips Atheros onboard esa partición caldata solo la usa la primera vez que se inicia, momento en el que extrae los archivos de calibración y los lleva a la ruta /lib/firmware

Código: [Seleccionar]
root@WNDR4300:~# ls /lib/firmware/
ath9k-eeprom-ahb-18100000.wmac.bin  ath9k-eeprom-pci-0000:00:00.0.bin
el nombre de los archivos es importante

Así que únicamente con el archivo de calibración pero sin partición caldata, no habría ningún problema para que funcionase. Tu módulo wifi concreto necesitaría algo parecido supongo.
Título: Re:Sobre los módulos wifi PCI-E Ath10k
Publicado por: manelio en 09-11-2022, 19:14 (Miércoles)
El módulo pertenece a un TP Link Archer C7 v2
Lo intento instalar en un HiLink HLK-7621A
Este es el contenido que hay en el TP Link con el módulo funcionando:
Código: [Seleccionar]
root@Principal:~# ls /lib/firmware
ath10k         regulatory.db
root@Principal:~# ls /lib/firmware/ath10k
QCA988X                   cal-pci-0000:00:00.0.bin
root@Principal:~# ls /lib/firmware/ath10k/QCA988X
hw2.0
root@Principal:~# ls /lib/firmware/ath10k/QCA988X/hw2.0
board.bin       firmware-2.bin
En el HiLink HLK-7621A se crea exactamente lo mismo excepto el cal-pci-0000:00:00.0.bin
Copio el cal-pci-0000:00:00.0.bin del TP Link al HLK en la misma ruta y le aplico el parche de la MAC con:
Código: [Seleccionar]
/lib/functions/caldata.sh ath10kcal_patch_mac macaddr_add $((cat /sys/class/net/eth0/address) +1) /lib/firmware ath10k/cal-pci-0000:0b:00.0.binAparece el símbolo:
>
Supongo que espera algo más... salgo con control-c
Sigue sin arrancar el módulo:
Código: [Seleccionar]
Tue Oct 18 19:08:31 2022 kern.info kernel: [   14.029910] mt7621-pci 1e140000.pcie: bus=1 slot=0 irq=24
Tue Oct 18 19:08:31 2022 kern.info kernel: [   14.040716] ath10k 5.15 driver, optimized for CT firmware, probing pci device: 0x3c.
Tue Oct 18 19:08:31 2022 kern.info kernel: [   14.057426] pci 0000:00:00.0: enabling device (0006 -> 0007)
Tue Oct 18 19:08:31 2022 kern.info kernel: [   14.068786] ath10k_pci 0000:01:00.0: enabling device (0000 -> 0002)
Tue Oct 18 19:08:31 2022 kern.info kernel: [   14.081478] ath10k_pci 0000:01:00.0: pci irq legacy oper_irq_mode 1 irq_mode 0 reset_mode 0
Tue Oct 18 19:08:31 2022 kern.info kernel: [   14.639463] ath10k_pci 0000:01:00.0: qca988x hw2.0 target 0x4100016c chip_id 0x043202ff sub 0000:0000
Tue Oct 18 19:08:31 2022 kern.info kernel: [   14.657872] ath10k_pci 0000:01:00.0: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 0
Tue Oct 18 19:08:31 2022 kern.info kernel: [   14.677076] ath10k_pci 0000:01:00.0: firmware ver 10.1-ct-8x-__fW-022-ecad3248 api 2 features wmi-10.x,has-wmi-mgmt-tx,mfp,txstatus-noack,wmi-10.x-CT,ratemask-CT,txrate-CT,get-temp-CT,tx-rc-CT,cust-stats-CT,retry-gt2-CT,txrate2-CT,beacon-cb-CT,wmi-block-ack-CT crc32 3e4cf97f
Tue Oct 18 19:08:31 2022 kern.info kernel: [   14.750454] ath10k_pci 0000:01:00.0: Loading BDF type 0
Tue Oct 18 19:08:31 2022 kern.info kernel: [   14.805372] ath10k_pci 0000:01:00.0: board_file api 1 bmi_id N/A crc32 bebc7c08
Tue Oct 18 19:08:31 2022 kern.err kernel: [   14.850162] ath10k_pci 0000:01:00.0: otp calibration failed: 2
Tue Oct 18 19:08:31 2022 kern.err kernel: [   14.861783] ath10k_pci 0000:01:00.0: failed to run otp: -22 (download-cal-data)
Tue Oct 18 19:08:31 2022 kern.err kernel: [   14.876329] ath10k_pci 0000:01:00.0: could not init core (-22)
Tue Oct 18 19:08:31 2022 kern.err kernel: [   14.888013] ath10k_pci 0000:01:00.0: could not probe fw (-22)
Y supongo que al no arrancar el módulo no crea la interface wifi y al no existir interface no pudo aplicar el parche MAC
Título: Re:Sobre los módulos wifi PCI-E Ath10k
Publicado por: danitool en 10-11-2022, 00:53 (Jueves)
No estoy seguro de que sea correcta esa forma de aplicar el parche. Creo que sería más correcto esto:

Citar
source /lib/functions/caldata.sh
ath10kcal_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) 1) /lib/firmware/ath10k/cal-pci-0000:0b:00.0.bin
Título: Re:Sobre los módulos wifi PCI-E Ath10k
Publicado por: manelio en 10-11-2022, 12:05 (Jueves)
Puede que esté el problema al aplicar mal el parche pero así no lo admite:
Código: [Seleccionar]
root@OpenWrt:~# /lib/functions/caldata.sh ath10kcal_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) 1) /lib/firmware/ath10k/cal-pci-0000:0b:00.0.bin
-ash: macaddr_add: not found

Realmente no existe la función macaddr_add dentro de caldata.sh, yo el comando lo he creado a partir de lo posteado en:
https://forum.openwrt.org/t/how-to-qca9880-br4a-caldata-mac-in-x86-64-system/128631/4
Tampoco lo admite tal como ahí lo postean, pero pensaba que lo habia corregido al no dar error.

Si ves el código de la función ath10kcal_patch_mac que hay en caldata.sh se ve que necesita dos parametros: la MAC ya calculada y la ruta.

Pero he probado también con:
Código: [Seleccionar]
/lib/functions/caldata.sh ath10kcal_patch_mac $((cat /sys/class/net/eth0/address) +1) /lib/firmware ath10k/cal-pci-0000:0b:00.0.binVuelve a aparecer el símbolo ">", solo puedo salir con control-c, al reiniciar sigue sin arrancar.

Con lo que no se queja ni aparece el símbolo ">" es enviando la función con la mac ya calculada (sumando 1 a la mac de la interficie LAN real):
Código: [Seleccionar]
/lib/functions/caldata.sh ath10k_patch_mac 11:22:33:44:55:67 /lib/firmware/ath10k/cal-pci-0000:0c:00.0.binPero al reiniciar sigue sin arrancar el módulo.
Título: Re:Sobre los módulos wifi PCI-E Ath10k
Publicado por: Tki2000 en 11-11-2022, 17:12 (Viernes)
Prueba esto, que veo que le faltan signos de puntería y hay nombres incorrectos:

Código: [Seleccionar]
/lib/functions/caldata.sh ath10kcal_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) +1) /lib/firmware/ath10k/cal-pci-0000:00:00.0.bin

Primero cerciórate de que la interfaz de la que sacas la MAC es eth0 y la MAC +1 no está ya ocupada.

Si no te funciona en línea de comandos, haz un script que llame a los includes de las funciones pertinentes y ejecútalo.
Título: Re:Sobre los módulos wifi PCI-E Ath10k
Publicado por: manelio en 11-11-2022, 23:06 (Viernes)
Código: [Seleccionar]
root@OpenWrt:~# /lib/functions/caldata.sh ath10kcal_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) +1) /lib/firmware/ath10k/cal-pci-0000:00:00.0.bin
-ash: macaddr_add: not found

No sabría que include podria contener la función macaddr_add, he buscado por internet y no veo nada sobre esa función, de todas formas también probé con la MAC que le tocaría ya calculada y no se queja pero tampoco hace arrancar el módulo.

Por cierto, lo pruebo en la placa HiLink HLK-7621A v2.3 pero en la nueva versión que comercializan de esta placa v2.5 ya no cabe este módulo wifi porque han puesto algún componente al lado de puerto PCIe y el módulo queda demasiado ancho...
Título: Re:Sobre los módulos wifi PCI-E Ath10k
Publicado por: raphik en 11-11-2022, 23:39 (Viernes)
Realmente no existe la función macaddr_add dentro de caldata.sh...

En mi router (HG556a modelo C), la función macaddr_add está definida en /lib/functions/system.sh  La he encontrado con el comando: grep -Ril "macaddr_add" /

La función admite una cadena MAC y un valor entero, hace unos cálculos y devuelve una MAC desplazada tanto como indique el valor entero. La función siempre suma, por lo que no hace falta poner el signo + para calcular valores posteriores. (Tampoco pasa nada si se le pone el +).

Para que la función se ejecute, he tenido que hacer esto:

Código: [Seleccionar]
source /lib/functions/system.sh
macaddr_add $(cat /sys/class/net/eth0/address) 1

Para calcular valores anteriores, sí que hace falta el signo: macaddr_add $(cat /sys/class/net/eth0/address) -1
Título: Re:Sobre los módulos wifi PCI-E Ath10k
Publicado por: manelio en 12-11-2022, 00:39 (Sábado)
Es cierto ahí está, creo que quedaria así el script:
Código: [Seleccionar]
#!/bin/sh
. /lib/functions/system.sh
/lib/functions/caldata.sh ath10kcal_patch_mac $macaddr_add $(cat /sys/class/net/eth0/address) 1 /lib/firmware/ath10k/cal-pci-0000:00:00.0.bin
exit
Lo he probado y parece que funciona ya que al menos no se queja, pero sigue sin arrancar el módulo.
Título: Re:Sobre los módulos wifi PCI-E Ath10k
Publicado por: raphik en 12-11-2022, 09:50 (Sábado)
Me parece que falta un par de paréntesis:
Código: [Seleccionar]
#!/bin/sh
. /lib/functions/system.sh
/lib/functions/caldata.sh ath10kcal_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) 1) /lib/firmware/ath10k/cal-pci-0000:00:00.0.bin
#                                              🖞                                               🖞
exit
Título: Re:Sobre los módulos wifi PCI-E Ath10k
Publicado por: manelio en 12-11-2022, 12:47 (Sábado)
Gracias,
creo que tienes razón pero en apariencia el resultado es el mismo, no se queja pero no inicia el módulo.

Ahora estoy comprobando que en el qca9558_tplink_archer-c7-v2.dts de donde extraje el módulo hay una referencia interesante que creo es necesario incorporar en el mt7621_hilink_hlk-7621a-evb.dts donde lo quiero usar.
Código: [Seleccionar]
&pcie1 {
status = "okay";

wifi@0,0 {
compatible = "qcom,ath10k";
reg = <0 0 0 0 0>;

mac-address-increment = <(-1)>;
nvmem-cells = <&macaddr_uboot_1fc00>, <&calibration_art_5000>;
nvmem-cell-names = "mac-address", "calibration";
};
};
Lo voy a intentar, ya comentaré que tal.
Título: Re:Sobre los módulos wifi PCI-E Ath10k
Publicado por: manelio en 12-11-2022, 13:47 (Sábado)
De momento he intentado compilar añadiendo esa referencia tal cual y no cuela.
Código: [Seleccionar]
../dts/mt7621_hilink_hlk-7621a-evb.dts:100.11-107.4: ERROR (phandle_references): /pcie@1e140000/pcie@1,0/wifi@0,0: Reference to non-existent node or label "macaddr_uboot_1fc00"

../dts/mt7621_hilink_hlk-7621a-evb.dts:100.11-107.4: ERROR (phandle_references): /pcie@1e140000/pcie@1,0/wifi@0,0: Reference to non-existent node or label "calibration_art_5000"
Está claro que previamente estas referencias están ligadas a zonas definidas en el u-boot que ya ni pruebo porque esto depende de cada router:
Código: [Seleccionar]
&mtdparts {
uboot: partition@0 {
label = "u-boot";
reg = <0x000000 0x020000>;
read-only;
};

partition@20000 {
label = "firmware";
reg = <0x020000 0xfd0000>;
compatible = "tplink,firmware";
};

art: partition@ff0000 {
label = "art";
reg = <0xff0000 0x010000>;
read-only;

compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;

calibration_art_1000: calibration@1000 {
reg = <0x1000 0x440>;
};

calibration_art_5000: calibration@5000 {
reg = <0x5000 0x844>;
};
};
};
&uboot {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;

macaddr_uboot_1fc00: macaddr@1fc00 {
reg = <0x1fc00 0x6>;
};
};
No sabría cómo adaptar el u-boot ni cómo sustituir estas referencias a zonas accesibles de la flash con el router arrancado.
Si alguien me puede dar una pista intentaría avanzar.
Título: Re:Sobre los módulos wifi PCI-E Ath10k
Publicado por: Tki2000 en 13-11-2022, 16:52 (Domingo)
¿Has probado a hacer todo eso en el router original y después de haber modificado el .bin pasarlo al nuevo router?
Título: Re:Sobre los módulos wifi PCI-E Ath10k
Publicado por: manelio en 13-11-2022, 17:42 (Domingo)
Yo creo que si, así se lo comenté a danitool en este post:
El módulo pertenece a un TP Link Archer C7 v2
Lo intento instalar en un HiLink HLK-7621A
Este es el contenido que hay en el TP Link con el módulo funcionando:
Código: [Seleccionar]
root@Principal:~# ls /lib/firmware
ath10k         regulatory.db
root@Principal:~# ls /lib/firmware/ath10k
QCA988X                   cal-pci-0000:00:00.0.bin
root@Principal:~# ls /lib/firmware/ath10k/QCA988X
hw2.0
root@Principal:~# ls /lib/firmware/ath10k/QCA988X/hw2.0
board.bin       firmware-2.bin
En el HiLink HLK-7621A se crea exactamente lo mismo excepto el cal-pci-0000:00:00.0.bin
Copio el cal-pci-0000:00:00.0.bin del TP Link al HLK en la misma ruta y le aplico el parche de la MAC con:
Código: [Seleccionar]
/lib/functions/caldata.sh ath10kcal_patch_mac macaddr_add $((cat /sys/class/net/eth0/address) +1) /lib/firmware ath10k/cal-pci-0000:0b:00.0.binAparece el símbolo:
>
Supongo que espera algo más... salgo con control-c
Sigue sin arrancar el módulo:
Código: [Seleccionar]
Tue Oct 18 19:08:31 2022 kern.info kernel: [   14.029910] mt7621-pci 1e140000.pcie: bus=1 slot=0 irq=24
Tue Oct 18 19:08:31 2022 kern.info kernel: [   14.040716] ath10k 5.15 driver, optimized for CT firmware, probing pci device: 0x3c.
Tue Oct 18 19:08:31 2022 kern.info kernel: [   14.057426] pci 0000:00:00.0: enabling device (0006 -> 0007)
Tue Oct 18 19:08:31 2022 kern.info kernel: [   14.068786] ath10k_pci 0000:01:00.0: enabling device (0000 -> 0002)
Tue Oct 18 19:08:31 2022 kern.info kernel: [   14.081478] ath10k_pci 0000:01:00.0: pci irq legacy oper_irq_mode 1 irq_mode 0 reset_mode 0
Tue Oct 18 19:08:31 2022 kern.info kernel: [   14.639463] ath10k_pci 0000:01:00.0: qca988x hw2.0 target 0x4100016c chip_id 0x043202ff sub 0000:0000
Tue Oct 18 19:08:31 2022 kern.info kernel: [   14.657872] ath10k_pci 0000:01:00.0: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 0
Tue Oct 18 19:08:31 2022 kern.info kernel: [   14.677076] ath10k_pci 0000:01:00.0: firmware ver 10.1-ct-8x-__fW-022-ecad3248 api 2 features wmi-10.x,has-wmi-mgmt-tx,mfp,txstatus-noack,wmi-10.x-CT,ratemask-CT,txrate-CT,get-temp-CT,tx-rc-CT,cust-stats-CT,retry-gt2-CT,txrate2-CT,beacon-cb-CT,wmi-block-ack-CT crc32 3e4cf97f
Tue Oct 18 19:08:31 2022 kern.info kernel: [   14.750454] ath10k_pci 0000:01:00.0: Loading BDF type 0
Tue Oct 18 19:08:31 2022 kern.info kernel: [   14.805372] ath10k_pci 0000:01:00.0: board_file api 1 bmi_id N/A crc32 bebc7c08
Tue Oct 18 19:08:31 2022 kern.err kernel: [   14.850162] ath10k_pci 0000:01:00.0: otp calibration failed: 2
Tue Oct 18 19:08:31 2022 kern.err kernel: [   14.861783] ath10k_pci 0000:01:00.0: failed to run otp: -22 (download-cal-data)
Tue Oct 18 19:08:31 2022 kern.err kernel: [   14.876329] ath10k_pci 0000:01:00.0: could not init core (-22)
Tue Oct 18 19:08:31 2022 kern.err kernel: [   14.888013] ath10k_pci 0000:01:00.0: could not probe fw (-22)
Y supongo que al no arrancar el módulo no crea la interface wifi y al no existir interface no pudo aplicar el parche MAC
Lo único que difiere de uno a otro router en el primer arranque es la creación del cal-pci-0000:00:00.0.bin por parte del TP-Link que copio a el otro router y aplico el parche de la MAC.
A ver, si modifico el bin en el TP-Link antes de pasarlo al otro router tomaría la MAC del TP-Link, lo que si intenté semanas atrás es poner en el HLK La MAC del TP-Link con resultados nulos .
Yo desconozco como se obtuvo el firmware de este módulo pero parece que en el haya alguna intención de imposibilitar el uso en otro router.
Título: Re:Sobre los módulos wifi PCI-E Ath10k
Publicado por: Tki2000 en 14-11-2022, 16:16 (Lunes)
En lugar de hacer que lea la mac del router pónsela a pelo...  ^-^

Código: [Seleccionar]
/lib/functions/caldata.sh ath10kcal_patch_mac 00:11:22:33:44:55 /lib/firmware/ath10k/cal-pci-0000:00:00.0.bin
Título: Re:Sobre los módulos wifi PCI-E Ath10k
Publicado por: manelio en 14-11-2022, 16:37 (Lunes)
Ya comenté que lo probé unos post atrás:
----
/
Con lo que no se queja ni aparece el símbolo ">" es enviando la función con la mac ya calculada (sumando 1 a la mac de la interficie LAN real):
Código: [Seleccionar]
/lib/functions/caldata.sh ath10k_patch_mac 11:22:33:44:55:67 /lib/firmware/ath10k/cal-pci-0000:0c:00.0.binPero al reiniciar sigue sin arrancar el módulo.
Título: Re:Sobre los módulos wifi PCI-E Ath10k
Publicado por: Tki2000 en 14-11-2022, 19:40 (Lunes)
Por más que lo vuelvo a leer no lo veo.
Según lo que leo lo hiciste en el router HLK y con un nombre no correcto.
Por re-probar no se pierde nada.
Título: Re:Sobre los módulos wifi PCI-E Ath10k
Publicado por: manelio en 14-11-2022, 23:40 (Lunes)
No viene a cuento ahora pero tiene tela... creo que cuando modificas un post en este foro a veces transcribe mal algun caracter o incluso cambia el orden de las frases.
Cuando postee que habia probado:
/lib/functions/caldata.sh ath10kcal_patch_mac $((cat /sys/class/net/eth0/address) +1) /lib/firmware ath10k/cal-pci-0000:0b:00.0.bin
y luego:
/lib/functions/caldata.sh ath10k_patch_mac 11:22:33:44:55:67 /lib/firmware/ath10k/cal-pci-0000:0c:00.0.bin
Queria decir:
cal-pci-0000:00:00.0.bin
(Se había colado  primero una "b" y luego una "c" en lugar de un "0" y también ath10k_patch_mac en lugar de ath10kcal_patch_mac)
---------------------------------------------------------
Dicho esto...

Entiendo que la prueba que propones sería aplicar el parche para la MAC del HLK desde el TP-Link y luego copiar el cal-pci-0000:00:00.0.bin parcheado al HLK

No sería lo mismo o mejor copiar el cal-pci-0000:00:00.0.bin tal cual al HLK y modificar las MAC del HLK para hacerlas coincidir con las del TP-Link? (LAN y WAN)
Título: Re:Sobre los módulos wifi PCI-E Ath10k
Publicado por: Tki2000 en 19-11-2022, 16:55 (Sábado)
[...]
Dicho esto...

Entiendo que la prueba que propones sería aplicar el parche para la MAC del HLK desde el TP-Link y luego copiar el cal-pci-0000:00:00.0.bin parcheado al HLK

No sería lo mismo o mejor copiar el cal-pci-0000:00:00.0.bin tal cual al HLK y modificar las MAC del HLK para hacerlas coincidir con las del TP-Link? (LAN y WAN)
[...]


Presupongo que el router con la tarjeta nativa es más probable que tenga todas las funciones para cambiar la MAC, que el router que no tiene la tarjeta.
Si funciona en el router nativo lo puedes comprobar arrancando la wifi y mirando si ha cambiado la MAC. Hecho esto y sabiendo que lo ha hecho, lo pasas al nuevo router. Si no funciona, ya sabemos que será por otra cosa. Es por ir descartando.
Título: Re:Sobre los módulos wifi PCI-E Ath10k
Publicado por: manelio en 19-11-2022, 19:18 (Sábado)
Mañana creo que podré probarlo aunque la verdad lo quería evitar por antecedentes de problemas con un TP-Link Archer C7 v.2, porque tengo dos, a uno le dejó de funcionar la wifi, tanto la de la placa madre que es 2.4 como la de la banda 5 que es la del módulo PCIe a la vez, después de una actualización de OpenWRT, creo que la 18.6, aunque he buscado los post (no en este foro) de otros damnificados y ya no los encuentro, estaría bien que otro lo confirmara.

El módulo PCIe no resultó dañado porque en el otro TP-Link funciona y sería mucha casualidad que falle a la vez la wifi de la placa madre, así que creo que resultó dañado algo de la flash que normalmente no se toca y afecta a la wifi, te aseguro que he probado de todo, le he puesto el firmware original y nada, a partir de entonces hace lo mismo que el HLK, no arranca la wifi, también he probado con los dos módulos en ese que quedó dañado y nada, no fui el único damnificado cuando salió esta versión, y temo que probando esto en el router donde funciona la wifi pase lo mismo que con el otro, probar esto con el TP-Link en el que no funciona la wifi no me parecería concluyente, así que lo probaré porque ahora recibo la wifi desde otro router y no sería un gran problema.
Título: Re:Sobre los módulos wifi PCI-E Ath10k
Publicado por: manelio en 20-11-2022, 12:24 (Domingo)
Voy a tardar porque estoy aprovechando para compilar al TP-Link desde cero la última versión 22.03.2 OpenWRT, este lo tengo configurado en reserva por si casca un WRT3200ACM que tengo conectado a la ONT por pppoe...
Título: Re:Sobre los módulos wifi PCI-E Ath10k
Publicado por: manelio en 21-11-2022, 19:24 (Lunes)
No encontré el archivo de calibración en el TP-Link que tengo con la wifi funcional y le he metido la última versión de OpenWRT a los dos TP-Link y ninguno genera el cal-pci-0000:00:00.0.bin.

Creo que lo saqué cuando le puse el firmware original, lo pondría para hacer alguna prueba y ahí se quedó, hace ya unos años y no estoy del todo seguro.

El caso es que para funcionar por lo visto no lo necesita y como no está no he podido probar lo de cambiar la MAC, si ejecutas el comando para cambiar la MAC sin estar el archivo de calibración no se queja pero tampoco lo genera.

En el TP-Link donde funciona la wifi, la MAC que asigna a la interface de 5 MHz es la MAC de la Lan  -1 y la de 2.4 MHz tiene la misma MAC que la Lan.

En el TP-Link donde no funciona la wifi, el log de arranque es diferente del HLK, el error no hace referencia al caldata.

Voy a postear la parte del arranque que hace referencia al ath10k en cada uno de los TP-Link, el que arranca la wifi y el que no, el log del HLK ya lo puse unos post atrás, puede que al menos alguno de vosotros vea el problema en el TP-Link donde da error:

Sí arranca:
Código: [Seleccionar]
Mon Nov 21 15:57:22 2022 kern.info kernel: [   17.849270] ath10k 5.15 driver, optimized for CT firmware, probing pci device: 0x3c.
Mon Nov 21 15:57:22 2022 kern.info kernel: [   17.858247] ath10k_pci 0000:00:00.0: enabling device (0000 -> 0002)
Mon Nov 21 15:57:22 2022 kern.info kernel: [   17.864823] ath10k_pci 0000:00:00.0: pci irq legacy oper_irq_mode 1 irq_mode 0 reset_mode 0
Mon Nov 21 15:57:22 2022 kern.info kernel: [   21.751573] ath10k_pci 0000:00:00.0: qca988x hw2.0 target 0x4100016c chip_id 0x043202ff sub 0000:0000
Mon Nov 21 15:57:22 2022 kern.info kernel: [   21.760989] ath10k_pci 0000:00:00.0: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 0
Mon Nov 21 15:57:22 2022 kern.info kernel: [   21.772940] ath10k_pci 0000:00:00.0: firmware ver 10.1-ct-8x-__fW-022-ecad3248 api 2 features wmi-10.x,has-wmi-mgmt-tx,mfp,txstatus-noack,wmi-10.x-CT,ratemask-CT,txrate-CT,get-temp-CT,tx-rc-CT,cust-stats-CT,retry-gt2-CT,txrate2-CT,beacon-cb-CT,wmi-block-ack-CT crc32 3e4cf97f
Mon Nov 21 15:57:22 2022 kern.info kernel: [   21.890942] ath10k_pci 0000:00:00.0: Loading BDF type 0
Mon Nov 21 15:57:22 2022 kern.info kernel: [   22.793244] ath10k_pci 0000:00:00.0: board_file api 1 bmi_id N/A crc32 bebc7c08
Mon Nov 21 15:57:22 2022 kern.warn kernel: [   23.791201] ath10k_pci 0000:00:00.0: 10.1 wmi init: vdevs: 16  peers: 127  tid: 256
Mon Nov 21 15:57:22 2022 kern.info kernel: [   23.807839] ath10k_pci 0000:00:00.0: wmi print 'P 128 V 8 T 410'
Mon Nov 21 15:57:22 2022 kern.info kernel: [   23.814206] ath10k_pci 0000:00:00.0: wmi print 'msdu-desc: 1424  sw-crypt: 0 ct-sta: 0'
Mon Nov 21 15:57:22 2022 kern.info kernel: [   23.822347] ath10k_pci 0000:00:00.0: wmi print 'alloc rem: 24984 iram: 38672'
Mon Nov 21 15:57:22 2022 kern.info kernel: [   23.884815] ath10k_pci 0000:00:00.0: htt-ver 2.1 wmi-op 2 htt-op 2 cal nvmem max-sta 128 raw 0 hwcrypto 1
Mon Nov 21 15:57:22 2022 kern.info kernel: [   23.894922] ath10k_pci 0000:00:00.0: NOTE:  Firmware DBGLOG output disabled in debug_mask: 0x10000000
No arranca:
Código: [Seleccionar]
Sun Nov 13 17:11:00 2022 kern.info kernel: [   17.713110] ath10k 5.15 driver, optimized for CT firmware, probing pci device: 0x3c.
Sun Nov 13 17:11:00 2022 kern.info kernel: [   17.722428] ath10k_pci 0000:00:00.0: enabling device (0000 -> 0002)
Sun Nov 13 17:11:00 2022 kern.info kernel: [   17.729007] ath10k_pci 0000:00:00.0: pci irq legacy oper_irq_mode 1 irq_mode 0 reset_mode 0
Sun Nov 13 17:11:00 2022 kern.info kernel: [   21.602018] ath10k_pci 0000:00:00.0: qca988x hw2.0 target 0x4100016c chip_id 0x043202ff sub 0000:0000
Sun Nov 13 17:11:00 2022 kern.info kernel: [   21.611437] ath10k_pci 0000:00:00.0: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 0
Sun Nov 13 17:11:00 2022 kern.info kernel: [   21.623383] ath10k_pci 0000:00:00.0: firmware ver 10.1-ct-8x-__fW-022-ecad3248 api 2 features wmi-10.x,has-wmi-mgmt-tx,mfp,txstatus-noack,wmi-10.x-CT,ratemask-CT,txrate-CT,get-temp-CT,tx-rc-CT,cust-stats-CT,retry-gt2-CT,txrate2-CT,beacon-cb-CT,wmi-block-ack-CT crc32 3e4cf97f
Sun Nov 13 17:11:00 2022 kern.info kernel: [   21.739118] ath10k_pci 0000:00:00.0: Loading BDF type 0
Sun Nov 13 17:11:00 2022 kern.info kernel: [   22.643649] ath10k_pci 0000:00:00.0: board_file api 1 bmi_id N/A crc32 bebc7c08
Sun Nov 13 17:11:00 2022 kern.warn kernel: [   24.658520] ath10k_pci 0000:00:00.0: failed to receive control response completion, polling..
Sun Nov 13 17:11:00 2022 kern.err kernel: [   25.698513] ath10k_pci 0000:00:00.0: ctl_resp never came in (-145)
Sun Nov 13 17:11:00 2022 kern.err kernel: [   25.704789] ath10k_pci 0000:00:00.0: failed to connect to HTC: -145