main/postmarketos-usb-moded: use service manager for unudhcpd
Also start set -e after config parameters are read. Fallbacks would trigger exit otherwise. Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8553>
This commit is contained in:
parent
9bccd6b5e9
commit
ccd3a554a6
4 changed files with 35 additions and 15 deletions
|
|
@ -126,8 +126,8 @@ fe4d085730d448e51bbce9e99c3cc7b4662e5fadd6108e5f2e74040f0d4e901132aa7f3367acad18
|
|||
0981a7cfc53d887997b5342a9add41784ffdfe011cac8510aa78620776ab9a7bf24d4e62d30eb6d2852d52a3ea060c1de074fcea9f4fe017d888b06871e911d0 rootfs-etc-init.d-usb-moded-developer-mode.initd
|
||||
1662006de519b7b45c2d817be974b43d732d166f71c6782e7d136770aadddcc2ea820fcece21bf95e68f578c9ae7ba88867981fff726feab61cdc36efdf5ec6e rootfs-etc-init.d-usb-moded-tethering-mode.initd
|
||||
b8a4d9c8d1e2cde8d6b31bbb3e61d37c05cf2aa1e04cb25c24308839d045205e0604b103d2d60f9834782dcc64ab346cfe8f97797d4d0c86f54e4cfceb6af679 rootfs-etc-init.d-usb-moded-mtp-mode.initd
|
||||
e021a58fcabef47c3806bea14c86def6ba6787be2f725b1b5f9a24a5b0eb5ba8bee2887337b17c9db9a7df84d2b07b8f14da5092f2afeedaf57689b8e5e82ef0 rootfs-usr-bin-usb-moded-developer-mode
|
||||
dbc653b07f220a0fa4533be4ceac65651b19e32c88d66cafd0bcd4ee2cded2627c410917052eb113612cdea1c9e489bbaf290dade0f9b8c897363cb8fe34631f rootfs-usr-bin-usb-moded-tethering-mode
|
||||
0174ce39326b09d982cfcc7a91893e23e1fb0505a65c0bc3d049c144739435589faf973b3102f7da2e32b6bc6ddfc308f52bfddefd398a0e13156f4875a6a5ff rootfs-usr-bin-usb-moded-mtp-mode
|
||||
f5d45b6c6a4954cab82289fe76fdce2d0480a534d2752b139cc497556f805d32d780cc28a24e4f5c90b1413091c8663b3cb51037b96e57f02be4bee5fab0a45f rootfs-usr-bin-usb-moded-developer-mode
|
||||
af509646af99bc0fcd36d098330acf070f2eaa9780986c483194c2428fcb6390a2a1d5b941d5d63bac3f68d868f6ccf517f5c4cecb7fab1404c42341c55ce14e rootfs-usr-bin-usb-moded-tethering-mode
|
||||
cada62ef2f5a63543b4150abfcb5f07dec40ceb8b1f977f6288468e4d161f0e9f07ce7fa08d33f214a805fecead1a857047af23a4f6bb3fb41c631df8992b53e rootfs-usr-bin-usb-moded-mtp-mode
|
||||
ca4b82b0cccbbb498b8898c4e360142136c46687e97bce85553dc1793bf8ae2e0f509c2a1acdf96b08dc7c6b69f098b56181f9033ad669cabbf5a159ad8efbaa rootfs-usr-lib-systemd-system-generators-umtprd-config-generator
|
||||
"
|
||||
|
|
|
|||
|
|
@ -2,16 +2,36 @@
|
|||
# Enable/disable developer USB mode by delegating network operations to NetworkManager
|
||||
# Dynamically generate NetworkManager connection because it is only available in the right USB mode
|
||||
#
|
||||
# Copyright (c) Dylan Van Assche (2025)
|
||||
set -e
|
||||
|
||||
# Copyright (c) Dylan Van Assche (2025-2026)
|
||||
CONFIGFS="/sys/kernel/config/usb_gadget"
|
||||
IFACE=$(cat "$CONFIGFS"/usb-signaller-developer/functions/ncm.*/ifname 2>/dev/null)
|
||||
IFACE=${IFACE:-"usb0"}
|
||||
IP_ADDRESS_SERVER=172.16.42.1
|
||||
IP_ADDRESS_CLIENT=172.16.42.2
|
||||
CONNECTION_NAME=$(cat "$CONFIGFS"/usb-signaller-developer/configs/*/strings/0x409/configuration 2>/dev/null)
|
||||
CONNECTION_NAME=${CONNECTION_NAME:-"USB Developer Mode"}
|
||||
CONNECTION_NAME=${CONNECTION_NAME:-"Developer Mode"}
|
||||
|
||||
set -e
|
||||
|
||||
_start_unudhcpd() {
|
||||
if [ -d "/run/systemd" ]; then
|
||||
systemctl start unudhcpd@"$1"
|
||||
elif [ -d "/etc/rc.conf" ]; then
|
||||
rc-service unudhcpd."$1" start
|
||||
else
|
||||
echo "Cannot start unudhpcd!"
|
||||
fi
|
||||
}
|
||||
|
||||
_stop_unudhcpd() {
|
||||
if [ -d "/run/systemd" ]; then
|
||||
systemctl stop unudhcpd@"$1"
|
||||
elif [ -d "/etc/rc.conf" ]; then
|
||||
rc-service unudhcpd."$1" stop
|
||||
else
|
||||
echo "Cannot stop unudhpcd!"
|
||||
fi
|
||||
}
|
||||
|
||||
up() {
|
||||
# Bring interface and NetworkManager connection up
|
||||
|
|
@ -20,12 +40,12 @@ up() {
|
|||
nmcli connection up "$CONNECTION_NAME"
|
||||
|
||||
# Start DHCP server
|
||||
unudhcpd -i "$IFACE" -s "$IP_ADDRESS_SERVER" -c "$IP_ADDRESS_CLIENT" &
|
||||
_start_unudhcpd "$IFACE"
|
||||
}
|
||||
|
||||
down() {
|
||||
# Stop DHCP server
|
||||
killall -9 unudhcpd
|
||||
_stop_unudhcpd "$IFACE"
|
||||
|
||||
# Bring NetworkManager connection down
|
||||
nmcli connection down "$CONNECTION_NAME"
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
# Enable/disable MTP USB mode by delegating FunctionFS operations to uMTP-responder
|
||||
#
|
||||
# Copyright (c) Dylan Van Assche (2026)
|
||||
set -e
|
||||
|
||||
TIMEOUT=10s
|
||||
|
||||
set -e
|
||||
|
||||
up() {
|
||||
echo "Starting MTP responder"
|
||||
if [ -d "/run/systemd" ]; then
|
||||
|
|
|
|||
|
|
@ -2,14 +2,14 @@
|
|||
# Enable/disable tethering USB mode by delegating network operations to NetworkManager.
|
||||
# Dynamically generate NetworkManager connection because it is only available in the right USB mode.
|
||||
#
|
||||
# Copyright (c) Dylan Van Assche (2025)
|
||||
set -e
|
||||
|
||||
# Copyright (c) Dylan Van Assche (2025-2026)
|
||||
CONFIGFS="/sys/kernel/config/usb_gadget"
|
||||
IFACE=$(cat "$CONFIGFS"/usb-signaller-tethering/functions/ncm.*/ifname 2>/dev/null)
|
||||
IFACE=${IFACE:-"usb0"}
|
||||
CONNECTION_NAME=$(cat "$CONFIGFS"/usb-signaller-tethering/configs/*/strings/0x409/configuration 2>/dev/null)
|
||||
CONNECTION_NAME=${CONNECTION_NAME:-"USB Tethering Mode"}
|
||||
CONNECTION_NAME=${CONNECTION_NAME:-"Tethering Mode"}
|
||||
|
||||
set -e
|
||||
|
||||
up() {
|
||||
# Bring interface and NetworkManager connection up
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue