aboutsummaryrefslogtreecommitdiffstats
path: root/package/base-files/files/etc/init.d
Commit message (Collapse)AuthorAgeFilesLines
* base-files, mac80211, broadcom-wl: wifi detection and configurationChristian Lamparter2016-11-031-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, the wifi detection script is executed as part of the (early) boot process. Pluggable wifi USB devices, which are inserted at a later time are not automatically detected and therefore they don't show up in LuCI. A user has to deal with wifi detection manually, or restart the router. However, the current "sleep 1" window - which the boot process waits for wifi devices to "settle down" - is too short to detect wifi devices for some routers anyway. For example, this can happen with USB WLAN devices on the WNDR4700. This is because the usb controller needs to load its firmware from UBI and initialize, before it can operate. The issue can be seen on a BT HomeHub 5A as well as soon as the caldata are on an ubi volume. This is because the ath9k card has to be initialized by owl-loader first. Which has to wait for the firmware extraction script to retrieve the pci initialization values inside the caldata. This patch moves the wifi configuration to hotplug scripts. For mac80211, the wifi configuration will now automatically run any time a "ieee80211" device is added. Likewise broadcom-wl's script checks for new "net" devices which have the "wl$NUMBER" moniker. Issues with spawning multiple interface configuration - in case the detection script is run concurrently - have been resolved by using a named section for the initial configuration. Concurrent configuration scripts will now simply overwrite the same existing configuration. A workaround which preserves the "sleep 1" window for just the first boot has been added. This allows the existing brcm47xx boot and mvebu uci-default scripts to correctly setup the initial mac addresses and regulatory domain. And finally, the patch renames the "wifi detect" into "wifi config". As the script no longer produces any output that has to be redirected or appended to the configuration file. Thanks to Martin Blumenstingl for helping with the implementation and testing of the patch. Acked-by: Jo-Philipp Wich <jo@mein.io> Signed-off-by: Mathias Kresin <dev@kresin.me> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
* base-files, mac80211, broadcom-wl: use uci to populate wireless configChristian Lamparter2016-11-031-5/+1
| | | | | | | | | | | | | | | | | | | | Previously, wifi detect simply dumped its generated wireless configuration to STDOUT. A second step was needed to append the configuration to /etc/config/wireless (or create it, if it didn't exist). With this patch, The wifi detection script will now use uci to update the wireless configuration directly. This patch also makes the initially created wifi-iface a named section ('default_radio$X' for mac80211 and 'default_wl$X' for broadcom). With this change, uci will not print the cfgHASH to STDOUT (which would now corrupt the wireless configuration). It will also prevent adding duplicated wifi interface configurations, if the wifi configuration is run concurrently. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* base-files: sysfixtime: Keep RTC time in UTC timezonePetr Štetiar2016-10-311-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to tell hwclock with -u commandline option, that we would like to keep our RTC clock in UTC timezone. Linux kernel expects RTC in UTC timezone anyway. In current state of things, we don't tell hwclock to load/store time from/to RTC in UTC timezone so it uses the timezone from the system time. If it's set to different timezone then UTC, sysfixtime is going to screw the time in RTC. I've following in the setup script: uci set system.@system[0].timezone='CET-1CEST,M3.5.0,M10.5.0/3' uci set system.@system[0].zonename='Europe/Prague' I've this RTC setup (rtc1 is RTC on i.MX6 SoC, rtc0 is battery backed RTC mcp7941x): rtc-ds1307 3-006f: rtc core: registered mcp7941x as rtc0 snvs_rtc 20cc000.snvs:snvs-rtc-lp: rtc core: registered 20cc000.snvs:snvs-r as rtc1 Then we can experience following (current time is 10:15am): $ date Fri Oct 21 10:15:07 CEST 2016 $ hwclock -r -f /dev/rtc0 Fri Oct 21 08:14:46 2016 0.000000 seconds $ hwclock -u -r -f /dev/rtc0 Fri Oct 21 10:14:46 2016 0.000000 seconds And after current broken sysfixtime: $ /etc/init.d/sysfixtime stop $ date Fri Oct 21 10:15:25 CEST 2016 $ hwclock -r -f /dev/rtc0 Fri Oct 21 10:15:31 2016 0.000000 seconds Now we've time in our battery backed RTC in CEST timezone instead of UTC. Then once again, but with this patch applied to sysfixtime, where hwclock is using correctly the -u parameter: $ /etc/init.d/sysfixtime stop $ date Fri Oct 21 10:15:53 CEST 2016 $ hwclock -r -f /dev/rtc0 Fri Oct 21 08:15:55 2016 0.000000 seconds Signed-off-by: Petr Štetiar <ynezz@true.cz> Acked-by: Jo-Philipp Wich <jo@mein.io>
* base-files: add ucidef_set_led_usbport for full usbport supportRafał Miłecki2016-10-221-0/+1
| | | | | | | | | | | | | | | | | | | | This helper allows using usbport trigger directly. It requires usbport compatible syntax and supports specifying multiple USB ports, e.g.: ucidef_set_led_usbport "usb" "USB" "devicename:colour:function" "usb1-port1" "usb2-port1" This adds a proper object to the board.json, e.g. "usb": { "name": "USB", "type": "usbport", "sysfs": "devicename:colour:function", "ports": [ "usb1-port1", "usb2-port1" ] } and supports translating it into uci section. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* switch to the new usbport LED triggerRafał Miłecki2016-10-191-5/+16
| | | | | | | This makes init.d script handle existing UCI entries using the new trigger. It also switches all targets to use its package. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* base-files: reduce vm.min_free_kbytes for devices with 32M RAMFelix Fietkau2016-09-161-1/+1
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* base-files: support oneshot leds properly.Karl Palsson2016-09-051-1/+1
| | | | | | | | | | oneshot trigger configurations for LEDs are created, but the on/off timing configurations are ignored. generate_config is correctly creating oneshot configs, but the later led script doesn't recognise the trigger details. Fixes: c0c3f2d4c917 leds: support oneshot as well as timer triggers Signed-off-by: Karl Palsson <karlp@etactica.com>
* base-files: let config_generate call board_detectJonas Gorski2016-08-131-1/+1
| | | | | | | Instead of board_detect generating the config as a side effect, let config_generate call board_detect as needed. Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
* kernel: remove unused morse led trigger driverFelix Fietkau2016-08-041-5/+0
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* base-files: remove dead codeDaniel Golle2016-08-041-6/+0
| | | | | | | | | /etc/init.d/boot tried to create /dev/root based on the kernel's cmdline which won't work on any recent targets. Remove that code now that fstools can detect the mounted rootfs based on /proc/self/mountinfo and /dev/root was long gone anyway. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* base-files: increase vm.min_free_kbytesFelix Fietkau2016-08-011-0/+16
| | | | | | | | Network drivers typically allocate memory in atomic context. For that to be reliable, there needs to be enough free memory. Set the value heuristically based on the total amount of system RAM. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* base-files: use procd init for urandom_seedEtienne CHAMPETIER2016-07-271-25/+8
| | | | | | | | | | Previous implementation was blocking the init and breaking halt/reboot/sysupgrade (reported by Daniel Golle) v2: use procd logging, use set -e + trap for error handling Signed-off-by: Etienne CHAMPETIER <champetier.etienne@gmail.com> Tested-by: Daniel Golle <daniel@makrotopia.org>
* base-files: seed /dev/urandomEtienne CHAMPETIER2016-06-301-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit: 1) seed /dev/urandom with the saved seeds as early as possible (see /lib/preinit/81_urandom_seed) 2) save a seed at /etc/urandom.seed if it doesn't exists 3) save a new seed each boot at "system.@system[0].urandom_seed" (see /etc/init.d/urandom_seed) We use getrandom() so we are sure /dev/urandom pool is initialized Seed size is 512 bytes (ie /proc/sys/kernel/random/poolsize / 8) it's the same size as in ubuntu 14.04 and all systemd systems Seeding /dev/urandom doesn't change entropy estimation, so we still have "random: ubus urandom read with 4 bits of entropy available" messages in the logs, but we can now ignore them if after "urandom-seed: Seeding with ..." message Saving a new seed on each boot is disabled by default to avoid too much writes without user consent v2: log preinit messages to /dev/kmsg v3: use non generic function name for logging, as /lib/preinit/ files are all sourced together in /etc/preinit v4: after a lot of discussion on the ML, use a uci config param v5: config param is now the path of the seed Signed-off-by: Etienne CHAMPETIER <champetier.etienne@gmail.com> Acked-by: Jo-Philipp Wich <jo@mein.io>
* base-files: sysfixtime no longer exclude dnsmasq.timeKevin Darbyshire-Bryant2016-06-241-1/+1
| | | | | | | | dnsmasq's dnssec time checking method now uses a ntp hotplug mechanism, therefore dnsmasq.time is redudant and no longer needs to be explicitly excluded from sysfixtime. Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
* base-files: maintain LED config stateJo-Philipp Wich2016-06-081-5/+17
| | | | | | | | Record the state of any hardware LED configured through UCI and use that information to revert the state when applying updated settings while maintaining default behaviour of system LEDs. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* base-files: reset LED stateJo-Philipp Wich2016-06-071-0/+6
| | | | | | | | Attempt to reset all LED states before applying the UCI configuration to avoid leaving disabled LEDs behind in lingering glowing state, e.g. when changing the sysfs entry in the config from one hardware LED to another. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* base-files: sysfixtime typo in exclude dnsmasq.timeKevin Darbyshire-Bryant2016-05-191-1/+1
| | | | | | | Typo, missing space before ] in previous commit caused shell syntax failure and incorrect restoration of time. Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
* base-files: sysfixtime exclude dnsmasq.timeKevin Darbyshire-Bryant2016-05-191-1/+10
| | | | | | | | | | | | | | | | | | | | | dnsmasq maintains dnsmasq.time across reboots and uses it as a means of determining if current time is good enough to validate dnssec time stamps. By including /etc/dnsmasq.time as a time source for sysfixtime, the mechanism was effectively defeated because time was set to the last time that dnsmasq considered current even though that time is in the past. Since that time is out of date, dns(sec) resolution would fail thus defeating any ntp based mechanisms for setting the clock correctly. In theory the process is defeated by any files in /etc that are newer than /etc/dnsmasq.time however dnsmasq now updates the file's timestamp on process TERM so hopefully /etc/dnsmasq.time is the latest file timestamp in /etc as part of LEDE shutdown/reboot. Either way, including /etc/dnsmasq.time as a time source for sysfixtime is not helpful. Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
* Revert "base-files: sysfixtime exclude dnsmasq.time"Jo-Philipp Wich2016-05-191-10/+1
| | | | | | | | This reverts commit 382779e009af7c1c688fbd98adf71fb19ce66254. Reverting this commit due to a missing Signed-off-by. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* base-files: sysfixtime exclude dnsmasq.timeKevin Darbyshire-Bryant2016-05-181-1/+10
| | | | | | | | | | | | | | | | | | | dnsmasq maintains dnsmasq.time across reboots and uses it as a means of determining if current time is good enough to validate dnssec time stamps. By including /etc/dnsmasq.time as a time source for sysfixtime, the mechanism was effectively defeated because time was set to the last time that dnsmasq considered current even though that time is in the past. Since that time is out of date, dns(sec) resolution would fail thus defeating any ntp based mechanisms for setting the clock correctly. In theory the process is defeated by any files in /etc that are newer than /etc/dnsmasq.time however dnsmasq now updates the file's timestamp on process TERM so hopefully /etc/dnsmasq.time is the latest file timestamp in /etc as part of LEDE shutdown/reboot. Either way, including /etc/dnsmasq.time as a time source for sysfixtime is not helpful.
* branding: add LEDE brandingJohn Crispin2016-03-241-1/+1
| | | | Signed-off-by: John Crispin <blogic@openwrt.org>
* base-files: add support for speed mask to switch config init scriptsFelix Fietkau2016-02-251-1/+4
| | | | | | | | | | | This patch adds extra parameter to switch LED trigger initialization functions. New functionality maintains backward compatibility, so calling functions without setting new speed_mask parameter works as expected. Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl> SVN-Revision: 48776
* base-files: For sysfixtime use hwclock if RTC availableJohn Crispin2016-02-081-0/+14
| | | | | | | | | | | | | | | | | On systems that have an RTC prefer it to the file-based time fixup (i.e. use hwclock when there is a permanent clock instead of the faked up time logic that is needed when there is not RTC). We can't rely on hctosys kernel feature either as we're usually using RTC as kernel modules which are usually being loaded after hctosys was run, leading in the following error: hctosys: unable to open rtc device (rtc0) Signed-off-by: Daniel Dickinson <openwrt@daniel.thecshore.com> Signed-off-by: Petr Štetiar <ynezz@true.cz> SVN-Revision: 48661
* base-files: allow timezone to be overriden by zonename (proper zoneinfo support)John Crispin2015-12-231-1/+2
| | | | | | Signed-off-by: Roman Yeryomin <roman@advem.lv> SVN-Revision: 47980
* base-file: remove /tmp/.jail (now useless)John Crispin2015-12-111-1/+0
| | | | | | Signed-off-by: Etienne CHAMPETIER <champetier.etienne@gmail.com> SVN-Revision: 47855
* base-files: use max_brightness to set LEDJohn Crispin2015-12-111-1/+1
| | | | | | | | | | LEDs which are controlled by a PWM need to use the supplied max_brightness instead. Otherwise they might appear to be very dim / broken. Signed-off-by: Chris R Blake <chrisrblake93@gmail.com> SVN-Revision: 47854
* base-files: create /var/tmp on bootJohn Crispin2015-10-191-0/+1
| | | | | | | | | | | FHS mandates presence of /var/tmp on compliant systems. The lack of /var/tmp was discovered when using MIT Kerberos libraries which default to that location for storing credentials cache. Signed-off-by: Paul Fertser <fercerpav@gmail.com> SVN-Revision: 47219
* base-files: fix /tmp/.jail permissionsJohn Crispin2015-07-241-1/+0
| | | | | | | | | | | We need a+x rights on the path to the root of the jails so we can use users other than root (like nobody) This partly fixes jailed dnsmasq Signed-off-by: Etienne CHAMPETIER <champetier.etienne@gmail.com> SVN-Revision: 46466
* base-files: added option to configure the gpio led trigger in uci-defaultsJohn Crispin2015-07-141-0/+7
| | | | | | Signed-off-by: Günther Kelleter <guenther.kelleter@devolo.de> SVN-Revision: 46341
* base-files: implemented basic GPIO controlJohn Crispin2015-07-081-0/+42
| | | | | | | | | | Internal GPIO pins are used for PoE passthrough setups in multi-port routers. This patch implemnets control over this hardware feature for Ubiquiti Nanostations and TP-Link CPE510. Signed-off-by: Lars Kruse <lists@sumpfralle.de> SVN-Revision: 46271
* sysctl: read settings from /etc/sysctl.d/*.confJohn Crispin2015-07-071-1/+3
| | | | | | | | | This changes makes it possible to store custom settings in individual files inside the directory /etc/sysctl.d/. Signed-off-by: Stefan Tomanek <stefan.tomanek+openwrt@wertarbyte.de> SVN-Revision: 46239
* base-files: fix logic error in led default handling (patch from #19593)Felix Fietkau2015-05-031-1/+1
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 45600
* base-files: reorder led trigger/brightness writesFelix Fietkau2015-04-161-7/+10
| | | | | | | | | Depending on configuration, disable the LED before writing the trigger and enable it after writing it. Fixes LEDs where the value defaults to 1 Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 45463
* base-files: create jail folder on bootJohn Crispin2015-03-261-0/+2
| | | | | | Signed-off-by: John Crispin <blogic@openwrt.org> SVN-Revision: 45008
* fstools: update to the latest version, makes interrupted first boot more ↵Felix Fietkau2015-03-221-1/+1
| | | | | | | | | | | | | reliable Use xattr to store the filesystem initialization state of the overlay. As long as the filesystem is not marked as initialized yet (happens in /etc/init.d/done), all overlay data (except for sysupgrade.tgz) will be discarded before the system is allowed to boot Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 44942
* base-files: keep sysupgrade.tgz until /etc/init.d/done has been calledFelix Fietkau2015-03-221-0/+1
| | | | | | | | This makes interrupted boots after sysupgrade more reliable Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 44941
* base-files: fix led script to skip missing triggersJohn Crispin2015-01-231-1/+5
| | | | | | | | this is based on http://patchwork.ozlabs.org/patch/424451/ Signed-off-by: John Crispin <blogic@openwrt.org> SVN-Revision: 44087
* package/*: remove useless explicit set of function returncodeJohn Crispin2014-08-251-2/+0
| | | | | | | | | | | | | | | | | | | | | | somebody started to set a function returncode in the validation stuff and everybody copies it, e.g. myfunction() { fire_command return $? } a function automatically returns with the last returncode, so we can safely remove the command 'return $?'. reference: http://tldp.org/LDP/abs/html/exit-status.html "The last command executed in the function or script determines the exit status." Signed-off-by: Bastian Bittorf <bittorf@bluebottle.com> SVN-Revision: 42278
* base-files: add a hardware detection layerJohn Crispin2014-08-181-0/+1
| | | | | | | | | | this allows targets to use the new uci-default helper which will generate a file called /etc/board.json. a tool called /bin/config_generate can then be used to generate the default uci settings. Signed-off-by: John Crispin <blogic@openwrt.org> SVN-Revision: 42185
* base-files: Remove stale calls to start() in initscripts.John Crispin2014-07-261-2/+0
| | | | | | | | based on http://patchwork.openwrt.org/patch/5969/ Signed-off-by: John Crispin <blogic@openwrt.org> SVN-Revision: 41840
* base-files: update copyright headersLuka Perkov2014-06-241-1/+1
| | | | | | Signed-off-by: Luka Perkov <luka@openwrt.org> SVN-Revision: 41334
* base-files: fix argument order to date in sysfixtime so that it also works ↵Felix Fietkau2014-06-071-1/+1
| | | | | | | | | | | with musl Seems like the reverse order relies on GNU specific getopt hackery which musl does not replicate Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 41045
* base-files: removes loggingJohn Crispin2014-06-021-3/+1
| | | | | | | | Since logd haven't started at this point, logging does not work. Signed-off-by: Nuno Goncalves <nunojpg@gmail.com> SVN-Revision: 40904
* base-files: make use of new fstoolsJohn Crispin2014-04-071-1/+1
| | | | | | Signed-off-by: John Crispin <blogic@openwrt.org> SVN-Revision: 40416
* /lib/functions.sh: move rarely used mtd and macaddr related functions to ↵Felix Fietkau2014-04-071-0/+2
| | | | | | | | /lib/functions/system.sh Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 40411
* base-files: move uci_apply_defaults() to /etc/init.d/bootFelix Fietkau2014-04-071-1/+12
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 40408
* fstools: add the new fstools packageJohn Crispin2014-03-121-5/+1
| | | | | | Signed-off-by: John Crispin <blogic@openwrt.org> SVN-Revision: 39895
* base-files: split /etc/init.d/boot into 2 filesJohn Crispin2014-02-182-32/+52
| | | | | | | | this allows us to bind a procd trigger to system.@system[-1] Signed-off-by: John Crispin <blogic@openwrt.org> SVN-Revision: 39615
* Add sysfixtime init script, replacement of luci_fixtimeJo-Philipp Wich2014-01-291-0/+13
| | | | | | | | | | | | | | | | | Simply scan for the most recent file in /etc and set system time to this file modification time if it's in the future It allow some time dependent program to work immediatly without waiting for ntpd to sync v1: v2: bad approach v3: simply scan /etc, thanks to Bastian Bittorf for the idea v4: use sort -n, thanks to Catalin Patulea v5: use [] instead of [[]], thanks to Andreas Mohr v6: use openwrt style, thanks to Bastian Bittorf Signed-off-by: Etienne CHAMPETIER <etienne.champetier@free.fr> SVN-Revision: 39422
* base-files: fix mount-utils incompatibilityJohn Crispin2013-12-272-2/+2
| | | | | | Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk> SVN-Revision: 39169