libremesh / lime-packages Goto Github PK
View Code? Open in Web Editor NEWLibreMesh packages configuring OpenWrt for wireless mesh networking
Home Page: https://libremesh.org/
License: GNU Affero General Public License v3.0
LibreMesh packages configuring OpenWrt for wireless mesh networking
Home Page: https://libremesh.org/
License: GNU Affero General Public License v3.0
If the openwrt firewall application is not installed, ebtable rules are not properly executed. An autonomous system application not firewall dependent is needed to control ebtables/iptables.
Implement integration with Tinc VPN: http://tinc-vpn.org/
Currently, by default, lime-config do not use BAT-ADV in ethernet interfaces. So the expected behavior would be to have eth0.15 (for instance) which runs BAT-ADV, but this was removed in some point because there were supose to be problems with BAT-ADV.
I would like to review this issue and if it does not exist anymore enable again the bat-adv ethetrnet mesh.
if wan-bridge is down then /etc/init.d/watchping selects bridge-member-interface(eth1) instead of bridge name (br-wan) to pass as interface parameter to watchping , which obvioulsy cant be used for ping.
watchping never detects internet ...a.s.o
use other means of detecting the interface if a bridge involved
I like the flexibility of the main_ipvX_addresses auto completing feature but I would separate the netmask from the IP auto assignment range.
Is there a way to specify a different netmask?
For example, I used:
option main_ipv4_address '10.37.188.0/22'
and it works very well for auto assigning the IP, but I did want to have a /16 netmask on this IP...
Thanks
As pointed out in the LiMeCat notes, Chef adds to Libre-Mesh a few scripts.
Some of these are needed for Chef to customize the build, some others
should be included in lime-packages if we want lime-build to produce
images as good as the ones from chef.For example:
/etc/uci-defaults/95_add-sshkeys
/etc/config/lime-defaults
/etc/chef_version
are needed for some of the customization features of chef (but the
lime-defaults file should be up to date with the one in
lime-packages)
These files should be moved into lime-packages.
when using openwrt-cc instead of openwrt/lede-trunk (so its an older kernel) we should take care about batman-adv kernel problems. (seen on tplink 710v2.1) a daily reboot would be needed to avoid loosing meshnodes, but it shell be at least "reboot -f" instead of "reboot".
with p4us build (4 days ago) i got:
dhoc_262 to become free. Usage count = 1
[ 1221.890000unregister_ne] tdevice: waiting for wlan0-adhoc_262 to become free. Usage count = 1
[ 1232.030000] unregister_netdevice: waiting for wlan0-adhoc_262 to become free. Usage count = 1
[ 1242.170000] unregister_netdevice: waiting for wlan0-adhoc_262 to become free. Usage count = 1
[ 1252.310000] unregister_netdevice: waiting for wlan0-adhoc_262 to become free. Usage count = 1
[ 1262.450000] unregister_netdevice: waiting for wlan0-adhoc_262 to become free. Usage count = 1
[ 1272.590000] unregister_netdevice: waiting for wlan0-adhoc_262 to become free. Usage count = 1
[ 1282.730000] unregister_netdevice: waiting for wlan0-adhoc_262 to become free. Usage count = 1
[ 1292.870000] unregister_netdevice: waiting for wlan0-adhoc_262 to become free. Usage count = 1
[ 1297.100000] IPv6: ADDRCONF(NETDEV_UP): wlan0-ap: link is not ready
[ 1297.120000] device wlan0-ap entered promiscuous mode
[ 1297.160000] br-lan: port 3(wlan0-ap) entered forwarding state
[ 1297.160000] br-lan: port 3(wlan0-ap) entered forwarding state
[ 1297.170000] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0-ap: link becomes ready
[ 1297.380000] IPv6: ADDRCONF(NETDEV_UP): wlan0-adhoc: link is not ready
[ 1297.400000] wlan0-adhoc: Created IBSS using preconfigured BSSID ca:fe:00:c0:ff:ee
[ 1297.410000] wlan0-adhoc: Creating new IBSS network, BSSID ca:fe:00:c0:ff:ee
[ 1297.420000] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0-adhoc: link becomes ready
[ 1299.160000] br-lan: port 3(wlan0-ap) entered forwarding state
[ 1528.570000] ip6_tunnel: bmxmain xmit: Local address not yet configured!
[ 1528.720000] ip6_tunnel: bmxmain xmit: Local address not yet configured!
[ 1529.550000] ip6_tunnel: bmxmain xmit: Local address not yet configured!
root@LiMe-c19427:/# bmx6 -cd8
status:
version compat name primaryIp tun6Address tun4Address uptime cpu nodes
BMX6-0.1-alpha 16 LiMe-c19427 fd66:66:66:8:a62b:b0ff:fec1:9427 fdf4:3407:f64b:2400::2794:c100/64 10.246.148.39/16 0:00:00:54 0.1 1
interfaces:
devName state type rateMin rateMax llocalIp globalIp primary
eth0_13 UP ethernet 1000M 1000M fe80::a62b:b0ff:fec1:9427/64 fd66:66:66:8:a62b:b0ff:fec1:9427/64 1
wlan0-adhoc_13 DOWN INACTIVE INVALID INVALID /-1 /-1 0
originators:
name blocked primaryIp routes viaIp viaDev metric lastDesc lastRef
LiMe-c19427 0 fd66:66:66:8:a62b:b0ff:fec1:9427 0 :: --- 128G 52 0
tunnels:
name net min max hyst rating minBw tunName tunRoute remoteName advNet advBw pathMtc tunMtc
clouds 10.0.0.0/8 8 128 20 100 960 --- --- --- --- --- --- ---
inet4 0.0.0.0/0 0 0 20 100 960 --- --- --- --- --- --- ---
inet6 ::/0 0 0 20 100 960 --- --- --- --- --- --- ---
nodes 172.16.0.0/12 12 128 20 100 960 --- --- --- --- --- --- ---
luci-app-batman-adv topology graph does not work with last batman-adv. The "batcl vm" option has been removed from batman-adv and transfered to the userspace application "Alfred". So the luci-app-batman-adv should have alfred as dependency and the Lua code should be adapted.
What are packages "luci-mod-lime-basic" and "luci-mod-lime-status" ? They seem to be old and placed on a wrong place of menuconfig.
Can they be removed?
A user wants to configure what happens when he has WAN access. The options would be to force share, force not to share, or let the algorithm choose what to do.
In spanish: wan autodetecte que tiene internet, o que lo fuerces a que no o a que si.
As describing in #16, when u try to create an olsr configuration without using any vlan (olsr:0) the network device is not created.
For example if i declare the network as
config net port5
option linux_name 'wlan0_adhoc'
list protocols 'olsr:0'
When i generate the uci config with lime-config, wlan0_adhoc is not declared in /etc/config/network
How should i use a routing protocol without any vlan?
Some recursive dependencies of lime-packages might be fixed.
make[1]: Entering directory `/home/lime/lime-build-lede/build/src'
tmp/.config-package.in:31200:error: recursive dependency detected!
tmp/.config-package.in:31200: symbol PACKAGE_lime-proto-batadv is selected by PACKAGE_lime-system
tmp/.config-package.in:31387: symbol PACKAGE_lime-system is selected by PACKAGE_lime-proto-batadv
tmp/.config-package.in:31235:error: recursive dependency detected!
tmp/.config-package.in:31235: symbol PACKAGE_lime-proto-bmx6 is selected by PACKAGE_bmx6-auto-gw-mode
tmp/.config-package.in:30937: symbol PACKAGE_bmx6-auto-gw-mode depends on PACKAGE_bmx6
tmp/.config-package.in:55558: symbol PACKAGE_bmx6 is selected by PACKAGE_lime-proto-bmx6
tmp/.config-package.in:31258:error: recursive dependency detected!
tmp/.config-package.in:31258: symbol PACKAGE_lime-proto-bmx7 is selected by PACKAGE_bmx7-auto-gw-mode
tmp/.config-package.in:30955: symbol PACKAGE_bmx7-auto-gw-mode depends on PACKAGE_bmx7
tmp/.config-package.in:55633: symbol PACKAGE_bmx7 is selected by PACKAGE_lime-proto-bmx7
warning: (PACKAGE_lime-basic) selects PACKAGE_bmx6-auto-gw-mode which has unmet direct dependencies (PACKAGE_bmx6)
warning: (PACKAGE_lime-proto-bmx6) selects PACKAGE_bmx6-uci-config which has unmet direct dependencies (PACKAGE_bmx6)
warning: (PACKAGE_lime-proto-bmx6) selects PACKAGE_bmx6-json which has unmet direct dependencies (PACKAGE_bmx6)
warning: (PACKAGE_lime-proto-bmx6) selects PACKAGE_bmx6-sms which has unmet direct dependencies (PACKAGE_bmx6)
i tested luci-mod-status on our freifunk firmware (based on lede) and had to fix that to get graphs
maybe some other luci pages also have problems
Copy from @dangowrt on lime-dev mailing list:
lime-config currently re-writes UCI configuration. ie. if I mess up /etc/config/network, running lime-config will not necessarily fix it. There are also situations which make re-running lime-config impossible as that would break the config completely.
To resolve that mess I suggest to refrain from re-writing UCI configuration and rather generate it from scratch every time by using the new /bin/config_generate script.
If anything is missing in that new board-config aka. uci-defaults approach, then we should add it and discuss with upstream, ie. make sure that all board-specific details needed to generate the entire configuration are covered.
Add the chance to manage the access to Internet through Tickets.
Add a Captive Portal that traps web browsers while users have no ticket, and allow them to use a ticket to remove the trap.
Add a web-ui to manage the tickets and the interaction with the Captive Portal.
A big amount of features have been implemented during the hachathon.
Publish a Release Candidate that allows the community to test it.
Just a reminder:
we need a package equivalent to batman-adv-auto-gw-mode and bmx6-auto-gw-mode working for OLSR.
When connected to an upstream connection, the DHCP server gives you DNS information.
Implement a way to choose it instead of a fixed one.
In addition to ap, adhoc and 802.11s, it would be useful to have also the client mode.
Example of configuration for /etc/config/lime
config wifi radio0
list modes 'client'
list protocols 'wan'
option channel_2ghz 'auto'
option client_ssid 'WLAN1'
option client_key '9781saf84q09asf1'
option encryption 'psk'
Involves /etc/config/lime configs and LuCI interface implementation.
It is useful for border routers that may not be wireless routers, or supernodes.
On my tl-wrd3600 (MAC addresses: c0:4a:00:dd:68:00-02) I set the main_ipv4_address option to 10.37.0.0/16/22 and the resulting IPv4 on br-lan interface is 10.37.0.0 which is indeed the address of the network.
It is not a problem of the autoconfiguration mechanism, I checked that everything is ok, anyway a 0.0.0.0 is added as a perturbation to the given IPv4, just very bad luck with the MAC address of my device.
On the clients, using a DHCP client I don't get a default route and if I set this by hand it is not accepted.
# ip r a default via 10.37.0.0
RTNETLINK answers: Invalid argument
Thanks,
Ilario
Instead of setting up the name of the network on firmware-build time, allow the firmware to decide which network will be by looking at the networks that are close to him.
Give the user an interface in which the user can choose to join a network that is already deployed, or to create a new one.
luci.ip.Hex() function has been removed from the luci libraries.
IRC log about this issue:
14:02 < p4u> lua from Jan 15: ip.lua -> function Hex( hex, prefix, family, swap )
14:03 < p4u> now I see all the libraries have been moved and some of then even rewritten
14:03 < p4u> the ip module is missing the Hex() function
14:03 < p4u> as descreibes the documentation
14:03 < p4u> jow_laptop: what you mean for input data?
14:03 -!- iamfrankenstein [~[email protected]] has quit [Ping timeout: 245 seconds]
14:03 < jow_laptop> p4u: yeah I dropped Hex() because I thought only luci uses it internally for parsing /proc/net/ipv6_route
14:04 < jow_laptop> p4u: therfore I wanted to know what kind of data you feed to hex, to see if you can use another variant or if I should reimplement the Hex() constructor
14:04 < p4u> https://github.com/libre-mesh/lime-packages/blob/develop/packages/lime-system/files/usr/lib/lua/lime/network.lua#L37
14:05 < p4u> we were using it ;(
14:05 -!- BankZ- [~[email protected]] has quit [Ping timeout: 252 seconds]
14:08 < jow_laptop> hm, ok I can readd Hex() but a few other parts of the code will break too because you access private internals of the cidr object
14:08 < p4u> ok
14:09 < p4u> we can fix it
14:09 < p4u> or maybe find another way for doing the same
A new OpenWRT/LEDE package written in C has been released https://github.com/br101/pingcheck
It uses UBUS to communicate the current status and is compatible with UCI.
It seems a much better option than the current watchping used in LiMe for bmx6 auto gw mode and some other packages.
In the watchping files of bmx6-auto-gw-mode
lime-packages/packages/bmx6-auto-gw-mode/files/etc/watchping/wan-ok.d/bmx6-gw
lime-packages/packages/bmx6-auto-gw-mode/files/etc/watchping/wan-fail.d/bmx6-gw
there are still references to bmx6 command which is not present anymore in develop (now just bmx7 executable is present).
Hi!
I want to compile a Libre-Mesh firmware image which contains a custom IP range (= 10.37.192.1 - 10.37.255.254) for the DHCP server.
To specify this in the feeds/lime/packages/lime-system/files/etc/config/lime-defaults would be optimal.
Up to now the workaround is to modify the start (= 49152) and limit (= 16382) options in packages/network/services/dnsmasq/files/dhcp.conf which will end up to be /etc/config/dhcp.
Thanks,
Ilario
IRC, mailing list at least. Thanks!
as far i have tested build with CC + luci,master
last test with sandbox/hotfix/luici-lib-ip seemed to work
sandbox/release/15.09 shows old error with hex.ip
please check if i'm right
3zl
" libremap-agent-openwrt/libremap-agent/files/etc/uci-defaults/80_libremap-agent"
creates /etc/config/libremap if there is no /etc/config/libremesh.
package install creates /etc/config/libremap which differs to the 80_libremap-agent made settings
is this my design ?
what is the right config fileds ?
libremap-agent-openwrt/libremap-agent/files/etc/uci-defaults/ is setting a /etc/config/libremap file if there is none existing, alas the config file is generated by libre-map though /files/config/libremap with different uci parameters.
is there a reason for libre-mesh having his own config/libremap ?
please someone should have an eye on this because it seems to generates some problems setting our own parameters via scripts.
The AP WPA2 and the Country Code options are already supported on config/lime. The Simple Config module of lime-webui must support the configuration of those. The encryption type should be "psk2" by default, not configurable by the end-user.
running libremap-agent results in log error messages
i did have a look at the source but with nov docs about the structure im lost
does anyboday have any idea or patch
cheers
3zl
A user wants to give a host name to a node that is setting up via an easy to use setup wizard.
This involves thinking about how to implement a wizard in LuCI.
apply-eb-ip-rules-if-not-fw.sh doesn't seem to work (for me). i have replaced
sh /etc/firewall.user.d/*
with
for file in /etc/firewall.user.d/*
do
sh "$file"
done
and everything works as expected.
In a BATMAN network that uses Alfred, you need at least one Alfred's master node, many is better (but not too many).
Define an heuristic and implement a way for this to happen.
This was tested on WDR-3500/3600/4300 hardware with LibreMesh/OpenWRT ChaosChalmer firmware.
Expected behaviour: long pressing the reset button should reset to factory (fresh LiMe firmware).
Actual behaviour: nothing happens
we do have a hard time to find & control the dependencies which seems to be messed up.
trying to build for 4MB devices with CC we always run in overhead of bildin packets.
exmpl : * bxm , ipv6..a.s.o*
please can someone to a grep / sort & dependency tree to rebuild the menuconfig points
& check if they are really necessary.
The openwrt ipv6 global build setting / 'Enable IPv6 support in packages' could come quite handy if implemented in the Makefile
we do have to do this manually with every new feeds - update
seems to us there is a sever lack of consolidation in project base.
sorry but we dont have the knowledge & manpower for pull requests because we have to concentrate our effords at the application layer.
The additional work makes it very difficult to keep lime into our standard.setup
regards 3zl / i4free-gr
The current LiMe implementation uses many virtual AP (like multiple SSIDs). We want to know if this is a performance hit in order to take better decisions on how we use this functionality.
There is some mess in the network VLAN name, while some are ethX_NN others are ethX-NN
During the development of LibreMesh we found several way to deal with upstream inconcistencies or hardware failures. These ones we called them worarounds.
Get all of them together into a package to easen its maintenaince.
It would be nice to have Nodogsplash or any other captive portal working. No authentication needed. Just to inform what the network is about.
If "lime-config" fails, the lock file "/var/run/lime-config.pid" is never removed, so lime-config is not executable anymore until a new reboot or a manual deletion of the file.
Possible solution 1: control lua exceptions and remove lock file once an exception has occurred
Possible solution 2: remove the lock file mechanism, is it really needed?
make menuconfig bmx6 deselcted builds bmx6 related blobs into the image.
As its quite big would be better to inhibit this via deselected bmx6.
3zl
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.