Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revisionBoth sides next revision
docs:guide-user:advanced:hotplug_extras [2023/08/18 07:09] – [Automated] use wget stokitodocs:guide-user:advanced:hotplug_extras [2023/10/03 18:12] – [Instructions] avoid global delay, use delay per script if necessary vgaetera
Line 10: Line 10:
  
 ===== Implementation ===== ===== Implementation =====
-  * Rely on [[https://github.com/openwrt/openwrt/blob/master/package/base-files/files/lib/functions/network.sh|network functions]] to identify WAN interface. +  * Use [[docs:guide-user:base-system:hotplug|Hotplug]] to detect connectivity change and trigger network dependent scripts.
-  * Use [[docs:guide-user:base-system:hotplug|Hotplug]] to detect WAN connectivity and trigger network dependent scripts.+
   * Process subsystem-specific scripts with [[https://github.com/openwrt/openwrt/blob/master/package/base-files/files/sbin/hotplug-call|hotplug-call]].   * Process subsystem-specific scripts with [[https://github.com/openwrt/openwrt/blob/master/package/base-files/files/sbin/hotplug-call|hotplug-call]].
   * Delay script invocation with [[man>sleep(1)|sleep]] to work around tunneled connections.   * Delay script invocation with [[man>sleep(1)|sleep]] to work around tunneled connections.
Line 21: Line 20:
 mkdir -p /etc/hotplug.d/iface mkdir -p /etc/hotplug.d/iface
 cat << "EOF" > /etc/hotplug.d/iface/90-online cat << "EOF" > /etc/hotplug.d/iface/90-online
-. /lib/functions/network.sh +if [ "${INTERFACE}" = "loopback" ]
-network_flush_cache +
-network_find_wan NET_IF +
-network_find_wan6 NET_IF6 +
-if [ "${INTERFACE}" != "${NET_IF}" ] \ +
-&& [ "${INTERFACE}" != "${NET_IF6}" ]+
 then exit 0 then exit 0
 fi fi
Line 42: Line 36:
 cat << "EOF" >> /etc/sysupgrade.conf cat << "EOF" >> /etc/sysupgrade.conf
 /etc/hotplug.d/iface/90-online /etc/hotplug.d/iface/90-online
-EOF 
-mkdir -p /etc/hotplug.d/online 
-cat << "EOF" > /etc/hotplug.d/online/10-sleep 
-sleep 10 
-EOF 
-cat << "EOF" >> /etc/sysupgrade.conf 
-/etc/hotplug.d/online/10-sleep 
 EOF EOF
 </code> </code>
Line 55: Line 42:
 <code bash> <code bash>
 # Example script # Example script
-cat << "EOF" > /etc/hotplug.d/online/30-example +cat << "EOF" > /etc/hotplug.d/online/00-logger 
-logger -t hotplug online+logger -t hotplug $(env)
 EOF EOF
-reboot+/etc/init.d/network restart 
 +logread -e hotplug
 </code> </code>
  
 ===== Automated ===== ===== Automated =====
 <code bash> <code bash>
-wget -O hotplug-extras.sh "https://openwrt.org/_export/code/docs/guide-user/advanced/hotplug_extras?codeblock=0"+wget -U "" -O hotplug-extras.sh "https://openwrt.org/_export/code/docs/guide-user/advanced/hotplug_extras?codeblock=0"
 . ./hotplug-extras.sh . ./hotplug-extras.sh
 </code> </code>
  
  • Last modified: 2023/10/14 05:44
  • by vgaetera