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

Nicholas Smith smith.nicholas910 at gmail.com
Mon Nov 27 14:38:08 PST 2017


Hi!

Will this also apply to the Sierra MC7430, as it is also raw-ip only?  If I am not mistaken it is the same as the MC7455, just for the Asia/Pacific region.  I would be able to verify this patch on the device.  To verify that it works, do I just look for /sys/class/net/$ifname/qmi/raw_ip ?

Nicholas 
smith.nicholas910 at gmail.com

> On 28 Nov 2017, at 3:31 am, Koen Vandeputte <koen.vandeputte at ncentric.com> wrote:
> 
> 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
> set.
> 
> 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.
> 
> Before:
> 
> [ Node 5 ] udhcpc -i wwan0
> udhcpc: started, v1.27.2
> udhcpc: sending discover
> udhcpc: sending discover
> udhcpc: sending discover
> 
> After:
> 
> [ Node 5 ] udhcpc -i wwan0
> udhcpc: started, v1.27.2
> udhcpc: sending discover
> udhcpc: sending select for 100.66.245.226
> udhcpc: lease of 100.66.245.226 obtained, lease time 7200
> udhcpc: ifconfig wwan0 100.66.245.226 netmask 255.255.255.252 broadcast
> +
> udhcpc: setting default routers: 100.66.245.225
> 
> [1] https://lists.freedesktop.org/archives/libqmi-
> devel/2017-January/002064.html
> 
> Tested on cns3xxx using a Sierra Wireless MC7455 LTE-A
> 
> Signed-off-by: Koen Vandeputte <koen.vandeputte at ncentric.com>
> ---
> 
> V2: Add existence test for required driver attribute.  Bail out in case it's needed but doesn't exist
> 
> 
> package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh | 15 ++++++++++++++-
> 1 file changed, 14 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..9a534d4 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,19 @@ 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
> +
> +		[ -f /sys/class/net/$ifname/qmi/raw_ip ] || {
> +			echo "Device only supports raw-ip mode but is missing this required driver attribute: /sys/class/net/$ifname/qmi/raw_ip"
> +			return 1
> +		}
> +
> +		echo "Device 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"
> -- 
> 2.7.4
> 
> 
> _______________________________________________
> Lede-dev mailing list
> Lede-dev at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/lede-dev




More information about the Lede-dev mailing list