Gedeone ma dovrei fare un cross compile che nemmeno so cosa significa.
esempio stupido se fai una compilazione di un programma passi da un file sorgente a un eseguibile su una determinata piattaforma ...
per questo è veramente facile compilare il pacchetto "Qfirehose" su una macchina x86
nel mio caso una debian 13 con i pacchetti richiesti per la compilazione di sorgenti ...
elenco dei comandi per compilare la versione 1.4.21 a partire dal file zip che tu hai ...
sudo apt update
sudo apt install build-essential git cmake autoconf automake libtool pkg-config
unzip QFirehose_Linux_and_Android_V1.4.21.zip
cd QFirehose_Linux_and_Android_V1.4.21
make clean
make
cd out/
chmod 700 QFirehose
./QFirehose
ma purtroppo genera un eseguibile valevole solo su un x86:
ecco come appare la versione 1.4.21 compilata su x86/64
`
/QFirehose_Linux_and_Android_V1.4.21/out$ ./QFirehose
[000.000]: Version: QFirehose_Linux_Android_V1.4.21
[000.000]: Builded: Oct 05 2025 10:51:32
[000.000]: Upgrade Quectel's modules with Qualcomm's firehose protocol.
[000.000]: Usage: ./QFirehose [options...]
[000.000]: -f [package_dir] Upgrade package directory path
[000.000]: -p [/dev/ttyUSBx] Diagnose port, will auto-detect if not specified
[000.000]: -s [/sys/bus/usb/devices/xx] When multiple modules exist on the board, use -s specify which module you want to upgrade
[000.000]: -l [dir_name] Sync log into a file(will create qfirehose_timestamp.log)
[000.000]: -u [usbmon_log] Catch usbmon log and save to file (need debugfs and usbmon driver)
[000.000]: -n Skip MD5 check
[000.000]: -d Device Type, default nand, support emmc/ufs
[000.000]: -v For AG215S-GLR signed firmware packages
file QFirehose
QFirehose: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, with debug_info, not stripped
`
ecco come appare un file eseguibile trasferito dal router al pc
file picocom
picocom: ELF 32-bit LSB executable, MIPS, MIPS32 rel2 version 1 (SYSV), dynamically linked, interpreter /lib/ld-musl-mipsel-sf.so.1, no section header
ed ecco lo stesso eseguibile installato tramite apt (sempre su una debian ...)
sudo apt install picocom
which picocom
/usr/bin/picocom
file /usr/bin/picocom
/usr/bin/picocom: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, stripped
un cross compile è la compilazione su un ambiente diverso da quello su cui girerà l'eseguibile ...
esempio con questo link
https://unix.stackexchange.com/questions/657882/how-do-i-cross-compile-the-linux-kernel
l'utente vuole compilare su una macchina "x86" un binario che poi verrà eseguito su "arm64"
https://www.google.com/search?q=linux+x86+vs+arm64
spero di aver risposto correttamente alla tua domanda 😀
Gedeone Ho controllato il 5398 e pure lui ha installata una versione di QFirehose, ma di una release ancora antecedente a quella del 7490
comunque è buono sapersi che hai questa possiblità ... (che io pensavo non avesse) ...
Gedeone mi accontenterò di come sto
come ti ho detto:
compact compact grazie per il changelog mi sa che ancora per molto tempo terrò la versione attuale ...
ps: pensavo avessero aggiunto delle possibilità maggiori in termini di aggregazione di bande con la scelta della banda primaria e qualcosa di più consistente ...
ps: se vuoi provare a fare una cross compile i documenti di riferimento sono (dopo preparati a litigare con errori / tempistiche molto grandi / ecc ) ...
https://openwrt.org/docs/guide-developer/toolchain/install-buildsystem
https://openwrt.org/docs/guide-developer/helloworld/chapter1
attenzione se fai una cosa del genere l'eseguibile generato presumo che comunque non verrà eseguito sul tuo router in quanto dipende da cosa a fatto il produttore,
ma posso comunque sbagliare ....
in quanto il sistema da loro scelto può essere basato su Openwrt ma possono aver fatto molte cose ed ecco perchè molte persone sul forum Openwrt che chiedono aiuto per il loro firmware Oem basato su Openwrt non ottengono il supporto voluto