Git Product home page Git Product logo

libremesh / lime-packages Goto Github PK

View Code? Open in Web Editor NEW
271.0 26.0 93.0 3.87 MB

OpenWrt packages composing LibreMesh meta-firmware for wireless mesh networking

Home Page: https://libremesh.org/

License: GNU Affero General Public License v3.0

Makefile 9.01% Shell 10.19% Lua 72.87% HTML 4.73% JavaScript 0.48% CSS 0.82% Python 1.58% Awk 0.01% Terra 0.30%
openwrt mesh-networks mesh firmware routing lua openwrt-package libremesh openwrt-buildroot hacktoberfest

lime-packages's Introduction

Backers on Open Collective Sponsors on Open Collective codecov.io

LibreMesh packages

LibreMesh logo

LibreMesh project includes the development of several tools used for deploying libre/free mesh networks.

The firmware (the main piece) will allow simple deployment of auto-configurable, yet versatile, multi-radio mesh networks. Check the Network Architecture to see the basic ideas.

We encourage each network community to create its firmware profile on network-profiles repository and build the images locally.

Supported hardware

In this page we provide a list of requirements that ensure you to have a working LibreMesh node on your router. This list comes with no warranties: read carefully the model-specific instructions on OpenWrt wiki and be extra-careful when flashing your routers!

Building a Firmware Image on Your PC

Building the stable release LibreMesh 2020.1

Using the BuildRoot

The BuildRoot will cross-compile the whole OpenWrt and the LibreMesh packages on your computer, so it will take approx 10 GB of disk space and a few hours of compilation time.

For compiling LibreMesh firmware with this method, you can follow these instructions.

Using the ImageBuilder

The ImageBuilder method is not available for the stable release.

Building the experimental firmware

The experimental code still has serious issues that have to be solved, use it only for developing or debugging.

Using the BuildRoot

As explained above, in the instuctions on the website you will find where to specify the version of the code to compile.

Using the ImageBuilder

The ImageBuiler will download pre-compiled parts of the OpenWrt releases, and add the pre-compiled LibreMesh packages, so it is much faster than the BuildRoot method (but less practical if you want to develop some new features modifying LibreMesh source code).

With Docker

Start an ImageBuilder of your choice, for example ath79-generic if your device is supported within it, use containers for an easier setup:

mkdir ./images/
docker run -it -v $(pwd)/images:/images/ ghcr.io/openwrt/imagebuilder:ath79-generic-v22.03.5

If your device is not part of ath79-generic profiles, you can replace it with another <target>-<subtarget> combination. For knowing which target and subtarget is best suited for your router, check out the page about it in the OpenWrt's Table of Hardware.

Within the container, add the lime-packages feeds:

echo "src/gz libremesh https://feed.libremesh.org/master" >> repositories.conf
echo "src/gz libremesh_arch_packages https://feed.libremesh.org/arch_packages/master/mips_24kc" >> repositories.conf
echo  "untrusted comment: signed by libremesh.org key a71b3c8285abd28b" > keys/a71b3c8285abd28b
echo "RWSnGzyChavSiyQ+vLk3x7F0NqcLa4kKyXCdriThMhO78ldHgxGljM/8" >> keys/a71b3c8285abd28b

If your device is not part of ath79-generic replace mips_24kc with the architecture of the selected <target>/<subtarget>.

Ideally add your own lime-community files within the container in the folder ./files/etc/config/. To find possible options consult the lime-example.txt file. It is also possible to mount an existing lime-community file directly. For example, when the lime-community file is in the current directory, append -v $(pwd)/lime-community:/builder/files/etc/config/lime-community to the docker run command.

Now create an image of your choice, to see the names of supported profiles run make info first.

