aboutsummaryrefslogtreecommitdiffstats
path: root/package/base-files/files/bin
Commit message (Collapse)AuthorAgeFilesLines
* base-files: allow setting device and bridge macsJohn Crispin2020-12-021-8/+25
| | | | | | | | | Add code for setting mac addresses inside board.json and rendering them out to uci. On switches we want to have a unique MAC on each port. With 48 port switches that would require 48 device sections in /etc/config/network. Doing so via board.json is easier. Signed-off-by: John Crispin <john@phrozen.org>
* base-files: generated named bridge-vlan sectionsJohn Crispin2020-11-191-7/+8
| | | | Signed-off-by: John Crispin <john@phrozen.org>
* base-files: add board.d support for bridge deviceJohn Crispin2020-11-041-2/+33
| | | | | | | | | Latest netifd allows us to setup network bridges with implicit vlan tagging. For this to work, we need to setup several additional uci sections. This feature is particularly usefull for DSA tupe devices. Add board.d and uci-defaults support for generating the sections. Signed-off-by: John Crispin <john@phrozen.org>
* base-files: add support for compat_version on deviceAdrian Schmutzler2020-07-311-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We regularly encounter the situation that devices are subject to changes that will make them incompatible to previous versions. Removing SUPPORTED_DEVICES will not really be helpful in most of these cases, as this only helps after a rename. To solve this situation, this patchset introduces a compatibility version for devices. To complement the DEVICE_COMPAT_VERSION set for the image to be flashed, this implements a compat_version on the device, so it will have something to compare with the image. The only viable way to achieve this seems to be via board.d files, i.e. this is technically adding a compat version for the device's config. Like for the network setup, this will set up a command ucidef_set_compat_version to set the compat_version in board.d. This will then add a string to /etc/board.json, which will be translated into uci system config by bin/config_generate. By this, the compat_version, being a version of the config, will also be exposed to the user. As with DEVICE_COMPAT_VERSION, missing uci entry will be assumed as compat_version "1.0", so we only need to add this if a device needs to be bumped, e.g. ucidef_set_compat_version "1.1" Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* base-files: replace backticks by $(...)Adrian Schmutzler2020-07-111-1/+1
| | | | | | | | | This replaces deprecated backticks by more versatile $(...) syntax. This does not touch lib/upgrade/nand.sh, as there replacement is not trivial. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* base-files: generate config files with correct permissionsHans Dedecker2020-04-301-0/+2
| | | | | | | As touch creates files with permission 0644 use umask to create config files with permission 0600 to be inline with INSTALL_CONF Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
* base-files: config_generate: split macaddr with multiple ifacesSungbo Eo2019-11-231-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | netifd does not handle network.@device[x].name properly if it contains multiple ifaces separated by spaces. Due to this, board.d lan_mac setup does not work if multiple ifaces are set to LAN by ucidef_set_interface_lan. To fix this, create a device node for each member iface when running config_generate instead. Those are named based on the member ifname: ucidef_set_interface_lan "eth0 eth1.1" ucidef_set_interface_macaddr "lan" "yy:yy:yy:yy:yy:01" will return config device 'lan_eth0_dev' option name 'eth0' option macaddr 'yy:yy:yy:yy:yy:01' config device 'lan_eth1_1_dev' option name 'eth1.1' option macaddr 'yy:yy:yy:yy:yy:01' ref: https://github.com/openwrt/openwrt/pull/2542 Signed-off-by: Sungbo Eo <mans0n@gorani.run> [always use new scheme, extend description, change commit title] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* Revert "base-files: rename hostname with EUI of mac address"Adrian Schmutzler2019-11-071-15/+1
| | | | | | | | | | | | This reverts commit 6170c46b477d4953f91b99e805a276de444913cf. There has been demand for further evaluation of the impact of a changed hostname, so this is reverted for now. The default hostname will be "OpenWrt" again after this commit. The macaddr_geteui() function is not removed by this revert. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* base-files: rename hostname with EUI of mac addressRosy Song2019-11-071-1/+15
| | | | | | | | | | | | | | | If a label MAC address is provided for device, system will rename the hostname with OpenWrt_{eui mac address}. This helps to distinguish between different devices. Since it's no good idea to nest json_* functions, this code does not use get_mac_label directly, but only get_mac_label_dt as external resource. Signed-off-by: Rosy Song <rosysong@rosinson.com> [merged with commit introducing macaddr_geteui, rebased on updated label MAC address storage, extended commit message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* base-files: don't store label MAC address in uci system configAdrian Schmutzler2019-11-071-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | If set, label MAC address is available from one of two sources, device tree or board.json. So far, the function get_mac_label was meant for retrieving the address, while an option in uci system config was specified only for case 2 (board.json). The uci config option has several drawbacks: - it is only used for a fraction of devices (those not in DT) - label MAC address is a device property, while config implies user interaction - label_macaddr option will only be set if /etc/config/system does not exist (i.e. only for new installations) Thus, this patch changes the behavior of get_mac_label: Instead of writing the value in board.json to uci system config and reading from this location afterwards, get_mac_label now extracts data from board.json directly. The uci config option won't be used anymore. In addition, two utility functions for extraction only from DT or from board.json are introduced. Since this is only changing the access to the label MAC address, it won't interfere with the addresses stored in the code base so far. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* base-files: provide option to specify label MAC address in board.dAdrian Schmutzler2019-09-191-0/+5
| | | | | | | | | | | | | | For many devices, MAC addresses cannot be retrieved via the device tree alias. To still provide the label MAC address for those, this implements a second mechanism that will put the address into uci config. Note that this stores the actual MAC address, whereas in DTS we reference the bearing device. This is based on the work of Rosy Song <rosysong@rosinson.com> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* base-files: add support for the new ar8xxx MIB counters settingsPetr Štetiar2019-05-201-1/+4
| | | | | | | | | | | | | Commit "generic: ar8216: add mib_poll_interval switch attribute" has added mib_poll_interval global config option and commit "generic: ar8216: group MIB counters and use two basic ones only by default" has added mib_type config option. So this patch adds ucidef_set_ar8xxx_switch_mib helper function which would allow configuration of the above mentioned new switch config options. Signed-off-by: Petr Štetiar <ynezz@true.cz>
* base-files: make it possible to specify switch led modeChristian Lamparter2018-09-291-2/+3
| | | | | | | | | | | | | | | | | The swconfig switch led driver has the ability to switch between a "link, rx and/or tx" mode. However, this feature was not implemented in uci, the led init script and config_generate. This patch adds a seventh parameter to the ucidef_set_led_switch() function. The accepted values for this parameter are: link, rx and tx. Any permutations of these three values are supported, as long as they are properly encased with quotes. If the parameter is not specified it will default to "all" (link rx tx). Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* base-files: do not add relevant sections & options except when ipv6 is ↵Rosy Song2018-08-061-16/+26
| | | | | | support in kernel Signed-off-by: Rosy Song <rosysong@rosinson.com>
* linux-atm: add br2684ctl option to specify the netdev nameMartin Schiller2018-01-101-2/+3
| | | | | | | | | | | Add the uci option nameprefix to specifc a target netdev name. Patch the br2684ctl code to accept and set a netdev name via commandline parameters. It allows to use the same netdev name for ATM and PTM lines on lantiq xdsl hardware. Signed-off-by: Martin Schiller <ms@dev.tdt.de> Signed-off-by: Mathis Kresin <dev@kresin.me>
* merge: base: update base-files and basic configZoltan HERPAI2017-12-081-5/+5
| | | | Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
* base-files: fix wan6 interface config generation for pppoeHans Dedecker2017-09-181-5/+2
| | | | | | | | | | | | | | | | Setting ipv6 to auto in case of a pppoe interface will trigger the creation of a dynamic wan_6 interface meaning two IPv6 interfaces (wan6 and wan_6) will be active on top of the pppoe interface. This leads to unpredictable behavior in the network; therefore set ipv6 to 1 which will prevent the dynamic creation of the wan_6 interface. Further alias the wan6 interface on top of the wan interface for pppoe as the wan6 interface can only be started when the link local address is ready. In case of pppoe the link local address is negotiated during the Internet Protocol Control Protocol when the PPP link is setup meaning all the IP address info is only available when the wan interface is up. Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
* base-files: uppercase default hostname: LEDEYousong Zhou2017-01-261-1/+1
| | | | | | | The name will appear in shell prompt and LuCI page title. Uppercase letters seem to be more vigorous Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
* base-files: Changed UCI variable name for GPIO value from 'default' to 'value'Julian Labus2016-12-121-1/+1
| | | | | | | | | | | This changes the UCI variable for the GPIO value from system.$cfg.default back to system.$cfg.value as it was before the change from uci-defaults [1] to board.d. /etc/init.d/gpio_switch [2] still expects the value to be in system.$cfg.value. [1] https://github.com/lede-project/source/blob/d65916047b44d6d157d88d15e8e3d92555c5e6f8/package/base-files/files/lib/functions/uci-defaults.sh#L197 [2] https://github.com/lede-project/source/blob/master/package/base-files/files/etc/init.d/gpio_switch#L17 Signed-off-by: Julian Labus <julian@labus-online.de>
* base-files: add ucidef_set_led_usbport for full usbport supportRafał Miłecki2016-10-221-0/+9
| | | | | | | | | | | | | | | | | | | | 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>
* base-files: also generate configs when current is empty (FS#193)Koen Vandeputte2016-10-052-6/+6
| | | | | | | | | | | | | | | Before a configuration is generated, an empty file is created to store it in. (required by UCI) If something happens during config generation (power cut, interruption, ..) an empty file exists and it is never regenerated again, causing some daemons to fail starting (NTPD, logread, ..) Fix this by also generating new configs if a critical file is empty. Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* base-files: board_detect: allow specifying the generated fileJonas Gorski2016-08-131-2/+6
| | | | | | | Allow passing a filename to change the location of the generated board.json. Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
* base-files: let config_generate call board_detectJonas Gorski2016-08-132-3/+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>
* base-files: seed /dev/urandomEtienne CHAMPETIER2016-06-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: use LEDE NTP vendor poolJo-Philipp Wich2016-06-281-4/+4
| | | | | | The vendor NTP pool for the LEDE project got approved, so switch to it now. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* base-files: increase default system log size to 64 kBHannu Nyman2016-06-071-0/+1
| | | | | | | | Increase the default system log buffer size from 16 kB (built-in default in ubox logd) to 64 kB by setting the option in /etc/config/system. Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
* base-files: fix /bin/config_generate breakageFelix Fietkau2016-06-081-0/+1
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* base-files: rework config generation logicJo-Philipp Wich2016-06-082-18/+20
| | | | | | | | | | | | Now that config_generate is able to generate the entire /etc/config/system from scratch we can apply the same logic as used for /etc/config/network; when the configuration file exists already then do not do anything, else generate it from the values provided by /etc/board.json . In order to facilitate that move the file existance checking inside /bin/config_generate and call it unconditionally from /bin/board_detect. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* base-files: support port_state LED types in board.dJo-Philipp Wich2016-06-081-0/+8
| | | | | | Add support for handling port_state LEDs as used by ADM5120. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* base-files: support hostname and ntp servers through board.dJo-Philipp Wich2016-06-081-0/+47
| | | | | | Add support for specifying hostname and NTP servers via /etc/board.d/ scripts. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* base-files: Fix config_generate when there are no switch VLANs or ports ↵Vittorio Gambaletta (VittGam)2016-05-111-38/+42
| | | | | | | | | | configured in board.json. The json_select call fails when there are no roles or ports objects in board.json. "json_select .." must not be executed after failing. This fixes for example LEDs not being set up in /etc/config/system. Signed-off-by: Vittorio Gambaletta <openwrt@vittgam.net>
* base-files: remove ununsed login.shJohn Crispin2016-04-191-18/+0
| | | | Signed-off-by: John Crispin <john@phrozen.org>
* base-files: allow to set arbitrary ip address and netmaskHauke Mehrtens2016-04-171-7/+9
| | | | | | | Signed-off-by: Roman Yeryomin <roman@advem.lv> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> SVN-Revision: 49179
* base-files: change type of adsl and vdsl to dsl onlyFelix Fietkau2016-03-071-1/+1
| | | | | | | | | | Instead of having two different types adsl and vdsl just create one dsl type. This way we can use the same luci code for adsl and vdsl and the config parameters are not so different. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> SVN-Revision: 48944
* base-files: support passing mode to ucidef_set_led_netdev()Jo-Philipp Wich2016-02-261-3/+3
| | | | | | Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> SVN-Revision: 48806
* base-files: add support for speed mask to switch config init scriptsFelix Fietkau2016-02-251-2/+3
| | | | | | | | | | | 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
* leds: support oneshot as well as timer triggersJohn Crispin2016-02-251-2/+2
| | | | | | | | | oneshot and timer have the same configuration options, just a different trigger name. Signed-off-by: Karl Palsson <karlp@etactica.com> SVN-Revision: 48770
* base-files: set mac address in default network config via device sectionsFelix Fietkau2016-02-071-1/+7
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 48646
* board.d: add support for gpio_switch sectionsJo-Philipp Wich2015-12-041-0/+21
| | | | | | Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> SVN-Revision: 47762
* base-files: board.d: support dsl modems, atm bridges and pppoe protocolJo-Philipp Wich2015-12-041-0/+50
| | | | | | | | | | | This adds support for specifying the dsl modem, atm bridge configs and setting the pppoe protocol for wan. These additions are required to port the Lantiq target to board.d. Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> SVN-Revision: 47750
* base-files: board.d: support specifiying the protocol of lan and wanJo-Philipp Wich2015-12-031-11/+21
| | | | | | | | | Some boards, e.g. the Sheeva Plug, require the lan interface to be set to DHCP instead of a static address, therfore support that. Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> SVN-Revision: 47732
* base-files: board.d: support timer ledsJo-Philipp Wich2015-12-031-0/+10
| | | | | | | | Add ucidef_set_led_timer() and handling for it to config_generate. Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> SVN-Revision: 47731
* base-files: uci-defaults-new, config_generate: refactor code and drop old vlansJo-Philipp Wich2015-12-031-178/+49
| | | | | | | | | | | | | | | Remove support for now unused ucidef_add_switch_vlan(), move port->vlan and vlan->interfaces conversion to uci-defaults-new.sh and massively simplify config_generate. This change prepares the following upcoming steps: * Eliminate use of ucidef_set_interface_lan_wan() for switch only devices * Merge ucidef_add_switch() with ucidef_add_switch_ports() Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> SVN-Revision: 47719
* base-files: config_generate: add missing chunks of force tag supportJo-Philipp Wich2015-12-031-7/+9
| | | | | | Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> SVN-Revision: 47718
* base-files: uci-defaults-new, config_generate: allow force tagged cpu portsJo-Philipp Wich2015-11-301-3/+5
| | | | | | Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> SVN-Revision: 47679
* base-files: uci-defaults-new: only emit force_link for additional ifacesJo-Philipp Wich2015-11-301-1/+7
| | | | | | | | | Only se4t the force_link property for non-lan, non-wan ifaces as it is unnecessary in the default cases. Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> SVN-Revision: 47675
* base-files: uci-defaults-new, config_generate: support for gpio ledsJo-Philipp Wich2015-11-261-0/+10
| | | | | | Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> SVN-Revision: 47660
* base-files: config_generate: regroup led generator codeJo-Philipp Wich2015-11-261-4/+16
| | | | | | Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> SVN-Revision: 47659
* base-files: uci-defaults-new: remove ucidef_set_led_interface()Jo-Philipp Wich2015-11-261-1/+1
| | | | | | | | | The only user was the hg255d board and config_generate did not even emit proper uci for it. Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> SVN-Revision: 47658
* base-files: config_generate: support rssi ledsJo-Philipp Wich2015-11-261-2/+39
| | | | | | | | Add support for emitting rssi monitor and led configuration sections. Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> SVN-Revision: 47656