Add led devices for D-Link DIR-300-B1 WAN LED. Note that the GPIO state is also ANDed with the esw switch port 4 LED state, which is why I've set the amber LED to default-on.
The ppp0-section tries to mimick the original firmware behaviour: There the LED switches from amber to green once a WAN link is established. Closes: https://dev.openwrt.org/ticket/11326 Signed-off-by: Tobias Diedrich <ranma+open...@tdiedrich.de> Index: target/linux/ramips/files/arch/mips/ralink/rt305x/mach-dir-300-revb.c =================================================================== --- target/linux/ramips/files/arch/mips/ralink/rt305x/mach-dir-300-revb.c (revision 31618) +++ target/linux/ramips/files/arch/mips/ralink/rt305x/mach-dir-300-revb.c (working copy) @@ -22,6 +22,10 @@ #define DIR_300B_GPIO_LED_STATUS_AMBER 8 #define DIR_300B_GPIO_LED_STATUS_GREEN 9 #define DIR_300B_GPIO_LED_WPS 13 +/* NOTE: The wan led is also connected to the switch, both + * switch and gpio must be active to make it light up */ +#define DIR_300B_GPIO_LED_WAN_GREEN 12 +#define DIR_300B_GPIO_LED_WAN_AMBER 14 #define DIR_300B_GPIO_BUTTON_WPS 0 /* active low */ #define DIR_300B_GPIO_BUTTON_RESET 10 /* active low */ @@ -39,6 +43,14 @@ .gpio = DIR_300B_GPIO_LED_STATUS_GREEN, .active_low = 1, }, { + .name = "d-link:amber:wan", + .gpio = DIR_300B_GPIO_LED_WAN_AMBER, + .active_low = 1, + }, { + .name = "d-link:green:wan", + .gpio = DIR_300B_GPIO_LED_WAN_GREEN, + .active_low = 1, + }, { .name = "d-link:blue:wps", .gpio = DIR_300B_GPIO_LED_WPS, .active_low = 1, Index: target/linux/ramips/base-files/etc/uci-defaults/leds =================================================================== --- target/linux/ramips/base-files/etc/uci-defaults/leds (revision 31618) +++ target/linux/ramips/base-files/etc/uci-defaults/leds (working copy) @@ -30,6 +30,24 @@ EOF } +set_wan_led() { + local sysfs="$1" + local name="$2" + local trigger="$3" + local dev="$4" + local mode="$5" + + uci batch <<EOF +set system.${name}_led=led +set system.${name}_led.name='$name' +set system.${name}_led.sysfs='$sysfs' +set system.${name}_led.trigger='$trigger' +set system.${name}_led.dev='$dev' +set system.${name}_led.mode='$mode' +commit system +EOF +} + board=$(ramips_board_name) case $board in @@ -39,6 +57,11 @@ bc2) set_usb_led "bc2:blue:usb" ;; + dir-300-b1 | dir-600-b1 | dir-600-b2) + # ANDed with vlan switch port 4 led state + set_wan_led "d-link:amber:wan" wan_switch default-on + set_wan_led "d-link:green:wan" wan_ppp netdev ppp0 link + ;; esr-9753) set_wifi_led "rt2800pci-phy0::radio" ;; _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel