uqmi: add mtu config option possibility

There are mobile carrier who have different MTU size in their network.
With this change it is now possible to configure this with the qmi
proto handler.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
(cherry picked from commit 8eb63cb7df)
openwrt-19.07
Florian Eckert 2019-06-27 14:42:48 +02:00 committed by Jo-Philipp Wich
parent ffdf98b204
commit bd8e0746c8
1 changed files with 8 additions and 2 deletions

View File

@ -23,17 +23,18 @@ proto_qmi_init_config() {
proto_config_add_boolean autoconnect proto_config_add_boolean autoconnect
proto_config_add_int plmn proto_config_add_int plmn
proto_config_add_int timeout proto_config_add_int timeout
proto_config_add_int mtu
proto_config_add_defaults proto_config_add_defaults
} }
proto_qmi_setup() { proto_qmi_setup() {
local interface="$1" local interface="$1"
local dataformat connstat local dataformat connstat
local device apn auth username password pincode delay modes pdptype profile dhcpv6 autoconnect plmn timeout $PROTO_DEFAULT_OPTIONS local device apn auth username password pincode delay modes pdptype profile dhcpv6 autoconnect plmn timeout mtu $PROTO_DEFAULT_OPTIONS
local ip4table ip6table local ip4table ip6table
local cid_4 pdh_4 cid_6 pdh_6 local cid_4 pdh_4 cid_6 pdh_6
local ip_6 ip_prefix_length gateway_6 dns1_6 dns2_6 local ip_6 ip_prefix_length gateway_6 dns1_6 dns2_6
json_get_vars device apn auth username password pincode delay modes pdptype profile dhcpv6 autoconnect plmn ip4table ip6table timeout $PROTO_DEFAULT_OPTIONS json_get_vars device apn auth username password pincode delay modes pdptype profile dhcpv6 autoconnect plmn ip4table ip6table timeout mtu $PROTO_DEFAULT_OPTIONS
[ "$timeout" = "" ] && timeout="10" [ "$timeout" = "" ] && timeout="10"
@ -68,6 +69,11 @@ proto_qmi_setup() {
return 1 return 1
} }
[ -n "$mtu" ] && {
echo "Setting MTU to $mtu"
/sbin/ip link set dev $ifname mtu $mtu
}
echo "Waiting for SIM initialization" echo "Waiting for SIM initialization"
local uninitialized_timeout=0 local uninitialized_timeout=0
while uqmi -s -d "$device" --get-pin-status | grep '"UIM uninitialized"' > /dev/null; do while uqmi -s -d "$device" --get-pin-status | grep '"UIM uninitialized"' > /dev/null; do