Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • 0x4A6F-master
  • 0x4A6F-rpi4
  • autinerd/experimental-openwrt-24.10
  • experimental
  • feature/addMikrotikwAP
  • master
  • nrb/airmax-test
  • nrb/ar9344-reset-sequence
  • nrb/ex400-remove-wps
  • nrb/gluon-master-cpe510
  • nrb/test-radv-filter
  • nrbffs/fastd-remove-delay
  • nrbffs/netgear-ex6120
  • v2018.2.2-ffs
  • v2018.2.3-ffs
  • v2019.1-ffs
  • v2019.1.1-ffs
  • v2019.1.2-ffs
  • v2020.1-ffs
  • v2020.1.1-ffs
  • v2020.1.3-ffs
  • v2020.2-ffs
  • v2020.2.1-ffs
  • v2020.2.2-ffs
  • v2020.2.3-ffs
  • v2021.1-ffs
  • v2021.1.1-ffs
  • v2021.1.2-ffs
  • v2022.1.1-ffs
  • v2022.1.3-ffs
  • v2022.1.4-ffs
  • v2023.1-ffs
  • v2023.2-ffs
  • v2023.2.2-ffs
  • v2023.2.3-ffs
  • v2023.2.4-ffs
  • v2023.2.5-ffs
  • experimental-2022-09-24
  • experimental-2022-09-24-base
  • experimental-2023-03-11
  • experimental-2023-03-11-base
  • experimental-2023-03-12
  • experimental-2023-03-12-base
  • experimental-2023-03-16
  • experimental-2023-03-16-base
  • experimental-2023-03-20
  • experimental-2023-03-20-base
  • experimental-2023-03-23
  • experimental-2023-03-23-base
  • experimental-2023-03-25
  • experimental-2023-03-25-base
  • experimental-2023-03-26
  • experimental-2023-03-26-base
  • experimental-2023-03-30
  • experimental-2023-03-30-base
  • experimental-2023-03-31
  • experimental-2023-03-31-base
  • experimental-2023-04-01
  • experimental-2023-04-01-base
  • experimental-2023-04-08
  • experimental-2023-04-08-base
  • experimental-2023-04-10
  • experimental-2023-04-10-base
  • experimental-2023-04-13
  • experimental-2023-04-13-base
  • experimental-2023-04-15
  • experimental-2023-04-15-base
  • experimental-2023-04-16
  • experimental-2023-04-16-base
  • experimental-2023-04-18
  • experimental-2023-04-18-base
  • experimental-2023-04-20
  • experimental-2023-04-20-base
  • experimental-2023-04-26
  • experimental-2023-04-26-base
  • experimental-2023-04-28
  • experimental-2023-04-28-base
  • experimental-2023-04-30
  • experimental-2023-04-30-base
  • experimental-2023-05-02
  • experimental-2023-05-02-base
  • experimental-2023-05-03
  • experimental-2023-05-03-base
  • experimental-2023-05-12
  • experimental-2023-05-12-base
  • experimental-2023-05-21
  • experimental-2023-05-21-base
  • experimental-2023-05-25
  • experimental-2023-05-25-base
  • experimental-2023-07-02
  • experimental-2023-07-02-base
  • experimental-2023-07-04
  • experimental-2023-07-04-base
  • experimental-2023-07-12
  • experimental-2023-07-12-base
  • experimental-2023-07-16
  • experimental-2023-07-16-base
  • experimental-2023-08-04
  • experimental-2023-08-04-base
  • experimental-2023-08-10
  • experimental-2023-08-10-base
  • experimental-2023-09-08
  • experimental-2023-09-08-base
  • experimental-2023-09-09
  • experimental-2023-09-09-base
  • experimental-2023-09-10
  • experimental-2023-09-10-base
  • experimental-2023-09-11
  • experimental-2023-09-11-base
  • experimental-2023-09-12
  • experimental-2023-09-12-base
  • experimental-2023-09-13
  • experimental-2023-09-13-base
  • experimental-2023-09-15
  • experimental-2023-09-15-base
  • experimental-2023-09-16
  • experimental-2023-09-16-base
  • experimental-2023-09-18
  • experimental-2023-09-18-base
  • experimental-2023-09-20
  • experimental-2023-09-20-base
  • experimental-2023-09-27
  • experimental-2023-09-27-base
  • experimental-2023-09-28
  • experimental-2023-09-28-base
  • experimental-2023-09-29
  • experimental-2023-09-29-base
  • experimental-2023-10-02
  • experimental-2023-10-02-base
  • experimental-2023-10-13
  • experimental-2023-10-13-base
  • experimental-2023-10-14
  • experimental-2023-10-14-base
  • experimental-2023-10-16
  • experimental-2023-10-16-base
  • experimental-2023-10-23
  • experimental-2023-10-23-base
137 results

Target

Select target project
  • firmware/gluon
  • 0x4A6F/gluon
  • patrick/gluon
3 results
Select Git revision
  • 0x4A6F-master
  • 0x4A6F-rpi4
  • 2014.3.x
  • 2014.4.x
  • babel
  • experimental
  • hoodselector
  • master
  • nrb/gluon-master-cpe510
  • nrb/test-radv-filter
  • nrbffs/fastd-remove-delay
  • nrbffs/netgear-ex6120
  • radv-filterd
  • v2015.1.x
  • v2016.1.x
  • v2016.2.4-batmanbug
  • v2016.2.x
  • v2018.2.2-ffs
  • v2018.2.3-ffs
  • v2018.2.x
  • v2019.1-ffs
  • v2019.1.1-ffs
  • v2019.1.2-ffs
  • v2020.1-ffs
  • v2020.1.1-ffs
  • v2020.1.3-ffs
  • v2020.2-ffs
  • v2020.2.1-ffs
  • v2020.2.2-ffs
  • v2020.2.3-ffs
  • v2020.2.x
  • v2021.1-ffs
  • v2021.1.1-ffs
  • v2021.1.2-ffs
  • v2014.1
  • v2014.2
  • v2014.3
  • v2014.3.1
  • v2014.4
  • v2015.1
  • v2015.1.1
  • v2015.1.2
  • v2016.1
  • v2016.1.1
  • v2016.1.2
  • v2016.1.3
  • v2016.1.4
  • v2016.1.5
  • v2016.1.6
  • v2016.2
  • v2016.2.1
  • v2016.2.2
  • v2016.2.3
  • v2016.2.4
  • v2016.2.5
  • v2016.2.6
  • v2016.2.7
  • v2017.1
  • v2017.1.1
  • v2017.1.2
  • v2017.1.3
  • v2017.1.4
  • v2017.1.5
  • v2017.1.6
  • v2017.1.7
  • v2017.1.8
  • v2018.1
  • v2018.1.1
  • v2018.1.2
  • v2018.1.3
  • v2018.1.4
  • v2018.2
  • v2018.2-ffs0.1
  • v2018.2.1
  • v2018.2.1-ffs0.1
  • v2018.2.2-ffs0.1
  • v2018.2.3-ffs0.1
  • v2019.1-ffs0.1
  • v2019.1.1-ffs0.1
  • v2019.1.2-ffs0.1
  • v2020.1-ffs0.1
  • v2020.1.1-ffs0.1
  • v2020.1.3-ffs0.1
  • v2020.2
  • v2020.2-ffs0.1
  • v2020.2.1-ffs0.1
  • v2020.2.2-ffs0.1
  • v2020.2.3-ffs0.1
  • v2020.2.3-ffs0.2
  • v2020.2.3-ffs0.3
  • v2020.2.x-ffs0.1
  • v2021.1-ffs0.1
  • v2021.1.1-ffs0.1
  • v2021.1.1-ffs0.2
  • v2021.1.1-ffs0.3
  • v2021.1.1-ffs0.4
  • v2021.1.2-ffs0.1
  • v2021.1.2-ffs0.2
