9e23534ec3
So far, we were using a sort operation on the generated .config to implement precedence of =y packages over =m, and =m over unset. Unfortunately, this sort not only used for packages, but for all config lines. This made it impossible to override settings from targets/generic in a target config when the new setting was sorted before the generic setting. To fix this, track configurations by their keys, so we can properly override config keys that were set before. Value-based precedence is only preserved for package configuration. The config() and try_config() calls always take key and value as separate arguments now. Strings are quoted automatically; the values true, nil and false map to y, m and unset for tristate options. config() can take an optional third argument to override the error message to display when the setting fails to apply. All existing target configs generate the same .config with the old and the new code. The new code is also a bit faster on targets with many devices.
489 lines
10 KiB
Plaintext
489 lines
10 KiB
Plaintext
config('CONFIG_GLUON_SPECIALIZE_KERNEL', true)
|
|
config('CONFIG_TARGET_SQUASHFS_BLOCK_SIZE', 64)
|
|
|
|
local ATH10K_PACKAGES = {
|
|
'kmod-ath10k',
|
|
'-kmod-ath10k-ct',
|
|
'-kmod-ath10k-ct-smallbuffers',
|
|
'ath10k-firmware-qca988x',
|
|
'-ath10k-firmware-qca988x-ct',
|
|
}
|
|
local ATH10K_PACKAGES_QCA9887 = {
|
|
'kmod-ath10k',
|
|
'-kmod-ath10k-ct',
|
|
'-kmod-ath10k-ct-smallbuffers',
|
|
'ath10k-firmware-qca9887',
|
|
'-ath10k-firmware-qca9887-ct',
|
|
}
|
|
local ATH10K_PACKAGES_QCA9888 = {
|
|
'kmod-ath10k',
|
|
'-kmod-ath10k-ct',
|
|
'-kmod-ath10k-ct-smallbuffers',
|
|
'ath10k-firmware-qca9888',
|
|
'-ath10k-firmware-qca9888-ct',
|
|
}
|
|
|
|
|
|
-- 8devices
|
|
|
|
device('8devices-carambola2-board', 'carambola2', {
|
|
factory = false,
|
|
})
|
|
|
|
|
|
-- ALFA NETWORK
|
|
|
|
device('alfa-network-ap121f', 'ap121f', {
|
|
factory = false,
|
|
class = 'tiny', -- 32M ath9k
|
|
})
|
|
|
|
|
|
-- Allnet
|
|
|
|
device('allnet-all0315n', 'all0315n', {
|
|
profile = 'ALL0315N',
|
|
factory = false,
|
|
})
|
|
|
|
|
|
-- AVM
|
|
|
|
device('avm-fritz-box-4020', 'fritz4020', {
|
|
factory = false,
|
|
})
|
|
|
|
device('avm-fritz-wlan-repeater-300e', 'fritz300e', {
|
|
factory = false,
|
|
})
|
|
|
|
device('avm-fritz-wlan-repeater-450e', 'fritz450e', {
|
|
factory = false,
|
|
})
|
|
|
|
|
|
-- Buffalo
|
|
|
|
device('buffalo-wzr-hp-g300nh', 'wzr-hp-g300nh', {
|
|
profile = 'WZRHPG300NH',
|
|
})
|
|
device('buffalo-wzr-hp-g300nh2', 'wzr-hp-g300nh2', {
|
|
profile = 'WZRHPG300NH2',
|
|
})
|
|
device('buffalo-wzr-hp-g450h', 'wzr-hp-g450h', {
|
|
profile = 'WZRHPG450H',
|
|
})
|
|
|
|
|
|
device('buffalo-wzr-hp-ag300h', 'wzr-hp-ag300h', {
|
|
profile = 'WZRHPAG300H',
|
|
sysupgrade = false,
|
|
})
|
|
device('buffalo-wzr-600dhp', 'wzr-600dhp', {
|
|
profile = 'WZR600DHP',
|
|
sysupgrade = false,
|
|
})
|
|
sysupgrade_image('buffalo-wzr-hp-ag300h-wzr-600dhp', 'wzr-hp-ag300h-squashfs-sysupgrade', '.bin')
|
|
|
|
|
|
-- D-Link
|
|
|
|
device('d-link-dap-1330-rev-a1', 'dap-1330-a1', {
|
|
factory_ext = '.img',
|
|
})
|
|
|
|
device('d-link-dir-505-rev-a1', 'dir-505-a1', {
|
|
profile = 'DIR505A1',
|
|
aliases = {'d-link-dir-505-rev-a2'},
|
|
})
|
|
|
|
device('d-link-dir-825-rev-b1', 'dir-825-b1', {
|
|
profile = 'DIR825B1',
|
|
factory = false,
|
|
})
|
|
|
|
|
|
-- GL.iNet
|
|
|
|
device('gl-inet-6408a-v1', 'gl-inet-6408A-v1')
|
|
|
|
device('gl-inet-6416a-v1', 'gl-inet-6416A-v1')
|
|
|
|
device('gl.inet-gl-ar150', 'gl-ar150', {
|
|
factory = false,
|
|
manifest_aliases = {'gl-ar150'},
|
|
})
|
|
|
|
device('gl.inet-gl-ar300m', 'gl-ar300m', {
|
|
factory = false,
|
|
manifest_aliases = {'gl-ar300m'},
|
|
})
|
|
|
|
device('gl.inet-gl-ar750', 'gl-ar750', {
|
|
factory = false,
|
|
manifest_aliases = {'gl-ar750'},
|
|
packages = ATH10K_PACKAGES_QCA9887,
|
|
})
|
|
|
|
|
|
-- Linksys by Cisco
|
|
|
|
device('linksys-wrt160nl', 'wrt160nl', {
|
|
profile = 'WRT160NL',
|
|
class = 'tiny', -- 32M ath9k
|
|
})
|
|
|
|
|
|
-- Meraki
|
|
device('meraki-mr12', 'mr12', {
|
|
factory = false,
|
|
aliases = {'meraki-mr62'},
|
|
broken = true, -- MAC address uniqueness issues
|
|
})
|
|
|
|
device('meraki-mr16', 'mr16', {
|
|
factory = false,
|
|
aliases = {'meraki-mr66'},
|
|
broken = true, -- MAC address uniqueness issues
|
|
})
|
|
|
|
|
|
-- Netgear
|
|
|
|
device('netgear-wndr3700', 'wndr3700', {
|
|
factory_ext = '.img',
|
|
})
|
|
|
|
device('netgear-wndr3700v2', 'wndr3700v2', {
|
|
factory_ext = '.img',
|
|
})
|
|
|
|
device('netgear-wndr3800', 'wndr3800', {
|
|
aliases = {'netgear-wndr3800chmychart'},
|
|
factory_ext = '.img',
|
|
})
|
|
|
|
device('netgear-wndrmacv2', 'wndrmacv2', {
|
|
factory_ext = '.img',
|
|
})
|
|
|
|
device('netgear-wndrmac', 'wndrmac', {
|
|
factory_ext = '.img',
|
|
broken = true, -- untested
|
|
})
|
|
|
|
-- BROKEN: Untested
|
|
device('netgear-wnr2200', 'wnr2200', {
|
|
profile = 'WNR2200',
|
|
factory_ext = '.img',
|
|
broken = true, -- untested
|
|
})
|
|
|
|
|
|
-- OCEDO
|
|
|
|
device('ocedo-koala', 'koala', {
|
|
factory = false,
|
|
packages = ATH10K_PACKAGES,
|
|
})
|
|
|
|
|
|
-- Onion
|
|
|
|
device('onion-omega', 'onion-omega', {
|
|
broken = true, -- no Ethernet
|
|
})
|
|
|
|
-- OpenMesh
|
|
|
|
device('openmesh-a60', 'a60', {
|
|
profile = 'A60',
|
|
aliases = {'openmesh-a40'},
|
|
packages = ATH10K_PACKAGES,
|
|
})
|
|
|
|
device('openmesh-mr1750', 'mr1750', {
|
|
profile = 'MR1750',
|
|
aliases = {'openmesh-mr1750v2'},
|
|
packages = ATH10K_PACKAGES,
|
|
})
|
|
|
|
device('openmesh-mr600', 'mr600', {
|
|
profile = 'MR600',
|
|
aliases = {'openmesh-mr600v2'},
|
|
})
|
|
|
|
device('openmesh-mr900', 'mr900', {
|
|
profile = 'MR900',
|
|
aliases = {'openmesh-mr900v2'},
|
|
})
|
|
|
|
device('openmesh-om2p', 'om2p', {
|
|
profile = 'OM2P',
|
|
aliases = {
|
|
'openmesh-om2pv2',
|
|
'openmesh-om2pv4',
|
|
'openmesh-om2p-hs',
|
|
'openmesh-om2p-hsv2',
|
|
'openmesh-om2p-hsv3',
|
|
'openmesh-om2p-hsv4',
|
|
'openmesh-om2p-lc',
|
|
},
|
|
})
|
|
|
|
device('openmesh-om5p', 'om5p', {
|
|
profile = 'OM5P',
|
|
aliases = {'openmesh-om5p-an'},
|
|
})
|
|
|
|
device('openmesh-om5p-ac', 'om5pac', {
|
|
profile = 'OM5PAC',
|
|
aliases = {'openmesh-om5p-acv2'},
|
|
packages = ATH10K_PACKAGES,
|
|
})
|
|
|
|
|
|
-- TP-Link
|
|
|
|
local tplink_region_suffix = ''
|
|
if (env.GLUON_REGION or '') ~= '' then
|
|
tplink_region_suffix = '-' .. env.GLUON_REGION
|
|
end
|
|
|
|
device('tp-link-cpe210-v1.0', 'cpe210-220-v1', {
|
|
aliases = {'tp-link-cpe210-v1.1', 'tp-link-cpe220-v1.1'},
|
|
})
|
|
device('tp-link-cpe210-v2.0', 'cpe210-v2')
|
|
device('tp-link-cpe210-v3.0', 'cpe210-v3')
|
|
|
|
device('tp-link-cpe510-v1.0', 'cpe510-520-v1', {
|
|
aliases = {'tp-link-cpe510-v1.1', 'tp-link-cpe520-v1.1'},
|
|
})
|
|
|
|
device('tp-link-wbs210-v1.20', 'wbs210-v1')
|
|
device('tp-link-wbs510-v1.20', 'wbs510-v1')
|
|
|
|
device('tp-link-tl-wr710n-v1', 'tl-wr710n-v1', {
|
|
class = 'tiny', -- 32M ath9k
|
|
packages = { 'zram-swap' },
|
|
})
|
|
device('tp-link-tl-wr710n-v2.1', 'tl-wr710n-v2.1', {
|
|
class = 'tiny', -- 32M ath9k
|
|
packages = { 'zram-swap' },
|
|
})
|
|
|
|
device('tp-link-tl-wr810n-v1', 'tl-wr810n-v1')
|
|
|
|
device('tp-link-tl-wr842n-nd-v1', 'tl-wr842n-v1', {
|
|
class = 'tiny', -- 32M ath9k
|
|
packages = { 'zram-swap' },
|
|
})
|
|
device('tp-link-tl-wr842n-nd-v2', 'tl-wr842n-v2', {
|
|
class = 'tiny', -- 32M ath9k
|
|
packages = { 'zram-swap' },
|
|
})
|
|
device('tp-link-tl-wr842n-nd-v3', 'tl-wr842n-v3')
|
|
|
|
device('tp-link-tl-wr1043n-nd-v1', 'tl-wr1043nd-v1', {
|
|
class = 'tiny', -- 32M ath9k
|
|
packages = { 'zram-swap' },
|
|
})
|
|
device('tp-link-tl-wr1043n-nd-v2', 'tl-wr1043nd-v2')
|
|
device('tp-link-tl-wr1043n-nd-v3', 'tl-wr1043nd-v3')
|
|
device('tp-link-tl-wr1043n-nd-v4', 'tl-wr1043nd-v4')
|
|
device('tp-link-tl-wr1043n-v5', 'tl-wr1043n-v5')
|
|
|
|
device('tp-link-tl-wdr3500-v1', 'tl-wdr3500-v1')
|
|
device('tp-link-tl-wdr3600-v1', 'tl-wdr3600-v1')
|
|
device('tp-link-tl-wdr4300-v1', 'tl-wdr4300-v1')
|
|
|
|
device('tp-link-tl-wr2543n-nd-v1', 'tl-wr2543-v1')
|
|
|
|
device('tp-link-archer-c5-v1', 'archer-c5-v1', {
|
|
packages = ATH10K_PACKAGES,
|
|
})
|
|
|
|
device('tp-link-archer-c7-v2', 'archer-c7-v2', {
|
|
packages = ATH10K_PACKAGES,
|
|
factory = '-squashfs-factory' .. tplink_region_suffix,
|
|
})
|
|
|
|
device('tp-link-archer-c7-v4', 'archer-c7-v4', {
|
|
packages = ATH10K_PACKAGES,
|
|
})
|
|
|
|
device('tp-link-archer-c7-v5', 'archer-c7-v5', {
|
|
packages = ATH10K_PACKAGES,
|
|
})
|
|
|
|
device('tp-link-archer-c25-v1', 'archer-c25-v1', {
|
|
packages = ATH10K_PACKAGES_QCA9887,
|
|
broken = true, -- OOM with 5GHz enabled in most environments
|
|
class = 'tiny', -- 64M ath9k + ath10k
|
|
})
|
|
|
|
device('tp-link-archer-c58-v1', 'archer-c58-v1', {
|
|
packages = ATH10K_PACKAGES_QCA9888,
|
|
broken = true, -- OOM with 5GHz enabled in most environments
|
|
class = 'tiny', -- 64M ath9k + ath10k
|
|
})
|
|
|
|
device('tp-link-archer-c59-v1', 'archer-c59-v1', {
|
|
packages = ATH10K_PACKAGES_QCA9888,
|
|
})
|
|
|
|
device('tp-link-archer-c60-v1', 'archer-c60-v1', {
|
|
packages = ATH10K_PACKAGES_QCA9888,
|
|
broken = true, -- OOM with 5GHz enabled in most environments
|
|
class = 'tiny', -- 64M ath9k + ath10k
|
|
})
|
|
|
|
device('tp-link-archer-c60-v2', 'archer-c60-v2', {
|
|
packages = ATH10K_PACKAGES_QCA9888,
|
|
broken = true, -- OOM with 5GHz enabled in most environments
|
|
class = 'tiny', -- 64M ath9k + ath10k
|
|
})
|
|
|
|
device('tp-link-re355', 're355-v1', {
|
|
packages = ATH10K_PACKAGES,
|
|
broken = true, -- OOM with 5GHz enabled in most environments if device is 64M RAM variant
|
|
class = 'tiny', -- Only 6M of usable Firmware space
|
|
})
|
|
|
|
device('tp-link-tl-wr902ac-v1', 'tl-wr902ac-v1', {
|
|
packages = ATH10K_PACKAGES_QCA9887,
|
|
broken = true, -- OOM due to insufficient RAM for ath10k expected
|
|
class = 'tiny', -- 64M ath9k + ath10k
|
|
})
|
|
|
|
device('tp-link-re450', 're450-v1', {
|
|
packages = ATH10K_PACKAGES,
|
|
class = 'tiny', -- Only 6M of usable Firmware space
|
|
})
|
|
|
|
|
|
-- Ubiquiti
|
|
|
|
device('ubiquiti-airgateway', 'ubnt-air-gateway', {
|
|
aliases = {'ubiquiti-airgateway-lr'},
|
|
class = 'tiny', -- 32M ath9k
|
|
})
|
|
|
|
device('ubiquiti-airgateway-pro', 'ubnt-air-gateway-pro', {
|
|
class = 'tiny', -- 32M ath9k
|
|
})
|
|
|
|
device('ubiquiti-airrouter', 'ubnt-airrouter', {
|
|
class = 'tiny', -- 32M ath9k
|
|
})
|
|
|
|
device('ubiquiti-bullet-m', 'ubnt-bullet-m', {
|
|
aliases = {
|
|
'ubiquiti-nanostation-loco-m2',
|
|
'ubiquiti-nanostation-loco-m5',
|
|
'ubiquiti-bullet-m2',
|
|
'ubiquiti-bullet-m5',
|
|
'ubiquiti-picostation-m2',
|
|
},
|
|
packages = { 'zram-swap' },
|
|
class = 'tiny', -- 32M ath9k
|
|
})
|
|
|
|
device('ubiquiti-rocket-m', 'ubnt-rocket-m', {
|
|
aliases = {
|
|
'ubiquiti-rocket-m2',
|
|
'ubiquiti-rocket-m5',
|
|
},
|
|
})
|
|
|
|
device('ubiquiti-nanostation-m', 'ubnt-nano-m', {
|
|
aliases = {
|
|
'ubiquiti-nanostation-m2',
|
|
'ubiquiti-nanostation-m5',
|
|
},
|
|
packages = { 'zram-swap' },
|
|
class = 'tiny', -- 32M ath9k
|
|
})
|
|
|
|
device('ubiquiti-loco-m-xw', 'ubnt-loco-m-xw', {
|
|
aliases = {
|
|
'ubiquiti-nanostation-loco-m2-xw',
|
|
'ubiquiti-nanostation-loco-m5-xw',
|
|
-- 'ubiquiti-nanobeam-m5', -- untested
|
|
},
|
|
})
|
|
|
|
device('ubiquiti-nanostation-m-xw', 'ubnt-nano-m-xw', {
|
|
aliases = {
|
|
'ubiquiti-nanostation-m2-xw',
|
|
'ubiquiti-nanostation-m5-xw',
|
|
},
|
|
})
|
|
|
|
device('ubiquiti-rocket-m-xw', 'ubnt-rocket-m-xw', {
|
|
aliases = {
|
|
'ubiquiti-rocket-m2-xw',
|
|
'ubiquiti-rocket-m5-xw',
|
|
},
|
|
})
|
|
|
|
device('ubiquiti-rocket-m-ti', 'ubnt-rocket-m-ti', {
|
|
aliases = {
|
|
'ubiquiti-rocket-m2-ti',
|
|
'ubiquiti-rocket-m5-ti',
|
|
},
|
|
})
|
|
|
|
device('ubiquiti-unifi', 'ubnt-unifi', {
|
|
aliases = {
|
|
'ubiquiti-unifi-ap',
|
|
'ubiquiti-unifi-ap-lr',
|
|
},
|
|
})
|
|
|
|
device('ubiquiti-unifi-ap-pro', 'ubnt-uap-pro')
|
|
device('ubiquiti-unifiap-outdoor', 'ubnt-unifi-outdoor')
|
|
device('ubiquiti-unifiap-outdoor+', 'ubnt-unifi-outdoor-plus')
|
|
|
|
device('ubiquiti-ls-sr71', 'ubnt-ls-sr71', {
|
|
broken = true, -- untested
|
|
class = 'tiny', -- 32M ath9k
|
|
})
|
|
|
|
device('ubiquiti-unifi-ac-lite', 'ubnt-unifiac-lite', {
|
|
factory = false,
|
|
packages = ATH10K_PACKAGES,
|
|
aliases = {'ubiquiti-unifi-ac-lite-mesh'},
|
|
})
|
|
|
|
device('ubiquiti-unifi-ac-lr', 'ubnt-unifiac-lr', {
|
|
factory = false,
|
|
packages = ATH10K_PACKAGES,
|
|
})
|
|
|
|
device('ubiquiti-unifi-ac-pro', 'ubnt-unifiac-pro', {
|
|
factory = false,
|
|
packages = ATH10K_PACKAGES,
|
|
})
|
|
|
|
device('ubiquiti-unifi-ac-mesh', 'ubnt-unifiac-mesh', {
|
|
factory = false,
|
|
packages = ATH10K_PACKAGES,
|
|
})
|
|
|
|
device('ubiquiti-unifi-ac-mesh-pro', 'ubnt-unifiac-mesh-pro', {
|
|
factory = false,
|
|
packages = ATH10K_PACKAGES,
|
|
})
|
|
|
|
|
|
-- Western Digital
|
|
|
|
device('wd-my-net-n600', 'mynet-n600')
|
|
device('wd-my-net-n750', 'mynet-n750')
|
|
|
|
-- ZyXEL
|
|
device('zyxel-nbg6616', 'NBG6616', {
|
|
packages = ATH10K_PACKAGES,
|
|
})
|