diff options
| author | Alexander Patrakov | 2025-09-27 19:59:41 +0000 |
|---|---|---|
| committer | Hauke Mehrtens | 2025-12-20 14:07:22 +0000 |
| commit | b289edd84b3849ce6819e9eb078ab2f3e32f306f (patch) | |
| tree | 53fe109254361ee61e2167bd0b07e0a154a9d2c2 | |
| parent | d34cef823e103240516f01a54a3f01a09d9f36ed (diff) | |
| download | openwrt-b289edd84b3849ce6819e9eb078ab2f3e32f306f.tar.gz | |
comgt-ncm: fix setting ip[46]table and MTU
The ncm proto handler ignored ip4table, ip6table, and mtu settings.
The fix is based on the existing code in the mbim proto handler.
Fixes: #20216.
Signed-off-by: Alexander Patrakov <patrakov@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20217
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
| -rw-r--r-- | package/network/utils/comgt/files/ncm.sh | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/package/network/utils/comgt/files/ncm.sh b/package/network/utils/comgt/files/ncm.sh index a986973838..9cb5b1e662 100644 --- a/package/network/utils/comgt/files/ncm.sh +++ b/package/network/utils/comgt/files/ncm.sh @@ -22,6 +22,7 @@ proto_ncm_init_config() { proto_config_add_boolean sourcefilter proto_config_add_boolean delegate proto_config_add_int profile + proto_config_add_int mtu proto_config_add_defaults } @@ -30,8 +31,8 @@ proto_ncm_setup() { local connect context_type devname devpath finalize ifpath initialize manufacturer setmode - local delegate sourcefilter $PROTO_DEFAULT_OPTIONS - json_get_vars delegate sourcefilter $PROTO_DEFAULT_OPTIONS + local delegate ip4table ip6table mtu sourcefilter $PROTO_DEFAULT_OPTIONS + json_get_vars delegate ip4table ip6table mtu sourcefilter $PROTO_DEFAULT_OPTIONS local apn auth delay device ifname mode password pdptype pincode profile username json_get_vars apn auth delay device ifname mode password pdptype pincode profile username @@ -192,9 +193,9 @@ proto_ncm_setup() { json_add_string ifname "@$interface" json_add_string proto "dhcp" proto_add_dynamic_defaults - [ -n "$zone" ] && { - json_add_string zone "$zone" - } + [ -n "$zone" ] && json_add_string zone "$zone" + [ -n "$ip4table" ] && json_add_string ip4table "$ip4table" + json_close_object ubus call network add_dynamic "$(json_dump)" } @@ -208,13 +209,18 @@ proto_ncm_setup() { [ "$delegate" = "0" ] && json_add_boolean delegate "0" [ "$sourcefilter" = "0" ] && json_add_boolean sourcefilter "0" proto_add_dynamic_defaults - [ -n "$zone" ] && { - json_add_string zone "$zone" - } + [ -n "$zone" ] && json_add_string zone "$zone" + [ -n "$ip6table" ] && json_add_string ip6table "$ip6table" + json_close_object ubus call network add_dynamic "$(json_dump)" } + [ -n "$mtu" -a "$mtu" != 0 ] && { + echo "Setting MTU of $ifname to $mtu" + /sbin/ip link set dev $ifname mtu $mtu + } + [ -n "$finalize" ] && { eval COMMAND="$finalize" gcom -d "$device" -s /etc/gcom/runcommand.gcom || { echo "Failed to configure modem" |