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

Target

Select target project
  • firmware/gluon
  • 0x4A6F/gluon
  • patrick/gluon
3 results
Select Git revision
Show changes
Showing
with 825 additions and 453 deletions
#!/bin/sh -e
make --no-print-directory list-targets BROKEN=1 | ./contrib/actions/generate-target-filters.py > .github/filters.yml
#!/usr/bin/env bash
# shellcheck enable=check-unassigned-uppercase
set -eo pipefail
# move to basedir, in case the script is not executed via `make update-modules`
cd "$(dirname "$0")/.." || exit 1
# shellcheck source=./modules
source ./modules
git diff --quiet ./modules || {
1>&2 echo "Your modules file is dirty, aborting."
exit 1
}
LOCAL_BRANCH=$(git branch --show-current)
[[ $LOCAL_BRANCH != *-updates ]] && LOCAL_BRANCH+=-updates
for MODULE in "OPENWRT" ${GLUON_FEEDS}; do
if [[ $MODULE != "OPENWRT" ]]; then
MODULE=PACKAGES_${MODULE^^}
fi
_REMOTE_URL=${MODULE}_REPO
_REMOTE_BRANCH=${MODULE}_BRANCH
_LOCAL_HEAD=${MODULE}_COMMIT
REMOTE_URL="${!_REMOTE_URL}"
REMOTE_BRANCH="${!_REMOTE_BRANCH}"
LOCAL_HEAD="${!_LOCAL_HEAD}"
# get default branch name if none is set
[ -z "${REMOTE_BRANCH}" ] && {
REMOTE_BRANCH=$(git ls-remote --symref "${REMOTE_URL}" HEAD | awk '/^ref:/ { sub(/refs\/heads\//, "", $2); print $2 }')
}
# fetch the commit id for the HEAD of the module
REMOTE_HEAD=$(git ls-remote "${REMOTE_URL}" "${REMOTE_BRANCH}" | awk '{ print $1 }')
# skip ahead if the commit id did not change
[ "$LOCAL_HEAD" == "$REMOTE_HEAD" ] && continue 1
# switch to local working branch, if we found changes
[ "$(git branch --show-current)" != "${LOCAL_BRANCH}" ] && {
git switch -c "${LOCAL_BRANCH}" || git switch "${LOCAL_BRANCH}"
}
CHECKOUT=$(mktemp -d)
# clone the target branch
git clone --bare "${REMOTE_URL}" --branch="${REMOTE_BRANCH}" "${CHECKOUT}"
# prepare the commit message
# shellcheck disable=SC2001
MODULE=$(echo "${MODULE,,}" | sed 's/packages_//')
TITLE="modules: update ${MODULE}"
MESSAGE="$(mktemp)"
{
echo "${TITLE}"
printf '\n\n'
git -C "${CHECKOUT}" log --oneline --no-decorate --no-merges "${LOCAL_HEAD}..${REMOTE_HEAD}" | cat
} > "$MESSAGE"
# modify modules file
sed -i "s/${LOCAL_HEAD}/${REMOTE_HEAD}/" ./modules
git add ./modules
git commit -F "${MESSAGE}"
# remove the checkout
rm -fr "${CHECKOUT}"
done
#!/bin/bash
#!/usr/bin/env bash
# shellcheck enable=check-unassigned-uppercase
set -e
shopt -s nullglob
[ "$GLUON_PATCHESDIR" ] || exit 1
. scripts/modules.sh
......@@ -11,14 +14,15 @@ GLUONDIR="$(pwd)"
for module in $GLUON_MODULES; do
echo "--- Updating patches for module '$module' ---"
rm -rf "$GLUONDIR"/patches/"$module"
rm -rf "${GLUON_PATCHESDIR:?}/$module"
cd "$GLUONDIR"/"$module"
n=0
for commit in $(git rev-list --reverse --no-merges base..patched); do
let n=n+1
mkdir -p "$GLUONDIR"/patches/"$module"
git -c core.abbrev=40 show --pretty=format:'From: %an <%ae>%nDate: %aD%nSubject: %B' --no-renames --binary "$commit" > "$GLUONDIR/patches/$module/$(printf '%04u' $n)-$(git show -s --pretty=format:%f "$commit").patch"
(( ++n ))
mkdir -p "${GLUON_PATCHESDIR}/$module"
echo "Updating: $(git log --format=%s -n 1 "$commit")"
git -c core.abbrev=40 show --pretty=format:'From: %an <%ae>%nDate: %aD%nSubject: %B' --no-renames --binary "$commit" > "${GLUON_PATCHESDIR}/$module/$(printf '%04u' "$n")-$(git show -s --pretty=format:%f "$commit").patch"
done
done
#!/bin/bash
#!/usr/bin/env bash
set -e
......@@ -9,10 +9,14 @@ GLUONDIR="$(pwd)"
for module in $GLUON_MODULES; do
echo "--- Updating module '$module' ---"
var=$(echo "$module" | tr '[:lower:]/' '[:upper:]_')
eval repo=\${${var}_REPO}
eval branch=\${${var}_BRANCH}
eval commit=\${${var}_COMMIT}
var=${module//\//_}
_remote_url=${var^^}_REPO
_remote_branch=${var^^}_BRANCH
_remote_commit=${var^^}_COMMIT
repo=${!_remote_url}
branch=${!_remote_branch}
commit=${!_remote_commit}
mkdir -p "$GLUONDIR/$module"
cd "$GLUONDIR/$module"
......@@ -20,6 +24,9 @@ for module in $GLUON_MODULES; do
if ! git branch -f base "$commit" 2>/dev/null; then
git fetch "$repo" "$branch"
git branch -f base "$commit"
git branch -f base "$commit" || {
echo "unable to find commit \"$commit\" on branch \"$branch\" in repo \"$repo\"." >&2
exit 1
}
fi
done
config 'CONFIG_GLUON_SPECIALIZE_KERNEL=y'
ATH10K_PACKAGES=
ATH10K_PACKAGES_QCA9887=
if [ "$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'
fi
# 8devices
device 8devices-carambola2-board carambola2
factory
# ALFA NETWORK
device alfa-network-ap121f ap121f ap121f
factory
device alfa-network-hornet-ub hornet-ub HORNETUB
alias alfa-network-ap121
alias alfa-network-ap121u
device alfa-network-tube2h tube2h-8M TUBE2H8M
device alfa-network-n2-n5 alfa-nx ALFANX
# Allnet
device allnet-all0315n all0315n ALL0315N
factory
# AVM
device avm-fritz-box-4020 fritz4020 fritz4020
factory
# Buffalo
device buffalo-wzr-hp-g300nh wzr-hp-g300nh WZRHPG300NH
device buffalo-wzr-hp-g300nh2 wzr-hp-g300nh2 WZRHPG300NH2
device buffalo-wzr-hp-g450h wzr-hp-g450h WZRHPG450H
device buffalo-wzr-hp-ag300h wzr-hp-ag300h WZRHPAG300H
sysupgrade
device buffalo-wzr-600dhp wzr-600dhp WZR600DHP
sysupgrade
sysupgrade_image buffalo-wzr-hp-ag300h-wzr-600dhp wzr-hp-ag300h-squashfs-sysupgrade .bin
# D-Link
device d-link-dir-505-rev-a1 dir-505-a1 DIR505A1
alias d-link-dir-505-rev-a2
device d-link-dir-825-rev-b1 dir-825-b1 DIR825B1
factory
# GL Innovations
device gl-inet-6408a-v1 gl-inet-6408A-v1
device gl-inet-6416a-v1 gl-inet-6416A-v1
device gl-ar150 gl-ar150
factory
device gl-ar300m gl-ar300m
factory
device gl-ar750 gl-ar750
packages $ATH10K_PACKAGES
factory
# Linksys by Cisco
device linksys-wrt160nl wrt160nl WRT160NL
# Meraki
# BROKEN: MAC address uniqueness issues
if [ "$BROKEN" ]; then
device meraki-mr12 mr12
alias meraki-mr62
factory
device meraki-mr16 mr16
alias meraki-mr66
factory
fi
# Netgear
device netgear-wndr3700 wndr3700
factory .img
device netgear-wndr3700v2 wndr3700v2
factory .img
device netgear-wndr3800 wndr3800
factory .img
device netgear-wndrmacv2 wndrmacv2
factory .img
if [ "$BROKEN" ]; then
device netgear-wndrmac wndrmac # BROKEN: Untested
factory .img
device netgear-wnr2200 wnr2200 WNR2200 # BROKEN: Untested
factory .img
fi
# OCEDO
device ocedo-koala koala
factory
# Onion
device onion-omega onion-omega
# OpenMesh
device openmesh-a60 a60 A60
alias openmesh-a40
packages $ATH10K_PACKAGES
device openmesh-mr1750 mr1750 MR1750
alias openmesh-mr1750v2
packages $ATH10K_PACKAGES
device openmesh-mr600 mr600 MR600
alias openmesh-mr600v2
device openmesh-mr900 mr900 MR900
alias openmesh-mr900v2
device openmesh-om2p om2p OM2P
alias openmesh-om2pv2
alias openmesh-om2pv4
alias openmesh-om2p-hs
alias openmesh-om2p-hsv2
alias openmesh-om2p-hsv3
alias openmesh-om2p-hsv4
alias openmesh-om2p-lc
device openmesh-om5p om5p OM5P
alias openmesh-om5p-an
device openmesh-om5p-ac om5pac OM5PAC
alias openmesh-om5p-acv2
packages $ATH10K_PACKAGES
# TP-Link
device tp-link-cpe210-v1.0 cpe210-220-v1
alias tp-link-cpe210-v1.1
alias tp-link-cpe220-v1.1
device tp-link-cpe210-v2.0 cpe210-v2
device tp-link-cpe510-v1.0 cpe510-520-v1
alias tp-link-cpe510-v1.1
alias 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
if [ "$BROKEN" ]; then
device tp-link-tl-wr810n-v1 tl-wr810n-v1 # BROKEN: Untested
fi
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${GLUON_REGION:+-${GLUON_REGION}} .bin
device tp-link-archer-c7-v4 archer-c7-v4
packages $ATH10K_PACKAGES
if [ "$BROKEN" ]; then
device tp-link-archer-c25-v1 archer-c25-v1 # BROKEN: OOM with 5GHz enabled in most environments
packages $ATH10K_PACKAGES_QCA9887
fi
if [ "$BROKEN" ]; then
device tp-link-archer-c58-v1 archer-c58-v1 # BROKEN: OOM with 5GHz enabled in most environments
fi
if [ "$BROKEN" ] || [ "$GLUON_WLAN_MESH" = '11s' ]; then
device tp-link-archer-c59-v1 archer-c59-v1 # BROKEN: IBSS meshing not working
fi
if [ "$BROKEN" ]; then
device tp-link-archer-c60-v1 archer-c60-v1 # BROKEN: OOM with 5GHz enabled in most environments
fi
if [ "$BROKEN" ]; then
device tp-link-re355 re355-v1 # BROKEN: OOM with 5GHz enabled in most environments if device is 64M RAM variant
fi
device tp-link-re450 re450-v1
packages $ATH10K_PACKAGES
# Ubiquiti
device ubiquiti-airgateway ubnt-air-gateway
alias ubiquiti-airgateway-lr
device ubiquiti-airgateway-pro ubnt-air-gateway-pro
device ubiquiti-airrouter ubnt-airrouter
device ubiquiti-bullet-m ubnt-bullet-m
alias ubiquiti-nanostation-loco-m2
alias ubiquiti-nanostation-loco-m5
alias ubiquiti-bullet-m2
alias ubiquiti-bullet-m5
alias ubiquiti-picostation-m2
device ubiquiti-rocket-m ubnt-rocket-m
alias ubiquiti-rocket-m2
alias ubiquiti-rocket-m5
device ubiquiti-nanostation-m ubnt-nano-m
alias ubiquiti-nanostation-m2
alias ubiquiti-nanostation-m5
device ubiquiti-loco-m-xw ubnt-loco-m-xw
alias ubiquiti-nanostation-loco-m2-xw
alias ubiquiti-nanostation-loco-m5-xw
if [ "$BROKEN" ]; then
alias ubiquiti-nanobeam-m5 # BROKEN: Untested
fi
device ubiquiti-nanostation-m-xw ubnt-nano-m-xw
alias ubiquiti-nanostation-m2-xw
alias ubiquiti-nanostation-m5-xw
device ubiquiti-rocket-m-xw ubnt-rocket-m-xw
alias ubiquiti-rocket-m2-xw
alias ubiquiti-rocket-m5-xw
device ubiquiti-rocket-m-ti ubnt-rocket-m-ti
alias ubiquiti-rocket-m2-ti
alias ubiquiti-rocket-m5-ti
device ubiquiti-unifi ubnt-unifi
alias ubiquiti-unifi-ap
alias 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
if [ "$BROKEN" ]; then
device ubiquiti-ls-sr71 ubnt-ls-sr71 # BROKEN: Untested
fi
device ubiquiti-unifi-ac-lite ubnt-unifiac-lite
alias ubiquiti-unifi-ac-lr
packages $ATH10K_PACKAGES
factory
device ubiquiti-unifi-ac-pro ubnt-unifiac-pro
packages $ATH10K_PACKAGES
factory
device ubiquiti-unifi-ac-mesh ubnt-unifiac-mesh
packages $ATH10K_PACKAGES
factory
# Western Digital
device wd-my-net-n600 mynet-n600
device wd-my-net-n750 mynet-n750
config 'CONFIG_GLUON_SPECIALIZE_KERNEL=y'
# Enable ath5k in addition to ath9k
# ath5k cards are commonly used with Mikrotik hardware
packages 'kmod-ath5k'
device mikrotik-nand-64m nand-64m
factory
device mikrotik-nand-large nand-large
factory
config 'CONFIG_GLUON_SPECIALIZE_KERNEL=y'
factory -ubi-factory .img
sysupgrade -squashfs-sysupgrade .tar
# Netgear
device netgear-wndr3700v4 wndr3700v4 WNDR3700V4
device netgear-wndr4300 wndr4300 WNDR4300V1
# ZyXEL
device zyxel-nbg6716 nbg6716 NBG6716
packages $ATH10K_PACKAGES
factory -squashfs-factory .bin
config 'CONFIG_GLUON_SPECIALIZE_KERNEL=y'
no_opkg
packages '-uboot-envtools' '-kmod-usb-core' '-kmod-usb-ohci' '-kmod-usb2' '-kmod-usb-ledtrig-usbport'
# D-Link
device d-link-dir-615-rev-c1 dir-615-c1 DIR615C1
# TP-Link
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
if [ "$BROKEN" ]; then
device tp-link-tl-wr802n-v1 tl-wr802n-v1 # BROKEN: Untested
fi
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${GLUON_REGION:+-${GLUON_REGION}} .bin
device tp-link-tl-wr841n-nd-v12 tl-wr841-v12
factory -squashfs-factory${GLUON_REGION:+-${GLUON_REGION}} .bin
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
alias tp-link-tl-wr940n-v1
device tp-link-tl-wr941n-nd-v5 tl-wr941nd-v5
alias tp-link-tl-wr940n-v2
device tp-link-tl-wr941n-nd-v6 tl-wr941nd-v6
alias tp-link-tl-wr940n-v3
device tp-link-tl-wr940n-v4 tl-wr940n-v4
alias tp-link-tl-wr940n-v5
factory -squashfs-factory${GLUON_REGION:+-${GLUON_REGION}} .bin
device tp-link-tl-wr940n-v6 tl-wr940n-v6
factory -squashfs-factory${GLUON_REGION:+-${GLUON_REGION}} .bin
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 'bcm27xx.inc'
device('raspberrypi-model-b', 'rpi', {
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-plus-rev-1.2',
},
})
include 'bcm27xx.inc'
device('raspberrypi-2-model-b', 'rpi-2', {
manifest_aliases = {
-- from Gluon 2023.1 and older
'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 {
factory_ext = '.img.gz',
sysupgrade_ext = '.img.gz',
}
. targets/brcm2708.inc
device raspberry-pi rpi
manifest_alias raspberry-pi-model-b-rev-2