[LEDE-DEV] [PATCH] uqmi: fix raw-ip mode for newer lte modems

Koen Vandeputte koen.vandeputte at ncentric.com
Mon Nov 27 07:36:41 PST 2017

Some newer LTE modems, like the MC7455 or EC25-E do not support
"802.3" mode, and will stay in "raw-ip" regardless of the mode being

In this case, the driver must be informed that it should handle all
packets in raw mode. [1]

This commit fixes connectivity issues for these devices.


[ Node 5 ] udhcpc -i wwan0
udhcpc: started, v1.27.2
udhcpc: sending discover
udhcpc: sending discover
udhcpc: sending discover


[ Node 5 ] udhcpc -i wwan0
udhcpc: started, v1.27.2
udhcpc: sending discover
udhcpc: sending select for
udhcpc: lease of obtained, lease time 7200
udhcpc: ifconfig wwan0 netmask broadcast
udhcpc: setting default routers:

[1] https://lists.freedesktop.org/archives/libqmi-

Tested on cns3xxx using a Sierra Wireless MC7455 LTE-A

Signed-off-by: Koen Vandeputte <koen.vandeputte at ncentric.com>
 package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh b/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh
index 9c953ea..31441e0 100755
--- a/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh
+++ b/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh
@@ -27,7 +27,7 @@ proto_qmi_init_config() {
 proto_qmi_setup() {
 	local interface="$1"
+	local dataformat
 	local device apn auth username password pincode delay modes pdptype profile dhcpv6 autoconnect plmn $PROTO_DEFAULT_OPTIONS
 	local cid_4 pdh_4 cid_6 pdh_6
 	local ip_6 ip_prefix_length gateway_6 dns1_6 dns2_6
@@ -99,6 +99,13 @@ proto_qmi_setup() {
 	uqmi -s -d "$device" --set-data-format 802.3
 	uqmi -s -d "$device" --wda-set-data-format 802.3
+	dataformat="$(uqmi -s -d "$device" --wda-get-data-format)"
+	if [ "$dataformat" = '"raw-ip"' ]; then
+		echo "Device detected which does not support 802.3 mode. Informing driver of raw-ip only for $ifname .."
+		echo "Y" > /sys/class/net/$ifname/qmi/raw_ip
+	fi
 	uqmi -s -d "$device" --sync
 	echo "Waiting for network registration"

More information about the Lede-dev mailing list