2024-04-25 08:28:41 +08:00

82 lines
2.2 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/sh
# Copyright (C) 2023 Siriling <siriling@qq.com>
#脚本目录
SCRIPT_DIR="/usr/share/modem"
source "${SCRIPT_DIR}/modem_util.sh"
#获取设备物理地址
# $1:网络设备或串口
get_device_physical_path()
{
local device_name="$(basename "$1")"
local device_path="$(find /sys/class/ -name $device_name)"
local device_physical_path="$(readlink -f $device_path/device/)"
echo "$device_physical_path"
}
#设置模组配置
# $1:网络设备
# $2:网络设备系统路径
set_modem_config()
{
local network="$(basename $sys_network)"
local network_path="$(readlink -f $sys_network)"
#只处理最上级的网络设备
local count=$(echo "${network_path}" | grep -o "/net" | wc -l)
[ "$count" -ge "2" ] && return
#判断路径是否带有usb排除其他eth网络设备
if [[ "$network" = *"eth"* ]] && [[ "$network_path" != *"usb"* ]]; then
return
fi
#获取物理路径
local device_physical_path=$(m_get_device_physical_path ${network_path})
#设置物理设备
m_set_physical_device "scan" "${network}" "${device_physical_path}"
#启用拨号
enable_dial "${network}"
}
#设置系统网络设备
# $1:系统网络设备列表
set_sys_network_config()
{
local sys_networks="$1"
for sys_network in $sys_networks; do
local network="$(basename $sys_network)"
set_modem_config "${network}" "${sys_network}"
done
}
#设置模组信息
modem_scan()
{
#模组配置初始化
sh "${SCRIPT_DIR}/modem_init.sh"
#发起模组添加事件
#USB
local sys_network
sys_network="$(find /sys/class/net -name usb*)" #ECM RNDIS NCM
set_sys_network_config "$sys_network"
sys_network="$(find /sys/class/net -name wwan*)" #QMI MBIM
set_sys_network_config "$sys_network"
sys_network="$(find /sys/class/net -name eth*)" #RNDIS
set_sys_network_config "$sys_network"
#PCIE
sys_network="$(find /sys/class/net -name mhi_hwip*)" #通用mhi驱动
set_sys_network_config "$sys_network"
sys_network="$(find /sys/class/net -name rmnet_mhi*)" #制造商mhi驱动
set_sys_network_config "$sys_network"
echo "modem scan complete"
}
#测试时打开
# modem_scan