Commit Graph

377 Commits

Author SHA1 Message Date
Matthias Schiffer
4f39be09c9
gluon-core: migrate custom batadv interfaces to gluon_mesh proto
Users may have defined additional mesh interfaces. Properly migrate these
to avoid subtly breaking the network config (and make them ready for new
mesh protocols).
2016-09-07 02:14:42 +02:00
Matthias Schiffer
8434896014
gluon-mesh-batman-adv-core: move config not specific to batman-adv to gluon-core 2016-09-07 02:14:42 +02:00
Matthias Schiffer
5cd6295265
gluon-core: add gluon_mesh netifd proto
This new protocol will allow configuring mesh interfaces independently of
the used mesh protocol.
2016-09-07 02:14:42 +02:00
Matthias Schiffer
7e0075584d
Use a "pretty" hostname where possible
Fixes #414
2016-08-27 16:33:37 +02:00
kb-light
6ff94aca35 gluon-core: make wifi rates configurable by site.conf
and add documentation
2016-08-27 07:11:58 +02:00
Linus Lüssing
6594ba314c gluon-core: reenable multicast snooping on WAN side
Just like we enabled multicast snooping on the batman-adv client bridge
again, let's do the same for the WAN side.

With one exception: The IGMP/MLD querier is kept disabled to avoid
becoming too "bossy"/"noisy" on a foreign network. The main router on
the WAN side should perform querying and by that enable
IGMP/MLD/snooping if it considers this appropriate there.

Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
2016-08-23 00:21:26 +02:00
Matthias Schiffer
b1a753e1c5
gluon-core: allow setting PoE passthrough default setting from site.conf 2016-07-30 00:00:39 +02:00
Matthias Schiffer
279a409198
gluon-core: split get_wlan_mac_from_driver() out of get_wlan_mac() 2016-07-27 17:25:05 +02:00
Matthias Schiffer
2afe34efec
Use MAC addresses provided by WLAN drivers by default
Some drivers (mt76) don't support arbitrary MAC addresses. Use the
addresses provided by the driver (avoiding the primary address) by default,
but fall back to our has-based scheme when the driver doesn't provide
(enough) addresses.
2016-07-20 18:42:56 +02:00
Matthias Schiffer
c8bc4620d1
gluon-core: unify indentation in gluon/util.lua 2016-07-20 17:51:09 +02:00
Jan-Tarek Butt
1c1f490527
Minify all Lua code 2016-07-10 20:14:25 +02:00
Matthias Schiffer
42910c0606
ramips-mt7621: use phy1 MAC address as primary on DIR-860L B1 2016-07-10 15:51:07 +02:00
Matthias Schiffer
bae721a9bb
Add target ar71xx-mikrotik
Fixes #121

