diff --git a/docs/user/supported_devices.rst b/docs/user/supported_devices.rst
index 0f1da2e14221774dd1a740764e03dae017fa1697..1498476338dc56d902d65598c1490e21caa66717 100644
--- a/docs/user/supported_devices.rst
+++ b/docs/user/supported_devices.rst
@@ -43,6 +43,7 @@ ath79-generic
   - DAP-1330 A1 [#lan_as_wan]_
   - DAP-1365 A1 [#lan_as_wan]_
   - DAP-2660 A1 [#lan_as_wan]_
+  - DAP-2680 A1 [#lan_as_wan]_
   - DIR-505 A1 [#lan_as_wan]_
   - DIR-505 A2 [#lan_as_wan]_
   - DIR-825 B1
diff --git a/targets/ath79-generic b/targets/ath79-generic
index 11d78ba28089a26c5bf0724146ed9549d12312fb..b3846cef694c851c8cec465aa601e23a41c9c6a4 100644
--- a/targets/ath79-generic
+++ b/targets/ath79-generic
@@ -17,6 +17,14 @@ local ATH10K_PACKAGES_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 = {
@@ -118,6 +126,11 @@ device('d-link-dap-2660-a1', 'dlink_dap-2660-a1', {
 	packages = ATH10K_PACKAGES_QCA9880,
 })
 
+device('d-link-dap-2680-a1', 'dlink_dap-2680-a1', {
+	factory_ext = '.img',
+	packages = ATH10K_PACKAGES_QCA9984,
+})
+
 device('d-link-dir-505', 'dlink_dir-505', {
 	factory = false,
 	manifest_aliases = {