98 results
Show changes
Showing
with 993 additions and 732 deletions
config 'CONFIG_GLUON_SPECIALIZE_KERNEL=y'
config 'CONFIG_TARGET_SQUASHFS_BLOCK_SIZE=64'
local ATH10K_PACKAGES = {}
local ATH10K_PACKAGES_QCA9887 = {}
if env.GLUON_WLAN_MESH == 'ibss' then
ATH10K_PACKAGES = {'-kmod-ath10k', 'kmod-ath10k-ct', '-ath10k-firmware-qca988x', 'ath10k-firmware-qca988x-ct'}
ATH10K_PACKAGES_QCA9887 = {'-kmod-ath10k', 'kmod-ath10k-ct', '-ath10k-firmware-qca9887', 'ath10k-firmware-qca9887-ct'}
end
-- 8devices
device('8devices-carambola2-board', 'carambola2', {
factory = false,
})
-- ALFA NETWORK
device('alfa-network-ap121f', 'ap121f', {
factory = false,
})
device('alfa-network-hornet-ub', 'hornet-ub', {
profile = 'HORNETUB',
aliases = { 'alfa-network-ap121', 'alfa-network-ap121u' },
})
device('alfa-network-tube2h', 'tube2h-8M', {
profile = 'TUBE2H8M',
})
device('alfa-network-n2-n5', 'alfa-nx', {
profile = 'ALFANX',
})
-- 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 Innovations
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',
})
-- 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', {
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,
})
-- 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')
device('tp-link-tl-wr710n-v2.1', 'tl-wr710n-v2.1')
device('tp-link-tl-wr810n-v1', 'tl-wr810n-v1')
device('tp-link-tl-wr842n-nd-v1', 'tl-wr842n-v1')
device('tp-link-tl-wr842n-nd-v2', 'tl-wr842n-v2')
device('tp-link-tl-wr842n-nd-v3', 'tl-wr842n-v3')
device('tp-link-tl-wr1043n-nd-v1', 'tl-wr1043nd-v1')
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,
})
device('tp-link-archer-c58-v1', 'archer-c58-v1', {
broken = true, -- OOM with 5GHz enabled in most environments
})
device('tp-link-archer-c59-v1', 'archer-c59-v1', {
broken = (env.GLUON_WLAN_MESH ~= '11s'),
})
device('tp-link-archer-c60-v1', 'archer-c60-v1', {
broken = true, -- OOM with 5GHz enabled in most environments
})
device('tp-link-re355', 're355-v1', {
broken = true, -- OOM with 5GHz enabled in most environments if device is 64M RAM variant
})
device('tp-link-tl-wr902ac-v1', 'tl-wr902ac-v1', {
broken = true, -- OOM due to insufficient RAM for ath10k expected
})
device('tp-link-re450', 're450-v1', {
packages = ATH10K_PACKAGES,
})
-- Ubiquiti
device('ubiquiti-airgateway', 'ubnt-air-gateway', {
aliases = {'ubiquiti-airgateway-lr'},
})
device('ubiquiti-airgateway-pro', 'ubnt-air-gateway-pro')
device('ubiquiti-airrouter', 'ubnt-airrouter')
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',
},
})
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',
},
})
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
})
device('ubiquiti-unifi-ac-lite', 'ubnt-unifiac-lite', {
factory = false,
packages = ATH10K_PACKAGES,
aliases = {'ubiquiti-unifi-ac-lr'},
})
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,
})
config 'CONFIG_GLUON_SPECIALIZE_KERNEL=y'
defaults {
factory = false,
}
device('mikrotik-rb-nor-flash-16M', 'rb-nor-flash-16M')
device('mikrotik-rb-nor-flash-16M-ac', 'rb-nor-flash-16M-ac')
device('mikrotik-nand-64m', 'nand-64m')
device('mikrotik-nand-large', 'nand-large')
device('mikrotik-nand-large-ac', 'nand-large-ac')
config 'CONFIG_GLUON_SPECIALIZE_KERNEL=y'
local ATH10K_PACKAGES = {}
if env.GLUON_WLAN_MESH == 'ibss' then
ATH10K_PACKAGES = {'-kmod-ath10k', 'kmod-ath10k-ct', '-ath10k-firmware-qca988x', 'ath10k-firmware-qca988x-ct'}
end
defaults {
sysupgrade_ext = '.tar',
}
-- Aerohive
device('aerohive-hiveap-121', 'hiveap-121')
-- Netgear
device('netgear-wndr3700v4', 'wndr3700v4', {
profile = 'WNDR3700V4',
factory = '-ubi-factory',
factory_ext = '.img',
})
device('netgear-wndr4300', 'wndr4300', {
profile = 'WNDR4300V1',
factory = '-ubi-factory',
factory_ext = '.img',
})
-- ZyXEL
device('zyxel-nbg6716', 'nbg6716', {
profile = 'NBG6716',
packages = ATH10K_PACKAGES,
})
config 'CONFIG_GLUON_SPECIALIZE_KERNEL=y'
no_opkg()
packages {
'-uboot-envtools',
'-kmod-usb-core',
'-kmod-usb-ohci',
'-kmod-usb2',
'-kmod-usb-ledtrig-usbport',
}
defaults {
deprecated = true, -- 4/32
}
-- D-Link
device('d-link-dir-615-rev-c1', 'dir-615-c1', {
profile = 'DIR615C1',
})
-- TP-Link
local tplink_region_suffix = ''
if (env.GLUON_REGION or '') ~= '' then
tplink_region_suffix = '-' .. env.GLUON_REGION
end
device('tp-link-tl-wa701n-nd-v1', 'tl-wa701nd-v1')
device('tp-link-tl-wa701n-nd-v2', 'tl-wa701nd-v2')
device('tp-link-tl-wa7210n-v2', 'tl-wa7210n-v2')
device('tp-link-tl-wa7510n-v1', 'tl-wa7510n-v1')
device('tp-link-tl-wr703n-v1', 'tl-wr703n-v1')
device('tp-link-tl-wr710n-v2', 'tl-wr710n-v2')
device('tp-link-tl-wr740n-nd-v1', 'tl-wr740n-v1')
device('tp-link-tl-wr740n-nd-v3', 'tl-wr740n-v3')
device('tp-link-tl-wr740n-nd-v4', 'tl-wr740n-v4')
device('tp-link-tl-wr740n-nd-v5', 'tl-wr740n-v5')
device('tp-link-tl-wr741n-nd-v1', 'tl-wr741nd-v1')
device('tp-link-tl-wr741n-nd-v2', 'tl-wr741nd-v2')
device('tp-link-tl-wr741n-nd-v4', 'tl-wr741nd-v4')
device('tp-link-tl-wr741n-nd-v5', 'tl-wr741nd-v5')
device('tp-link-tl-wr743n-nd-v1', 'tl-wr743nd-v1')
device('tp-link-tl-wr743n-nd-v2', 'tl-wr743nd-v2')
device('tp-link-tl-wa801n-nd-v1', 'tl-wa801nd-v1')
device('tp-link-tl-wa801n-nd-v2', 'tl-wa801nd-v2')
device('tp-link-tl-wa801n-nd-v3', 'tl-wa801nd-v3')
device('tp-link-tl-wr802n-v1', 'tl-wr802n-v1', {
broken = true, -- untested
})
device('tp-link-tl-wr840n-v2', 'tl-wr840n-v2')
device('tp-link-tl-wr841n-nd-v3', 'tl-wr841-v3')
device('tp-link-tl-wr841n-nd-v5', 'tl-wr841-v5')
device('tp-link-tl-wr841n-nd-v7', 'tl-wr841-v7')
device('tp-link-tl-wr841n-nd-v8', 'tl-wr841-v8')
device('tp-link-tl-wr841n-nd-v9', 'tl-wr841-v9')
device('tp-link-tl-wr841n-nd-v10', 'tl-wr841-v10')
device('tp-link-tl-wr841n-nd-v11', 'tl-wr841-v11', {
factory = '-squashfs-factory' .. tplink_region_suffix,
})
device('tp-link-tl-wr841n-nd-v12', 'tl-wr841-v12', {
factory = '-squashfs-factory' .. tplink_region_suffix,
})
device('tp-link-tl-wr843n-nd-v1', 'tl-wr843nd-v1')
device('tp-link-tl-wr941n-nd-v2', 'tl-wr941nd-v2')
device('tp-link-tl-wr941n-nd-v3', 'tl-wr941nd-v3')
device('tp-link-tl-wr941n-nd-v4', 'tl-wr941nd-v4', {
aliases = {'tp-link-tl-wr940n-v1'},
})
device('tp-link-tl-wr941n-nd-v5', 'tl-wr941nd-v5', {
aliases = {'tp-link-tl-wr940n-v2'},
})
device('tp-link-tl-wr941n-nd-v6', 'tl-wr941nd-v6', {
aliases = {'tp-link-tl-wr940n-v3'},
})
device('tp-link-tl-wr940n-v4', 'tl-wr940n-v4', {
factory = '-squashfs-factory' .. tplink_region_suffix,
aliases = {'tp-link-tl-wr940n-v5'},
})
device('tp-link-tl-wr940n-v6', 'tl-wr940n-v6', {
factory = '-squashfs-factory' .. tplink_region_suffix,
})
device('tp-link-tl-wa730re-v1', 'tl-wa730re-v1')
device('tp-link-tl-wa750re-v1', 'tl-wa750re-v1')
device('tp-link-tl-wa830re-v1', 'tl-wa830re-v1')
device('tp-link-tl-wa830re-v2', 'tl-wa830re-v2')
device('tp-link-tl-wa850re-v1', 'tl-wa850re-v1')
device('tp-link-tl-wa860re-v1', 'tl-wa860re-v1')
device('tp-link-tl-wa901n-nd-v1', 'tl-wa901nd-v1')
device('tp-link-tl-wa901n-nd-v2', 'tl-wa901nd-v2')
device('tp-link-tl-wa901n-nd-v3', 'tl-wa901nd-v3')
device('tp-link-tl-wa901n-nd-v4', 'tl-wa901nd-v4')
device('tp-link-tl-wa901n-nd-v5', 'tl-wa901nd-v5')
device('tp-link-tl-mr13u-v1', 'tl-mr13u-v1')
device('tp-link-tl-mr3020-v1', 'tl-mr3020-v1')
device('tp-link-tl-mr3040-v1', 'tl-mr3040-v1')
device('tp-link-tl-mr3040-v2', 'tl-mr3040-v2')
device('tp-link-tl-mr3220-v1', 'tl-mr3220-v1')
device('tp-link-tl-mr3220-v2', 'tl-mr3220-v2')
device('tp-link-tl-mr3420-v1', 'tl-mr3420-v1')
device('tp-link-tl-mr3420-v2', 'tl-mr3420-v2')
include 'armsr.inc'
device('armsr-armv7', 'generic')
include 'armsr.inc'
device('armsr-armv8', 'generic')
-- We do not use the ext4 images, so we do not want to build them.
config('TARGET_ROOTFS_EXT4FS', false)
defaults {
factory = '-squashfs-combined-efi',
factory_ext = '.img.gz',
sysupgrade = '-squashfs-combined-efi',
sysupgrade_ext = '.img.gz',
}
-- enforce mainline ath10k kmod/firmware over openwrt default ath10k-ct usage
-- ath10k-ct is unstable/broken with 11s meshing, works only wave2 chipsets
local ATH10K_PACKAGES_QCA9880 = {
'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_QCA9984 = {
'kmod-ath10k',
'-kmod-ath10k-ct',
'-kmod-ath10k-ct-smallbuffers',
'ath10k-firmware-qca9984',
'-ath10k-firmware-qca9984-ct',
}
-- enforce mainline ath10k-smallbuffers kmod, fixes 5GHz-OOM for low memory devices
local ATH10K_PACKAGES_SMALLBUFFERS_QCA9880 = {
'kmod-ath10k-smallbuffers',
'-kmod-ath10k-ct',
'-kmod-ath10k-ct-smallbuffers',
'ath10k-firmware-qca988x',
'-ath10k-firmware-qca988x-ct',
}
local ATH10K_PACKAGES_SMALLBUFFERS_QCA9887 = {
'kmod-ath10k-smallbuffers',
'-kmod-ath10k-ct',
'-kmod-ath10k-ct-smallbuffers',
'ath10k-firmware-qca9887',
'-ath10k-firmware-qca9887-ct',
}
local ATH10K_PACKAGES_QCA9888 = {}
-- ALFA Network
device('alfa-network-ap121f', 'alfa-network_ap121f', {
factory = false,
})
-- AVM
device('avm-fritz-box-4020', 'avm_fritz4020', {
factory = false,
})
device('avm-fritz-wlan-repeater-300e', 'avm_fritz300e', {
factory = false,
})
device('avm-fritz-wlan-repeater-450e', 'avm_fritz450e', {
factory = false,
})
device('avm-fritz-wlan-repeater-1750e', 'avm_fritz1750e', {
packages = ATH10K_PACKAGES_SMALLBUFFERS_QCA9880,
factory = false,
broken = true, -- OOM with 5GHz enabled in most environments
class = 'tiny', -- 64M ath9k + ath10k
})
-- Buffalo
device('buffalo-wzr-hp-ag300h', 'buffalo_wzr-hp-ag300h')
device('buffalo-wzr-600dhp', 'buffalo_wzr-600dhp')
device('buffalo-wzr-hp-g300nh-rtl8366s', 'buffalo_wzr-hp-g300nh-s')
-- devolo
device('devolo-dlan-pro-1200+-wifi-ac', 'devolo_dlan-pro-1200plus-ac', {
packages = ATH10K_PACKAGES_QCA9880,
factory = false,
broken = true, -- no power led
})
device('devolo-wifi-pro-1200e', 'devolo_dvl1200e', {
packages = ATH10K_PACKAGES_QCA9880,
factory = false,
})
device('devolo-wifi-pro-1200i', 'devolo_dvl1200i', {
packages = ATH10K_PACKAGES_QCA9880,
factory = false,
})
device('devolo-wifi-pro-1750c', 'devolo_dvl1750c', {
packages = ATH10K_PACKAGES_QCA9880,
factory = false,
})
device('devolo-wifi-pro-1750e', 'devolo_dvl1750e', {
packages = ATH10K_PACKAGES_QCA9880,
factory = false,
})
device('devolo-wifi-pro-1750i', 'devolo_dvl1750i', {
packages = ATH10K_PACKAGES_QCA9880,
factory = false,
})
device('devolo-wifi-pro-1750x', 'devolo_dvl1750x', {
packages = ATH10K_PACKAGES_QCA9880,
factory = false,
})
-- D-Link
device('d-link-dap-1330-a1', 'dlink_dap-1330-a1')
device('d-link-dap-1365-a1', 'dlink_dap-1365-a1')
device('d-link-dap-2660-a1', 'dlink_dap-2660-a1', {
factory_ext = '.img',
packages = ATH10K_PACKAGES_QCA9880,
})
device('d-link-dap-2680-a1', 'dlink_dap-2680-a1', {
factory_ext = '.img',
packages = ATH10K_PACKAGES_QCA9984,
})
device('d-link-dap-2695-a1', 'dlink_dap-2695-a1', {
factory_ext = '.img',
packages = ATH10K_PACKAGES_QCA9880,
})
device('d-link-dir-505', 'dlink_dir-505', {
factory = false,
})
device('d-link-dir825b1', 'dlink_dir-825-b1', {
factory = false,
})
device('d-link-dir-825-c1', 'dlink_dir-825-c1', {
factory = false,
manifest_aliases = {
'd-link-dir-825-rev-c1', -- Upgrade from OpenWrt 19.07
},
})
-- Enterasys
device('enterasys-ws-ap3705i', 'enterasys_ws-ap3705i', {
factory = false,
})
-- Extreme Networks
device('extreme-networks-ws-ap3805i', 'extreme-networks_ws-ap3805i', {
packages = ATH10K_PACKAGES_QCA9880,
factory = false,
})
-- GL.iNet
device('gl.inet-6416', 'glinet_6416', {
factory = false,
})
device('gl.inet-gl-ar150', 'glinet_gl-ar150', {
factory = false,
})
device('gl.inet-gl-ar300m-lite', 'glinet_gl-ar300m-lite', {
factory = false,
})
device('gl.inet-gl-ar750', 'glinet_gl-ar750', {
factory = false,
packages = ATH10K_PACKAGES_QCA9887,
})
device('gl.inet-gl-usb150', 'glinet_gl-usb150', {
factory = false,
})
-- Joy-IT
device('joy-it-jt-or750i', 'joyit_jt-or750i', {
packages = ATH10K_PACKAGES_QCA9887,
factory = false,
})
-- LibreRouter
-- lacks support for additional radios
device('librerouter-v1', 'librerouter_librerouter-v1', {
factory = false,
})
-- NETGEAR
device('netgear-wndr3700', 'netgear_wndr3700', {
factory_ext = '.img',
})
device('netgear-wndr3700-v2', 'netgear_wndr3700-v2', {
factory_ext = '.img',
})
device('netgear-wndr3800', 'netgear_wndr3800', {
factory_ext = '.img',
})
device('netgear-wndr3800ch', 'netgear_wndr3800ch', {
factory_ext = '.img',
})
device('netgear-wnr2200-8m', 'netgear_wnr2200-8m', {
factory_ext = '.img',
})
device('netgear-wnr2200-16m', 'netgear_wnr2200-16m', {
factory_ext = '.img',
})
device('netgear-wndrmac-v2', 'netgear_wndrmac-v2', {
factory_ext = '.img',
})
-- OCEDO
device('ocedo-koala', 'ocedo_koala', {
factory = false,
packages = ATH10K_PACKAGES_QCA9880,
})
device('ocedo-raccoon', 'ocedo_raccoon', {
factory = false,
})
-- Onion
-- modular/optional "ethernet expansion board" recommended for config mode
-- setup via integrated (USB-)tty is possible as well
device('onion-omega', 'onion_omega')
-- OpenMesh
device('openmesh-a40', 'openmesh_a40', {
packages = ATH10K_PACKAGES_QCA9880,
factory = false,
})
device('openmesh-a60', 'openmesh_a60', {
packages = ATH10K_PACKAGES_QCA9880,
factory = false,
})
device('openmesh-mr600-v1', 'openmesh_mr600-v1', {
factory = false,
})
device('openmesh-mr600-v2', 'openmesh_mr600-v2', {
factory = false,
})
device('openmesh-mr900-v1', 'openmesh_mr900-v1', {
factory = false,
})
device('openmesh-mr900-v2', 'openmesh_mr900-v2', {
factory = false,
})
device('openmesh-mr1750-v1', 'openmesh_mr1750-v1', {
packages = ATH10K_PACKAGES_QCA9880,
factory = false,
})
device('openmesh-mr1750-v2', 'openmesh_mr1750-v2', {
packages = ATH10K_PACKAGES_QCA9880,
factory = false,
})
device('openmesh-om2p-v1', 'openmesh_om2p-v1', {
factory = false,
})
device('openmesh-om2p-v2', 'openmesh_om2p-v2', {
factory = false,
})
device('openmesh-om2p-v4', 'openmesh_om2p-v4', {
factory = false,
})
device('openmesh-om2p-hs-v1', 'openmesh_om2p-hs-v1', {
factory = false,
})
device('openmesh-om2p-hs-v2', 'openmesh_om2p-hs-v2', {
factory = false,
})
device('openmesh-om2p-hs-v3', 'openmesh_om2p-hs-v3', {
factory = false,
})
device('openmesh-om2p-hs-v4', 'openmesh_om2p-hs-v4', {
factory = false,
})
device('openmesh-om2p-lc', 'openmesh_om2p-lc', {
factory = false,
})
device('openmesh-om5p', 'openmesh_om5p', {
factory = false,
})
device('openmesh-om5p-ac-v1', 'openmesh_om5p-ac-v1', {
packages = ATH10K_PACKAGES_QCA9880,
factory = false,
})
device('openmesh-om5p-ac-v2', 'openmesh_om5p-ac-v2', {
packages = ATH10K_PACKAGES_QCA9880,
factory = false,
})
device('openmesh-om5p-an', 'openmesh_om5p-an', {
factory = false,
})
-- Plasma Cloud
device('plasma-cloud-pa300', 'plasmacloud_pa300')
device('plasma-cloud-pa300e', 'plasmacloud_pa300e')
-- Siemens
device('siemens-ws-ap3610', 'siemens_ws-ap3610', {
factory = false,
})
-- Sophos
device('sophos-ap15', 'sophos_ap15', {
packages = ATH10K_PACKAGES_QCA9880,
factory = false,
broken = true, -- no button and no external console port
})
device('sophos-ap15c', 'sophos_ap15c', {
packages = ATH10K_PACKAGES_QCA9880,
factory = false,
})
device('sophos-ap100', 'sophos_ap100', {
packages = ATH10K_PACKAGES_QCA9880,
factory = false,
})
device('sophos-ap100c', 'sophos_ap100c', {
packages = ATH10K_PACKAGES_QCA9880,
factory = false,
})
device('sophos-ap55', 'sophos_ap55', {
packages = ATH10K_PACKAGES_QCA9880,
factory = false,
})
device('sophos-ap55c', 'sophos_ap55c', {
packages = ATH10K_PACKAGES_QCA9880,
factory = false,
})
-- Teltonika
device('teltonika-rut230-v1', 'teltonika_rut230-v1')
-- TP-Link
local tplink_region_suffix = ''
if (env.GLUON_REGION or '') ~= '' then
tplink_region_suffix = '-' .. env.GLUON_REGION
end
device('tp-link-archer-a7-v5', 'tplink_archer-a7-v5', {
packages = ATH10K_PACKAGES_QCA9880,
})
device('tp-link-archer-c2-v3', 'tplink_archer-c2-v3', {
packages = ATH10K_PACKAGES_SMALLBUFFERS_QCA9887,
class = 'tiny',
broken = true, -- 64M ath9k + ath10k
})
device('tp-link-archer-c25-v1', 'tplink_archer-c25-v1', {
packages = ATH10K_PACKAGES_SMALLBUFFERS_QCA9887,
broken = true, -- OOM with 5GHz enabled in most environments
class = 'tiny', -- 64M ath9k + ath10k
})
device('tp-link-archer-c5-v1', 'tplink_archer-c5-v1', {
packages = ATH10K_PACKAGES_QCA9880,
})
device('tp-link-archer-c58-v1', 'tplink_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-c6-v2-eu-ru-jp', 'tplink_archer-c6-v2', {
packages = ATH10K_PACKAGES_QCA9888,
})
device('tp-link-archer-c7-v2', 'tplink_archer-c7-v2', {
packages = ATH10K_PACKAGES_QCA9880,
factory = '-squashfs-factory' .. tplink_region_suffix,
})
device('tp-link-archer-c7-v4', 'tplink_archer-c7-v4', {
packages = ATH10K_PACKAGES_QCA9880,
})
device('tp-link-archer-c7-v5', 'tplink_archer-c7-v5', {
packages = ATH10K_PACKAGES_QCA9880,
})
device('tp-link-archer-c59-v1', 'tplink_archer-c59-v1', {
packages = ATH10K_PACKAGES_QCA9888,
})
device('tp-link-archer-c60-v1', 'tplink_archer-c60-v1', {
packages = ATH10K_PACKAGES_SMALLBUFFERS_QCA9880,
factory = false,
})
device('tp-link-archer-d50-v1', 'tplink_archer-d50-v1', {
packages = ATH10K_PACKAGES_SMALLBUFFERS_QCA9880,
factory = false,
broken = true, -- 64M ath9k + ath10k & power LED not working
})
device('tp-link-cpe210-v1', 'tplink_cpe210-v1')
device('tp-link-cpe210-v2', 'tplink_cpe210-v2')
device('tp-link-cpe210-v3', 'tplink_cpe210-v3')
device('tp-link-cpe220-v3', 'tplink_cpe220-v3')
device('tp-link-cpe510-v1', 'tplink_cpe510-v1')
device('tp-link-cpe510-v2', 'tplink_cpe510-v2')
device('tp-link-cpe510-v3', 'tplink_cpe510-v3')
device('tp-link-cpe710-v1', 'tplink_cpe710-v1')
device('tp-link-eap225-outdoor-v1', 'tplink_eap225-outdoor-v1', {
packages = ATH10K_PACKAGES_QCA9888,
})
device('tp-link-eap225-outdoor-v3', 'tplink_eap225-outdoor-v3', {
packages = ATH10K_PACKAGES_QCA9888,
})
device('tp-link-tl-wdr3500-v1', 'tplink_tl-wdr3500-v1')
device('tp-link-tl-wdr3600-v1', 'tplink_tl-wdr3600-v1')
device('tp-link-tl-wdr4300-v1', 'tplink_tl-wdr4300-v1')
device('tp-link-tl-wr810n-v1', 'tplink_tl-wr810n-v1')
device('tp-link-tl-wr842n-v3', 'tplink_tl-wr842n-v3')
device('tp-link-tl-wr902ac-v1', 'tplink_tl-wr902ac-v1', {
packages = ATH10K_PACKAGES_SMALLBUFFERS_QCA9887,
broken = true, -- OOM with 5GHz enabled in most environments
class = 'tiny', -- 64M ath9k + ath10k
})
device('tp-link-tl-wr1043nd-v2', 'tplink_tl-wr1043nd-v2')
device('tp-link-tl-wr1043nd-v3', 'tplink_tl-wr1043nd-v3')
device('tp-link-tl-wr1043nd-v4', 'tplink_tl-wr1043nd-v4')
device('tp-link-tl-wr1043n-v5', 'tplink_tl-wr1043n-v5')
device('tp-link-tl-wr2543n-nd', 'tplink_tl-wr2543-v1')
device('tp-link-wbs210-v1', 'tplink_wbs210-v1')
device('tp-link-wbs210-v2', 'tplink_wbs210-v2')
device('tp-link-wbs510-v1', 'tplink_wbs510-v1')
-- Ubiquiti
device('ubiquiti-nanobeam-ac-gen1-xc', 'ubnt_nanobeam-ac-xc', {
packages = ATH10K_PACKAGES_QCA9880,
})
device('ubiquiti-nanostation-loco-m-xw', 'ubnt_nanostation-loco-m-xw', {
aliases = {
'ubiquiti-nanobeam-m5-xw',
},
})
device('ubiquiti-nanostation-m-xw', 'ubnt_nanostation-m-xw')
device('ubiquiti-unifi-ac-lite', 'ubnt_unifiac-lite', {
factory = false,
packages = ATH10K_PACKAGES_QCA9880,
})
device('ubiquiti-unifi-ac-lr', 'ubnt_unifiac-lr', {
factory = false,
packages = ATH10K_PACKAGES_QCA9880,
})
device('ubiquiti-unifi-ac-mesh', 'ubnt_unifiac-mesh', {
factory = false,
packages = ATH10K_PACKAGES_QCA9880,
})
device('ubiquiti-unifi-ac-mesh-pro', 'ubnt_unifiac-mesh-pro', {
factory = false,
packages = ATH10K_PACKAGES_QCA9880,
})
device('ubiquiti-unifi-ac-pro', 'ubnt_unifiac-pro', {
factory = false,
packages = ATH10K_PACKAGES_QCA9880,
})
device('ubiquiti-unifi-ap', 'ubnt_unifi-ap', {
aliases = {
'ubiquiti-unifi-ap-lr',
},
manifest_aliases = {
'ubiquiti-unifi', -- Upgrade from OpenWrt 22.03
},
})
device('ubiquiti-unifi-ap-outdoor+', 'ubnt_unifi-ap-outdoor-plus')
device('ubiquiti-unifi-ap-pro', 'ubnt_unifi-ap-pro')
device('ubiquiti-unifi-swiss-army-knife-ultra', 'ubnt_uk-ultra', {
factory = false,
packages = ATH10K_PACKAGES_QCA9880,
})
include 'mikrotik.inc'
device('mikrotik-routerboard-951ui-2nd-hap', 'mikrotik_routerboard-951ui-2nd')
device('mikrotik-routerboard-wapr-2nd', 'mikrotik_routerboard-wapr-2nd')
local ATH10K_PACKAGES_QCA9880 = {
'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 = {}
-- Aerohive
device('aerohive-hiveap-121', 'aerohive_hiveap-121')
-- GL.iNet
device('gl.inet-gl-ar300m-nor', 'glinet_gl-ar300m-nor', {
factory = false,
})
device('gl.inet-gl-ar750s-nor', 'glinet_gl-ar750s-nor', {
factory = false,
packages = ATH10K_PACKAGES_QCA9887,
})
device('gl.inet-gl-e750', 'glinet_gl-e750', {
broken = true, -- the display is not showing status and there are no LEDs
factory = false,
packages = ATH10K_PACKAGES_QCA9887,
})
device('gl.inet-gl-xe300', 'glinet_gl-xe300', {
factory = false,
})
-- NETGEAR
device('netgear-wndr3700-v4', 'netgear_wndr3700-v4', {
factory_ext = '.img',
})
device('netgear-wndr4300', 'netgear_wndr4300', {
factory_ext = '.img',
})
-- ZTE
device('zte-mf281', 'zte_mf281', {
broken = true, -- case must be opened to install
packages = ATH10K_PACKAGES_QCA9888,
})
-- Zyxel
device('zyxel-nbg6716', 'zyxel_nbg6716', {
packages = ATH10K_PACKAGES_QCA9880,
sysupgrade_ext = '.tar',
})
include 'brcm2708.inc' include 'bcm27xx.inc'
device('raspberry-pi', 'rpi', { device('raspberrypi-model-b', 'rpi', {
manifest_aliases = { manifest_aliases = {
'raspberrypi-model-b-plus',
'raspberrypi-model-b-rev2',
-- from Gluon 2023.1 and older
'raspberry-pi-model-b-rev-1',
'raspberry-pi-model-b-rev-2', 'raspberry-pi-model-b-rev-2',
'raspberry-pi-model-b-plus-rev-1.2', 'raspberry-pi-model-b-plus-rev-1.2',
}, },
......
include 'brcm2708.inc' include 'bcm27xx.inc'
device('raspberry-pi-2', 'rpi-2', { device('raspberrypi-2-model-b', 'rpi-2', {
manifest_aliases = { manifest_aliases = {
-- from Gluon 2023.1 and older
'raspberry-pi-2-model-b-rev-1.1', 'raspberry-pi-2-model-b-rev-1.1',
}, },
}) })
include 'bcm27xx.inc'
device('raspberrypi-3-model-b', 'rpi-3', {
manifest_aliases = {
'raspberrypi-3-model-b-plus',
-- from Gluon 2023.1 and older
'raspberry-pi-3-model-b-rev-1.2',
'raspberry-pi-3-model-b-plus-rev-1.3',
},
})
include 'bcm27xx.inc'
device('raspberrypi-4-model-b', 'rpi-4', {
manifest_aliases = {
-- from Gluon 2023.1 and older
'raspberry-pi-4-model-b-rev-1.1',
'raspberry-pi-4-model-b-rev-1.2', -- untested
'raspberry-pi-4-model-b-rev-1.4', -- untested
'raspberry-pi-4-model-b-rev-1.5', -- untested
},
})
-- We do not use the ext4 images, so we do not want to build them.
config('TARGET_ROOTFS_EXT4FS', false)
defaults { defaults {
factory = '-ext4-factory',
factory_ext = '.img.gz', factory_ext = '.img.gz',
sysupgrade = '-ext4-sysupgrade',
sysupgrade_ext = '.img.gz', sysupgrade_ext = '.img.gz',
} }
include 'brcm2708.inc'
device('raspberry-pi-3', 'rpi-3')
assert(env.GLUON_LANGS) assert(env.GLUON_LANGS)
config('CONFIG_GLUON_SITEDIR="%s"', env.GLUON_SITEDIR) config('GLUON_SITEDIR', env.GLUON_SITEDIR)
config('CONFIG_GLUON_RELEASE="%s"', env.GLUON_RELEASE) config('GLUON_VERSION', env.GLUON_VERSION)
try_config('CONFIG_GLUON_BRANCH="%s"', env.GLUON_BRANCH or '') config('GLUON_SITE_VERSION', env.GLUON_SITE_VERSION)
config('GLUON_RELEASE', env.GLUON_RELEASE)
try_config('GLUON_AUTOUPDATER_BRANCH', env.GLUON_AUTOUPDATER_BRANCH)
try_config('GLUON_AUTOUPDATER_ENABLED', istrue(env.GLUON_AUTOUPDATER_ENABLED))
for lang in string.gmatch(env.GLUON_LANGS, '%S+') do for lang in string.gmatch(env.GLUON_LANGS, '%S+') do
try_config('CONFIG_GLUON_WEB_LANG_%s=y', lang) try_config('GLUON_WEB_LANG_' .. lang, true)
end end
config('CONFIG_TARGET_%s=y', env.BOARD) config('TARGET_' .. env.BOARD, true)
if env.SUBTARGET ~= '' then if env.SUBTARGET ~= '' then
config('CONFIG_TARGET_%s_%s=y', env.BOARD, env.SUBTARGET) config(string.format('TARGET_%s_%s', env.BOARD, env.SUBTARGET), true)
end end
-- Disable non-default feeds in distfeeds.conf -- Disable non-default feeds in distfeeds.conf
config('# CONFIG_FEED_gluon_base is not set') config('FEED_gluon_base', false)
local default_feeds = {} local default_feeds = {}
for feed in string.gmatch(exec_capture_raw('. scripts/default_feeds.sh && echo "$DEFAULT_FEEDS"'), '%S+') do for feed in string.gmatch(exec_capture_raw('. scripts/default_feeds.sh && echo "$DEFAULT_FEEDS"'), '%S+') do
...@@ -24,46 +28,101 @@ end ...@@ -24,46 +28,101 @@ end
for feed in string.gmatch(exec_capture_raw('. scripts/modules.sh && echo -n "$FEEDS"'), '%S+') do for feed in string.gmatch(exec_capture_raw('. scripts/modules.sh && echo -n "$FEEDS"'), '%S+') do
if not default_feeds[feed] then if not default_feeds[feed] then
config('# CONFIG_FEED_%s is not set', feed) config('FEED_' .. feed, false)
end end
end end
config '# CONFIG_TARGET_ROOTFS_INITRAMFS is not set' config('TARGET_ROOTFS_INITRAMFS', false)
config 'CONFIG_ALL_NONSHARED=y' config('DEVEL', true)
config('ALL_NONSHARED', true)
config '# CONFIG_PACKAGE_usbip is not set' -- fails to build config('BPF_TOOLCHAIN_HOST', true)
config '# CONFIG_PACKAGE_kmod-jool is not set' -- fails to build
try_config('PACKAGE_usbip', false) -- fails to build
config 'CONFIG_BUSYBOX_CUSTOM=y' try_config('PACKAGE_coova-chilli', false) -- fails to build
config '# CONFIG_BUSYBOX_CONFIG_FEATURE_PREFER_IPV4_ADDRESS is not set' try_config('PACKAGE_kmod-ipt-coova', false) -- fails to build
try_config('PACKAGE_libpfring', false) -- fails to build
config 'CONFIG_PACKAGE_ATH_DEBUG=y' try_config('PACKAGE_kmod-pf-ring', false) -- fails to build
config '# CONFIG_KERNEL_IP_MROUTE is not set' try_config('PACKAGE_ATH_DEBUG', true)
config '# CONFIG_KERNEL_IPV6_MROUTE is not set'
try_config('PACKAGE_dnsmasq_full_dhcpv6', false)
try_config 'CONFIG_TARGET_MULTI_PROFILE=y' try_config('PACKAGE_dnsmasq_full_auth', false)
try_config 'CONFIG_TARGET_PER_DEVICE_ROOTFS=y' try_config('PACKAGE_dnsmasq_full_ipset', false)
try_config('PACKAGE_dnsmasq_full_nftset', false)
if envtrue.GLUON_MULTIDOMAIN then try_config('PACKAGE_dnsmasq_full_conntrack', false)
config 'CONFIG_GLUON_MULTIDOMAIN=y' try_config('PACKAGE_dnsmasq_full_noid', false)
end try_config('PACKAGE_dnsmasq_full_broken_rtc', false)
try_config('PACKAGE_dnsmasq_full_rtc', false)
if envtrue.GLUON_DEBUG then
config 'CONFIG_DEBUG=y' try_config('TARGET_SQUASHFS_BLOCK_SIZE', 256)
config 'CONFIG_NO_STRIP=y'
config '# CONFIG_USE_STRIP is not set' -- OpenWrt disables ed25519 keys on SMALL_FLASH targets
config '# CONFIG_USE_SSTRIP is not set' -- (e.g. ramips-mt76x8) by default.
config('DROPBEAR_ED25519', true)
config('KERNEL_PROC_STRIPPED', true)
config('KERNEL_AIO', false)
try_config('KERNEL_IO_URING', false)
config('KERNEL_FHANDLE', false)
config('KERNEL_FANOTIFY', false)
config('KERNEL_CGROUPS', false)
-- KERNEL_NAMESPACES is required for procd-ujail
-- This option is enabled by default on non small flash targets
config('KERNEL_NAMESPACES', true)
config('KERNEL_IP_MROUTE', false)
config('KERNEL_IPV6_MROUTE', false)
config('KERNEL_IPV6_SEG6_LWTUNNEL', false)
config('KERNEL_SWAP', false)
config('USE_SECCOMP', false)
config('KERNEL_SECCOMP', false)
-- kmod-mt7915e pulls in CONFIG_KERNEL_RELAY
-- use try_config, so enabling the package is still possible
try_config('PACKAGE_kmod-mt7915e', false)
try_config('OONF_GENERIC_HTTP', true)
config('COLLECT_KERNEL_DEBUG', true)
config('TARGET_MULTI_PROFILE', true)
config('TARGET_PER_DEVICE_ROOTFS', true)
config('GLUON_MULTIDOMAIN', istrue(env.GLUON_MULTIDOMAIN))
try_config('GRUB_TITLE', 'Gluon')
config('AUTOREMOVE', istrue(env.GLUON_AUTOREMOVE))
if (tonumber(env.GLUON_DEBUG) or 0) > 1 then
config('DEBUG', true)
config('NO_STRIP', true)
config('USE_STRIP', false)
config('USE_SSTRIP', false)
try_config('TARGET_ROOTFS_PARTSIZE', 500)
elseif istrue(env.GLUON_DEBUG) then
config('USE_STRIP', true)
config('USE_SSTRIP', false)
end end
config('GLUON_MINIFY', istrue(env.GLUON_MINIFY))
packages { packages {
'-ca-bundle',
'-dnsmasq',
'-kmod-ipt-offload',
'-kmod-nft-offload',
'-libustream-mbedtls',
'-libmbedtls',
'-nftables',
'-odhcpd-ipv6only', '-odhcpd-ipv6only',
'-ppp', '-ppp',
'-ppp-mod-pppoe', '-ppp-mod-pppoe',
'-wpad-mini', '-wpad-mini',
'-wpad-basic',
'-wpad-basic-mbedtls',
'-firewall4',
'gluon-core', 'gluon-core',
'ip6tables', 'ip6tables-zz-legacy',
} }
local ATH10K_PACKAGES_IPQ40XX = {}
local ATH10K_PACKAGES_IPQ40XX_QCA9888 = {'ath10k-firmware-qca9888'}
if env.GLUON_WLAN_MESH == 'ibss' then
ATH10K_PACKAGES_IPQ40XX = {
'-kmod-ath10k',
'kmod-ath10k-ct',
'-ath10k-firmware-qca4019',
'ath10k-firmware-qca4019-ct',
}
ATH10K_PACKAGES_IPQ40XX_QCA9888 = {
'-kmod-ath10k',
'kmod-ath10k-ct',
'-ath10k-firmware-qca4019',
'ath10k-firmware-qca4019-ct',
'-ath10k-firmware-qca9888',
'ath10k-firmware-qca9888-ct',
}
end
defaults {
packages = ATH10K_PACKAGES_IPQ40XX,
}
-- AVM
device('avm-fritz-box-4040', 'avm_fritzbox-4040', {
factory = false,
extra_images = {
{'-squashfs-eva', '-bootloader', '.bin'},
},
})
-- GL.iNet
device('gl.inet-gl-b1300', 'glinet_gl-b1300', {
factory = false,
})
-- NETGEAR
device('netgear-ex6100v2', 'netgear_ex6100v2', {
factory_ext = '.img',
})
device('netgear-ex6150v2', 'netgear_ex6150v2', {
factory_ext = '.img',
})
-- OpenMesh
device('openmesh-a42', 'openmesh_a42')
device('openmesh-a62', 'openmesh_a62', {
packages = ATH10K_PACKAGES_IPQ40XX_QCA9888,
})
-- ZyXEL
device('zyxel-nbg6617', 'zyxel_nbg6617')
device('zyxel-wre6606', 'zyxel_wre6606', {
factory = false,
})
-- 8devices
device('8devices-jalapeno', '8dev_jalapeno', {
factory = '-squashfs-nand-factory',
factory_ext = '.ubi',
sysupgrade = '-squashfs-nand-sysupgrade',
sysupgrade_ext = '.bin',
})
local ATH10K_PACKAGES_IPQ40XX = {
'kmod-ath10k',
'-kmod-ath10k-ct',
'-kmod-ath10k-ct-smallbuffers',
'ath10k-firmware-qca4019',
'-ath10k-firmware-qca4019-ct',
}
local ATH10K_PACKAGES_IPQ40XX_QCA9888 = {
'kmod-ath10k',
'-kmod-ath10k-ct',
'-kmod-ath10k-ct-smallbuffers',
'ath10k-firmware-qca4019',
'-ath10k-firmware-qca4019-ct',
'ath10k-firmware-qca9888',
'-ath10k-firmware-qca9888-ct',
}
defaults {
packages = ATH10K_PACKAGES_IPQ40XX,
}
-- Aruba
device('aruba-ap-303', 'aruba_ap-303', {
factory = false,
aliases = {'aruba-instant-on-ap11'},
})
device('aruba-ap-303h', 'aruba_ap-303h', {
factory = false,
aliases = {'aruba-instant-on-ap11d'},
})
device('aruba-ap-365', 'aruba_ap-365', {
factory = false,
aliases = {'aruba-instant-on-ap17'},
})
-- AVM
device('avm-fritz-box-4040', 'avm_fritzbox-4040', {
factory = false,
extra_images = {
{'-squashfs-eva', '-bootloader', '.bin'},
},
})
device('avm-fritz-box-7530', 'avm_fritzbox-7530', {
factory = false,
aliases = {'avm-fritz-box-7520'},
packages = {
-- same as ATH10K_PACKAGES_IPQ40XX
'kmod-ath10k',
'-kmod-ath10k-ct',
'-kmod-ath10k-ct-smallbuffers',
'ath10k-firmware-qca4019',
'-ath10k-firmware-qca4019-ct',
-- VDSL modem
'ppp',
'kmod-ppp',
'ppp-mod-pppoe',
},
})
device('avm-fritz-repeater-1200', 'avm_fritzrepeater-1200', {
factory = false,
})
-- GL.iNet
device('gl.inet-gl-ap1300', 'glinet_gl-ap1300', {
factory_ext = '.ubi',
})
device('gl.inet-gl-b1300', 'glinet_gl-b1300', {
factory = false,
})
-- Linksys
device('linksys-ea6350v3', 'linksys_ea6350v3')
-- Meraki
device('meraki-mr33-access-point', 'meraki_mr33', {
packages = {
-- radio0 is monitoring radio - removed for now
-- the -ct firmware does not have working mesh
'-ath10k-firmware-qca9887-ct',
'-ath10k-board-qca9887',
},
factory = false,
broken = true,
-- case must be opened to install
-- the board also bricks the SoC on newer bootloader-versions which is irreversible
-- third radio not yet working
})
-- NETGEAR
device('netgear-ex6100v2', 'netgear_ex6100v2', {
factory_ext = '.img',
})
device('netgear-ex6150v2', 'netgear_ex6150v2', {
factory_ext = '.img',
})
-- OpenMesh
device('openmesh-a42', 'openmesh_a42')
device('openmesh-a62', 'openmesh_a62', {
packages = ATH10K_PACKAGES_IPQ40XX_QCA9888,
})
-- Plasma Cloud
device('plasma-cloud-pa1200', 'plasmacloud_pa1200')
device('plasma-cloud-pa2200', 'plasmacloud_pa2200', {
packages = ATH10K_PACKAGES_IPQ40XX_QCA9888,
})
-- ZTE
device('zte-mf289f', 'zte_mf289f', {
broken = true, -- case must be opened to install
factory = false,
})
-- Zyxel
device('zyxel-nbg6617', 'zyxel_nbg6617')
-- 8devices
device('8devices-jalapeno', '8dev_jalapeno', {
factory_ext = '.ubi',
})
-- Extreme Networks
device('extreme-networks-ws-ap3915i', 'extreme-networks_ws-ap3915i', {
factory = false,
})
include 'mikrotik.inc'
local ATH10K_PACKAGES_IPQ40XX_SMALLBUFFERS = {}
device('mikrotik-hap-ac2', 'mikrotik_hap-ac2', {
packages = ATH10K_PACKAGES_IPQ40XX_SMALLBUFFERS,
})
device('mikrotik-sxtsq-5-ac-rbsxtsqg-5acd', 'mikrotik_sxtsq-5-ac', {
factory = false,
aliases = {'mikrotik-discg-5acd'},
})