From 45af7b6ee7a5840c6a67d34491c3e13022efa28f Mon Sep 17 00:00:00 2001 From: Cameron Thompson <50184035+iamromulan@users.noreply.github.com> Date: Mon, 4 Aug 2025 23:14:30 -0400 Subject: [PATCH] Make procd manage socat-at-bridge completely --- ipk-source/socat-at-bridge/CONTROL/control | 2 +- .../root/etc/init.d/socat-at-bridge | 35 +++++++++++++++-- .../root/etc/init.d/socat-at-bridge-smd7 | 35 +++++++++++++++-- .../root/usr/sbin/socat-at-bridge-smd7.sh | 37 ------------------ .../root/usr/sbin/socat-at-bridge.sh | 37 ------------------ opkg-feed/Packages | 8 ++-- opkg-feed/Packages.gz | Bin 2930 -> 2927 bytes opkg-feed/Packages.log | 16 ++++---- opkg-feed/Packages.sig | 2 +- ...cat-at-bridge_1.1.1_aarch64_cortex-a53.ipk | Bin 1795 -> 0 bytes ...cat-at-bridge_1.2.0_aarch64_cortex-a53.ipk | Bin 0 -> 1470 bytes 11 files changed, 75 insertions(+), 97 deletions(-) delete mode 100755 ipk-source/socat-at-bridge/root/usr/sbin/socat-at-bridge-smd7.sh delete mode 100755 ipk-source/socat-at-bridge/root/usr/sbin/socat-at-bridge.sh delete mode 100644 opkg-feed/socat-at-bridge_1.1.1_aarch64_cortex-a53.ipk create mode 100644 opkg-feed/socat-at-bridge_1.2.0_aarch64_cortex-a53.ipk diff --git a/ipk-source/socat-at-bridge/CONTROL/control b/ipk-source/socat-at-bridge/CONTROL/control index 2456f1d..73f5bd3 100755 --- a/ipk-source/socat-at-bridge/CONTROL/control +++ b/ipk-source/socat-at-bridge/CONTROL/control @@ -1,5 +1,5 @@ Package: socat-at-bridge -Version: 1.1.1 +Version: 1.2.0 Depends: libc, socat Source: github/iamromulan/quectel-rgmii-toolkit Maintainer: github.com/iamromulan diff --git a/ipk-source/socat-at-bridge/root/etc/init.d/socat-at-bridge b/ipk-source/socat-at-bridge/root/etc/init.d/socat-at-bridge index 7569dd8..f4e5126 100755 --- a/ipk-source/socat-at-bridge/root/etc/init.d/socat-at-bridge +++ b/ipk-source/socat-at-bridge/root/etc/init.d/socat-at-bridge @@ -6,15 +6,42 @@ STOP=10 USE_PROCD=1 start_service() { + # Instance 1: create PTY pair procd_open_instance - procd_set_param command /usr/sbin/socat-at-bridge.sh - procd_set_param respawn + procd_set_param command socat -d -d pty,link=/dev/ttySMD11IN,raw,echo=0,group=20,perm=660 \ + pty,link=/dev/ttySMD11,raw,echo=1,group=20,perm=660 + procd_set_param respawn 0 0 0 + procd_set_param stdout 1 + procd_set_param stderr 1 + procd_close_instance + + # Instance 2: forward /dev/smd11 → /dev/ttySMD11IN + procd_open_instance + procd_set_param command /bin/sh -c ' + while [ ! -e /dev/ttySMD11IN ]; do sleep 0.1; done + exec cat /dev/smd11 > /dev/ttySMD11IN + ' + procd_set_param file /dev/smd11 + procd_set_param respawn 0 0 0 + procd_set_param stdout 1 + procd_set_param stderr 1 + procd_close_instance + + # Instance 3: forward /dev/ttySMD11IN → /dev/smd11 + procd_open_instance + procd_set_param command /bin/sh -c ' + while [ ! -e /dev/ttySMD11IN ]; do sleep 0.1; done + exec cat /dev/ttySMD11IN > /dev/smd11 + ' + procd_set_param file /dev/smd11 + procd_set_param respawn 0 0 0 procd_set_param stdout 1 procd_set_param stderr 1 procd_close_instance } stop_service() { - # procd will handle stopping all instances automatically - echo "Stopping socat and cat instances." + echo "Stopping socat bridge and cleaning up..." + rm -f /dev/ttySMD11 /dev/ttySMD11IN } + diff --git a/ipk-source/socat-at-bridge/root/etc/init.d/socat-at-bridge-smd7 b/ipk-source/socat-at-bridge/root/etc/init.d/socat-at-bridge-smd7 index 742f4fc..9ba614d 100755 --- a/ipk-source/socat-at-bridge/root/etc/init.d/socat-at-bridge-smd7 +++ b/ipk-source/socat-at-bridge/root/etc/init.d/socat-at-bridge-smd7 @@ -6,15 +6,42 @@ STOP=10 USE_PROCD=1 start_service() { + # Instance 1: create PTY pair procd_open_instance - procd_set_param command /usr/sbin/socat-at-bridge-smd7.sh - procd_set_param respawn + procd_set_param command socat -d -d pty,link=/dev/ttySMD7IN,raw,echo=0,group=20,perm=660 \ + pty,link=/dev/ttySMD7,raw,echo=1,group=20,perm=660 + procd_set_param respawn 0 0 0 + procd_set_param stdout 1 + procd_set_param stderr 1 + procd_close_instance + + # Instance 2: forward /dev/smd7 → /dev/ttySMD7IN + procd_open_instance + procd_set_param command /bin/sh -c ' + while [ ! -e /dev/ttySMD7IN ]; do sleep 0.1; done + exec cat /dev/smd7 > /dev/ttySMD7IN + ' + procd_set_param file /dev/smd7 + procd_set_param respawn 0 0 0 + procd_set_param stdout 1 + procd_set_param stderr 1 + procd_close_instance + + # Instance 3: forward /dev/ttySMD7IN → /dev/smd7 + procd_open_instance + procd_set_param command /bin/sh -c ' + while [ ! -e /dev/ttySMD7IN ]; do sleep 0.1; done + exec cat /dev/ttySMD7IN > /dev/smd7 + ' + procd_set_param file /dev/smd7 + procd_set_param respawn 0 0 0 procd_set_param stdout 1 procd_set_param stderr 1 procd_close_instance } stop_service() { - # procd will handle stopping all instances automatically - echo "Stopping socat and cat instances." + echo "Stopping socat bridge and cleaning up..." + rm -f /dev/ttySMD7 /dev/ttySMD7IN } + diff --git a/ipk-source/socat-at-bridge/root/usr/sbin/socat-at-bridge-smd7.sh b/ipk-source/socat-at-bridge/root/usr/sbin/socat-at-bridge-smd7.sh deleted file mode 100755 index ffb0da7..0000000 --- a/ipk-source/socat-at-bridge/root/usr/sbin/socat-at-bridge-smd7.sh +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/ash - -# Optional logging for debugging -LOGFILE="/var/log/socat-bridge-smd7.log" - -# Start socat to create virtual TTY devices -echo "$(date): Starting socat..." >> "$LOGFILE" -socat -d -d pty,link=/dev/ttySMD7IN,raw,echo=0,group=20,perm=660 \ - pty,link=/dev/ttySMD7,raw,echo=1,group=20,perm=660 & -SOCAT_PID=$! - -# Allow socat to initialize -sleep 1 - -# Start forwarding data from /dev/smd7 to /dev/ttySMD7IN -echo "$(date): Starting forward from /dev/smd7 to /dev/ttySMD7IN..." >> "$LOGFILE" -cat /dev/smd7 > /dev/ttySMD7IN & -CAT1_PID=$! - -# Start forwarding data from /dev/ttySMD7IN to /dev/smd7 -echo "$(date): Starting forward from /dev/ttySMD7IN to /dev/smd7..." >> "$LOGFILE" -cat /dev/ttySMD7IN > /dev/smd7 & -CAT2_PID=$! - -# Handle script termination and cleanup -cleanup() { - echo "$(date): Cleaning up processes..." >> "$LOGFILE" - kill "$SOCAT_PID" "$CAT1_PID" "$CAT2_PID" 2>/dev/null - wait - echo "$(date): All processes stopped." >> "$LOGFILE" -} - -# Trap termination signals to run cleanup -trap cleanup INT TERM EXIT - -# Wait for all background processes to finish -wait diff --git a/ipk-source/socat-at-bridge/root/usr/sbin/socat-at-bridge.sh b/ipk-source/socat-at-bridge/root/usr/sbin/socat-at-bridge.sh deleted file mode 100755 index 67d4663..0000000 --- a/ipk-source/socat-at-bridge/root/usr/sbin/socat-at-bridge.sh +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/ash - -# Optional logging for debugging -LOGFILE="/var/log/socat-bridge.log" - -# Start socat to create virtual TTY devices -echo "$(date): Starting socat..." >> "$LOGFILE" -socat -d -d pty,link=/dev/ttySMD11IN,raw,echo=0,group=20,perm=660 \ - pty,link=/dev/ttySMD11,raw,echo=1,group=20,perm=660 & -SOCAT_PID=$! - -# Allow socat to initialize -sleep 1 - -# Start forwarding data from /dev/smd11 to /dev/ttySMD11IN -echo "$(date): Starting forward from /dev/smd11 to /dev/ttySMD11IN..." >> "$LOGFILE" -cat /dev/smd11 > /dev/ttySMD11IN & -CAT1_PID=$! - -# Start forwarding data from /dev/ttySMD11IN to /dev/smd11 -echo "$(date): Starting forward from /dev/ttySMD11IN to /dev/smd11..." >> "$LOGFILE" -cat /dev/ttySMD11IN > /dev/smd11 & -CAT2_PID=$! - -# Handle script termination and cleanup -cleanup() { - echo "$(date): Cleaning up processes..." >> "$LOGFILE" - kill "$SOCAT_PID" "$CAT1_PID" "$CAT2_PID" 2>/dev/null - wait - echo "$(date): All processes stopped." >> "$LOGFILE" -} - -# Trap termination signals to run cleanup -trap cleanup INT TERM EXIT - -# Wait for all background processes to finish -wait diff --git a/opkg-feed/Packages b/opkg-feed/Packages index 561b967..aa6fe15 100644 --- a/opkg-feed/Packages +++ b/opkg-feed/Packages @@ -234,14 +234,14 @@ Description: SMS Tool for 3G/4G/5G modem Package: socat-at-bridge -Version: 1.1.1 +Version: 1.2.0 Depends: libc, socat Section: utils Architecture: aarch64_cortex-a53 Maintainer: iamromulan -MD5Sum: a5f4c4c371426fbe12bf2345938af195 -Size: 1795 -Filename: socat-at-bridge_1.1.1_aarch64_cortex-a53.ipk +MD5Sum: 1b1c28fb79c0cf477eb4e5c77350386a +Size: 1470 +Filename: socat-at-bridge_1.2.0_aarch64_cortex-a53.ipk Source: https://github.com/iamromulan/quectel-rgmii-toolkit Description: Sets up a tty from SMD11 diff --git a/opkg-feed/Packages.gz b/opkg-feed/Packages.gz index 275b3083ec807c34655bc46cfcb2553695be443a..7c372a51c04a8c1e93481e307f70a9ecae25d146 100644 GIT binary patch literal 2927 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 ZpW00?C#3q=IbuyF{{@z=;>EEg004-VnKA$X literal 2930 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 diff --git a/opkg-feed/socat-at-bridge_1.2.0_aarch64_cortex-a53.ipk b/opkg-feed/socat-at-bridge_1.2.0_aarch64_cortex-a53.ipk new file mode 100644 index 0000000000000000000000000000000000000000..967099be5b12b26269b1acee2692a0fc00992f68 GIT binary patch literal 1470 zcmV;v1wr~BiwFP!000001MSs&G?Zx^2k>b*tQ1>O62_uZ81Ia^C?QhrjmWh@F;L6HFOWzHgKZ7qGb|eYd;M%<{Y(dj!~keC3a5j@plp+67o}|EF3Ml~bxd{-y;al^M zP5K`Rps^eKUk3;E{}%yI`udNF$aJPVX#kLETKI$~zjU))zhzcu?IE4v;3q%ecG#2f z@NWN|A4H~EG>Jk_nZ)}TrppiwCOM;j?B>ga=jxNW{dRkse5~74hTXpxHQ&VxbMf)x z8sgXdcb)76dt>rLTD4B*U%g^IN!T;yO9paGa2EF{n=4Cek`Uvsgtvoq4`QA zK4P$2q;}EI7bn;shtZm1T+)>P) z+wTIg7^bXStxa`+ZznC@gza*~#^F?LQKtM)$etAA(5B2YAT^XO5yub&2TXbA`X?1r zJ_%Xco=z&*K!ww$vWIgFT*}W+YA~0CZDtBt!o1Evtl2AF}nn*0Wn?W zVNN9*YgKm0obtrk0&szrGvEe)*Jv}^+{=SEfT z9#JH-ysQ!nuX9X}8I(}n6oz+4s|G}B24rsw>Uu!^F)f^%>ylS2?W(U0zgu+7(m-eiyF7_>l>#DKdsQH;w$*X()=~HXxaj34w|kNu50wy z3*oWTvVy5g2*-58)Y@1%s>qez21kPZfh5ikeLVka9j($QXZr1^4T`1S_96BhOhvo< zdi8YljEtz!HycKy-Y5>S_$v#h{_oyU$X4%7mNN;7un z&x(iZ=C@dk801y2>s@%-t;Uz#XM>6HlG@{U6!lIir|yJ7f=xbKVM#SPKsYqA^f2n$ z;*|2UD%ULQostOcJcwp(8+ddNR2oqCt(GcnX}*pFpSg#1ppfl|J46m`KqH zo&jS@h-VL47g)vmAkXVd3{}@rLVETee9J4^x9~F0)-e_*E(folHaq_DyU=e{-Wm@4H7kURsbjf0Gq