summaryrefslogtreecommitdiffstats
path: root/recipes-core/udev
diff options
context:
space:
mode:
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"