Merge pull request #1858 from freifunk-gluon/drop-ibss

Drop IBSS support
This commit is contained in:
Matthias Schiffer 2019-11-08 15:26:39 +01:00 committed by GitHub
commit f700fb26d8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
22 changed files with 150 additions and 261 deletions

View File

@ -40,10 +40,9 @@ $(eval $(call mkabspath,GLUON_TARGETSDIR))
$(eval $(call mkabspath,GLUON_PATCHESDIR)) $(eval $(call mkabspath,GLUON_PATCHESDIR))
GLUON_MULTIDOMAIN ?= 0 GLUON_MULTIDOMAIN ?= 0
GLUON_WLAN_MESH ?= 11s
GLUON_DEBUG ?= 0 GLUON_DEBUG ?= 0
export GLUON_RELEASE GLUON_REGION GLUON_MULTIDOMAIN GLUON_WLAN_MESH GLUON_DEBUG GLUON_DEPRECATED GLUON_DEVICES \ export GLUON_RELEASE GLUON_REGION GLUON_MULTIDOMAIN GLUON_DEBUG GLUON_DEPRECATED GLUON_DEVICES \
GLUON_TARGETSDIR GLUON_PATCHESDIR GLUON_TMPDIR GLUON_IMAGEDIR GLUON_PACKAGEDIR GLUON_TARGETSDIR GLUON_PATCHESDIR GLUON_TMPDIR GLUON_IMAGEDIR GLUON_PACKAGEDIR
show-release: show-release:

View File

@ -10,9 +10,9 @@ Gluon tries to solve this issue by using a hash of the primary MAC address as a
* 0: client0; WAN * 0: client0; WAN
* 1: mesh0 * 1: mesh0
* 2: ibss0 * 2: (unused)
* 3: wan_radio0 (private WLAN); batman-adv primary address * 3: wan_radio0 (private WLAN); batman-adv primary address
* 4: client1; LAN * 4: client1; LAN
* 5: mesh1 * 5: mesh1
* 6: ibss1 * 6: (unused)
* 7: wan_radio1 (private WLAN); mesh VPN * 7: wan_radio1 (private WLAN); mesh VPN

View File

@ -198,8 +198,6 @@ domain.conf only variables
- must be a random value used to derive the vxlan id for wired meshing - must be a random value used to derive the vxlan id for wired meshing
- wifi*.ibss.ssid
- wifi*.ibss.bssid
- wifi*.mesh.id - wifi*.mesh.id
- mesh_vpn.fastd.groups.*.peers.remotes - mesh_vpn.fastd.groups.*.peers.remotes
- mesh_vpn.fastd.groups.*.peers.key - mesh_vpn.fastd.groups.*.peers.key

View File

@ -2,10 +2,9 @@ WLAN configuration
================== ==================
Gluon allows to configure 2.4GHz and 5GHz radios independently. The configuration Gluon allows to configure 2.4GHz and 5GHz radios independently. The configuration
may include any or all of the three networks "client" (AP mode), "mesh" (802.11s may include one or both of the two networks "client" (AP mode) and "mesh" (802.11s
mode) and "ibss" (adhoc mode), which can be used simultaneously (using "mesh" and mode), which can be used simultaneously. See :doc:`../user/site` for details on the
"ibss" at same time should be avoided though as weaker hardware usually can't handle the additional configuration.
load). See :doc:`../user/site` for details on the configuration.
Upgrade behaviour Upgrade behaviour
----------------- -----------------
@ -16,15 +15,6 @@ on upgrades the existing setting is always retained (as this setting may have be
by the user). This means that it is not possible to enable or disable an existing network by the user). This means that it is not possible to enable or disable an existing network
configurations during upgrades. configurations during upgrades.
For the "mesh" and "ibss" networks, the default setting only has an effect if none
of the two has existed before. If a new configuration has been added for "mesh" or "ibss",
while the other of the two has already existed before, the enabled/disabled state of the
existing configuration will also be set for the new configuration.
This allows upgrades to change from IBSS to 11s and vice-versa while retaining the
"wireless meshing is enabled/disabled" property configured by the user regardless
of the used mode.
During upgrades the wifi channel of the 2.4GHz and 5GHz radio will be restored to the channel During upgrades the wifi channel of the 2.4GHz and 5GHz radio will be restored to the channel
configured in the site.conf. If you need to preserve a user defined wifi channel during upgrades configured in the site.conf. If you need to preserve a user defined wifi channel during upgrades
you can configure this via the uci section ``gluon-core.wireless``:: you can configure this via the uci section ``gluon-core.wireless``::

View File

@ -3,7 +3,7 @@ gluon-scheduled-domain-switch
This package allows to switch a routers domain at a given point This package allows to switch a routers domain at a given point
in time. This is needed for switching between incompatible transport in time. This is needed for switching between incompatible transport
protocols (e.g. 802.11s and IBSS or VXLAN). protocols (e.g. wired meshing with and without VXLAN).
Nodes will switch when the defined *switch-time* has passed. In case the node was Nodes will switch when the defined *switch-time* has passed. In case the node was
powered off while this was supposed to happen, it might not be able to acquire the powered off while this was supposed to happen, it might not be able to acquire the

