Equipos y materiales > Openwrt & LEDE
Sobre los módulos wifi PCI-E Ath10k
<< < (2/5) > >>
danitool:
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
--- Fin de la cita ---
manelio:
Puede que esté el problema al aplicar mal el parche pero así no lo admite:

--- Código: ---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
--- Fin del código ---

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: ---/lib/functions/caldata.sh ath10kcal_patch_mac $((cat /sys/class/net/eth0/address) +1) /lib/firmware ath10k/cal-pci-0000:0b:00.0.bin
--- Fin del código ---
Vuelve 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: ---/lib/functions/caldata.sh ath10k_patch_mac 11:22:33:44:55:67 /lib/firmware/ath10k/cal-pci-0000:0c:00.0.bin
--- Fin del código ---
Pero al reiniciar sigue sin arrancar el módulo.
Tki2000:
Prueba esto, que veo que le faltan signos de puntería y hay nombres incorrectos:


--- Código: ---/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

--- Fin del código ---

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.
manelio:

--- Código: ---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
--- Fin del código ---

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...
raphik:

--- Cita de: manelio en 10-11-2022, 12:05 (Jueves) ---Realmente no existe la función macaddr_add dentro de caldata.sh...

--- Fin de la cita ---

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: ---source /lib/functions/system.sh
macaddr_add $(cat /sys/class/net/eth0/address) 1
--- Fin del código ---

Para calcular valores anteriores, sí que hace falta el signo: macaddr_add $(cat /sys/class/net/eth0/address) -1
Navegación
Índice de Mensajes
Página Siguiente
Página Anterior

Ir a la versión completa