Date: Wed, 14 Jul 2021 10:37:26 GMT From: "Tobias C. Berner" <tcberner@FreeBSD.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org Subject: git: 5529844e1456 - main - net/remarkable-devd: new port -- Devd hotplug rules for Remarkable Tablet Message-ID: <202107141037.16EAbQPk045725@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by tcberner: URL: https://cgit.FreeBSD.org/ports/commit/?id=5529844e1456e2692b756ca5368e215cea0e0a17 commit 5529844e1456e2692b756ca5368e215cea0e0a17 Author: Trenton Schulz <trueos@norwegianrockcat.com> AuthorDate: 2021-07-14 10:32:37 +0000 Commit: Tobias C. Berner <tcberner@FreeBSD.org> CommitDate: 2021-07-14 10:36:53 +0000 net/remarkable-devd: new port -- Devd hotplug rules for Remarkable Tablet Automatic IP address when connecting a Remarkable Tablet to USB. This makes it possible to access your Remarkable tablet via ssh or its USB web interface when it's enabled. PR: 256754 --- net/Makefile | 1 + net/remarkable-devd/Makefile | 27 +++++++++++++++++ net/remarkable-devd/files/pkg-message.in | 14 +++++++++ net/remarkable-devd/files/remarkable.conf.in | 7 +++++ net/remarkable-devd/files/remarkable.in | 45 ++++++++++++++++++++++++++++ net/remarkable-devd/pkg-descr | 3 ++ 6 files changed, 97 insertions(+) diff --git a/net/Makefile b/net/Makefile index c4dcdcab2497..8c6f797407df 100644 --- a/net/Makefile +++ b/net/Makefile @@ -1179,6 +1179,7 @@ SUBDIR += recvnet SUBDIR += redir SUBDIR += relayd + SUBDIR += remarkable-devd SUBDIR += remmina SUBDIR += remotebox SUBDIR += remotedesk diff --git a/net/remarkable-devd/Makefile b/net/remarkable-devd/Makefile new file mode 100644 index 000000000000..bf533ed082be --- /dev/null +++ b/net/remarkable-devd/Makefile @@ -0,0 +1,27 @@ +# Created by: Trenton Schulz <trueos@norwegianrockcat.com> + +PORTNAME= remarkable-devd +PORTVERSION= 1.0 +CATEGORIES= net +MASTER_SITES= # +DISTFILES= # + +MAINTAINER= trueos@norwegianrockcat.com +COMMENT= Devd hotplug rules for Remarkable Tablet + +LICENSE= BSD2CLAUSE + +USE_RC_SUBR= remarkable + +NO_BUILD= yes + +SUB_FILES= pkg-message \ + remarkable.conf + +PLIST_FILES= etc/devd/remarkable.conf + +do-install: + ${INSTALL_DATA} ${WRKDIR}/remarkable.conf ${STAGEDIR}${PREFIX}/etc/devd/remarkable.conf + ${INSTALL_SCRIPT} ${WRKDIR}/remarkable ${STAGEDIR}${PREFIX}/etc/rc.d/remarkable + +.include <bsd.port.mk> diff --git a/net/remarkable-devd/files/pkg-message.in b/net/remarkable-devd/files/pkg-message.in new file mode 100644 index 000000000000..fd0cd91764e5 --- /dev/null +++ b/net/remarkable-devd/files/pkg-message.in @@ -0,0 +1,14 @@ +[ +{ type: install + message: <<EOM +A devd rule and rc script has been added to get an address from the +remarkable tablet when it is connected. This is disabled by default. +Set remarkable_enable=YES if you want this to happen automatically. Devd must also be restarted. + +# sysrc remarkable_enable=YES +# service devd restart + +For details, see %%PREFIX%%/etc/devd/remarkable.conf and %%PREFIX%%/etc/rc.d/remarkable +EOM +} +] diff --git a/net/remarkable-devd/files/remarkable.conf.in b/net/remarkable-devd/files/remarkable.conf.in new file mode 100644 index 000000000000..66efd43b8dc2 --- /dev/null +++ b/net/remarkable-devd/files/remarkable.conf.in @@ -0,0 +1,7 @@ +# Connect the Remarkable 1 device and get the IP address +attach 100 { + device-name "urndis.+"; + match "vendor" "0x04b3"; + match "product" "0x4010"; + action "%%PREFIX%%/etc/rc.d/remarkable start $device-name"; +}; diff --git a/net/remarkable-devd/files/remarkable.in b/net/remarkable-devd/files/remarkable.in new file mode 100644 index 000000000000..5033009ea16a --- /dev/null +++ b/net/remarkable-devd/files/remarkable.in @@ -0,0 +1,45 @@ +#!/bin/sh +# +# PROVIDE: webcamd +# REQUIRE: FILESYSTEMS netif dbus +# BEFORE: devd +# KEYWORD: shutdown + +. /etc/rc.subr + +name=remarkable +rcvar=remarkable_enable +load_rc_config $name + +devd_device=${2} +start_cmd="${name}_start" + +remarkable_start_devd() +{ + # Find the USB Ethernet for the device + # We first grab the total number of interfaces in + # the case when all the interfaces are USB Ethernet + local total_ifs=`sysctl -n net.link.generic.system.ifcount` + local i=0 + for i in $(seq 0 $total_ifs) + do + ueparent=`sysctl -n net.ue.$i.%parent` + if [ $? -eq 0 ] && [ $ueparent = $devd_device ]; then + /sbin/dhclient ue$i + return + fi + done + echo "Couldn't find a remarkable tablet." +} + +remarkable_start() +{ + if [ "$devd_device" ]; then + remarkable_start_devd + else + echo "Plug in your Remarkable to connect to it" + fi +} + +run_rc_command "$1" + diff --git a/net/remarkable-devd/pkg-descr b/net/remarkable-devd/pkg-descr new file mode 100644 index 000000000000..1196e4e754b6 --- /dev/null +++ b/net/remarkable-devd/pkg-descr @@ -0,0 +1,3 @@ +Automatic IP address when connecting a Remarkable Tablet to USB. This +makes it possible to access your Remarkable tablet via ssh or its USB +web interface when it's enabled.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202107141037.16EAbQPk045725>