Changeset 03abecc in freewrt


Ignore:
Timestamp:
Aug 14, 2025, 4:59:15 AM (4 months ago)
Author:
Waldemar Brodkorb <wbx@…>
Branches:
freewrt_2_0
Children:
28ae594
Parents:
d860f20
Message:

fix failsafe mode, use modern buttons and leds support

Files:
5 edited

Legend:

Unmodified
Added
Removed
  • package/base-files/files/etc/preinit

    rd860f20 r03abecc  
    33mount none /proc -t proc
    44mount none /sys -t sysfs
     5mkdir -p /dev/pts
     6mount none /dev/pts -t devpts
    57[ -f /etc/preinit.arch ] && . /etc/preinit.arch
    68failsafe || /bin/sh
  • package/base-files/files/sbin/failsafe

    rd860f20 r03abecc  
    11#!/bin/sh
    22
     3# CONFIGURE
     4EVENT_DEV="/dev/input/event0"    # change if your reset button is on a different event device
     5KEY_CODE="KEY_RESTART"           # as reported by evtest
     6LED_PATH="/sys/class/leds/bcm47xx:green:dmz"  # adjust to your LED name from ls /sys/class/leds
     7FAILSAFE_IP="192.168.1.1"
     8FAILSAFE_BCAST="192.168.1.255"
     9
     10# Bring up LAN
    311ip link set up dev eth0
    4 ip addr add 192.168.1.1/24 broadcast 192.168.1.255 dev eth0
    5 netmsg 192.168.1.255 "Press reset now, to enter Failsafe!"
     12ip addr add ${FAILSAFE_IP}/24 broadcast ${FAILSAFE_BCAST} dev eth0
     13
     14# Warn the user
     15netmsg ${FAILSAFE_BCAST} "Press reset now, to enter Failsafe!"
    616echo "Press reset now to enter Failsafe!"
    7 sleep 2
     17sleep 2 &
    818
    9 if [ $(cat /proc/sys/reset) = 1 ]; then
    10         while :; do
    11                 echo $(((X=(X+1)%8)%2)) >/proc/sys/diag
    12                 sleep $((X==0))
    13         done &
    14         netmsg 192.168.1.255 "Entering Failsafe!"
    15         telnetd
    16         exit 1
     19# Check for reset press during the 2s window
     20# We'll read the event stream for KEY_RESTART with value 1 (press)
     21pressed=0
     22timeout 2 sh -c "
     23    evtest ${EVENT_DEV} 2>/dev/null | \
     24    grep -m1 '${KEY_CODE}.*value 1' && exit 0 || exit 1
     25"
     26if [ $? -eq 0 ]; then
     27    pressed=1
     28fi
     29
     30if [ "$pressed" -eq 1 ]; then
     31    # Blink LED in background
     32    (
     33        while :; do
     34            echo 1 > ${LED_PATH}/brightness
     35            sleep 0.5
     36            echo 0 > ${LED_PATH}/brightness
     37            sleep 0.5
     38        done
     39    ) &
     40
     41    netmsg ${FAILSAFE_BCAST} "Entering Failsafe!"
     42    telnetd
     43    exit 1
    1744else
    18         ip addr flush dev eth0
     45    ip addr flush dev eth0
    1946fi
     47
  • package/busybox/config/loginutils/Config.in

    rd860f20 r03abecc  
    102102config BUSYBOX_CONFIG_LOGIN
    103103        bool "login"
    104         default n
     104        default y
    105105        select BUSYBOX_CONFIG_FEATURE_SUID
    106106        help
  • target/linux/brcm-6.12/squashfs-overlay/config/config.squashfs_overlay

    rd860f20 r03abecc  
    951951CONFIG_PHYLIB=y
    952952CONFIG_SWPHY=y
     953# CONFIG_LED_TRIGGER_PHY is not set
    953954CONFIG_FIXED_PHY=y
    954955
     
    10461047#
    10471048CONFIG_INPUT=y
     1049CONFIG_INPUT_LEDS=y
    10481050# CONFIG_INPUT_FF_MEMLESS is not set
    10491051# CONFIG_INPUT_SPARSEKMAP is not set
     
    12811283# CONFIG_MEMSTICK is not set
    12821284CONFIG_LEDS_GPIO_REGISTER=y
    1283 # CONFIG_NEW_LEDS is not set
     1285CONFIG_NEW_LEDS=y
     1286CONFIG_LEDS_CLASS=y
     1287# CONFIG_LEDS_CLASS_FLASH is not set
     1288# CONFIG_LEDS_CLASS_MULTICOLOR is not set
     1289# CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set
     1290
     1291#
     1292# LED drivers
     1293#
     1294CONFIG_LEDS_GPIO=y
     1295# CONFIG_LEDS_LT3593 is not set
     1296
     1297#
     1298# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM)
     1299#
     1300# CONFIG_LEDS_MLXREG is not set
     1301# CONFIG_LEDS_USER is not set
     1302
     1303#
     1304# Flash and Torch LED drivers
     1305#
     1306
     1307#
     1308# RGB LED drivers
     1309#
     1310
     1311#
     1312# LED Triggers
     1313#
     1314CONFIG_LEDS_TRIGGERS=y
     1315CONFIG_LEDS_TRIGGER_TIMER=y
     1316# CONFIG_LEDS_TRIGGER_ONESHOT is not set
     1317# CONFIG_LEDS_TRIGGER_MTD is not set
     1318CONFIG_LEDS_TRIGGER_HEARTBEAT=y
     1319# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
     1320# CONFIG_LEDS_TRIGGER_CPU is not set
     1321# CONFIG_LEDS_TRIGGER_ACTIVITY is not set
     1322# CONFIG_LEDS_TRIGGER_GPIO is not set
     1323# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
     1324
     1325#
     1326# iptables trigger is under Netfilter config (LED target)
     1327#
     1328# CONFIG_LEDS_TRIGGER_TRANSIENT is not set
     1329# CONFIG_LEDS_TRIGGER_CAMERA is not set
     1330# CONFIG_LEDS_TRIGGER_PANIC is not set
     1331# CONFIG_LEDS_TRIGGER_NETDEV is not set
     1332# CONFIG_LEDS_TRIGGER_PATTERN is not set
     1333# CONFIG_LEDS_TRIGGER_TTY is not set
     1334# CONFIG_LEDS_TRIGGER_INPUT_EVENTS is not set
     1335
     1336#
     1337# Simple LED drivers
     1338#
    12841339# CONFIG_ACCESSIBILITY is not set
    12851340# CONFIG_INFINIBAND is not set
  • target/linux/brcm-6.12/squashfs-overlay/files/sbin/mount_root

    rd860f20 r03abecc  
    22mount none /tmp -t tmpfs
    33mount none /tmp -t tmpfs -o remount,nosuid,nodev,mode=1777
    4 mkdir -p /dev/pts
    5 mount none /dev/pts -t devpts
Note: See TracChangeset for help on using the changeset viewer.