make image PROFILE=ubnt_unifi PACKAGES="lime-system lime-proto-babeld lime-proto-batadv lime-proto-anygw lime-hwd-openwrt-wan lime-hwd-ground-routing lime-app lime-debug lime-docs lime-docs-minimal shared-state-babeld_hosts shared-state-bat_hosts shared-state-dnsmasq_hosts shared-state-nodes_and_links babeld-auto-gw-mode check-date-http batctl-default -dnsmasq -odhcpd-ipv6only" BIN_DIR=/images FILES=files

For more information about which packages to select, refer to section package-selection.

Your images should be available outside of the container in the ./images/ folder.

Without Docker

Go to https://firmware-selector.openwrt.org/. Find your device. Click on the folder symbol right after "Links: ". Alternatively, find your device in OpenWrt's Table of Hardware, find the image download link, remove the filename from the right side of the link and put the result in your browsers address bar. Scroll down and download openwrt-imagebuilder-*. Unpack the file and open a terminal inside the directory. Add the lime-packages feed:

echo "src/gz libremesh https://feed.libremesh.org/master" >> repositories.conf
echo "src/gz libremesh_arch_packages https://feed.libremesh.org/arch_packages/master/mips_24kc" >> repositories.conf
echo  "untrusted comment: signed by libremesh.org key a71b3c8285abd28b" > keys/a71b3c8285abd28b
echo "RWSnGzyChavSiyQ+vLk3x7F0NqcLa4kKyXCdriThMhO78ldHgxGljM/8" >> keys/a71b3c8285abd28b

If your device is not part of ath79-generic replace mips_24kc with the architecture of the selected <target>/<subtarget>.

Create an image with

make image PROFILE=ubnt_unifi FILES=path-to-root-dir PACKAGES="lime-system lime-proto-babeld lime-proto-batadv lime-proto-anygw lime-hwd-openwrt-wan lime-hwd-ground-routing lime-app lime-debug lime-docs lime-docs-minimal shared-state-babeld_hosts shared-state-bat_hosts shared-state-dnsmasq_hosts shared-state-nodes_and_links babeld-auto-gw-mode check-date-http batctl-default -dnsmasq -odhcpd-ipv6only"

where path-to-root-dir is the path to a directory where your lime-community file is located, like so: path-to-root-dir/etc/config/lime-community. ubnt_unifi needs to be replaced with the profile that fits your device. Run make info to see the names of supported profiles. You find the resulting image files in ./bin/target/*/*/.

For more information about which packages to select, refer to section package-selection.

For more information about commands and parameters of imagebuilder, run make help.

Possible errors from the ImageBuilder

If you get a docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?. error, means that you don't have Docker's daemon running. Make sure you have docker installed and start its daemon with systemctl start docker.service.

If you get a opkg_download: Check your network settings and connectivity. error, both check the connectivity and make sure that the firewall rules of your computer allow the container to reach the internet.

Package selection

With the PACKAGES= argument, you can specify which packages should be preinstalled inside the image. All packages and packages they depend on will be included in the image. This list of packes will produce an image close to the official ones:

PACKAGES="lime-system lime-proto-babeld lime-proto-batadv lime-proto-anygw lime-hwd-openwrt-wan lime-hwd-ground-routing lime-app lime-debug lime-docs lime-docs-minimal shared-state-babeld_hosts shared-state-bat_hosts shared-state-dnsmasq_hosts shared-state-nodes_and_links babeld-auto-gw-mode check-date-http batctl-default -dnsmasq -odhcpd-ipv6only"

There are some target and profile specific packages that are included by default. They can be excluded by prepending them with a minus sign. Note that when there is a package in the selection that depends on another package, that package will always be included. You can find out which packages depend on another package using package_whatdepends, for example:

make package_whatdepends PACKAGE=lime-system

If you have a device that uses an atk10k wireless driver, you need to make sure to use the one that isn't suffixed with -ct. With the -ct-version, 802.11s meshing does not work. After building an image, open the .manifest-file that is created within the same folder as the image with a text editor. Check if there are any packages ending with -ct. If this is the case, exclude them from the image. Include the packages with the same name but without the -ct. For example, append

