refactor: optimized vendor script loading mechanism by using dynamic_load.json

This commit is contained in:
fujr 2025-04-11 16:45:25 +08:00
parent f3411b658b
commit a35dfac6d4
2 changed files with 19 additions and 20 deletions

View File

@ -9,30 +9,20 @@ platform=$(uci get qmodem.$config_section.platform)
define_connect=$(uci get qmodem.$config_section.define_connect) define_connect=$(uci get qmodem.$config_section.define_connect)
modem_path=$(uci get qmodem.$config_section.path) modem_path=$(uci get qmodem.$config_section.path)
modem_slot=$(basename $modem_path) modem_slot=$(basename $modem_path)
[ -z "$define_connect" ] && { [ -z "$define_connect" ] && {
define_connect="1" define_connect="1"
} }
case $vendor in #please update dynamic_load.json to add new vendor
"quectel") vendor_script_prefix="/usr/share/qmodem/vendor"
. /usr/share/qmodem/vendor/quectel.sh dynamic_load_json="$vendor_script_prefix/dynamic_load.json"
;; vendor_file="${vendor_script_prefix}/`jq -r --arg vendor $vendor '.[$vendor]' $dynamic_load_json`"
"fibocom") if [ -z "$vendor" ] || [ ! -f "$vendor_file" ]; then
. /usr/share/qmodem/vendor/fibocom.sh logger -t modem_ctrl "vendor $vendor not support"
;; exit 1
"sierra") fi
. /usr/share/qmodem/vendor/sierra.sh . $vendor_file
;;
"simcom")
. /usr/share/qmodem/vendor/simcom.sh
;;
"meig")
. /usr/share/qmodem/vendor/meig.sh
;;
*)
. /usr/share/qmodem/generic.sh
;;
esac
try_cache() { try_cache() {
cache_timeout=$1 cache_timeout=$1

View File

@ -0,0 +1,9 @@
{
"tdtech" : "tdtech.sh",
"quectel" : "quectel.sh",
"fibocom" : "fibocom.sh",
"meig" : "meig.sh",
"sierra" : "sierra.sh",
"simcom" : "simcom.sh",
"huawei" : "huawei.sh"
}