From cb262b09396edd171eb3903e50ce5ddeb593f963 Mon Sep 17 00:00:00 2001 From: David Thornley Date: Fri, 22 Jun 2018 16:25:22 +1000 Subject: [PATCH] wwan: Add support for Gemalto Cinterion cellular modules Includes specific support for PH8(1e2d-0053) / ELS61(1e2d-005b) modules. Note for ELS61, the serial driver changes from serial option(ttyUSB) to usb-cdc (ttyACM). Two additional fixes in this commit resolve issues with ttyACM devices: - * wwan.sh - sys-fs has a subdirectory indirection (*/tty/ttyACMx) which was not handled properly * wwan.usb - dependent scripts were not included, so this never actually called proto_set_available for example (and relied on inadvertent call for ttyUSB case) Signed-off-by: David Thornley --- package/network/utils/wwan/files/data/1e2d-0053 | 6 ++++++ package/network/utils/wwan/files/data/1e2d-005b | 5 +++++ package/network/utils/wwan/files/wwan.sh | 2 +- package/network/utils/wwan/files/wwan.usb | 5 +++++ 4 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 package/network/utils/wwan/files/data/1e2d-0053 create mode 100644 package/network/utils/wwan/files/data/1e2d-005b diff --git a/package/network/utils/wwan/files/data/1e2d-0053 b/package/network/utils/wwan/files/data/1e2d-0053 new file mode 100644 index 0000000000..e83f04c380 --- /dev/null +++ b/package/network/utils/wwan/files/data/1e2d-0053 @@ -0,0 +1,6 @@ +{ + "desc": "Cinterion PH8", + "control": 2, + "data": 3 +} + diff --git a/package/network/utils/wwan/files/data/1e2d-005b b/package/network/utils/wwan/files/data/1e2d-005b new file mode 100644 index 0000000000..6678ff080c --- /dev/null +++ b/package/network/utils/wwan/files/data/1e2d-005b @@ -0,0 +1,5 @@ +{ + "desc": "Cinterion ELS61", + "control": 1, + "data": 0 +} diff --git a/package/network/utils/wwan/files/wwan.sh b/package/network/utils/wwan/files/wwan.sh index 2e9d73f1e2..e0bd4c8727 100755 --- a/package/network/utils/wwan/files/wwan.sh +++ b/package/network/utils/wwan/files/wwan.sh @@ -59,7 +59,7 @@ proto_wwan_setup() { json_set_namespace $old_cb [ -n "$control" -a -n "$data" ] && { - ttys=$(ls -d /sys/bus/usb/devices/$devicename/${devicename}*/tty* | sed "s/.*\///g" | tr "\n" " ") + ttys=$(ls -d /sys/bus/usb/devices/$devicename/${devicename}*/tty?* /sys/bus/usb/devices/$devicename/${devicename}*/tty/tty?* | sed "s/.*\///g" | tr "\n" " ") ctl_device=/dev/$(echo $ttys | cut -d" " -f $((control + 1))) dat_device=/dev/$(echo $ttys | cut -d" " -f $((data + 1))) driver=comgt diff --git a/package/network/utils/wwan/files/wwan.usb b/package/network/utils/wwan/files/wwan.usb index 507b002d14..b757c1c2ab 100644 --- a/package/network/utils/wwan/files/wwan.usb +++ b/package/network/utils/wwan/files/wwan.usb @@ -1,5 +1,10 @@ +#!/bin/sh + [ "$ACTION" = add -a "$DEVTYPE" = usb_device ] || exit 0 +. /lib/functions.sh +. /lib/netifd/netifd-proto.sh + vid=$(cat /sys$DEVPATH/idVendor) pid=$(cat /sys$DEVPATH/idProduct) [ -f "/lib/network/wwan/$vid:$pid" ] || exit 0