Based-on-patch-by: Tobias Hachmer <tobias@hachmer.de>
2016-06-23 00:29:28 +02:00
Matthias Schiffer
dc485f7356
gluon-core: make gluon.platform.match() match all boards when no boards are given 2016-06-23 00:07:25 +02:00
Sven Eckelmann
fa04fff88d ar71xx-generic: Add support for OpenMesh MR1750v2
The new MR1750v2 device support is only available in LEDE master. The
relevant patches have to backported to add support for them in Gluon

Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
2016-06-17 20:04:00 +02:00
Sven Eckelmann
3ccd516971 ar71xx-generic: Add support for OpenMesh OM2P-HSv3
The new OM2P-HSv3 device support is only available in LEDE master. The
relevant patches have to backported to add support for them in Gluon

Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
2016-06-17 20:04:00 +02:00
Sven Eckelmann
780f7cad2a ar71xx-generic: Use eth0 as OpenMesh primary mac address
The OpenMesh devices have a sticker with the eth0 mac address on the
bottom. Also all other mac addresses are calculated based on this address.
Therefore, it is better to use this as primary mac address instead of the
WiFi mac address.

Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
2016-05-23 21:39:27 +02:00
Matthias Schiffer
cab23b1838
ar71xx-generic: switch default WAN/LAN assignment on Ubiquiti UAP Pro
Fixes #764
2016-05-14 01:02:25 +02:00
Matthias Schiffer
087112a09b
ar71xx-generic: add support for UniFi AC PRO/LITE (LITE untested)
Also backport some patches improving QCA956x support.
2016-05-14 00:48:10 +02:00
lemoer
c73a12e0ea Change MAC schema generation (#715)
While ath9k/ath10k devices can supprt VIFs with any combination of MAC addresses, there are also adapters which have a hardware MAC filter which only allows a few bits to differ. This commit changes the addresses of all VIFs to ony differ in the last 3 bits, which is required to support many Ralink/Mediatek based WLAN adapters.

Technically, the new addresses are generated by calculating an MD5 hash of the primary MAC address and using a part of this hash as a prefix for the MAC addresses.

The addresses (BSSIDs) of the AP VIFs are also reused for the LAN and WAN interfaces in mesh-on-LAN/WAN mode to reduce the number of needed addresses, and thus reduce the chance of collisions. This is not a problem as the MAC addresses of the AP VIFs are never used except as BSSID, and thus not seen by routing protocols like batman-adv.

Fixes #648

[Matthias Schiffer: rewrote commit message]
2016-04-27 12:16:39 +02:00
Matthias Schiffer
c18d43d2cb gluon-core: use correct file variable in get_site_config() 2016-04-24 15:55:37 +02:00
Jan Niehusmann
bdcd166c7c ar71xx-generic: add support for Carambola 2
Device information can be found at:
http://www.8devices.com/products/carambola-2
https://wiki.openwrt.org/toh/8devices/carambola2

I only did some minimal testing of gluon on the carambola 2 development
board:

 - Config mode works
 - Connects to Wifi Mesh
 - Allows clients to connect

Notably, autoupgrade has not yet been tested.

Change to 010-primary-mac is necessary as the mac address printed
on the sticker is the one of eth0, not the wifi mac.
2016-04-22 08:32:19 +02:00
Jan-Philipp Litza
3a3c922a4d gluon-core: use exec on uci commit 2016-04-03 16:14:48 +02:00
Matthias Schiffer
4658afb2c6 gluon-core: commit all UCI configs at the end
Avoid commiting configs inbetween to decrease number of flash writes.

Fixes #714.
2016-04-02 18:56:45 +02:00
Linus Lüssing
0fc9e1d966 update config: "firewall: Allow IGMP and MLD input on WAN" (r45613)
Adopt the according modifications to the default firewall settings of
the WAN interface from OpenWRT, revision 45613.

Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
2016-03-08 07:55:55 +01:00
Kokel
388d264ff0 gluon-core: add preserve wifi channels feature
This new feature introduces the new uci section 'gluon-core.wireless' with a preserve_channels option:
 * preserve_channels (boolean)

By setting this option to 1 (true) wifi channels will be preserved during upgrades.
2016-02-10 07:06:36 +01:00
Matthias Schiffer
9004028cb4 Convert gluon-announce Lua code to C modules, rename to gluon-respondd
gluon-announced and gluon-announce are merged to gluon-respondd.
2016-02-02 09:18:12 +01:00
Matthias Schiffer
f23e024787 Convert site.conf to JSON during build
This will allow us to use its content from other languages than Lua as
well.
2016-01-02 23:49:25 +01:00
Matthias Schiffer
412e1ef147 gluon-core: fix removal of "OpenWrt" default WLAN interface
Fixes #534
2015-10-28 17:06:29 +01:00
Matthias Schiffer
3ddcf50b80 Drop htmode field from config, always use HT20
Fixes #487
2015-10-27 01:57:10 +01:00
Matthias Schiffer
22130e84e8 Merge gluon-radio-config into gluon-core
gluon-radio-config contained only a single file. The code has been adjusted
to allow creating a Gluon configuration without WLAN support by removing
the wifi24 and wifi5 sections from site.conf.
2015-10-26 20:59:56 +01:00
Matthias Schiffer
d5c334af6d gluon-core: replace opkg site configuration to make it more flexible
The new options allow specifying custom repositories and are evaluated
in an upgrade script, not during build.
2015-10-14 02:57:29 +02:00
Alex
b465504ae8 add: info for 802.11s interface
additional information for commit 2a93c58042
2015-09-13 14:32:53 +02:00
Jan-Philipp Litza
339a6c9959 Remove dependencies on luci.util (and partly nixio.fs) from announce scripts 2015-09-02 13:17:59 +02:00
Nils Schneider
177086b881 gluon-radio-config: basic wireless configuration
Split basic radio configuration from gluon-mesh-batman-adv as this will
be required for virtually any wireless mesh protocol.

This package takes care of setting:

  - wireless channel,
  - htmode and
  - regulatory domain

gluon-mesh-batman-adv-core depends on this package.
2015-08-18 11:41:14 +02:00
Matthias Schiffer
f6498e8773 Update modules 2015-07-18 18:02:13 +02:00
Matthias Schiffer
d386ccdcf8 Always use eth0 address as primary address on x86 and brcm2708
These targets don't have a WLAN adapter by default, so it doesn't make
sense to default to the phy0 address.
2015-07-10 20:22:53 +02:00
Matthias Schiffer
ab10be9f50 We're on Chaos Calmer now 2015-05-22 01:09:19 +02:00
Matthias Schiffer
bca916dd55 gluon-core: disable multicast snooping on the WAN bridge
This seems to mitigate weird bridge forwarding issues.
2015-04-27 22:00:38 +02:00
Matthias Schiffer
cd34cb2ebb gluon-core, gluon-setup-mode: improve support for UAP Outdoor+ 2015-04-08 00:44:12 +02:00
Jan-Philipp Litza
335026af09 Allow empty hostname prefix
In Bremen it has been noted that a prefix may lead people to believe it
has to stay there and thus naming their nodes "ffhb-*", which is not
what the community wants (see FreifunkBremen/gluon-site-ffhb#1).

However, an empty prefix lead to the connecting hyphen still being
inserted. This commit thus makes the hyphen part of the configured
prefix and allows the prefix to be missing from the `site.conf`.
2015-03-21 13:43:45 +01:00
Matthias Schiffer
65b44ca4ce Rename gluon-config to gluon-site 2015-03-19 20:14:40 +01:00
Matthias Schiffer
dce26de28c gluon-core: add i18n support 2015-03-18 20:24:57 +01:00
Matthias Schiffer
93cc8e543e gluon-core: fix primary MAC address on TP-LINK Archer C5/C7 2015-03-10 13:40:45 +01:00
Matthias Schiffer
cbedc9421e gluon-core: sysconfig: differentiate between nil and empty string 2015-01-26 20:18:33 +01:00
Matthias Schiffer
c45a0bcdc1 gluon-core: fall back to eth0 for the primary MAC address when there is no WLAN device 2015-01-25 02:29:43 +01:00
Matthias Schiffer
9b172bbaf4 Move all upgrade scripts to a common directory
Moving the scripts to a common directory not only vastly simplifies the
zzz-gluon-upgrade script, but also allows to define an ordering of such
scripts across packages.
2015-01-24 11:27:47 +01:00
Matthias Schiffer
6f11279438 gluon-core: convert all initial scripts to invariant scripts 2015-01-24 11:14:09 +01:00
Matthias Schiffer
78b43b1dd6 gluon-core, gluon-setup-mode: fix LAN and WAN on nanostation-m-xw 2014-11-26 23:30:56 +01:00
Matthias Schiffer
9dd4f52bfa CPE510-specific config (switch WAN and LAN, config mode on WAN) 2014-11-26 19:50:45 +01:00
Matthias Schiffer
1803525745 Configure unique MAC addresses for all WLAN interfaces 2014-09-15 19:55:09 +02:00
Matthias Schiffer
b51e1063b7 Add utility function to generate unique MAC addresses derived from the primary MAC 2014-09-15 19:55:09 +02:00
Nils Schneider
0de7bf5f64 gluon-core: port initial/020-wireless to lua 2014-09-15 19:50:10 +02:00
Nils Schneider
5fa97f8fdb gluon-core: add node_id() to gluon.util 2014-09-11 12:27:29 +02:00
Jan-Philipp Litza
ae43f3dc3e gluon-core: Remove VERSION_DIR hack
As the (removed) comment said, this was a one-time-hack that was obsoleted long ago.
2014-08-30 15:13:52 +02:00
Matthias Schiffer
3762f52c69 gluon-core: restructure WAN configuration 2014-08-09 14:39:21 +02:00
Matthias Schiffer
201acaa3a9 Dependency fixes for the new LuCi version 2014-08-06 12:06:49 +02:00
Matthias Schiffer
971dec8d27 gluon-core: remove now unused dnsmasq.d support 2014-07-20 04:04:27 +02:00
Matthias Schiffer
d638359215 Explicitly set the WAN MAC address on all models where WAN is a VLAN device
Also move it to gluon-mesh-batman-adv, as mesh_on_wan is the only feature that
needs a unique MAC address on the WAN interface.
2014-07-19 18:40:12 +02:00
Matthias Schiffer
16060d25d5 Move essential firewall rules from gluon-firewall to gluon-core and gluon-mesh-batman-adv
The now empty gluon-firewall is removed.
2014-07-14 17:53:41 +02:00
Matthias Schiffer
eae6c25de6 Add support for IPv6 mesh VPN connections
The support is still very limited (IPv6-only DNS on WAN doesn't work yet), and
we now need fastd running as root, but apart from that, is should work.
2014-07-11 16:57:28 +02:00
Matthias Schiffer
58ced87261 Use nicer platform match 2014-07-11 12:11:47 +02:00
Matthias Schiffer
6f1777b072 gluon-core: add platform utility module 2014-07-11 11:36:53 +02:00
Matthias Schiffer
1a52c6bdf2 gluon-core: remove sysconfig.sh 2014-07-10 23:45:03 +02:00
Matthias Schiffer
f73d727ae6 Remove all remaining uses of sysconfig.sh 2014-07-10 23:44:06 +02:00
Matthias Schiffer
7773afdc18 gluon-core: remove model.sh and model.lua 2014-07-10 17:57:31 +02:00
Matthias Schiffer
81dc4f44e2 gluon-core: remove now unused sysctl.sh 2014-07-07 22:23:56 +02:00
Matthias Schiffer
3dddafea21 gluon-core: convert network config script to lua 2014-07-07 21:58:08 +02:00
Matthias Schiffer
0fd7ac1768 gluon-core: add and use a sysctl Lua module 2014-07-07 21:57:37 +02:00
Matthias Schiffer
1c0429ce8f gluon-core: extend user management library and convert it to Lua 2014-07-07 21:48:35 +02:00
Matthias Schiffer
2ec02a41c2 gluon-core: add functions to unset sysconfig settings 2014-07-05 19:39:24 +02:00
Matthias Schiffer
ffd86668fe Validate site.conf 2014-07-05 02:48:56 +02:00
Matthias Schiffer
e317bdc230 gluon-core: add gluon.model lua module 2014-06-09 17:56:29 +02:00
Matthias Schiffer
ee307ec1de gluon-core: make Lua files proper modules 2014-05-17 13:43:08 +02:00
Matthias Schiffer
b95a4d67e8 gluon-core: convert generated upgrade scripts to Lua 2014-05-14 11:06:07 +02:00
Matthias Schiffer
d31ea9eba9 gluon-core: add site_config loader script 2014-05-14 08:00:54 +02:00
Matthias Schiffer
17b9514e38 Add gluon-config package containing the site config 2014-05-13 20:09:28 +02:00
Matthias Schiffer
49700fc70d gluon-core: add sysconfig_isset function 2014-03-02 17:36:12 +01:00
Matthias Schiffer
bbd8ee6772 gluon-core: switch LAN and WAN on nanostation-m 2014-03-02 17:36:12 +01:00
Matthias Schiffer
96b213c386 We DON'T want the gluon version file to collide with the package version stamp dir 2014-02-26 10:21:14 +01:00
Matthias Schiffer
8f9ee8d62a gluon-core: add version file 2014-02-25 11:30:07 +01:00
Matthias Schiffer
b953d5026f gluon-core: use awk instead of grep+cut 2014-02-23 20:23:47 +01:00
Matthias Schiffer
5f8e34fc2f gluon-core: remove support for incremental upgrade scripts
As we don't have any older gluon versions so far, and hope to be able to do all
upgrades with invariant scripts, remove the code for now.

If we ever see the need to add such upgrade scripts, we can just re-add this.
2014-02-23 20:20:16 +01:00
Matthias Schiffer
4fa228365a gluon-core: don't call legacy scripts on normal upgrades 2014-02-23 17:29:32 +01:00
Matthias Schiffer
dd0ec447e7 gluon-core: adjust to new escaped array handling for generate expressions 2014-02-23 06:31:23 +01:00
Matthias Schiffer
2454c8abb7 Add gluon-legacy package with legacy upgrade scripts 2014-02-22 08:27:51 +01:00
Matthias Schiffer
65c7db78fd Convert more upgrade scripts to the new sysctl helper 2014-02-21 19:58:38 +01:00
Daniel Ehlers
6f302fc8df gluon-core: force kernel panic on out of memory
In combination with kernel.panic the node will reboot if out of memory.
2014-02-18 00:21:12 +01:00
Matthias Schiffer
62c30abd6f gluon-core: ensure the release file is always up-to-date 2014-01-31 15:25:49 +01:00
Matthias Schiffer
4cf9b23e02 Enable DNS servers from mesh, disable on wan 2014-01-25 02:09:35 +01:00
Matthias Schiffer
ded5925f83 Remove odhcp6c.user hack 2014-01-25 01:54:19 +01:00
Matthias Schiffer
bc1be30486 More fixes for strange network interface configurations 2014-01-22 22:04:08 +01:00
Matthias Schiffer
b8820bab61 Properly support devices with only one ethernet interface 2014-01-22 20:44:34 +01:00
Matthias Schiffer
bb4a9fd5af Fix race condition in dnsmasq config dir handling 2014-01-22 19:52:17 +01:00
Matthias Schiffer
3369802094 gluon-core: sysconfig: don't print error message for unset config 2014-01-22 19:45:07 +01:00
Matthias Schiffer
f1dae6ca6e gluon-core: move initial/020-wireless from generate to files 2014-01-21 05:24:01 +01:00
Matthias Schiffer
e03fb9f8eb gluon-core: add support for NTP server configuration 2014-01-21 04:22:59 +01:00
Matthias Schiffer
1ba10ac018 Add support for custom dnsmasq config and odhcp6c handler scripts 2014-01-21 03:01:12 +01:00
Matthias Schiffer
1b924d6265 gluon-core: use gluon release in package version string 2014-01-20 05:07:55 +01:00
Matthias Schiffer
ee4e896fea gluon-core: use GLUON_RELEASE from environment 2014-01-20 02:35:21 +01:00
Matthias Schiffer
f36f7bcf26 Merge gluon-release into gluon-core 2014-01-20 01:59:10 +01:00
Matthias Schiffer
3275c92f72 gluon-core: add function to add users 2014-01-14 18:19:51 +01:00
Matthias Schiffer
d204b0e24f Remove initscript enable/disable hacks
Better configure these properly.
2014-01-13 18:29:00 +01:00
Matthias Schiffer
13e3d7ff79 gluon-core: add sh file to get model name etc. 2014-01-12 21:33:44 +01:00
Matthias Schiffer
a259e771e9 gluon-core: fixup WAN interface MAC address setting 2014-01-11 21:31:28 +01:00
Matthias Schiffer
a626c9a165 gluon-core: remove left over 'EOF' from config script 2014-01-11 20:34:58 +01:00
Matthias Schiffer
1b9c8dcc0b Don't accept router advertisements by default 2014-01-11 17:43:35 +01:00
Matthias Schiffer
1be0a7667f Make package version depend on the site config version where necessary 2014-01-04 09:19:13 +01:00
Matthias Schiffer
4521362ce3 gluon-core: clean up upgrade main script 2013-10-09 21:56:32 +02:00
Matthias Schiffer
8b069954a0 gluon-core: clean up uci config 2013-10-03 18:54:59 +02:00
Matthias Schiffer
e73f79f392 Move some more configuration into the corrent packages, correctly configure multiple radios 2013-10-03 18:04:03 +02:00
Matthias Schiffer
00a97602a4 gluon-core: upgrade: fix directory movement 2013-10-01 21:38:21 +02:00
Matthias Schiffer
568cfbf398 gluon-core: ensure version stamp dir existence 2013-10-01 21:38:21 +02:00
Matthias Schiffer
d508728da6 gluon-core: fix typo 2013-10-01 21:38:21 +02:00
Matthias Schiffer
7771cd9f2e gluon-core: make 001-sysconfig executable 2013-10-01 21:38:21 +02:00
Matthias Schiffer
2d93cad89d gluon-core: always handle core scripts first 2013-10-01 21:38:21 +02:00
Matthias Schiffer
fa1774a4e6 Remove batman-adv specific parts of gluon-core 2013-10-01 21:38:21 +02:00
Matthias Schiffer
e684418cb3 Use odhcp6c for interface configuration 2013-09-30 18:47:46 +02:00
Matthias Schiffer
946438f215 gluon-core: remove deprecated accept_ra settings 2013-09-30 18:47:46 +02:00
Matthias Schiffer
f2d9bdaba7 Fix MAC address getters for current OpenWRT 2013-09-28 23:39:53 +02:00
Matthias Schiffer
4783a52a71 Add hostname prefix config 2013-09-28 23:13:57 +02:00
Matthias Schiffer
6543ef9725 Adjust some old scripts to gluon (TODO: reimplement backwards compatiblity) 2013-09-28 21:48:46 +02:00
Matthias Schiffer
05fb012ae4 Generate wifi config 2013-09-28 18:40:37 +02:00
Matthias Schiffer
eecf9b06fd Move disable-services script to invariant directory 2013-01-31 16:24:29 +01:00
Matthias Schiffer
a7e22f30b3 Move batman-adv migration scripts to gluon-mesh-batman-adv package 2013-01-31 16:15:32 +01:00
Matthias Schiffer
0637c9fa6d More makefiles for some basic packages 2013-01-31 11:36:18 +01:00
Matthias Schiffer
19b611f8ab Add gluon-core package
This is the most basic core of the Gluon framework. Most upgrade scripts will
have to be rewritten and/or moved to other packages.
2013-01-31 10:23:27 +01:00