summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Klug <john.klug@multitech.com>2021-08-26 16:31:45 -0500
committerJohn Klug <john.klug@multitech.com>2021-12-29 06:55:36 -0600
commit90aa1a118f7b1813388095277ea75a53ec439873 (patch)
treec5a66ec47c4a37dbc0b6c180fab918bd32ec67b6
parent94f7934265495f14017cf7b6c1064e215f7552a5 (diff)
downloadmeta-mlinux-90aa1a118f7b1813388095277ea75a53ec439873.tar.gz
meta-mlinux-90aa1a118f7b1813388095277ea75a53ec439873.tar.bz2
meta-mlinux-90aa1a118f7b1813388095277ea75a53ec439873.zip
Notify mts-io when cell modems are symlinked by UDEV
-rw-r--r--recipes-core/udev/eudev/cellular_radios.rules39
-rw-r--r--recipes-core/udev/eudev/cellular_radios.sh8
2 files changed, 28 insertions, 19 deletions
diff --git a/recipes-core/udev/eudev/cellular_radios.rules b/recipes-core/udev/eudev/cellular_radios.rules
index a74ddf1..2a97a6d 100644
--- a/recipes-core/udev/eudev/cellular_radios.rules
+++ b/recipes-core/udev/eudev/cellular_radios.rules
@@ -1,5 +1,5 @@
ACTION=="remove", GOTO="mlinux_end"
-ACTION=="add", RUN+="/etc/udev/scripts/cellular_radios.sh"
+# ACTION=="add", RUN+="/etc/udev/scripts/cellular_radios.sh"
SUBSYSTEM!="tty", GOTO="mlinux_end"
KERNEL!="ttyUSB[0-9]*|ttyACM[0-9]*", GOTO="mlinux_end"
@@ -14,19 +14,19 @@ ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0021", ENV{ID_IFACE}=="04", SYMLINK+
ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0021", ENV{ID_IFACE}=="06", SYMLINK+="modem3"
ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0021", ENV{ID_IFACE}=="08", SYMLINK+="modem4"
ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0021", ENV{ID_IFACE}=="0a", SYMLINK+="modem5"
-ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0021", ENV{ID_IFACE}=="0c", SYMLINK+="modem6"
+ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0021", ENV{ID_IFACE}=="0c", SYMLINK+="modem6" ACTION=="add", RUN+="/etc/udev/scripts/cellular_radios.sh"
# LAT3, LVW3 and LEU3
ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0036", ENV{ID_IFACE}=="00", SYMLINK+="modem0"
ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0036", ENV{ID_IFACE}=="02", SYMLINK+="modem1"
ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0036", ENV{ID_IFACE}=="04", SYMLINK+="modem2"
ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0036", ENV{ID_IFACE}=="06", SYMLINK+="modem3"
ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0036", ENV{ID_IFACE}=="08", SYMLINK+="modem4"
-ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0036", ENV{ID_IFACE}=="0a", SYMLINK+="modem5"
+ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0036", ENV{ID_IFACE}=="0a", SYMLINK+="modem5" ACTION=="add", RUN+="/etc/udev/scripts/cellular_radios.sh"
# EV3
ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1010", ENV{ID_IFACE}=="00", SYMLINK+="modem0"
ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1010", ENV{ID_IFACE}=="01", SYMLINK+="modem1"
ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1010", ENV{ID_IFACE}=="02", SYMLINK+="modem2"
-ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1010", ENV{ID_IFACE}=="03", SYMLINK+="modem3"
+ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1010", ENV{ID_IFACE}=="03", SYMLINK+="modem3" ACTION=="add", RUN+="/etc/udev/scripts/cellular_radios.sh"
# H4
ATTRS{idVendor}=="1199", ATTRS{idProduct}=="683c", ENV{ID_IFACE}=="00", SYMLINK+="modem0"
ATTRS{idVendor}=="1199", ATTRS{idProduct}=="683c", ENV{ID_IFACE}=="01", SYMLINK+="modem1"
@@ -34,54 +34,55 @@ ATTRS{idVendor}=="1199", ATTRS{idProduct}=="683c", ENV{ID_IFACE}=="02", SYMLINK+
ATTRS{idVendor}=="1199", ATTRS{idProduct}=="683c", ENV{ID_IFACE}=="03", SYMLINK+="modem3"
ATTRS{idVendor}=="1199", ATTRS{idProduct}=="683c", ENV{ID_IFACE}=="04", SYMLINK+="modem4"
ATTRS{idVendor}=="1199", ATTRS{idProduct}=="683c", ENV{ID_IFACE}=="05", SYMLINK+="modem5"
-ATTRS{idVendor}=="1199", ATTRS{idProduct}=="683c", ENV{ID_IFACE}=="06", SYMLINK+="modem6"
+ATTRS{idVendor}=="1199", ATTRS{idProduct}=="683c", ENV{ID_IFACE}=="06", SYMLINK+="modem6" ACTION=="add", RUN+="/etc/udev/scripts/cellular_radios.sh"
# EV2
-ATTRS{idVendor}=="1199", ATTRS{idProduct}=="0028", SYMLINK+="modem$env{ID_PORT}"
+ATTRS{idVendor}=="1199", ATTRS{idProduct}=="0028", SYMLINK+="modem$env{ID_PORT}" ACTION=="add", RUN+="/etc/udev/scripts/cellular_radios.sh"
# AT Command ports
# H5: ttyACM0, ttyACM3
ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0021", ENV{ID_IFACE}=="00", SYMLINK+="modem_at0"
-ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0021", ENV{ID_IFACE}=="06", SYMLINK+="modem_at1"
+ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0021", ENV{ID_IFACE}=="06", SYMLINK+="modem_at1" ACTION=="add", RUN+="/etc/udev/scripts/cellular_radios.sh"
# LAT3, LVW3 and LEU3
ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0036", ENV{ID_IFACE}=="00", SYMLINK+="modem_at0"
-ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0036", ENV{ID_IFACE}=="06", SYMLINK+="modem_at1"
+ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0036", ENV{ID_IFACE}=="06", SYMLINK+="modem_at1" ACTION=="add", RUN+="/etc/udev/scripts/cellular_radios.sh"
# EV3: ttyUSB2, ttyUSB3
ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1010", ENV{ID_IFACE}=="02", SYMLINK+="modem_at0"
-ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1010", ENV{ID_IFACE}=="03", SYMLINK+="modem_at1"
+ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1010", ENV{ID_IFACE}=="03", SYMLINK+="modem_at1" ACTION=="add", RUN+="/etc/udev/scripts/cellular_radios.sh"
# H4: ttyUSB3, ttyUSB4, ttyUSB5
ATTRS{idVendor}=="1199", ATTRS{idProduct}=="683c", ENV{ID_IFACE}=="03", SYMLINK+="modem_at0"
ATTRS{idVendor}=="1199", ATTRS{idProduct}=="683c", ENV{ID_IFACE}=="04", SYMLINK+="modem_at1"
-ATTRS{idVendor}=="1199", ATTRS{idProduct}=="683c", ENV{ID_IFACE}=="05", SYMLINK+="modem_at2"
+ATTRS{idVendor}=="1199", ATTRS{idProduct}=="683c", ENV{ID_IFACE}=="05", SYMLINK+="modem_at2" ACTION=="add", RUN+="/etc/udev/scripts/cellular_radios.sh"
# EV2: ttyUSB0
ATTRS{idVendor}=="1199", ATTRS{idProduct}=="0028", ENV{ID_PORT}=="0", SYMLINK+="modem_at0"
# LAT1, LEU1, LVW2: ttyUSB2, ttyUSB3 (port 04 and port 05)
ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1201", ENV{ID_IFACE}=="04", SYMLINK+="modem_at0"
-ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1201", ENV{ID_IFACE}=="05", SYMLINK+="modem_at1"
+ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1201", ENV{ID_IFACE}=="05", SYMLINK+="modem_at1" ACTION=="add", RUN+="/etc/udev/scripts/cellular_radios.sh"
# LJP1(LE910-JN1), LNA3(LE910-NA1): ttyACM0, ttyACM3 (port 00 and port 03)
ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0036", ENV{ID_IFACE}=="00", SYMLINK+="modem_at0"
-ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0036", ENV{ID_IFACE}=="06", SYMLINK+="modem_at1"
+ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0036", ENV{ID_IFACE}=="06", SYMLINK+="modem_at1" ACTION=="add", RUN+="/etc/udev/scripts/cellular_radios.sh"
# LJP1(LE866) ttyACM0, ttyACM2
ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="2300", ENV{ID_IFACE}=="02", SYMLINK+="modem_at0"
-ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="2300", ENV{ID_IFACE}=="06", SYMLINK+="modem_at1"
+ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="2300", ENV{ID_IFACE}=="06", SYMLINK+="modem_at1" ACTION=="add", RUN+="/etc/udev/scripts/cellular_radios.sh"
# G3: ttyACM0, ttyACM1
ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0022", ENV{ID_IFACE}=="00", SYMLINK+="modem_at0"
-ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0022", ENV{ID_IFACE}=="02", SYMLINK+="modem_at1"
+ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0022", ENV{ID_IFACE}=="02", SYMLINK+="modem_at1" ACTION=="add", RUN+="/etc/udev/scripts/cellular_radios.sh"
# C2: ttyUSB0, ttyUSB1 (Telit Documentation: Modem Port = USB1, Aux Port = USB0)
ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1011", ENV{ID_IFACE}=="01", SYMLINK+="modem_at0"
-ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1011", ENV{ID_IFACE}=="00", SYMLINK+="modem_at1"
+ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1011", ENV{ID_IFACE}=="00", SYMLINK+="modem_at1" ACTION=="add", RUN+="/etc/udev/scripts/cellular_radios.sh"
# CATM Telit ME910
ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1100", ENV{ID_IFACE}=="01", SYMLINK+="modem_at0"
-ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1100", ENV{ID_IFACE}=="02", SYMLINK+="modem_at1"
+ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1100", ENV{ID_IFACE}=="02", SYMLINK+="modem_at1" ACTION=="add", RUN+="/etc/udev/scripts/cellular_radios.sh"
# CATM Telit ME910 dual USB
ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1101", ENV{ID_IFACE}=="01", SYMLINK+="modem_at0"
-ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1101", ENV{ID_IFACE}=="02", SYMLINK+="modem_at1"
+ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1101", ENV{ID_IFACE}=="02", SYMLINK+="modem_at1" ACTION=="add", RUN+="/etc/udev/scripts/cellular_radios.sh"
# Quectel EG-95
ATTRS{idVendor}=="2c7c", ATTRS{idProduct}=="0195", ENV{ID_IFACE}=="02", SYMLINK+="modem_at0"
-ATTRS{idVendor}=="2c7c", ATTRS{idProduct}=="0195", ENV{ID_IFACE}=="03", SYMLINK+="modem_at1"
+ATTRS{idVendor}=="2c7c", ATTRS{idProduct}=="0195", ENV{ID_IFACE}=="03", SYMLINK+="modem_at1" ACTION=="add", RUN+="/etc/udev/scripts/cellular_radios.sh"
# Quectel EG-25
ATTRS{idVendor}=="2c7c", ATTRS{idProduct}=="0125", ENV{ID_IFACE}=="02", SYMLINK+="modem_at0"
-ATTRS{idVendor}=="2c7c", ATTRS{idProduct}=="0125", ENV{ID_IFACE}=="03", SYMLINK+="modem_at1"
+ATTRS{idVendor}=="2c7c", ATTRS{idProduct}=="0125", ENV{ID_IFACE}=="03", SYMLINK+="modem_at1" ACTION=="add", RUN+="/etc/udev/scripts/cellular_radios.sh"
LABEL="mlinux_end"
+
diff --git a/recipes-core/udev/eudev/cellular_radios.sh b/recipes-core/udev/eudev/cellular_radios.sh
index 695831f..cb9258b 100644
--- a/recipes-core/udev/eudev/cellular_radios.sh
+++ b/recipes-core/udev/eudev/cellular_radios.sh
@@ -1,7 +1,15 @@
#!/bin/bash
# Let mts-io know when the radio is ready
+pid=$$
+prefix="<3>cellular-discovery[${pid}]: "
+loginfo() { echo "${prefix}$@" >/dev/kmsg ; }
+
+loginfo "cellular_radios.sh invoked"
READYFILE=/sys/devices/platform/mts-io/radio-udev-discovery
if [[ -f $READYFILE ]] ; then
+ if (($(cat $READYFILE) == 0)) ; then
+ loginfo "Cellular is now available"
+ fi
echo 1 >$READYFILE
fi