View File

@ -120,12 +120,11 @@ wifi24 \: optional
WLAN configuration for 2.4 GHz devices. WLAN configuration for 2.4 GHz devices.
``channel`` must be set to a valid wireless channel for your radio. ``channel`` must be set to a valid wireless channel for your radio.
There are currently three interface types available. You may choose to There are currently two interface types available. You may choose to
configure any subset of them: configure any subset of them:
- ``ap`` creates a master interface where clients may connect - ``ap`` creates a master interface where clients may connect
- ``mesh`` creates an 802.11s mesh interface with forwarding disabled - ``mesh`` creates an 802.11s mesh interface with forwarding disabled
- ``ibss`` creates an ad-hoc interface
Each interface may be disabled by setting ``disabled`` to ``true``. Each interface may be disabled by setting ``disabled`` to ``true``.
This will only affect new installations. This will only affect new installations.
@ -139,10 +138,7 @@ wifi24 \: optional
don't want users to connect to this mesh-SSID, so use a cryptic id that no don't want users to connect to this mesh-SSID, so use a cryptic id that no
one will accidentally mistake for the client WiFi. one will accidentally mistake for the client WiFi.
``ibss`` requires two parameters: ``ssid`` (a string) and ``bssid`` (a MAC). ``mesh`` also accepts an optional ``mcast_rate`` (kbit/s) parameter for
An optional parameter ``vlan`` (integer) is supported.
Both ``mesh`` and ``ibss`` accept an optional ``mcast_rate`` (kbit/s) parameter for
setting the multicast bitrate. Increasing the default value of 1000 to something setting the multicast bitrate. Increasing the default value of 1000 to something
like 12000 is recommended. like 12000 is recommended.
:: ::
@ -156,11 +152,6 @@ wifi24 \: optional
id = 'ueH3uXjdp', id = 'ueH3uXjdp',
mcast_rate = 12000, mcast_rate = 12000,
}, },
ibss = {
ssid = 'ff:ff:ff:ee:ba:be',
bssid = 'ff:ff:ff:ee:ba:be',
mcast_rate = 12000,
},
}, },
.. _user-site-wifi5: .. _user-site-wifi5:
@ -559,11 +550,6 @@ GLUON_LANGS
List of languages (as two-letter-codes) to be included in the web interface. Should always contain List of languages (as two-letter-codes) to be included in the web interface. Should always contain
``en``. ``en``.
GLUON_WLAN_MESH
Setting this to ``11s`` or ``ibss`` will enable generation of matching images for devices which don't
support both meshing modes, either at all (e.g. ralink and mediatek don't support AP+IBSS) or in the
same firmware (ath10k-based 5GHz). Defaults to ``11s``.
.. _user-site-feature-flags: .. _user-site-feature-flags:
Feature flags Feature flags

View File

@ -41,7 +41,7 @@ ar71xx-generic
- GL-AR150 - GL-AR150
- GL-AR300M - GL-AR300M
- GL-AR750 [#ath10k]_ - GL-AR750
- GL-iNet 6408A (v1) - GL-iNet 6408A (v1)
- GL-iNet 6416A (v1) - GL-iNet 6416A (v1)
@ -57,7 +57,7 @@ ar71xx-generic
* OCEDO * OCEDO
- Koala [#ath10k]_ - Koala
* OpenMesh * OpenMesh
@ -65,24 +65,24 @@ ar71xx-generic
- A60 - A60
- MR600 (v1, v2) - MR600 (v1, v2)
- MR900 (v1, v2) - MR900 (v1, v2)
- MR1750 (v1, v2) [#ath10k]_ - MR1750 (v1, v2)
- OM2P (v1, v2, v4) - OM2P (v1, v2, v4)
- OM2P-HS (v1, v2, v3, v4) - OM2P-HS (v1, v2, v3, v4)
- OM2P-LC - OM2P-LC
- OM5P - OM5P
- OM5P-AN - OM5P-AN
- OM5P-AC (v1, v2) [#ath10k]_ - OM5P-AC (v1, v2)
* TP-Link * TP-Link
- Archer C5 (v1) [#ath10k]_ - Archer C5 (v1)
- Archer C59 (v1) [#80211s]_ - Archer C59 (v1)
- Archer C7 (v2, v4, v5) [#ath10k]_ - Archer C7 (v2, v4, v5)
- CPE210 (v1.0, v1.1, v2.0, v3.0) - CPE210 (v1.0, v1.1, v2.0, v3.0)
- CPE220 (v1.1) - CPE220 (v1.1)
- CPE510 (v1.0, v1.1) - CPE510 (v1.0, v1.1)
- CPE520 (v1.1) - CPE520 (v1.1)
- RE450 [#ath10k]_ - RE450
- TL-WDR3500 (v1) - TL-WDR3500 (v1)
- TL-WDR3600 (v1) - TL-WDR3600 (v1)
- TL-WDR4300 (v1) - TL-WDR4300 (v1)
@ -109,12 +109,12 @@ ar71xx-generic
- Rocket M2/M5 - Rocket M2/M5
- Rocket M2/M5 Ti - Rocket M2/M5 Ti
- Rocket M2/M5 XW - Rocket M2/M5 XW
- UniFi AC Mesh [#ath10k]_ - UniFi AC Mesh
- UniFi AC Mesh Pro [#ath10k]_ - UniFi AC Mesh Pro
- UniFi AP - UniFi AP
- UniFi AP AC Lite [#ath10k]_ - UniFi AP AC Lite
- UniFi AP AC LR [#ath10k]_ - UniFi AP AC LR
- UniFi AP AC Pro [#ath10k]_ - UniFi AP AC Pro
- UniFi AP LR - UniFi AP LR
- UniFi AP Pro - UniFi AP Pro
- UniFi AP Outdoor - UniFi AP Outdoor
@ -127,7 +127,7 @@ ar71xx-generic
* ZyXEL * ZyXEL
- NBG6616 [#ath10k]_ - NBG6616
ar71xx-nand ar71xx-nand
----------- -----------
@ -143,7 +143,7 @@ ar71xx-nand
* ZyXEL * ZyXEL
- NBG6716 [#ath10k]_ - NBG6716
ar71xx-tiny [#deprecated]_ ar71xx-tiny [#deprecated]_
-------------------------- --------------------------
@ -191,8 +191,8 @@ brcm2708-bcm2709
* RaspberryPi 2 * RaspberryPi 2
ipq40xx-generic [#80211s]_ ipq40xx-generic
-------------------------- ---------------
* AVM * AVM
@ -217,8 +217,8 @@ ipq40xx-generic [#80211s]_
- NBG6617 - NBG6617
- WRE6606 - WRE6606
ipq806x-generic [#80211s]_ ipq806x-generic
-------------------------- ---------------
* NETGEAR * NETGEAR
@ -249,8 +249,8 @@ mpc85xx-p1020
- Panda - Panda
ramips-mt7620 [#80211s]_ ramips-mt7620
------------------------ -------------
* GL Innovations * GL Innovations
@ -267,11 +267,11 @@ ramips-mt7621
* ASUS * ASUS
- RT-AC57U [#80211s]_ - RT-AC57U
* D-Link * D-Link
- DIR-860L (B1) [#80211s]_ - DIR-860L (B1)
* Ubiquiti * Ubiquiti
@ -280,11 +280,11 @@ ramips-mt7621
* ZBT * ZBT
- WG3526-16M [#80211s]_ - WG3526-16M
- WG3526-32M [#80211s]_ - WG3526-32M
ramips-mt76x8 [#80211s]_ ramips-mt76x8
------------------------ -------------
* GL.iNet * GL.iNet
@ -306,8 +306,8 @@ ramips-mt76x8 [#80211s]_
- VoCore2 - VoCore2
ramips-rt305x [#80211s]_ [#deprecated]_ ramips-rt305x [#deprecated]_
--------------------------------------- ----------------------------
* A5-V11 * A5-V11
@ -358,14 +358,5 @@ Footnotes
The device or target is reaching its end of life soon. This means that support The device or target is reaching its end of life soon. This means that support
in the next major release of Gluon is doubtful. in the next major release of Gluon is doubtful.
.. [#ath10k]
Device uses the ath10k WLAN driver. Images are built for 11s by default unless GLUON_WLAN_MESH
is set as described in :ref:`getting-started-make-variables`.
.. [#80211s]
Device or target does not support IBSS. Images are built by default unless
GLUON_WLAN_MESH is explicitly set to something other than *11s*. Targets that
are affected as a whole may not be selected for build in this case.
.. [#avmflash] .. [#avmflash]
For instructions on how to flash AVM devices, visit https://fritzfla.sh For instructions on how to flash AVM devices, visit https://fritzfla.sh

View File

@ -49,14 +49,7 @@ for _, config in ipairs({'wifi24', 'wifi5'}) do
obsolete({config, 'supported_rates'}, '802.11b rates are disabled by default.') obsolete({config, 'supported_rates'}, '802.11b rates are disabled by default.')
obsolete({config, 'basic_rate'}, '802.11b rates are disabled by default.') obsolete({config, 'basic_rate'}, '802.11b rates are disabled by default.')
obsolete({config, 'ibss'}, 'IBSS support has been dropped.')
if need_table({config, 'ibss'}, nil, false) then
need_string_match(in_domain({config, 'ibss', 'ssid'}), '^' .. ('.?'):rep(32) .. '$')
need_string_match(in_domain({config, 'ibss', 'bssid'}), '^%x[02468aAcCeE]:%x%x:%x%x:%x%x:%x%x:%x%x$')
need_one_of({config, 'ibss', 'mcast_rate'}, supported_rates, false)
need_number({config, 'ibss', 'vlan'}, false)
need_boolean({config, 'ibss', 'disabled'}, false)
end
if need_table({config, 'mesh'}, nil, false) then if need_table({config, 'mesh'}, nil, false) then
need_string_match(in_domain({config, 'mesh', 'id'}), '^' .. ('.?'):rep(32) .. '$') need_string_match(in_domain({config, 'mesh', 'id'}), '^' .. ('.?'):rep(32) .. '$')

View File

@ -98,49 +98,12 @@ local function first_non_nil(first, ...)
end end
local function configure_ibss(config, radio, index, suffix, disabled) local function delete_ibss(radio_name)
local radio_name = radio['.name']
local name = 'ibss_' .. radio_name local name = 'ibss_' .. radio_name
uci:delete('network', name) uci:delete('network', name)
uci:delete('network', name .. '_vlan') uci:delete('network', name .. '_vlan')
uci:delete('wireless', name) uci:delete('wireless', name)
if not config then
return
end
local macaddr = util.get_wlan_mac(uci, radio, index, 3)
if not macaddr then
return
end
if config.vlan then
uci:section('network', 'interface', name, {
proto = 'none',
})
uci:section('network', 'interface', name .. '_vlan', {
ifname = '@' .. name .. '.' .. config.vlan,
proto = 'gluon_mesh',
})
else
uci:section('network', 'interface', name, {
proto = 'gluon_mesh',
})
end
uci:section('wireless', 'wifi-iface', name, {
device = radio_name,
network = name,
mode = 'adhoc',
ssid = config.ssid,
bssid = config.bssid,
macaddr = macaddr,
mcast_rate = config.mcast_rate,
ifname = suffix and 'ibss' .. suffix,
disabled = disabled,
})
end end
local function configure_mesh(config, radio, index, suffix, disabled) local function configure_mesh(config, radio, index, suffix, disabled)
@ -202,20 +165,9 @@ local function configure_mesh_wireless(radio, index, config)
local radio_name = radio['.name'] local radio_name = radio['.name']
local suffix = radio_name:match('^radio(%d+)$') local suffix = radio_name:match('^radio(%d+)$')
local ibss_disabled = is_disabled('ibss_' .. radio_name)
local mesh_disabled = is_disabled('mesh_' .. radio_name)
configure_ibss(config.ibss(), radio, index, suffix,
first_non_nil(
ibss_disabled,
mesh_disabled,
config.ibss.disabled(false)
)
)
configure_mesh(config.mesh(), radio, index, suffix, configure_mesh(config.mesh(), radio, index, suffix,
first_non_nil( first_non_nil(
mesh_disabled, is_disabled('mesh_' .. radio_name),
ibss_disabled,
config.mesh.disabled(false) config.mesh.disabled(false)
) )
) )
@ -224,6 +176,8 @@ end
util.foreach_radio(uci, function(radio, index, config) util.foreach_radio(uci, function(radio, index, config)
local radio_name = radio['.name'] local radio_name = radio['.name']
delete_ibss(radio_name)
if not config() then if not config() then
uci:set('wireless', radio_name, 'disabled', true) uci:set('wireless', radio_name, 'disabled', true)
return return
@ -259,7 +213,6 @@ util.foreach_radio(uci, function(radio, index, config)
util.add_to_set(hostapd_options, 'country3=0x4f') util.add_to_set(hostapd_options, 'country3=0x4f')
uci:set_list('wireless', radio_name, 'hostapd_options', hostapd_options) uci:set_list('wireless', radio_name, 'hostapd_options', hostapd_options)
uci:delete('wireless', 'ibss_' .. radio_name)
uci:delete('wireless', 'mesh_' .. radio_name) uci:delete('wireless', 'mesh_' .. radio_name)
else else
uci:delete('wireless', radio_name, 'channels') uci:delete('wireless', radio_name, 'channels')
@ -277,12 +230,7 @@ end)
if uci:get('system', 'rssid_wlan0') then if uci:get('system', 'rssid_wlan0') then
if uci:get('wireless', 'mesh_radio0') then uci:set('system', 'rssid_wlan0', 'dev', 'mesh0')
uci:set('system', 'rssid_wlan0', 'dev', 'mesh0')
else
uci:set('system', 'rssid_wlan0', 'dev', 'ibss0')
end
uci:save('system') uci:save('system')
end end

View File

@ -172,11 +172,11 @@ end
-- IDs defined so far: -- IDs defined so far:
-- 0: client0; WAN -- 0: client0; WAN
-- 1: mesh0 -- 1: mesh0
-- 2: ibss0 -- 2: (unused)
-- 3: wan_radio0 (private WLAN); batman-adv primary address -- 3: wan_radio0 (private WLAN); batman-adv primary address
-- 4: client1; LAN -- 4: client1; LAN
-- 5: mesh1 -- 5: mesh1
-- 6: ibss1 -- 6: (unused)
-- 7: wan_radio1 (private WLAN); mesh VPN -- 7: wan_radio1 (private WLAN); mesh VPN
function M.generate_mac(i) function M.generate_mac(i)
if i > 7 or i < 0 then return nil end -- max allowed id (0b111) if i > 7 or i < 0 then return nil end -- max allowed id (0b111)

View File

@ -1,13 +1,5 @@
#!/bin/sh #!/bin/sh
if [ "$FIXED_MTU" -eq 0 ]; then if [ "$FIXED_MTU" -eq 0 ]; then
# In case on VLAN on IBSS, first set MTU of the underlying interface
for lower in /sys/class/net/"$IFNAME"/lower_*/wireless; do
lower="${lower%%\/wireless}"
lower="${lower##*\/lower_}"
ip link set dev "$lower" mtu 1536
break
done
ip link set dev "$IFNAME" mtu 1532 ip link set dev "$IFNAME" mtu 1532
fi fi

View File

@ -19,14 +19,33 @@ msgstr "2,4GHz-WLAN"
msgid "5GHz WLAN" msgid "5GHz WLAN"
msgstr "5GHz-WLAN" msgstr "5GHz-WLAN"
msgid ""
"Configuring the node for outdoor use tunes the 5 GHz radio to a frequency "
"and transmission power that conforms with the local regulatory requirements. "
"It also enables dynamic frequency selection (DFS; radar detection). At the "
"same time, mesh functionality is disabled as it requires neighbouring nodes "
"to stay on the same channel permanently."
msgstr ""
"Ist der Knoten für den Einsatz im Freien konfiguriert, wird ein WLAN-Kanal "
"auf dem 5-GHz-Band sowie eine Sendeleistung entsprechend den gesetzlichen "
"Frequenzregulatorien gewählt. Gleichzeitig wird die dynamische Frequenzwahl "
"(DFS; Radarerkennung) aktiviert und die Mesh-Funktionalität deaktiviert, da "
"sich Nachbarknoten dauerhaft auf demselben Kanal befinden müssen."
msgid "Enable client network (access point)" msgid "Enable client network (access point)"
msgstr "Client-Netz aktivieren (Access Point)" msgstr "Client-Netz aktivieren (Access Point)"
msgid "Enable mesh network (802.11s)" msgid "Enable mesh network (802.11s)"
msgstr "Mesh-Netz aktivieren (802.11s)" msgstr "Mesh-Netz aktivieren (802.11s)"
msgid "Enable mesh network (IBSS)" msgid "HT Mode"
msgstr "Mesh-Netz aktivieren (IBSS)" msgstr "HT-Modus"
msgid "Node will be installed outdoors"
msgstr "Knoten wird im Außenbereich betrieben"
msgid "Outdoor Installation"
msgstr "Outdoor-Installation"
msgid "Transmission power" msgid "Transmission power"
msgstr "Sendeleistung" msgstr "Sendeleistung"
@ -49,25 +68,3 @@ msgstr ""
"werden. Wenn möglich, ist in den Werten der Sendeleistung der Antennengewinn " "werden. Wenn möglich, ist in den Werten der Sendeleistung der Antennengewinn "
"enthalten; diese Werte sind allerdings für viele Geräte nicht verfügbar oder " "enthalten; diese Werte sind allerdings für viele Geräte nicht verfügbar oder "
"fehlerhaft." "fehlerhaft."
msgid "Outdoor installation"
msgstr "Outdoor-Installation"
msgid "Node will be installed outdoors"
msgstr "Knoten wird im Außenbereich betrieben"
msgid ""
"Configuring the node for outdoor use tunes the 5 GHz radio to a frequency "
"and transmission power that conforms with the local regulatory requirements. "
"It also enables dynamic frequency selection (DFS; radar detection). At the "
"same time, mesh functionality is disabled as it requires neighbouring nodes "
"to stay on the same channel permanently."
msgstr ""
"Ist der Knoten für den Einsatz im Freien konfiguriert, wird ein WLAN-Kanal auf "
"dem 5-GHz-Band sowie eine Sendeleistung entsprechend den gesetzlichen "
"Frequenzregulatorien gewählt. Gleichzeitig wird die dynamische Frequenzwahl "
"(DFS; Radarerkennung) aktiviert und die Mesh-Funktionalität deaktiviert, da "
"sich Nachbarknoten dauerhaft auf demselben Kanal befinden müssen."
msgid "HT Mode"
msgstr "HT-Modus"

View File

@ -1,14 +1,15 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"PO-Revision-Date: 2015-08-19 23:30+0100\n" "PO-Revision-Date: 2015-08-19 23:30+0100\n"
"Last-Translator:Tobias Bernot <tqbs@airmail.cc>\n" "Last-Translator:Tobias Bernot <tqbs@airmail.cc>\n"
"Language-Team: French\n" "Language-Team: French\n"
"Language: fr\n" "Language: fr\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "(default)" msgid "(default)"
msgstr "(défaut)" msgstr "(défaut)"
@ -18,14 +19,28 @@ msgstr "2,4GHz Wi-Fi"
msgid "5GHz WLAN" msgid "5GHz WLAN"
msgstr "5GHz Wi-Fi" msgstr "5GHz Wi-Fi"
msgid ""
"Configuring the node for outdoor use tunes the 5 GHz radio to a frequency "
"and transmission power that conforms with the local regulatory requirements. "
"It also enables dynamic frequency selection (DFS; radar detection). At the "
"same time, mesh functionality is disabled as it requires neighbouring nodes "
"to stay on the same channel permanently."
msgstr ""
msgid "Enable client network (access point)" msgid "Enable client network (access point)"
msgstr "Activer le réseau client (Access Point)" msgstr "Activer le réseau client (Access Point)"
msgid "Enable mesh network (802.11s)" msgid "Enable mesh network (802.11s)"
msgstr "Activer le réseau MESH (802.11s)" msgstr "Activer le réseau MESH (802.11s)"
msgid "Enable mesh network (IBSS)" msgid "HT Mode"
msgstr "Activer le réseau MESH (IBSS)" msgstr "Mode HT"
msgid "Node will be installed outdoors"
msgstr ""
msgid "Outdoor Installation"
msgstr "Installation extérieure"
msgid "Transmission power" msgid "Transmission power"
msgstr "Puissance d'émission" msgstr "Puissance d'émission"
@ -41,14 +56,9 @@ msgid ""
"values include the antenna gain where available, but there are many devices " "values include the antenna gain where available, but there are many devices "
"for which the gain is unavailable or inaccurate." "for which the gain is unavailable or inaccurate."
msgstr "" msgstr ""
"Ici vous pouvez activer ou désactiver la SSID du client ou MESH. " "Ici vous pouvez activer ou désactiver la SSID du client ou MESH. Pensez a "
"Pensez a laisser la SSID du MESH activée pour que les autres nœuds puissent se connecter. " "laisser la SSID du MESH activée pour que les autres nœuds puissent se "
"<br /><br />Ici vous pouvez aussi configurer la puissance d'émmission se votre Wi-Fi. " "connecter. <br /><br />Ici vous pouvez aussi configurer la puissance "
"Prenez note que les valeurs fournies pour la puissance de transmission prennent " "d'émmission se votre Wi-Fi. Prenez note que les valeurs fournies pour la "
"en compte les gains fournis par l'antenne, et que ces valeurs ne sont pas toujours disponibles ou exactes." "puissance de transmission prennent en compte les gains fournis par "
"l'antenne, et que ces valeurs ne sont pas toujours disponibles ou exactes."
msgid "Outdoor installation"
msgstr "Installation extérieure"
msgid "HT Mode"
msgstr "Mode HT"

View File

@ -10,13 +10,27 @@ msgstr ""
msgid "5GHz WLAN" msgid "5GHz WLAN"
msgstr "" msgstr ""
msgid ""
"Configuring the node for outdoor use tunes the 5 GHz radio to a frequency "
"and transmission power that conforms with the local regulatory requirements. "
"It also enables dynamic frequency selection (DFS; radar detection). At the "
"same time, mesh functionality is disabled as it requires neighbouring nodes "
"to stay on the same channel permanently."
msgstr ""
msgid "Enable client network (access point)" msgid "Enable client network (access point)"
msgstr "" msgstr ""
msgid "Enable mesh network (802.11s)" msgid "Enable mesh network (802.11s)"
msgstr "" msgstr ""
msgid "Enable mesh network (IBSS)" msgid "HT Mode"
msgstr ""
msgid "Node will be installed outdoors"
msgstr ""
msgid "Outdoor Installation"
msgstr "" msgstr ""
msgid "Transmission power" msgid "Transmission power"
@ -33,20 +47,3 @@ msgid ""
"values include the antenna gain where available, but there are many devices " "values include the antenna gain where available, but there are many devices "
"for which the gain is unavailable or inaccurate." "for which the gain is unavailable or inaccurate."
msgstr "" msgstr ""
msgid "Outdoor installation"
msgstr ""
msgid "Node will be installed outdoors"
msgstr ""
msgid ""
"Configuring the node for outdoor use tunes the 5 GHz radio to a frequency "
"and transmission power that conforms with the local regulatory requirements. "
"It also enables dynamic frequency selection (DFS; radar detection). At the "
"same time, mesh functionality is disabled as it requires neighbouring nodes "
"to stay on the same channel permanently."
msgstr ""
msgid "HT Mode"
msgstr ""

View File

@ -76,7 +76,6 @@ uci:foreach('wireless', 'wifi-device', function(config)
vif_option('client', translate('Enable client network (access point)')) vif_option('client', translate('Enable client network (access point)'))
vif_option('mesh', translate("Enable mesh network (802.11s)")) vif_option('mesh', translate("Enable mesh network (802.11s)"))
vif_option('ibss', translate("Enable mesh network (IBSS)"))
local phy = util.find_phy(config) local phy = util.find_phy(config)
if not phy then if not phy then

View File

@ -1,14 +1,24 @@
config 'CONFIG_GLUON_SPECIALIZE_KERNEL=y' config 'CONFIG_GLUON_SPECIALIZE_KERNEL=y'
config 'CONFIG_TARGET_SQUASHFS_BLOCK_SIZE=64' config 'CONFIG_TARGET_SQUASHFS_BLOCK_SIZE=64'
local ATH10K_PACKAGES = {} local ATH10K_PACKAGES = {
local ATH10K_PACKAGES_QCA9887 = {} 'kmod-ath10k',
local ATH10K_PACKAGES_QCA9888 = {} '-kmod-ath10k-ct',
if env.GLUON_WLAN_MESH == '11s' then 'ath10k-firmware-qca988x',
ATH10K_PACKAGES = {'kmod-ath10k', '-kmod-ath10k-ct', 'ath10k-firmware-qca988x', '-ath10k-firmware-qca988x-ct'} '-ath10k-firmware-qca988x-ct',
ATH10K_PACKAGES_QCA9887 = {'kmod-ath10k', '-kmod-ath10k-ct', 'ath10k-firmware-qca9887', '-ath10k-firmware-qca9887-ct'} }
ATH10K_PACKAGES_QCA9888 = {'kmod-ath10k', '-kmod-ath10k-ct', 'ath10k-firmware-qca9888', '-ath10k-firmware-qca9888-ct'} local ATH10K_PACKAGES_QCA9887 = {
end 'kmod-ath10k',
'-kmod-ath10k-ct',
'ath10k-firmware-qca9887',
'-ath10k-firmware-qca9887-ct',
}
local ATH10K_PACKAGES_QCA9888 = {
'kmod-ath10k',
'-kmod-ath10k-ct',
'ath10k-firmware-qca9888',
'-ath10k-firmware-qca9888-ct',
}
-- 8devices -- 8devices
@ -307,7 +317,6 @@ device('tp-link-archer-c58-v1', 'archer-c58-v1', {
device('tp-link-archer-c59-v1', 'archer-c59-v1', { device('tp-link-archer-c59-v1', 'archer-c59-v1', {
packages = ATH10K_PACKAGES_QCA9888, packages = ATH10K_PACKAGES_QCA9888,
broken = (env.GLUON_WLAN_MESH ~= '11s'),
}) })
device('tp-link-archer-c60-v1', 'archer-c60-v1', { device('tp-link-archer-c60-v1', 'archer-c60-v1', {

View File

@ -1,9 +1,6 @@
config 'CONFIG_GLUON_SPECIALIZE_KERNEL=y' config 'CONFIG_GLUON_SPECIALIZE_KERNEL=y'
local ATH10K_PACKAGES = {} local ATH10K_PACKAGES = {'kmod-ath10k', '-kmod-ath10k-ct', 'ath10k-firmware-qca988x', '-ath10k-firmware-qca988x-ct'}
if env.GLUON_WLAN_MESH == '11s' then
ATH10K_PACKAGES = {'kmod-ath10k', '-kmod-ath10k-ct', 'ath10k-firmware-qca988x', '-ath10k-firmware-qca988x-ct'}
end
defaults { defaults {

View File

@ -1,21 +1,17 @@
local ATH10K_PACKAGES_IPQ40XX = {} local ATH10K_PACKAGES_IPQ40XX = {
local ATH10K_PACKAGES_IPQ40XX_QCA9888 = {} 'kmod-ath10k',
if env.GLUON_WLAN_MESH == '11s' then '-kmod-ath10k-ct',
ATH10K_PACKAGES_IPQ40XX = { 'ath10k-firmware-qca4019',
'kmod-ath10k', '-ath10k-firmware-qca4019-ct',
'-kmod-ath10k-ct', }
'ath10k-firmware-qca4019', local ATH10K_PACKAGES_IPQ40XX_QCA9888 = {
'-ath10k-firmware-qca4019-ct', 'kmod-ath10k',
} '-kmod-ath10k-ct',
ATH10K_PACKAGES_IPQ40XX_QCA9888 = { 'ath10k-firmware-qca4019',
'kmod-ath10k', '-ath10k-firmware-qca4019-ct',
'-kmod-ath10k-ct', 'ath10k-firmware-qca9888',
'ath10k-firmware-qca4019', '-ath10k-firmware-qca9888-ct',
'-ath10k-firmware-qca4019-ct', }
'ath10k-firmware-qca9888',
'-ath10k-firmware-qca9888-ct',
}
end
defaults { defaults {

View File

@ -2,15 +2,12 @@
device('asus-rt-ac57u', 'asus_rt-ac57u', { device('asus-rt-ac57u', 'asus_rt-ac57u', {
factory = false, factory = false,
broken = (env.GLUON_WLAN_MESH ~= '11s'),
}) })
-- D-Link -- D-Link
device('d-link-dir-860l-b1', 'dir-860l-b1', { device('d-link-dir-860l-b1', 'dir-860l-b1')
broken = (env.GLUON_WLAN_MESH ~= '11s'),
})
-- Netgear -- Netgear
@ -28,12 +25,10 @@ device('zbt-wg3526-16m', 'zbt-wg3526-16M', {
manifest_aliases = { manifest_aliases = {
'zbt-wg3526', 'zbt-wg3526',
}, },
broken = (env.GLUON_WLAN_MESH ~= '11s'),
}) })
device('zbt-wg3526-32m', 'zbt-wg3526-32M', { device('zbt-wg3526-32m', 'zbt-wg3526-32M', {
factory = false, factory = false,
broken = (env.GLUON_WLAN_MESH ~= '11s'),
}) })

View File

@ -13,5 +13,5 @@ device('lemaker-banana-pro', 'sun7i-a20-bananapro', {
}) })
device('lamobo-r1', 'sun7i-a20-lamobo-r1', { device('lamobo-r1', 'sun7i-a20-lamobo-r1', {
broken = true, -- AP+IBSS and AP+11s not working broken = true, -- AP+11s not working
}) })

View File

@ -1,5 +1,3 @@
GLUON_WLAN_MESH_11s := $(filter 11s,$(GLUON_WLAN_MESH))
$(eval $(call GluonTarget,ar71xx,generic)) $(eval $(call GluonTarget,ar71xx,generic))
ifneq ($(GLUON_DEPRECATED),0) ifneq ($(GLUON_DEPRECATED),0)
$(eval $(call GluonTarget,ar71xx,tiny)) $(eval $(call GluonTarget,ar71xx,tiny))
@ -7,25 +5,23 @@ endif
$(eval $(call GluonTarget,ar71xx,nand)) $(eval $(call GluonTarget,ar71xx,nand))
$(eval $(call GluonTarget,brcm2708,bcm2708)) $(eval $(call GluonTarget,brcm2708,bcm2708))
$(eval $(call GluonTarget,brcm2708,bcm2709)) $(eval $(call GluonTarget,brcm2708,bcm2709))
$(eval $(call GluonTarget,ipq40xx,generic))
$(eval $(call GluonTarget,ipq806x,generic))
$(eval $(call GluonTarget,lantiq,xway)) $(eval $(call GluonTarget,lantiq,xway))
$(eval $(call GluonTarget,mpc85xx,generic)) $(eval $(call GluonTarget,mpc85xx,generic))
$(eval $(call GluonTarget,mpc85xx,p1020)) $(eval $(call GluonTarget,mpc85xx,p1020))
$(eval $(call GluonTarget,ramips,mt7620))
$(eval $(call GluonTarget,ramips,mt7621)) $(eval $(call GluonTarget,ramips,mt7621))
$(eval $(call GluonTarget,ramips,mt76x8))
$(eval $(call GluonTarget,ramips,rt305x))
$(eval $(call GluonTarget,sunxi,cortexa7)) $(eval $(call GluonTarget,sunxi,cortexa7))
$(eval $(call GluonTarget,x86,generic)) $(eval $(call GluonTarget,x86,generic))
$(eval $(call GluonTarget,x86,geode)) $(eval $(call GluonTarget,x86,geode))
$(eval $(call GluonTarget,x86,64)) $(eval $(call GluonTarget,x86,64))
ifneq ($(GLUON_WLAN_MESH_11s)$(BROKEN),)
$(eval $(call GluonTarget,ipq40xx,generic))
$(eval $(call GluonTarget,ipq806x,generic))
$(eval $(call GluonTarget,ramips,mt7620))
$(eval $(call GluonTarget,ramips,mt76x8))
$(eval $(call GluonTarget,ramips,rt305x))
endif
ifneq ($(BROKEN),) ifneq ($(BROKEN),)
$(eval $(call GluonTarget,ar71xx,mikrotik)) # BROKEN: no sysupgrade support $(eval $(call GluonTarget,ar71xx,mikrotik)) # BROKEN: no sysupgrade support
$(eval $(call GluonTarget,brcm2708,bcm2710)) # BROKEN: Untested $(eval $(call GluonTarget,brcm2708,bcm2710)) # BROKEN: Untested
$(eval $(call GluonTarget,mvebu,cortexa9)) # BROKEN: No AP+IBSS or 11s support $(eval $(call GluonTarget,mvebu,cortexa9)) # BROKEN: No 11s support
endif endif

View File

@ -1,11 +1,6 @@
config 'CONFIG_VDI_IMAGES=y' config 'CONFIG_VDI_IMAGES=y'
config 'CONFIG_VMDK_IMAGES=y' config 'CONFIG_VMDK_IMAGES=y'
local ATH10K_PACKAGES = {'kmod-ath10k-ct', 'ath10k-firmware-qca9887', 'ath10k-firmware-qca988x'}
if env.GLUON_WLAN_MESH == 'ibss' then
ATH10K_PACKAGES = {'kmod-ath10k-ct', 'ath10k-firmware-qca9887-ct', 'ath10k-firmware-qca988x-ct'}
end
packages { packages {
'kmod-3c59x', 'kmod-3c59x',
'kmod-8139cp', 'kmod-8139cp',
@ -37,6 +32,7 @@ packages {
'kmod-usb2', 'kmod-usb2',
'kmod-usb3', 'kmod-usb3',
'kmod-usb-serial', 'kmod-usb-serial',
'kmod-ath10k',
'ath10k-firmware-qca9887',
'ath10k-firmware-qca988x',
} }
packages(ATH10K_PACKAGES)