diff options
Diffstat (limited to 'recipes-kernel/sllin')
-rw-r--r-- | recipes-kernel/sllin/files/sllin-demo-virtual.service | 12 | ||||
-rwxr-xr-x[-rw-r--r--] | recipes-kernel/sllin/files/start_lin_demo.sh | 12 | ||||
-rw-r--r-- | recipes-kernel/sllin/sllin.bb | 7 |
3 files changed, 27 insertions, 4 deletions
diff --git a/recipes-kernel/sllin/files/sllin-demo-virtual.service b/recipes-kernel/sllin/files/sllin-demo-virtual.service new file mode 100644 index 000000000..788242197 --- /dev/null +++ b/recipes-kernel/sllin/files/sllin-demo-virtual.service @@ -0,0 +1,12 @@ +[Unit] +Description=LIN demo configuration (virtual) +ConditionPathExists=!/dev/ttyUSB0 +After=afm-system-daemon.service + +[Service] +Type=oneshot +ExecStart=/usr/bin/start_lin_demo.sh +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target diff --git a/recipes-kernel/sllin/files/start_lin_demo.sh b/recipes-kernel/sllin/files/start_lin_demo.sh index 4fcfcc6d2..26f64c0a1 100644..100755 --- a/recipes-kernel/sllin/files/start_lin_demo.sh +++ b/recipes-kernel/sllin/files/start_lin_demo.sh @@ -1,10 +1,14 @@ #!/bin/sh # Attach serial LIN->CAN bridge and set up LIN polling -sleep 1 -/usr/bin/lin_config -c /etc/lin_config.conf -a sllin:/dev/ttyUSB0 -pidof lin_config > /var/run/lin_config.pid -sleep 1 +if [ -c /dev/ttyUSB0 ]; then + sleep 1 + /usr/bin/lin_config -c /etc/lin_config.conf -a sllin:/dev/ttyUSB0 + pidof lin_config > /var/run/lin_config.pid + sleep 1 +else + ip link add dev sllin0 type vcan +fi ip link set sllin0 up # Initialize HVAC controller diff --git a/recipes-kernel/sllin/sllin.bb b/recipes-kernel/sllin/sllin.bb index 0478b21a7..7c4313f16 100644 --- a/recipes-kernel/sllin/sllin.bb +++ b/recipes-kernel/sllin/sllin.bb @@ -18,6 +18,7 @@ SRC_URI_append = " \ file://0003-Allow-recent-kernels-newer-4.11.x-to-build.patch;pnum=2 \ file://0001-Disable-sllin-driver-debug-log.patch;pnum=2 \ file://sllin-demo.service \ + file://sllin-demo-virtual.service \ file://start_lin_demo.sh \ file://lin_config.conf \ " @@ -29,16 +30,22 @@ SLLINBAUDRATE ??= "9600" module_conf_sllin = "options sllin baudrate=${SLLINBAUDRATE}" SYSTEMD_SERVICE_${PN} = "sllin-demo.service" +SYSTEMD_SERVICE_${PN}-virtual = "sllin-demo-virtual.service" do_install_append () { install -d 644 ${D}/${bindir} install -m 755 ${WORKDIR}/start_lin_demo.sh ${D}/${bindir}/start_lin_demo.sh install -d ${D}${systemd_system_unitdir} install -m 0644 ${WORKDIR}/sllin-demo.service ${D}${systemd_system_unitdir}/ + install -m 0644 ${WORKDIR}/sllin-demo-virtual.service ${D}${systemd_system_unitdir}/ install -d ${D}${sysconfdir} install -m 0644 ${WORKDIR}/lin_config.conf ${D}${sysconfdir}/ } +PACKAGES =+ "${PN}-virtual" + FILES_${PN} += "${bindir}/start_lin_demo.sh ${sysconfdir}/lin_config.conf" +FILES_${PN}-virtual = "${systemd_system_unitdir}/sllin-demo-virtual.service" + RDEPENDS_${PN} += "lin-config" |