wwan: Add support for Gemalto Cinterion cellular modules
authorDavid Thornley <david.thornley@touchstargroup.com>
Fri, 22 Jun 2018 06:25:22 +0000 (16:25 +1000)
committerJohn Crispin <john@phrozen.org>
Fri, 22 Jun 2018 07:45:08 +0000 (09:45 +0200)
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 <david.thornley@touchstargroup.com>
(cherry picked from commit cb262b09396edd171eb3903e50ce5ddeb593f963)

package/network/utils/wwan/files/data/1e2d-0053 [new file with mode: 0644]
package/network/utils/wwan/files/data/1e2d-005b [new file with mode: 0644]
package/network/utils/wwan/files/wwan.sh
package/network/utils/wwan/files/wwan.usb

diff --git a/package/network/utils/wwan/files/data/1e2d-0053 b/package/network/utils/wwan/files/data/1e2d-0053
new file mode 100644 (file)
index 0000000..e83f04c
--- /dev/null
@@ -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 (file)
index 0000000..6678ff0
--- /dev/null
@@ -0,0 +1,5 @@
+{
+       "desc": "Cinterion ELS61",
+       "control": 1,
+       "data": 0
+}
index 2e9d73f1e2c778b46039d6b8aff6718b3c75954c..e0bd4c8727828265a38f6ff96ded8b933333bc6d 100755 (executable)
@@ -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
index 507b002d14deb0498a2b268b4c8547d9d2ab3c60..b757c1c2abcbf10b362d0dbf49363b715928c8ac 100644 (file)
@@ -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