-kmod-ath10k-ct kmod-ath10k -ath10k-firmware-qca988x-ct ath10k-firmware-qca988x

If you planning to use encrypted mesh, you need to make sure to have the wpad-mesh-*, not wpad-basic-* package, where * is mbedtls, openssl or wolfssl. OpenWrt 23 by default uses mbedtls. For example, append

-wpad-basic-mbedtls wpad-mesh-mbedtls

If you want to save some space on the devices flash, there are some packages that can savely be excluded. For example, you can remove lime-debug from the above example and save about 540KB. Append -ppp -ppp-mod-pppoe to save another 140KB (if you don't need pppoe).

Testing

LibreMesh has unit tests that help us add new features while keeping maintenance effort contained.

To run the tests simply execute ./run_tests.

Please read the [Unit Testing Guide] for more details about testing and how to add tests to LibreMesh.

Get in Touch with LibreMesh Community

Mailing Lists

The project has an official mailing list [email protected] and an Element (#libremesh-dev:matrix.guifi.net) chat room; check out this page with the links for joining the chatroom.

Contributors

This project exists thanks to all the people who contribute. [Contribute].

Donations

We are now a member of open collective, please consider a small donation!

Backers

Thank you to all our backers! ๐Ÿ™ [Become a backer]

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]

lime-packages's People

Contributors

a-gave avatar altergui avatar aparcar avatar bharrod321 avatar dangowrt avatar egon0 avatar frank95 avatar freifunkufo avatar g10h4ck avatar gabri94 avatar germanferrero avatar gmarcos87 avatar humzini avatar ilario avatar javierajorge avatar javierbrk avatar luandro avatar meskio avatar nicoechaniz avatar nicopace avatar p4u avatar patogit avatar pony1k avatar radikalbjr avatar rhnsharma avatar selankon avatar spiccinini avatar svalo avatar translatewiki avatar vcuculo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lime-packages's Issues

Autoconfig SSID

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.

Proto without 802.11ad VLANs

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?

Hex IP ...

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

Adapt luci-app-batman-adv for work with Alfred

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.

Splash page

It would be nice to have Nodogsplash or any other captive portal working. No authentication needed. Just to inform what the network is about.

Bundle Lime Workarounds

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.

Setup Wizard: setup hostname

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.

Batman-adv ethernet meshing

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.

Ebtables/IPtables without firewall application

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.

lime & luci packet dependencies

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

luci.ip.Hex() does not exist anymore

luci.ip.Hex() function has been removed from the luci libraries.

https://github.com/libre-mesh/lime-packages/blob/develop/packages/lime-system/files/usr/lib/lua/lime/network.lua#L37

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

Dead lock in lime-config

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?

Alfred automatic master node definition

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.

bmx6-auto-gw-mode needs to be converted from bmx6 to bmx7

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).

libremap-agent plugin error in LUCI master

running libremap-agent results in log error messages

  1. plugin system sysinfo nil
  2. plugin wireless iwdata nil

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

Add first_boot functionality to Reset Button

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

Document how to use upstream DNS

When connected to an upstream connection, the DHCP server gives you DNS information.
Implement a way to choose it instead of a fixed one.

lime-config: generate configs from scratch

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.

unregister_netdevice problems on openwrt-cc

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 --- --- --- --- --- --- ---

WiFi client mode

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'

Feature request: Specify DHCP range

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

libremap confif

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.

Files included by chef not part of lime-build process

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.

Captive Portal with Tickets for accesing to Internet

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.

Remove luci-mod-lime-{basic/status}

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?

Recursive dependencies

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)

IPv4 autoconfiguration can have invalid result depending on MAC address

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

watchping on bridge

flaw [init.d/watchping]:

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.

outcome :

watchping never detects internet ...a.s.o

solution :

use other means of detecting the interface if a bridge involved

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.