[LEDE-DEV] About /etc/board.json

Gio gio at diveni.re
Fri Aug 4 01:36:17 PDT 2017


Hi all!

When we started working on libremesh.org there was no /etc/board.json and of 
course no way to reliably know the hardware setup (expecially switch ports 
layout) so we had to do a copy of the first boot configuration and with some 
rough euristics the code had an approximative idea of the hardware setup and 
generated a community mesh network hopefully suitable configuration based on 
that idea.

Now it has been a reasonable amount of time that /etc/board.json is around to 
consider it a reliable source of hardware information so we could generate 
configuration based on that instead of   the old tricky system, so I have a 
bunch of questions before starting a plan to rewrite an important part of the 
libremesh core:

- Should we consider this stable?
- Is there some specification on how to write a board.json file for new 
hardware?
- From what I saw on devices I have under my hands the board.json file doesn't 
come in the source code, but is generated by the old scripts with all the 
hardware model big switch/case, is this to be considered final or it is just a 
transition to shipping the board.json file without the big switch/case?
- About switch ports in a TP-Link tl-wdr4310 I can see that port 0 has 
different properties that other ports, like +"device": "eth0"+ can we consider 
this equivalent to "the switch is connected to the CPU via port 0 and it is 
seen as eth0" in all cases?
- How would board.json look like in case two switch chips are present, can 
each switch have a port connected to the other switch beside the one connected 
to the CPU? How would board.json look like if the other switch is connected 
only to the other switch and not to the CPU? How would board.json look like if 
the other switch is connected to the CPU only (this last seems simple to 
answhere)?
- In the TP-Link tl-wdr3500 there is a separate ethernet port eth1 that is 
used as wan, in the board.json the only reference that i find to that port is 
as network.wan.ifname, but there is not something like an "hardware 
description" like we have for the switch section, is there any plan to inlude 
those extra info like if it is gigabit, or the max MTU supported in 
board.json, or we have to guess the existence of ethernet ports iterating 
trought the childs of network ?
- There is no information about wifi devices, also in cases they are soldered 
in the device, is there a plan to include that information in board.json too 
or there is another place where one can get in wifi devices information in an 
equivalent format (JSON)?
- There is already a JSON parsing/generation Lua library of choice in LEDE? (I 
suppose there is at least in Luci)

Cheers!
Gio



More information about the Lede-dev mailing list