uqmi: add mtu config option possibility
authorFlorian Eckert <fe@dev.tdt.de>
Thu, 27 Jun 2019 12:42:48 +0000 (14:42 +0200)
committerPetr Štetiar <ynezz@true.cz>
Wed, 3 Jul 2019 05:45:00 +0000 (07:45 +0200)
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>
package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh

index f4b30b87eb7970451ab8a638f6c7383d7ce37495..81daddd0ccd7e51b3a5b106bb77a0c1ee63f8085 100755 (executable)
@@ -23,17 +23,18 @@ proto_qmi_init_config() {
        proto_config_add_boolean autoconnect
        proto_config_add_int plmn
        proto_config_add_int timeout
+       proto_config_add_int mtu
        proto_config_add_defaults
 }
 
 proto_qmi_setup() {
        local interface="$1"
        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 cid_4 pdh_4 cid_6 pdh_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"
 
@@ -68,6 +69,11 @@ proto_qmi_setup() {
                return 1
        }
 
+       [ -n "$mtu" ] && {
+               echo "Setting MTU to $mtu"
+               /sbin/ip link set dev $ifname mtu $mtu
+       }
+
        echo "Waiting for SIM initialization"
        local uninitialized_timeout=0
        while uqmi -s -d "$device" --get-pin-status | grep '"UIM uninitialized"' > /dev/null; do