summaryrefslogtreecommitdiffstats
path: root/recipes-core/udev
diff options
context:
space:
mode:
authorScott Murray <scott.murray@konsulko.com>2019-04-22 20:48:47 -0400
committerScott Murray <scott.murray@konsulko.com>2019-04-23 10:58:40 -0400
commite64cdaccca7309e2d3c5da798e01fbea227bd465 (patch)
tree60025a0074482b69d8982af4c1dbd8eec4d46554 /recipes-core/udev
Define telematics demo platform. This layer is similar to meta-agl-demo and meta-agl-cluster-demo, except it defines a small platform for the telematics demo, based on the agl-profile-telematics profile. There is a "agl-telematics-demo" feature defined to enable building the platform. The defined agl-telematics-demo-platform image contains a minimal amount of services to host a simple demo application that reads CAN events and logs them via the MQTT protocol. At the moment, only the raspberrypi3 version has been built and tested, but there is nothing platform specific in the agl-telematics-demo-recorder application that would prevent use on another platform. Change-Id: I0ed94eefeff703afdcec81884bf16c10c63de28f Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Diffstat (limited to 'recipes-core/udev')
-rw-r--r--recipes-core/udev/sw-gpsd-udev-conf/60-sw-gpsd.rules8
-rw-r--r--recipes-core/udev/sw-gpsd-udev-conf_1.0.bb16
-rw-r--r--recipes-core/udev/usb-can-udev-conf/60-usb-can.rules7
-rw-r--r--recipes-core/udev/usb-can-udev-conf/slcand-default2
-rw-r--r--recipes-core/udev/usb-can-udev-conf/slcand@.service13
-rw-r--r--recipes-core/udev/usb-can-udev-conf_1.0.bb25
6 files changed, 71 insertions, 0 deletions
diff --git a/recipes-core/udev/sw-gpsd-udev-conf/60-sw-gpsd.rules b/recipes-core/udev/sw-gpsd-udev-conf/60-sw-gpsd.rules
new file mode 100644
index 0000000..a554700
--- /dev/null
+++ b/recipes-core/udev/sw-gpsd-udev-conf/60-sw-gpsd.rules
@@ -0,0 +1,8 @@
+# udev rules for gpsd for Sierra Wireless modems
+SUBSYSTEM!="tty", GOTO="sw_gpsd_rules_end"
+
+ENV{ID_VENDOR_ID}=="1199", ATTRS{bInterfaceNumber}=="02", SYMLINK+="gps%n", TAG+="systemd", ENV{SYSTEMD_WANTS}="gpsdctl@%k.service"
+
+ACTION=="remove", TAG+="systemd", ENV{SYSTEMD_WANTS}="gpsdctl@%k.service"
+
+LABEL="sw_gpsd_rules_end"
diff --git a/recipes-core/udev/sw-gpsd-udev-conf_1.0.bb b/recipes-core/udev/sw-gpsd-udev-conf_1.0.bb
new file mode 100644
index 0000000..9b6fd57
--- /dev/null
+++ b/recipes-core/udev/sw-gpsd-udev-conf_1.0.bb
@@ -0,0 +1,16 @@
+SUMMARY = "Sierra-Wireless MC7xxx modem gpsd udev configuration"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+SRC_URI = "file://60-sw-gpsd.rules"
+
+do_compile[noexec] = "1"
+
+do_install() {
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -d ${D}${sysconfdir}/udev/rules.d
+ install -m 0644 ${WORKDIR}/60-sw-gpsd.rules ${D}${sysconfdir}/udev/rules.d/
+ fi
+}
+
+RDEPENDS_${PN} += "systemd"
diff --git a/recipes-core/udev/usb-can-udev-conf/60-usb-can.rules b/recipes-core/udev/usb-can-udev-conf/60-usb-can.rules
new file mode 100644
index 0000000..3aa800a
--- /dev/null
+++ b/recipes-core/udev/usb-can-udev-conf/60-usb-can.rules
@@ -0,0 +1,7 @@
+# udev rules for USB CAN adapters
+SUBSYSTEM!="tty", GOTO="usb_can_rules_end"
+
+# VScom USB-CAN Plus
+ATTRS{idProduct}=="6015", ATTRS{idVendor}=="0403", SYMLINK+="usbcan%n", TAG+="systemd", ENV{SYSTEMD_WANTS}="slcand@%k.service"
+
+LABEL="usb_can_rules_end"
diff --git a/recipes-core/udev/usb-can-udev-conf/slcand-default b/recipes-core/udev/usb-can-udev-conf/slcand-default
new file mode 100644
index 0000000..a86552f
--- /dev/null
+++ b/recipes-core/udev/usb-can-udev-conf/slcand-default
@@ -0,0 +1,2 @@
+# Defaults for VScom USB-CAN Plus @ 500 Kb/s CAN rate
+SLCAND_OPTS="-o -s6 -t hw -S 3000000"
diff --git a/recipes-core/udev/usb-can-udev-conf/slcand@.service b/recipes-core/udev/usb-can-udev-conf/slcand@.service
new file mode 100644
index 0000000..3c30e51
--- /dev/null
+++ b/recipes-core/udev/usb-can-udev-conf/slcand@.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Serial CAN daemon (can-utils)
+BindsTo=dev-%i.device
+After=dev-%i.device
+
+[Service]
+Type=forking
+StopWhenUnneeded=yes
+Environment=SLCAND_OPTS="-o -c -s6" SLCAND_DEV=can0
+EnvironmentFile=-/etc/default/slcand
+EnvironmentFile=-/etc/sysconfig/slcand
+ExecStart=/usr/bin/slcand $SLCAND_OPTS %I $SLCAND_DEV
+ExecStartPost=/bin/sh -c '/bin/sleep 3; /sbin/ip link set $SLCAND_DEV up'
diff --git a/recipes-core/udev/usb-can-udev-conf_1.0.bb b/recipes-core/udev/usb-can-udev-conf_1.0.bb
new file mode 100644
index 0000000..fb5deec
--- /dev/null
+++ b/recipes-core/udev/usb-can-udev-conf_1.0.bb
@@ -0,0 +1,25 @@
+SUMMARY = "USB CAN adapter udev configuration"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+SRC_URI = "file://60-usb-can.rules \
+ file://slcand@.service \
+ file://slcand-default \
+"
+
+do_compile[noexec] = "1"
+
+do_install() {
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -d ${D}${sysconfdir}/udev/rules.d
+ install -m 0644 ${WORKDIR}/60-usb-can.rules ${D}${sysconfdir}/udev/rules.d/
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/slcand@.service ${D}${systemd_system_unitdir}/
+ install -d ${D}${sysconfdir}/default
+ install -m 0644 ${WORKDIR}/slcand-default ${D}${sysconfdir}/default/slcand
+ fi
+}
+
+FILES_${PN} += "${systemd_system_unitdir}"
+
+RDEPENDS_${PN} += "systemd"