diff --git a/target/linux/ar71xx/generic/profiles/8devices.mk b/target/linux/ar71xx/generic/profiles/8devices.mk
deleted file mode 100644
index 209403aeb2..0000000000
--- a/target/linux/ar71xx/generic/profiles/8devices.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# Copyright (C) 2013 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/CARAMBOLA2
-        NAME:=Carambola2 board from 8Devices
-        PACKAGES:=kmod-usb-core kmod-usb2
-endef
-
-define Profile/CARAMBOLA2/Description
-        Package set optimized for the 8devices Carambola2 board.
-endef
-
-$(eval $(call Profile,CARAMBOLA2))
diff --git a/target/linux/ar71xx/generic/profiles/airtight.mk b/target/linux/ar71xx/generic/profiles/airtight.mk
deleted file mode 100644
index 00f9ce4bef..0000000000
--- a/target/linux/ar71xx/generic/profiles/airtight.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# Copyright (C) 2015 Chris Blake (chrisrblake93@gmail.com)
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/C-55
-	NAME:=AirTight Networks C-55
-	PACKAGES:=kmod-ath9k
-endef
-
-define Profile/C-55/Description
-	Package set optimized for the AirTight Networks C-55 AP.
-endef
-
-$(eval $(call Profile,C-55))
diff --git a/target/linux/ar71xx/generic/profiles/alfa.mk b/target/linux/ar71xx/generic/profiles/alfa.mk
deleted file mode 100644
index ae82fb704d..0000000000
--- a/target/linux/ar71xx/generic/profiles/alfa.mk
+++ /dev/null
@@ -1,78 +0,0 @@
-#
-# Copyright (C) 2011-2016 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/ALFAAP120C
-	NAME:=ALFA Network AP120C board
-	PACKAGES:=uboot-envtools
-endef
-
-define Profile/ALFAAP120C/Description
-	Package set optimized for the ALFA Network AP120C board
-endef
-
-$(eval $(call Profile,ALFAAP120C))
-
-
-define Profile/ALFAAP96
-	NAME:=ALFA Network AP96 board
-	PACKAGES:=kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-rtc-pcf2123
-endef
-
-define Profile/ALFAAP96/Description
-	Package set optimized for the ALFA Network AP96 board.
-endef
-
-$(eval $(call Profile,ALFAAP96))
-
-
-define Profile/HORNETUB
-	NAME:=ALFA Network Hornet-UB board (8MB flash, 32MB ram)
-	PACKAGES:=kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
-endef
-
-define Profile/HORNETUB/Description
-	Package set optimized for the ALFA Network Hornet-UB board with 8MB
-	flash and 32MB ram.
-endef
-
-$(eval $(call Profile,HORNETUB))
-
-
-define Profile/HORNETUBx2
-	NAME:=ALFA Network Hornet-UB-x2 board (16MB flash, 64MB ram)
-	PACKAGES:=kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
-endef
-
-define Profile/HORNETUBx2/Description
-	Package set optimized for the ALFA Network Hornet-UB board with 16MB
-	flash and 64MB ram.
-endef
-
-$(eval $(call Profile,HORNETUBx2))
-
-
-define Profile/ALFANX
-	NAME:=ALFA Network N2/N5 board
-	PACKAGES:=
-endef
-
-define Profile/ALFANX/Description
-	Package set optimized for the ALFA Network N2/N5 boards.
-endef
-
-$(eval $(call Profile,ALFANX))
-
-define Profile/TUBE2H
-	NAME:=ALFA Network Tube2H board
-	PACKAGES:=
-endef
-
-define Profile/TUBE2H/Description
-	Package set optimized for the ALFA Network Tube2H board.
-endef
-
-$(eval $(call Profile,TUBE2H))
diff --git a/target/linux/ar71xx/generic/profiles/allnet.mk b/target/linux/ar71xx/generic/profiles/allnet.mk
deleted file mode 100644
index 07ca964441..0000000000
--- a/target/linux/ar71xx/generic/profiles/allnet.mk
+++ /dev/null
@@ -1,39 +0,0 @@
-#
-# Copyright (C) 20012 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/ALL0305
-	NAME:=Allnet ALL0305
-	PACKAGES:=fconfig kmod-ath5k -kmod-ath9k
-endef
-
-define Profile/ALL0305/Description
-	Package set optimized for the Allnet ALL0305.
-endef
-
-$(eval $(call Profile,ALL0305))
-
-define Profile/ALL0258N
-	NAME:=Allnet ALL0258N
-	PACKAGES:=uboot-envtools rssileds
-endef
-
-define Profile/ALL0258N/Description
-	Package set optimized for the Allnet ALL0258N.
-endef
-
-$(eval $(call Profile,ALL0258N))
-
-define Profile/ALL0315N
-	NAME:=Allnet ALL0315N
-	PACKAGES:=uboot-envtools rssileds
-endef
-
-define Profile/ALL0315N/Description
-	Package set optimized for the Allnet ALL0315N.
-endef
-
-$(eval $(call Profile,ALL0315N))
diff --git a/target/linux/ar71xx/generic/profiles/antminer.mk b/target/linux/ar71xx/generic/profiles/antminer.mk
deleted file mode 100644
index 0b1550797a..0000000000
--- a/target/linux/ar71xx/generic/profiles/antminer.mk
+++ /dev/null
@@ -1,39 +0,0 @@
-#
-# Copyright (C) 2015 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/ANTMINERS1
-	NAME:=Antminer-S1
-	PACKAGES:=kmod-usb-core kmod-usb2 kmod-crypto-manager kmod-i2c-gpio-custom kmod-usb-hid
-endef
-
-
-define Profile/ANTMINERS1/Description
-	Package set optimized for the Bitmain Antminer S1.
-endef
-$(eval $(call Profile,ANTMINERS1))
-
-define Profile/ANTMINERS3
-	NAME:=Antminer-S3
-	PACKAGES:=kmod-usb-core kmod-usb2 kmod-crypto-manager kmod-i2c-gpio-custom kmod-usb-hid
-endef
-
-
-define Profile/ANTMINERS3/Description
-	Package set optimized for the Bitmain Antminer S3.
-endef
-$(eval $(call Profile,ANTMINERS3))
-
-define Profile/ANTROUTERR1
-	NAME:=Antrouter-R1
-	PACKAGES:=kmod-usb-core kmod-usb2
-endef
-
-
-define Profile/ANTROUTERR1/Description
-	Package set optimized for the Bitmain Antrouter R1.
-endef
-$(eval $(call Profile,ANTROUTERR1))
diff --git a/target/linux/ar71xx/generic/profiles/arduino.mk b/target/linux/ar71xx/generic/profiles/arduino.mk
deleted file mode 100644
index 8ae5054a7e..0000000000
--- a/target/linux/ar71xx/generic/profiles/arduino.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2009-2010 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/Yun
-	NAME:=Arduino Yun based on Atheros AR9331
-	PACKAGES:=kmod-usb-core kmod-usb2
-endef
-
-define Profile/Yun/Description
-	Package set optimized for the Arduino Yun.
-	This is sometimes also named Genuino Yun or Linino Yun.
-endef
-
-$(eval $(call Profile,Yun))
-
diff --git a/target/linux/ar71xx/generic/profiles/atheros.mk b/target/linux/ar71xx/generic/profiles/atheros.mk
deleted file mode 100644
index 3a312a4b78..0000000000
--- a/target/linux/ar71xx/generic/profiles/atheros.mk
+++ /dev/null
@@ -1,184 +0,0 @@
-#
-# Copyright (C) 2009-2010 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/AP113
-	NAME:=Atheros AP113 reference board
-	PACKAGES:=kmod-usb-core kmod-usb2
-endef
-
-define Profile/AP113/description
-	Package set optimized for the Atheros AP113 reference board.
-endef
-
-$(eval $(call Profile,AP113))
-
-define Profile/AP121
-	NAME:=Atheros AP121 reference board
-	PACKAGES:=kmod-usb-core kmod-usb2
-endef
-
-define Profile/AP121/Description
-	Package set optimized for the Atheros AP121 reference board.
-endef
-
-$(eval $(call Profile,AP121))
-
-define Profile/AP121MINI
-	NAME:=Atheros AP121-MINI reference board
-	PACKAGES:=
-endef
-
-define Profile/AP121MINI/Description
-	Package set optimized for the Atheros AP121-MINI reference board.
-endef
-
-$(eval $(call Profile,AP121MINI))
-
-define Profile/AP132
-	NAME:=Atheros AP132 reference board
-	PACKAGES:=kmod-usb-core kmod-usb2 kmod-usb-storage
-endef
-
-define Profile/AP132/Description
-	Package set optimized for the Atheros AP132 reference board.
-endef
-
-$(eval $(call Profile,AP132))
-
-define Profile/AP135
-	NAME:=Atheros AP135 reference board
-	PACKAGES:=kmod-usb-core kmod-usb2 kmod-usb-storage
-endef
-
-define Profile/AP135/Description
-	Package set optimized for the Atheros AP135 reference board.
-endef
-
-$(eval $(call Profile,AP135))
-
-define Profile/AP136
-	NAME:=Atheros AP136 reference board
-	PACKAGES:=kmod-usb-core kmod-usb2 kmod-usb-storage
-endef
-
-define Profile/AP136/Description
-	Package set optimized for the Atheros AP136 reference board.
-endef
-
-$(eval $(call Profile,AP136))
-
-define Profile/AP143
-	NAME:=Qualcomm Atheros AP143 reference board
-	PACKAGES:=kmod-usb-core kmod-usb2 kmod-usb-storage
-endef
-
-define Profile/AP143/Description
-	Package set optimized for the Qualcomm Atheros AP143 reference board.
-endef
-
-$(eval $(call Profile,AP143))
-
-define Profile/AP147
-	NAME:=Qualcomm Atheros AP147 reference board
-	PACKAGES:=kmod-usb-core kmod-usb2 kmod-usb-storage
-endef
-
-define Profile/AP147/Description
-	Package set optimized for the Atheros AP147 reference board.
-endef
-
-$(eval $(call Profile,AP147))
-
-define Profile/AP152
-	NAME:=Qualcomm Atheros AP152 reference board
-	PACKAGES:=kmod-usb-core kmod-usb2 kmod-usb-storage
-endef
-
-define Profile/AP152/Description
-	Package set optimized for the Qualcomm Atheros AP152 reference board.
-endef
-
-$(eval $(call Profile,AP152))
-
-define Profile/AP81
-	NAME:=Atheros AP81 reference board
-	PACKAGES:=kmod-usb-core kmod-usb2
-endef
-
-define Profile/AP81/Description
-	Package set optimized for the Atheros AP81 reference board.
-endef
-
-$(eval $(call Profile,AP81))
-
-define Profile/AP83
-	NAME:=Atheros AP83 reference board
-	PACKAGES:=kmod-usb-core kmod-usb2 \
-		  vsc7385-ucode-ap83 vsc7395-ucode-ap83
-endef
-
-define Profile/AP83/Description
-	Package set optimized for the Atheros AP83 reference board.
-endef
-
-$(eval $(call Profile,AP83))
-
-define Profile/AP96
-	NAME:=Atheros AP96 reference board
-	PACKAGES:=kmod-usb-core kmod-usb2
-endef
-
-define Profile/AP96/Description
-	Package set optimized for the Atheros AP96 reference board.
-endef
-
-$(eval $(call Profile,AP96))
-
-define Profile/DB120
-	NAME:=Atheros DB120 reference board
-	PACKAGES:=kmod-usb-core kmod-usb2 kmod-usb-storage
-endef
-
-define Profile/DB120/Description
-	Package set optimized for the Atheros DB120 reference board.
-endef
-
-$(eval $(call Profile,DB120))
-
-define Profile/PB42
-	NAME:=Atheros PB42 reference board
-	PACKAGES:=kmod-usb-core kmod-usb-ohci kmod-usb2
-endef
-
-define Profile/PB42/Description
-	Package set optimized for the Atheros PB42 reference board.
-endef
-
-$(eval $(call Profile,PB42))
-
-define Profile/PB44
-	NAME:=Atheros PB44 reference board
-	PACKAGES:=kmod-usb-core kmod-usb-ohci kmod-usb2 \
-		  vsc7385-ucode-pb44 vsc7395-ucode-pb44
-endef
-
-define Profile/PB44/Description
-	Package set optimized for the Atheros PB44 reference board.
-endef
-
-$(eval $(call Profile,PB44))
-
-define Profile/PB92
-	NAME:=Atheros PB92 reference board
-	PACKAGES:=kmod-usb-core kmod-usb2
-endef
-
-define Profile/PB92/Description
-	Package set optimized for the Atheros PB92 reference board.
-endef
-
-$(eval $(call Profile,PB92))
diff --git a/target/linux/ar71xx/generic/profiles/atlantis.mk b/target/linux/ar71xx/generic/profiles/atlantis.mk
deleted file mode 100644
index 073d8d1f8b..0000000000
--- a/target/linux/ar71xx/generic/profiles/atlantis.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# Copyright (C) 2009 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/A02RBW300N
-	NAME:=Atlantis-Land A02-RB-W300N
-	PACKAGES:=
-endef
-
-define Profile/A02RBW300N/Description
-	Package set optimized for the Atlantis-Land A02-RB-W300N.
-endef
-
-$(eval $(call Profile,A02RBW300N))
diff --git a/target/linux/ar71xx/generic/profiles/belkin.mk b/target/linux/ar71xx/generic/profiles/belkin.mk
deleted file mode 100644
index c8f6bdec4b..0000000000
--- a/target/linux/ar71xx/generic/profiles/belkin.mk
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# Copyright (C) 2014 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/F9K1115V2
-	NAME:=Belkin AC1750DB (F9K1115V2)
-	PACKAGES:=kmod-usb-core kmod-usb2 kmod-usb3 kmod-ledtrig-usbdev \
-		kmod-ath10k
-endef
-
-define Profile/F9K1115V2/Description
-	Package set optimized for the Belkin AC1750DB (F9K1115V2) board.
-endef
-
-$(eval $(call Profile,F9K1115V2))
diff --git a/target/linux/ar71xx/generic/profiles/bhu.mk b/target/linux/ar71xx/generic/profiles/bhu.mk
deleted file mode 100644
index f21b3c38d9..0000000000
--- a/target/linux/ar71xx/generic/profiles/bhu.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# Copyright (C) 2013 BHU Networks.
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/BXU2000N2
-	NAME:=BHU BXU2000n-2
-	PACKAGES:=kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-usb-storage
-endef
-
-define Profile/BXU2000N2/Description
-	Package set optimized for the BHU BXU2000n-2.
-endef
-
-$(eval $(call Profile,BXU2000N2))
diff --git a/target/linux/ar71xx/generic/profiles/buffalo.mk b/target/linux/ar71xx/generic/profiles/buffalo.mk
deleted file mode 100644
index 900f6a846e..0000000000
--- a/target/linux/ar71xx/generic/profiles/buffalo.mk
+++ /dev/null
@@ -1,118 +0,0 @@
-#
-# Copyright (C) 2009-2013 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/WZRHPG300NH
-	NAME:=Buffalo WZR-HP-G300NH
-	PACKAGES:=kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
-endef
-
-define Profile/WZRHPG300NH/Description
-	Package set optimized for the Buffalo WZR-HP-G300NH and WZR-HP-G301NH
-endef
-
-$(eval $(call Profile,WZRHPG300NH))
-
-define Profile/WZRHPG300NH2
-	NAME:=Buffalo WZR-HP-G300NH2
-	PACKAGES:=kmod-ath9k wpad-mini kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
-endef
-
-define Profile/WZRHPG300NH/Description
-	Package set optimized for the Buffalo WZR-HP-G300NH2
-endef
-
-$(eval $(call Profile,WZRHPG300NH2))
-
-define Profile/WZRHPAG300H
-	NAME:=Buffalo WZR-HP-AG300H
-	PACKAGES:=kmod-usb-ohci kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
-endef
-
-define Profile/WZRHPAG300H/Description
-	Package set optimized for the Buffalo WZR-HP-AG300H
-endef
-
-$(eval $(call Profile,WZRHPAG300H))
-
-define Profile/WZRHPG450H
-	NAME:=Buffalo WZR-HP-G450H
-	PACKAGES:=kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
-endef
-
-define Profile/WZRHPG450H/Description
-	Package set optimized for the Buffalo WZR-HP-G450H
-endef
-
-$(eval $(call Profile,WZRHPG450H))
-
-define Profile/WZR450HP2
-	NAME:=Buffalo WZR-450HP2
-	PACKAGES:=kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
-endef
-
-define Profile/WZR450HP2/Description
-	Package set optimized for the Buffalo WZR-450HP2
-endef
-
-$(eval $(call Profile,WZR450HP2))
-
-define Profile/WZR600DHP
-	NAME:=Buffalo WZR-600DHP
-	PACKAGES:=kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
-endef
-
-define Profile/WZR600DHP/Description
-	Package set optimized for the Buffalo WZR-600DHP
-endef
-
-$(eval $(call Profile,WZR600DHP))
-
-define Profile/WHRG301N
-	NAME:=Buffalo WHR-G301N
-	PACKAGES:=
-endef
-
-define Profile/WHRG301N/Description
-	Package set optimized for the Buffalo WHR-G301N.
-endef
-
-$(eval $(call Profile,WHRG301N))
-
-
-define Profile/WHRHPG300N
-	NAME:=Buffalo WHR-HP-G300N
-	PACKAGES:=
-endef
-
-define Profile/WHRHPG300N/Description
-	Package set optimized for the Buffalo WHR-HP-G300N
-endef
-
-$(eval $(call Profile,WHRHPG300N))
-
-
-define Profile/WHRHPGN
-	NAME:=Buffalo WHR-HP-GN
-	PACKAGES:=
-endef
-
-define Profile/WHRHPGN/Description
-	Package set optimized for the Buffalo WHR-HP-GN.
-endef
-
-$(eval $(call Profile,WHRHPGN))
-
-define Profile/WLAEAG300N
-	NAME:=Buffalo WLAE-AG300N
-	PACKAGES:=kmod-ledtrig-netdev
-endef
-
-define Profile/WLAEAG300N/Description
-	Package set optimized for the Buffalo WLAE-AG300N
-endef
-
-$(eval $(call Profile,WLAEAG300N))
diff --git a/target/linux/ar71xx/generic/profiles/comfast.mk b/target/linux/ar71xx/generic/profiles/comfast.mk
deleted file mode 100644
index 5d447e5cec..0000000000
--- a/target/linux/ar71xx/generic/profiles/comfast.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2015 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/CF-E316N-V2
-        NAME:=COMFAST CF-E316N v2
-        PACKAGES:=
-endef
-
-define Profile/CF-E316N-V2/Description
-        Package set optimised for the COMFAST CF-E316N v2
-        by Shenzhen Four Seas Global Link Network Technology Co., Ltd
-        aka CF-E316V2, CF-E316N-V2 and CF-E316Nv2.0 (no FCC ID)
-endef
-
-$(eval $(call Profile,CF-E316N-V2))
diff --git a/target/linux/ar71xx/generic/profiles/compex.mk b/target/linux/ar71xx/generic/profiles/compex.mk
deleted file mode 100644
index 54d8503c70..0000000000
--- a/target/linux/ar71xx/generic/profiles/compex.mk
+++ /dev/null
@@ -1,68 +0,0 @@
-#
-# Copyright (C) 2009 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/WP543
-	NAME:=Compex WP543/WPJ543
-	PACKAGES:=kmod-usb-core kmod-usb-ohci kmod-usb2
-endef
-
-define Profile/WP543/Description
-	Package set optimized for the Compex WP543/WPJ543 boards.
-endef
-
-$(eval $(call Profile,WP543))
-
-define Profile/WPE72
-	NAME:=Compex WPE72/WPE72NX
-	PACKAGES:=kmod-usb-core kmod-usb-ohci kmod-usb2
-endef
-
-define Profile/WPE72/Description
-	Package set optimized for the Compex WPE72 boards including Compex WPE72NX Indoor Access Point.
-endef
-
-$(eval $(call Profile,WPE72))
-
-define Profile/WPJ342
-	NAME:=Compex WPJ342
-endef
-
-define Profile/WPJ342/Description
-	Package set optimized for the Compex WPJ342 board.
-endef
-
-$(eval $(call Profile,WPJ342))
-
-define Profile/WPJ344
-	NAME:=Compex WPJ344
-endef
-
-define Profile/WPJ344/Description
-	Package set optimized for the Compex WPJ344 board.
-endef
-
-$(eval $(call Profile,WPJ344))
-
-define Profile/WPJ531
-	NAME:=Compex WPJ531
-endef
-
-define Profile/WPJ531/Description
-	Package set optimized for the Compex WPJ531 board.
-endef
-
-$(eval $(call Profile,WPJ531))
-
-define Profile/WPJ558
-	NAME:=Compex WPJ558
-endef
-
-define Profile/WPJ558/Description
-	Package set optimized for the Compex WPJ558 board.
-endef
-
-$(eval $(call Profile,WPJ558))
diff --git a/target/linux/ar71xx/generic/profiles/d-link.mk b/target/linux/ar71xx/generic/profiles/d-link.mk
deleted file mode 100644
index f782a41d66..0000000000
--- a/target/linux/ar71xx/generic/profiles/d-link.mk
+++ /dev/null
@@ -1,150 +0,0 @@
-#
-# Copyright (C) 2009 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/DHP1565A1
-	NAME:=D-Link DHP-1565 rev. A1
-	PACKAGES:=kmod-usb-core kmod-usb2
-endef
-
-define Profile/DHP1565A1/Description
-	Package set optimized for the D-Link DHP-1565 rev. A1.
-endef
-
-$(eval $(call Profile,DHP1565A1))
-
-define Profile/DIR505A1
-	NAME:=D-Link DIR-505 rev. A1
-	PACKAGES:=kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
-endef
-
-define Profile/DIR505A1/Description
-	Package set optimized for the D-Link DIR-505 rev. A1.
-endef
-
-$(eval $(call Profile,DIR505A1))
-
-define Profile/DIR600A1
-	NAME:=D-Link DIR-600 rev. A1
-	PACKAGES:=
-endef
-
-define Profile/DIR600A1/Description
-	Package set optimized for the D-Link DIR-600 rev. A1.
-endef
-
-$(eval $(call Profile,DIR600A1))
-
-define Profile/DIR601A1
-	NAME:=D-Link DIR-601 rev. A1
-	PACKAGES:=
-endef
-
-define Profile/DIR601A1/Description
-	Package set optimized for the D-Link DIR-601 rev. A1.
-endef
-
-$(eval $(call Profile,DIR601A1))
-
-define Profile/DIR601B1
-	NAME:=D-Link DIR-601 rev. B1
-	PACKAGES:=
-endef
-
-define Profile/DIR601B1/Description
-	Package set optimized for the D-Link DIR-601 rev. B1.
-endef
-
-$(eval $(call Profile,DIR601B1))
-
-define Profile/DIR615C1
-	NAME:=D-Link DIR-615 rev. C1
-	PACKAGES:=
-endef
-
-define Profile/DIR615C1/Description
-	Package set optimized for the D-Link DIR-615 rev. C1.
-endef
-
-$(eval $(call Profile,DIR615C1))
-
-define Profile/DIR615E1
-	NAME:=D-Link DIR-615 rev. E1
-	PACKAGES:=
-endef
-
-define Profile/DIR615E1/Description
-	Package set optimized for the D-Link DIR-615 rev. E1.
-endef
-
-$(eval $(call Profile,DIR615E1))
-
-define Profile/DIR615E4
-	NAME:=D-Link DIR-615 rev. E4
-	PACKAGES:=
-endef
-
-define Profile/DIR615E4/Description
-	Package set optimized for the D-Link DIR-615 rev. E4.
-endef
-
-$(eval $(call Profile,DIR615E4))
-
-define Profile/DIR615IX
-	NAME:=D-Link DIR-615 rev. I1
-	PACKAGES:=
-endef
-
-define Profile/DIR615IX/Description
-	Package set optimized for the D-Link DIR-615 rev. I1.
-endef
-
-$(eval $(call Profile,DIR615IX))
-
-define Profile/DIR825B1
-	NAME:=D-Link DIR-825 rev. B1
-	PACKAGES:=kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-ledtrig-usbdev
-endef
-
-define Profile/DIR825B1/Description
-	Package set optimized for the D-Link DIR-825 rev. B1.
-endef
-
-$(eval $(call Profile,DIR825B1))
-
-define Profile/DIR825C1
-	NAME:=D-Link DIR-825 rev. C1
-	PACKAGES:=kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
-endef
-
-define Profile/DIR825C1/Description
-	Package set optimized for the D-Link DIR-825 rev. C1.
-endef
-
-$(eval $(call Profile,DIR825C1))
-
-define Profile/DIR835A1
-	NAME:=D-Link DIR-835 rev. A1
-	PACKAGES:=kmod-usb-core kmod-usb2
-endef
-
-define Profile/DIR835A1/Description
-	Package set optimized for the D-Link DIR-835 rev. A1.
-endef
-
-$(eval $(call Profile,DIR835A1))
-
-
-define Profile/DGL5500A1
-	NAME:=D-Link DGL-5500 rev. A1
-	PACKAGES:=kmod-usb-core kmod-usb2 kmod-ath10k
-endef
-
-define Profile/DIR5500A1/Description
-	Package set optimized for the D-Link DGL-5500 rev. A1.
-endef
-
-$(eval $(call Profile,DGL5500A1))
diff --git a/target/linux/ar71xx/generic/profiles/devolo-dlan.mk b/target/linux/ar71xx/generic/profiles/devolo-dlan.mk
deleted file mode 100644
index 44a6869f0e..0000000000
--- a/target/linux/ar71xx/generic/profiles/devolo-dlan.mk
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-# Copyright (C) 2015 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/dLAN_Hotspot
-	NAME:=devolo dLAN Hotspot
-	PACKAGES:=open-plc-utils open-plc-utils-chkpib open-plc-utils-getpib open-plc-utils-modpib \
-		open-plc-utils-setpib open-plc-utils-hpavkey open-plc-utils-plchost \
-		open-plc-utils-plctool open-plc-utils-pibdump open-plc-utils-plcstat \
-		ebtables hostapd-utils wifitoggle wpad
-endef
-
-define Profile/dLAN_Hotspot/Description
-	Package set optimized for the devolo dLAN Hotspot.
-endef
-$(eval $(call Profile,dLAN_Hotspot))
-
-define Profile/dLAN_pro_500_wp
-	NAME:=devolo dLAN pro 500 Wireless+
-	PACKAGES:=open-plc-utils open-plc-utils-chkpib open-plc-utils-getpib open-plc-utils-modpib \
-		open-plc-utils-setpib open-plc-utils-hpavkey open-plc-utils-amphost \
-		open-plc-utils-plctool open-plc-utils-pibdump open-plc-utils-plcstat \
-		ebtables hostapd-utils wifitoggle wpad
-endef
-
-define Profile/dLAN_pro_500_wp/Description
-	Package set optimized for the devolo dLAN pro 500 Wireless+.
-endef
-$(eval $(call Profile,dLAN_pro_500_wp))
-
-define Profile/dLAN_pro_1200_ac
-	NAME:=devolo dLAN pro 1200+ WiFi ac
-	PACKAGES:=open-plc-utils open-plc-utils-chkpib open-plc-utils-getpib open-plc-utils-modpib \
-		open-plc-utils-setpib open-plc-utils-hpavkey open-plc-utils-plchost \
-		open-plc-utils-plctool open-plc-utils-pibdump open-plc-utils-plcstat \
-		ebtables hostapd-utils wifitoggle wpad ip-full kmod-ath10k kmod-leds-gpio \
-		kmod-ledtrig-gpio
-endef
-
-define Profile/dLAN_pro_1200_ac/Description
-	Package set optimized for the devolo dLAN pro 1200+ WiFi ac.
-endef
-$(eval $(call Profile,dLAN_pro_1200_ac))
diff --git a/target/linux/ar71xx/generic/profiles/dragino.mk b/target/linux/ar71xx/generic/profiles/dragino.mk
deleted file mode 100644
index ff222c1c5c..0000000000
--- a/target/linux/ar71xx/generic/profiles/dragino.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# Copyright (C) 2011 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/DRAGINO2
-	NAME:=DRAGINO2
-	PACKAGES:=kmod-ath9k kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-ledtrig-usbdev
-endef
-
-define Profile/DRAGINO2/Description
-	Package set optimized for the DRAGINO v2.
-endef
-
-$(eval $(call Profile,DRAGINO2))
diff --git a/target/linux/ar71xx/generic/profiles/easylink.mk b/target/linux/ar71xx/generic/profiles/easylink.mk
deleted file mode 100644
index 8d327b7c69..0000000000
--- a/target/linux/ar71xx/generic/profiles/easylink.mk
+++ /dev/null
@@ -1,29 +0,0 @@
-#
-# Copyright (C) 2014 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/ELM150
-	NAME:=EasyLink EL-M150
-	PACKAGES:=kmod-usb-core kmod-usb2
-endef
-
-
-define Profile/ELM150/Description
-	Package set optimized for the EasyLink EL-M150.
-endef
-$(eval $(call Profile,ELM150))
-
-
-define Profile/ELMINI
-	NAME:=EasyLink EL-MINI
-	PACKAGES:=kmod-usb-core kmod-usb2
-endef
-
-
-define Profile/ELMINI/Description
-	Package set optimized for the EasyLink EL-MINI.
-endef
-$(eval $(call Profile,ELMINI))
diff --git a/target/linux/ar71xx/generic/profiles/engenius.mk b/target/linux/ar71xx/generic/profiles/engenius.mk
deleted file mode 100644
index 7ea93e3c8c..0000000000
--- a/target/linux/ar71xx/generic/profiles/engenius.mk
+++ /dev/null
@@ -1,53 +0,0 @@
-#
-# Copyright (C) 2009-2013 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/EAP300V2
-	NAME:=EnGenius EAP300V2
-	PACKAGES:=
-endef
-
-define Profile/EAP300V2/Description
-	Package set optimized for the EnGenius EAP300V2.
-endef
-
-$(eval $(call Profile,EAP300V2))
-
-
-define Profile/ESR900
-	NAME:=EnGenius ESR900
-	PACKAGES:=kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
-endef
-
-define Profile/ESR900/Description
-	Package set optimized for the EnGenius ESR900
-endef
-
-$(eval $(call Profile,ESR900))
-
-
-define Profile/ESR1750
-        NAME:=EnGenius ESR1750
-        PACKAGES:=kmod-usb-core kmod-usb2 kmod-usb-storage kmod-ath10k wpad-mini
-endef
-
-define Profile/ESR1750/Description
-        Package set optimized for the EnGenius ESR1750
-endef
-
-$(eval $(call Profile,ESR1750))
-
-
-define Profile/EPG5000
-        NAME:=EnGenius EPG5000
-        PACKAGES:=kmod-usb-core kmod-usb2 kmod-usb-storage kmod-ath10k wpad-mini
-endef
-
-define Profile/EPG5000/Description
-        Package set optimized for the EnGenius EPG5000
-endef
-
-$(eval $(call Profile,EPG5000))
diff --git a/target/linux/ar71xx/generic/profiles/ew.mk b/target/linux/ar71xx/generic/profiles/ew.mk
deleted file mode 100644
index b4e15e322c..0000000000
--- a/target/linux/ar71xx/generic/profiles/ew.mk
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-# Copyright (C) 2012 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/EWDORIN
-	NAME:=Embedded Wireless Dorin Platform
-	PACKAGES:=kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-ledtrig-usbdev kmod-usb-storage \
-		kmod-fs-vfat kmod-fs-msdos kmod-fs-ntfs kmod-fs-ext4 \
-		kmod-nls-cp437 kmod-nls-cp850 kmod-nls-cp852 kmod-nls-iso8859-1 kmod-nls-utf8
-endef
-
-define Profile/EWDORIN/Description
-	Package set optimized for the Dorin Platform.
-endef
-
-$(eval $(call Profile,EWDORIN))
-
diff --git a/target/linux/ar71xx/generic/profiles/gainstrong.mk b/target/linux/ar71xx/generic/profiles/gainstrong.mk
deleted file mode 100644
index 8f7a48506e..0000000000
--- a/target/linux/ar71xx/generic/profiles/gainstrong.mk
+++ /dev/null
@@ -1,28 +0,0 @@
-#
-# Copyright (C) 2015-2016 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/MINIBOXV1
-	NAME:=Gainstrong MiniBox V1.0
-	PACKAGES:=kmod-usb-core kmod-usb2  kmod-ledtrig-usbdev
-endef
-
-
-define Profile/MINIBOXV1/Description
-	Package set optimized for the Gainstrong MiniBox V1.0
-endef
-$(eval $(call Profile,MINIBOXV1))
-
-define Profile/OOLITE
-	NAME:=Gainstrong OOLITE
-	PACKAGES:=kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
-endef
-
-
-define Profile/OOLITE/Description
-	Package set optimized for the Gainstrong OOLITE.
-endef
-$(eval $(call Profile,OOLITE))
diff --git a/target/linux/ar71xx/generic/profiles/gli.mk b/target/linux/ar71xx/generic/profiles/gli.mk
deleted file mode 100644
index a0fa714909..0000000000
--- a/target/linux/ar71xx/generic/profiles/gli.mk
+++ /dev/null
@@ -1,49 +0,0 @@
-#
-# Copyright (C) 2013 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-define Profile/GLINET
-	NAME:=GL.iNet 6416
-	PACKAGES:=kmod-usb-core kmod-usb2
-endef
-
-define Profile/GLINET/Description
-	Package set optimized for the GL-Connect GL.iNet v1.
-endef
-
-$(eval $(call Profile,GLINET))
-
-define Profile/GL-AR150
-	NAME:=GL AR150
-	PACKAGES:=kmod-usb-core kmod-usb2
-endef
-
-define Profile/GL-AR150/Description
-	Configuration of GL AR150.
-endef
-
-$(eval $(call Profile,GL-AR150))
-
-define Profile/GL-AR300
-	NAME:=GL AR300
-	PACKAGES:=kmod-usb-core kmod-usb2
-endef
-
-define Profile/GL-AR300/Description
-	Configuration of GL AR300.
-endef
-
-$(eval $(call Profile,GL-AR300))
-
-define Profile/DOMINO
-	NAME:=GL Domino Pi
-	PACKAGES:=kmod-usb-core kmod-usb2
-endef
-
-define Profile/DOMINO/Description
-	Configuration of Domino, Wifi for everything.
-endef
-
-$(eval $(call Profile,DOMINO))
diff --git a/target/linux/ar71xx/generic/profiles/hiwifi.mk b/target/linux/ar71xx/generic/profiles/hiwifi.mk
deleted file mode 100644
index 5bd247630a..0000000000
--- a/target/linux/ar71xx/generic/profiles/hiwifi.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2012-2013 Hiwifi Wireless
-# Copyright (C) 2014 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/HIWIFI_HC6361
-	NAME:=HiWiFi HC6361
-	PACKAGES:= kmod-usb-core kmod-usb2 kmod-usb-storage \
-		kmod-crypto-deflate kmod-fs-ext4 kmod-ledtrig-gpio \
-		kmod-nls-iso8859-1 e2fsprogs
-endef
-
-define Profile/HIWIFI_HC6361/description
-	Package set optimized for the HiWiFi HC6361.
-endef
-$(eval $(call Profile,HIWIFI_HC6361))
diff --git a/target/linux/ar71xx/generic/profiles/jjplus.mk b/target/linux/ar71xx/generic/profiles/jjplus.mk
deleted file mode 100644
index c157fcbfac..0000000000
--- a/target/linux/ar71xx/generic/profiles/jjplus.mk
+++ /dev/null
@@ -1,39 +0,0 @@
-#
-# Copyright (C) 2010 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/JA76PF
-	NAME:=jjPlus JA76PF
-	PACKAGES:=kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-hwmon-core kmod-i2c-core kmod-hwmon-lm75
-endef
-
-define Profile/JA76PF/Description
-	Package set optimized for the jjPlus JA76PF board.
-endef
-
-$(eval $(call Profile,JA76PF))
-
-define Profile/JA76PF2
-	NAME:=jjPlus JA76PF2
-	PACKAGES:=
-endef
-
-define Profile/JA76PF2/Description
-	Package set optimized for the jjPlus JA76PF2 board.
-endef
-
-$(eval $(call Profile,JA76PF2))
-
-define Profile/JWAP003
-	NAME:=jjPlus JWAP003
-	PACKAGES:=kmod-usb-core kmod-usb-ohci kmod-usb2
-endef
-
-define Profile/JWAP003/Description
-	Package set optimized for the jjPlus JWAP003 board.
-endef
-
-$(eval $(call Profile,JWAP003))
diff --git a/target/linux/ar71xx/generic/profiles/linksys.mk b/target/linux/ar71xx/generic/profiles/linksys.mk
deleted file mode 100644
index bedf3a3d49..0000000000
--- a/target/linux/ar71xx/generic/profiles/linksys.mk
+++ /dev/null
@@ -1,27 +0,0 @@
-#
-# Copyright (C) 2009 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/WRT160NL
-	NAME:=Linksys WRT160NL
-	PACKAGES:=kmod-usb-core kmod-usb2
-endef
-
-define Profile/WRT160NL/Description
-	Package set optimized for the Linksys WRT160NL.
-endef
-
-define Profile/WRT400N
-	NAME:=Linksys WRT400N
-	PACKAGES:=
-endef
-
-define Profile/WRT400N/Description
-	Package set optimized for the Linksys WRT400N.
-endef
-
-$(eval $(call Profile,WRT160NL))
-$(eval $(call Profile,WRT400N))
diff --git a/target/linux/ar71xx/generic/profiles/meraki.mk b/target/linux/ar71xx/generic/profiles/meraki.mk
deleted file mode 100644
index 0d5cda0fd2..0000000000
--- a/target/linux/ar71xx/generic/profiles/meraki.mk
+++ /dev/null
@@ -1,27 +0,0 @@
-#
-# Copyright (C) 2014-2015 Chris Blake (chrisrblake93@gmail.com)
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/MR12
-	NAME:=Meraki MR12
-	PACKAGES:=kmod-spi-gpio kmod-ath9k
-endef
-
-define Profile/MR12/description
-	Package set optimized for the Cisco Meraki MR12 Access Point.
-endef
-
-define Profile/MR16
-	NAME:=Meraki MR16
-	PACKAGES:=kmod-spi-gpio kmod-ath9k
-endef
-
-define Profile/MR16/description
-	Package set optimized for the Cisco Meraki MR16 Access Point.
-endef
-
-$(eval $(call Profile,MR12))
-$(eval $(call Profile,MR16))
\ No newline at end of file
diff --git a/target/linux/ar71xx/generic/profiles/mercury.mk b/target/linux/ar71xx/generic/profiles/mercury.mk
deleted file mode 100644
index e66d70d459..0000000000
--- a/target/linux/ar71xx/generic/profiles/mercury.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# Copyright (C) 2015 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-
-define Profile/MAC1200R
-	NAME:=MERCURY MAC1200R
-	PACKAGES:=kmod-ath10k
-endef
-
-define Profile/MAC1200R/Description
-	Package set optimized for the MERCURY MAC1200R.
-endef
-$(eval $(call Profile,MAC1200R))
diff --git a/target/linux/ar71xx/generic/profiles/nclink.mk b/target/linux/ar71xx/generic/profiles/nclink.mk
deleted file mode 100644
index 04eb9ec5c0..0000000000
--- a/target/linux/ar71xx/generic/profiles/nclink.mk
+++ /dev/null
@@ -1,15 +0,0 @@
-#
-# Copyright (C) 2014 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/SMART-300
-        NAME:=NC-LINK SMART-300
-endef
-
-define Profile/SMART-300/Description
-        Package set optimized for the NC-LINK SMART-300.
-endef
-$(eval $(call Profile,SMART-300))
diff --git a/target/linux/ar71xx/generic/profiles/netgear.mk b/target/linux/ar71xx/generic/profiles/netgear.mk
deleted file mode 100644
index 2bce721244..0000000000
--- a/target/linux/ar71xx/generic/profiles/netgear.mk
+++ /dev/null
@@ -1,96 +0,0 @@
-#
-# Copyright (C) 2009-2013 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/WNDAP360
-        NAME:=NETGEAR WNDAP360
-        PACKAGES:=
-endef
-
-define Profile/WNDAP360/Description
-        Package set optimized for the NETGEAR WNDAP360
-endef
-
-$(eval $(call Profile,WNDAP360))
-
-define Profile/WNDR3700
-	NAME:=NETGEAR WNDR3700/WNDR3800/WNDRMAC
-	PACKAGES:=kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-ledtrig-usbdev kmod-leds-wndr3700-usb
-endef
-
-define Profile/WNDR3700/Description
-	Package set optimized for the NETGEAR WNDR3700/WNDR3800/WNDRMAC
-endef
-
-$(eval $(call Profile,WNDR3700))
-
-
-define Profile/WNR2000V3
-	NAME:=NETGEAR WNR2000V3
-	PACKAGES:= -kmod-usb-core -kmod-usb-ohci -kmod-usb2 -kmod-ledtrig-usbdev
-endef
-
-define Profile/WNR2000V3/Description
-	Package set optimized for the NETGEAR WNR2000V3
-endef
-
-$(eval $(call Profile,WNR2000V3))
-
-
-define Profile/WNR2000V4
-	NAME:=NETGEAR WNR2000V4
-	PACKAGES:=kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
-endef
-
-define Profile/WNR2000V4/Description
-	Package set optimized for the NETGEAR WNR2000V4
-endef
-
-$(eval $(call Profile,WNR2000V4))
-
-
-define Profile/WNR612V2
-	NAME:=NETGEAR WNR612V2 / On Networks N150
-endef
-
-define Profile/WNR612V2/Description
-	Package set optimized for the NETGEAR WNR612V2 / On Networks N150
-endef
-
-$(eval $(call Profile,WNR612V2))
-
-
-define Profile/WNR1000V2
-	NAME:=NETGEAR WNR1000V2
-endef
-
-define Profile/WNR1000V2/Description
-	Package set optimized for the NETGEAR WNR1000V2
-endef
-
-$(eval $(call Profile,WNR1000V2))
-
-
-define Profile/WNR2200
-  NAME:=NETGEAR WNR2200
-  PACKAGES:=kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
-endef
-
-define Profile/WNR2200/Description
-	Package set optimized for the NETGEAR WNR2200
-endef
-
-$(eval $(call Profile,WNR2200))
-
-define Profile/WPN824N
-	NAME:=NETGEAR WPN824N
-endef
-
-define Profile/WPN824N/Description
-	Package set optimized for the NETGEAR WPN824N
-endef
-
-$(eval $(call Profile,WPN824N))
diff --git a/target/linux/ar71xx/generic/profiles/omy.mk b/target/linux/ar71xx/generic/profiles/omy.mk
deleted file mode 100644
index 397de54742..0000000000
--- a/target/linux/ar71xx/generic/profiles/omy.mk
+++ /dev/null
@@ -1,26 +0,0 @@
-#
-# Copyright (C) 2015 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/OMYG1
-	NAME:=OMYlink OMY-G1
-	PACKAGES:= kmod-usb-core kmod-usb2
-endef
-
-define Profile/OMYX1/Description
-	Package set optimized for the OMYlink OMY-G1.
-endef
-$(eval $(call Profile,OMYG1))
-
-define Profile/OMYX1
-	NAME:=OMYlink OMY-X1
-	PACKAGES:=
-endef
-
-define Profile/OMYX1/Description
-	Package set optimized for the OMYlink OMY-X1.
-endef
-$(eval $(call Profile,OMYX1))
diff --git a/target/linux/ar71xx/generic/profiles/onion.mk b/target/linux/ar71xx/generic/profiles/onion.mk
deleted file mode 100644
index dd5874ea41..0000000000
--- a/target/linux/ar71xx/generic/profiles/onion.mk
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-# Copyright (C) 2014 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/OMEGA
-   NAME:=Onion Omega
-   PACKAGES:=kmod-usb-core kmod-usb2 kmod-usb-storage kmod-i2c-core kmod-i2c-gpio-custom kmod-spi-bitbang kmod-spi-dev kmod-spi-gpio kmod-spi-gpio-custom kmod-usb-serial
-endef
-
-define Profile/OMEGA/Description
-   Package set optimized for the Onion Omega development platform.
-endef
-$(eval $(call Profile,OMEGA))
diff --git a/target/linux/ar71xx/generic/profiles/openembed.mk b/target/linux/ar71xx/generic/profiles/openembed.mk
deleted file mode 100644
index 2603e0a4cb..0000000000
--- a/target/linux/ar71xx/generic/profiles/openembed.mk
+++ /dev/null
@@ -1,13 +0,0 @@
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-
-define Profile/SOM9331
-   NAME:=OpenEmbed SOM9331
-   PACKAGES:=kmod-usb-core kmod-usb2 kmod-usb-storage kmod-i2c-core kmod-i2c-gpio-custom kmod-spi-bitbang kmod-spi-dev kmod-spi-gpio kmod-spi-gpio-custom kmod-usb-serial
-endef
-
-define Profile/SOM9331/Description
-   Package set optimized for the OpenEmbed SOM9331.
-endef
-$(eval $(call Profile,SOM9331))
-
diff --git a/target/linux/ar71xx/generic/profiles/openmesh.mk b/target/linux/ar71xx/generic/profiles/openmesh.mk
deleted file mode 100644
index dbdf16959f..0000000000
--- a/target/linux/ar71xx/generic/profiles/openmesh.mk
+++ /dev/null
@@ -1,73 +0,0 @@
-#
-# Copyright (C) 2011-2012 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/OM5P
-	NAME:=OpenMesh OM5P/OM5P-AN
-	PACKAGES:=kmod-ath9k om-watchdog
-endef
-
-define Profile/OM5P/Description
-	Package set optimized for the OpenMesh OM5P/OM5P-AN.
-endef
-
-$(eval $(call Profile,OM5P))
-
-define Profile/OM5PAC
-	NAME:=OpenMesh OM5P-AC/OM5P-ACv2
-	PACKAGES:=kmod-ath9k kmod-ath10k om-watchdog
-endef
-
-define Profile/OM5PAC/Description
-	Package set optimized for the OpenMesh OM5P-AC/OM5P-ACv2.
-endef
-
-$(eval $(call Profile,OM5PAC))
-
-define Profile/MR600
-        NAME:=OpenMesh MR600
-        PACKAGES:=kmod-ath9k om-watchdog
-endef
-
-define Profile/MR600/Description
-        Package set optimized for the OpenMesh MR600.
-endef
-
-$(eval $(call Profile,MR600))
-
-define Profile/MR900
-        NAME:=OpenMesh MR900/MR900v2
-        PACKAGES:=kmod-ath9k om-watchdog
-endef
-
-define Profile/MR900/Description
-        Package set optimized for the OpenMesh MR900/MR900v2.
-endef
-
-$(eval $(call Profile,MR900))
-
-define Profile/MR1750
-        NAME:=OpenMesh MR1750/MR1750v2
-        PACKAGES:=kmod-ath9k kmod-ath10k
-endef
-
-define Profile/MR1750/Description
-        Package set optimized for the OpenMesh MR1750/MR1750v2.
-endef
-
-$(eval $(call Profile,MR1750))
-
-define Profile/OPENMESH
-	NAME:=OpenMesh products
-	PACKAGES:=kmod-ath9k kmod-ath10k om-watchdog
-endef
-
-define Profile/OPENMESH/Description
-	Build images for all OpenMesh products.
-endef
-
-$(eval $(call Profile,OPENMESH))
-
diff --git a/target/linux/ar71xx/generic/profiles/pcs.mk b/target/linux/ar71xx/generic/profiles/pcs.mk
deleted file mode 100644
index e48b3bd953..0000000000
--- a/target/linux/ar71xx/generic/profiles/pcs.mk
+++ /dev/null
@@ -1,85 +0,0 @@
-#
-# Copyright (C) 2009 OpenWrt.org
-# Copyright (C) 2012 PowerCloud Systems
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/UBDEV01
-	NAME:=PowerCloud Systems ubdev01 model
-	PACKAGES:=
-endef
-
-define Profile/UBDEV01/Description
-	Package set optimized for the PowerCloud Systems ubdev01 board.
-endef
-
-$(eval $(call Profile,UBDEV01))
-
-define Profile/DLRTDEV01
-	NAME:=PowerCloud Systems dlrtdev01 model
-	PACKAGES:=kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-ledtrig-usbdev
-endef
-
-define Profile/DLRTDEV01/Description
-	Package set optimized for the PowerCloud Systems dlrtdev01 board.
-endef
-
-$(eval $(call Profile,DLRTDEV01))
-
-define Profile/CAP324
-	NAME:=PowerCloud CAP324 Cloud AP
-	PACKAGES:=uboot-envtools
-endef
-
-define Profile/CAP324/Description
-	Package set optimized for the PowerCloud Systems CAP324 Cloud AP
-
-	The CAP324 Cloud AP is a device sold by PowerCloud Systems 
-	who's stock firmware (CloudCommand) provides 'cloud' based
-	managment of large numbers of access points.    
-
-	The CAP324 is a dual-band 802.11n wireless access point with 16MB
-	flash and 128MB RAM and single gigabit ethernet port.  It can be 
-	powered via PoE or a wall wart.
-endef
-
-$(eval $(call Profile,CAP324))
-
-define Profile/CR3000
-	NAME:=PowerCloud CR3000 Cloud Router
-	PACKAGES:=uboot-envtools
-endef
-
-define Profile/CR3000/Description
-	Package set optimized for the PowerCloud Systems CR3000 Cloud Router
-
-	The CR3000 is a device sold by PowerCloud Systems as a hardware
-	option for their Skydog cloud-managed Wifi solution.
-
-	The CR3000 is a 2.4 GHz 802.11n wireless router with 8MB
-	flash and 64MB RAM, four-port fast ethernet switch, and fast
-	ethernet WAN port.
-endef
-
-$(eval $(call Profile,CR3000))
-
-define Profile/CR5000
-	NAME:=PowerCloud CR5000 Cloud Router
-	PACKAGES:=uboot-envtools kmod-usb2 kmod-usb-ohci kmod-ledtrig-usbdev kmod-usb-core
-endef
-
-define Profile/CR5000/Description
-	Package set optimized for the PowerCloud Systems CR5000 Cloud Router
-
-	The CR5000 is a device sold by PowerCloud Systems as a hardware
-	option for their Skydog cloud-managed Wifi solution.
-
-	The CR5000 is a dual band GHz 802.11n wireless router with 8MB
-	flash and 64MB RAM, a five port gigabit switch and a USB 2.0
-	port which was unused in the stock firmware.
-endef
-
-$(eval $(call Profile,CR5000))
-
diff --git a/target/linux/ar71xx/generic/profiles/planex.mk b/target/linux/ar71xx/generic/profiles/planex.mk
deleted file mode 100644
index 3d192ba741..0000000000
--- a/target/linux/ar71xx/generic/profiles/planex.mk
+++ /dev/null
@@ -1,28 +0,0 @@
-#
-# Copyright (C) 2009 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/MZKW04NU
-	NAME:=Planex MZK-W04NU
-	PACKAGES:=kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
-endef
-
-define Profile/MZKW04NU/Description
-	Package set optimized for the Planex MZK-W04NU.
-endef
-
-$(eval $(call Profile,MZKW04NU))
-
-define Profile/MZKW300NH
-	NAME:=Planex MZK-W300NH
-	PACKAGES:=
-endef
-
-define Profile/MZKW300NH/Description
-	Package set optimized for the Planex MZK-W300NH.
-endef
-
-$(eval $(call Profile,MZKW300NH))
diff --git a/target/linux/ar71xx/generic/profiles/qihoo.mk b/target/linux/ar71xx/generic/profiles/qihoo.mk
deleted file mode 100644
index 0ec778ab2b..0000000000
--- a/target/linux/ar71xx/generic/profiles/qihoo.mk
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-# Copyright (C) 2013 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/QIHOO360
-	NAME:=Qihoo 360 C301
-	PACKAGES:=kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev kmod-ath10k
-endef
-
-define Profile/QIHOO360/Description
-  Package set optimized for the Qihoo 360 C301 device.
-endef
-$(eval $(call Profile,QIHOO360))
diff --git a/target/linux/ar71xx/generic/profiles/redwave.mk b/target/linux/ar71xx/generic/profiles/redwave.mk
deleted file mode 100644
index 069dd8f7be..0000000000
--- a/target/linux/ar71xx/generic/profiles/redwave.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# Copyright (C) 2011 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/RW2458N
-	NAME:=Redwave RW2458N
-	PACKAGES:=kmod-usb-core kmod-usb-ohci kmod-ath9k wpad-mini
-endef
-
-define Profile/RW2458N/Description
-	Package set optimized for the Redwave RW2458N board.
-endef
-
-$(eval $(call Profile,RW2458N))
diff --git a/target/linux/ar71xx/generic/profiles/rosewill.mk b/target/linux/ar71xx/generic/profiles/rosewill.mk
deleted file mode 100644
index 00c1d7d1b1..0000000000
--- a/target/linux/ar71xx/generic/profiles/rosewill.mk
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-# Copyright (C) 2013 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/RNXN360RT
-	NAME:=Rosewill RNX-N360RT
-	PACKAGES:=
-endef
-
-define Profile/RNXN360RT/Description
-	Package set optimized for the Rosewill RNX-N360RT.
-endef
-$(eval $(call Profile,RNXN360RT))
diff --git a/target/linux/ar71xx/generic/profiles/senao.mk b/target/linux/ar71xx/generic/profiles/senao.mk
deleted file mode 100644
index 20a79e9808..0000000000
--- a/target/linux/ar71xx/generic/profiles/senao.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# Copyright (C) 2012 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/CAP4200AG
-	NAME:=Senao CAP4200AG
-	PACKAGES:=kmod-ath9k
-endef
-
-define Profile/CAP4200AG/Description
-	Package set optimized for the Senao CAP4200AG.
-endef
-
-$(eval $(call Profile,CAP4200AG))
diff --git a/target/linux/ar71xx/generic/profiles/sitecom.mk b/target/linux/ar71xx/generic/profiles/sitecom.mk
deleted file mode 100644
index 3dd8e4357f..0000000000
--- a/target/linux/ar71xx/generic/profiles/sitecom.mk
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-# Copyright (C) 2009-2013 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-define Profile/WLR8100
-        NAME:=Sitecom WLR-8100
-        PACKAGES:=kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev kmod-usb3
-endef
-
-define Profile/WLR8100/Description
-        Package set optimized for the Sitecom WLR-8100
-endef
-
-$(eval $(call Profile,WLR8100))
diff --git a/target/linux/ar71xx/generic/profiles/smartelectronics.mk b/target/linux/ar71xx/generic/profiles/smartelectronics.mk
deleted file mode 100644
index 6d3dc8c345..0000000000
--- a/target/linux/ar71xx/generic/profiles/smartelectronics.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# Copyright (C) 2013 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/BSB
-        NAME:=Smart Electronics Black Swift board
-        PACKAGES:=kmod-usb-core kmod-usb2
-endef
-
-define Profile/BSB/Description
-        Package set optimized for the Smart Electronics Black Swift board.
-endef
-
-$(eval $(call Profile,BSB))
diff --git a/target/linux/ar71xx/generic/profiles/telldus.mk b/target/linux/ar71xx/generic/profiles/telldus.mk
deleted file mode 100644
index d0dffe08cf..0000000000
--- a/target/linux/ar71xx/generic/profiles/telldus.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# Copyright (C) 2016 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/TELLSTICKZNETLITE
-	NAME:=TellStick ZNet Lite
-	PACKAGES:=kmod-usb-core kmod-usb2 kmod-usb-acm kmod-usb-serial kmod-usb-serial-pl2303
-endef
-
-
-define Profile/TELLSTICKZNETLITE/Description
-	Package set optimized for the TellStick ZNet Lite.
-endef
-$(eval $(call Profile,TELLSTICKZNETLITE))
diff --git a/target/linux/ar71xx/generic/profiles/tp-link.mk b/target/linux/ar71xx/generic/profiles/tp-link.mk
deleted file mode 100644
index c44b22ca44..0000000000
--- a/target/linux/ar71xx/generic/profiles/tp-link.mk
+++ /dev/null
@@ -1,420 +0,0 @@
-#
-# Copyright (C) 2009 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/ARCHERC7
-	NAME:=TP-LINK Archer C5/C7
-	PACKAGES:=kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev kmod-ath10k
-endef
-
-define Profile/ARCHERC7/Description
-	Package set optimized for the TP-LINK Archer C5/C7.
-endef
-$(eval $(call Profile,ARCHERC7))
-
-
-define Profile/CPE510
-	NAME:=TP-LINK CPE210/220/510/520
-	PACKAGES:=rssileds
-endef
-
-define Profile/CPE510/Description
-	Package set optimized for the TP-LINK CPE210/220/510/520.
-endef
-$(eval $(call Profile,CPE510))
-
-
-define Profile/TLMR10U
-	NAME:=TP-LINK TL-MR10U
-	PACKAGES:=kmod-usb-core kmod-usb2
-endef
-
-define Profile/TLMR10U/Description
-	Package set optimized for the TP-LINK TL-MR10U.
-endef
-$(eval $(call Profile,TLMR10U))
-
-
-define Profile/TLMR11U
-	NAME:=TP-LINK TL-MR11U
-	PACKAGES:=kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
-endef
-
-define Profile/TLMR11U/Description
-	Package set optimized for the TP-LINK TL-MR11U.
-endef
-$(eval $(call Profile,TLMR11U))
-
-define Profile/TLMR12U
-	NAME:=TP-LINK TL-MR12U
-	PACKAGES:=kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
-endef
-
-define Profile/TLMR12U/Description
-	Package set optimized for the TP-LINK TL-MR12U.
-endef
-
-$(eval $(call Profile,TLMR12U))
-
-define Profile/TLMR13U
-	NAME:=TP-LINK TL-MR13U
-	PACKAGES:=kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
-endef
-
-define Profile/TLMR13U/Description
-	Package set optimized for the TP-LINK TL-MR13U.
-endef
-$(eval $(call Profile,TLMR13U))
-
-
-define Profile/TLMR3020
-	NAME:=TP-LINK TL-MR3020
-	PACKAGES:=kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
-endef
-
-define Profile/TLMR3020/Description
-	Package set optimized for the TP-LINK TL-MR3020.
-endef
-$(eval $(call Profile,TLMR3020))
-
-
-define Profile/TLMR3040
-	NAME:=TP-LINK TL-MR3040
-	PACKAGES:=kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
-endef
-
-define Profile/TLMR3040/Description
-	Package set optimized for the TP-LINK TL-MR3040.
-endef
-$(eval $(call Profile,TLMR3040))
-
-
-define Profile/TLMR3220
-	NAME:=TP-LINK TL-MR3220
-	PACKAGES:=kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
-endef
-
-define Profile/TLMR3220/Description
-	Package set optimized for the TP-LINK TL-MR3220.
-endef
-$(eval $(call Profile,TLMR3220))
-
-
-define Profile/TLMR3420
-	NAME:=TP-LINK TL-MR3420
-	PACKAGES:=kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
-endef
-
-define Profile/TLMR3420/Description
-	Package set optimized for the TP-LINK TL-MR3420.
-endef
-$(eval $(call Profile,TLMR3420))
-
-
-define Profile/TLWR703
-	NAME:=TP-LINK TL-WR703N
-	PACKAGES:=kmod-usb-core kmod-usb2
-endef
-
-
-define Profile/TLWR703/Description
-	Package set optimized for the TP-LINK TL-WR703N.
-endef
-$(eval $(call Profile,TLWR703))
-
-
-define Profile/TLWR710
-	NAME:=TP-LINK TL-WR710N
-	PACKAGES:=kmod-usb-core kmod-usb2
-endef
-
-
-define Profile/TLWR710/Description
-	Package set optimized for the TP-LINK TL-WR710N.
-endef
-$(eval $(call Profile,TLWR710))
-
-
-define Profile/TLWR720
-	NAME:=TP-LINK TL-WR720N
-	PACKAGES:=kmod-usb-core kmod-usb2
-endef
-
-
-define Profile/TLWR720/Description
-	Package set optimized for the TP-LINK TL-WR720N.
-endef
-$(eval $(call Profile,TLWR720))
-
-
-define Profile/TLWA701
-	NAME:=TP-LINK TL-WA701N/ND
-	PACKAGES:=
-endef
-
-define Profile/TLWA701/Description
-	Package set optimized for the TP-LINK TL-WA701N/ND.
-endef
-$(eval $(call Profile,TLWA701))
-
-define Profile/TLWA7210
-        NAME:=TP-LINK TL-WA7210N
-        PACKAGES:=rssileds kmod-ledtrig-netdev
-endef
-
-define Profile/TLWA7210/Description
-        Package set optimized for the TP-LINK TL-WA7210N.
-endef
-$(eval $(call Profile,TLWA7210))
-
-define Profile/TLWA730RE
-	NAME:=TP-LINK TL-WA730RE
-	PACKAGES:=
-endef
-
-define Profile/TLWA730RE/Description
-	Package set optimized for the TP-LINK TL-WA730RE.
-endef
-$(eval $(call Profile,TLWA730RE))
-
-define Profile/TLWA750
-	NAME:=TP-LINK TL-WA750RE
-	PACKAGES:=rssileds
-endef
-
-define Profile/TLWA750/Description
-	Package set optimized for the TP-LINK TL-WA750RE.
-endef
-$(eval $(call Profile,TLWA750))
-
-
-define Profile/TLWA7510
-	NAME:=TP-LINK TL-WA7510N
-	PACKAGES:=
-endef
-
-define Profile/TLWA7510/Description
-	Package set optimized for the TP-LINK TL-WA7510N.
-endef
-$(eval $(call Profile,TLWA7510))
-
-define Profile/TLWA801
-	NAME:=TP-LINK TL-WA801N/ND
-	PACKAGES:=
-endef
-
-define Profile/TLWA801/Description
-	Package set optimized for the TP-LINK TL-WA801N/ND.
-endef
-$(eval $(call Profile,TLWA801))
-
-define Profile/TLWA830
-	NAME:=TP-LINK TL-WA830RE
-	PACKAGES:=
-endef
-
-define Profile/TLWA830/Description
-	Package set optimized for the TP-LINK TL-WA830RE.
-endef
-$(eval $(call Profile,TLWA830))
-
-
-define Profile/TLWA850
-	NAME:=TP-LINK TL-WA850RE
-	PACKAGES:=rssileds
-endef
-
-define Profile/TLWA850/Description
-	Package set optimized for the TP-LINK TL-WA850RE.
-endef
-$(eval $(call Profile,TLWA850))
-
-
-define Profile/TLWA860
-	NAME:=TP-LINK TL-WA860RE
-	PACKAGES:=
-endef
-
-define Profile/TLWA860/Description
-	Package set optimized for the TP-LINK TL-WA860RE.
-endef
-$(eval $(call Profile,TLWA860))
-
-
-define Profile/TLWA901
-	NAME:=TP-LINK TL-WA901N/ND
-	PACKAGES:=
-endef
-
-define Profile/TLWA901/Description
-	Package set optimized for the TP-LINK TL-WA901N/ND.
-endef
-$(eval $(call Profile,TLWA901))
-
-
-define Profile/TLWDR4300
-	NAME:=TP-LINK TL-WDR3500/3600/4300/4310/MW4350R
-	PACKAGES:=kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
-endef
-
-define Profile/TLWDR4300/Description
-	Package set optimized for the TP-LINK TL-WDR3500/3600/4300/4310/MW4350R.
-endef
-$(eval $(call Profile,TLWDR4300))
-
-
-define Profile/TLWDR3320V2
-	NAME:=TP-LINK TL-WDR3320v2
-	PACKAGES:=kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
-endef
-
-define Profile/TLWDR3320V2/Description
-	Package set optimized for the TP-LINK TL-WDR3320v2.
-endef
-$(eval $(call Profile,TLWDR3320V2))
-
-
-define Profile/TLWDR4900V2
-	NAME:=TP-LINK TL-WDR4900v2
-	PACKAGES:=kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
-endef
-
-define Profile/TLWDR4900V2/Description
-	Package set optimized for the TP-LINK TL-WDR4900v2.
-endef
-$(eval $(call Profile,TLWDR4900V2))
-
-
-define Profile/TLWDR6500V2
-	NAME:=TP-LINK TL-WDR6500v2
-	PACKAGES:=kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev kmod-ath10k
-endef
-
-define Profile/TLWDR6500V2/Description
-	Package set optimized for the TP-LINK TL-WDR6500v2.
-endef
-$(eval $(call Profile,TLWDR6500V2))
-
-
-define Profile/TLWR740
-	NAME:=TP-LINK TL-WR740N/ND
-	PACKAGES:=
-endef
-
-define Profile/TLWR740/Description
-	Package set optimized for the TP-LINK TL-WR740N/ND.
-endef
-$(eval $(call Profile,TLWR740))
-
-
-define Profile/TLWR741
-	NAME:=TP-LINK TL-WR741N/ND
-	PACKAGES:=
-endef
-
-define Profile/TLWR741/Description
-	Package set optimized for the TP-LINK TL-WR741N/ND.
-endef
-$(eval $(call Profile,TLWR741))
-
-
-define Profile/TLWR743
-	NAME:=TP-LINK TL-WR743N/ND
-	PACKAGES:=
-endef
-
-define Profile/TLWR743/Description
-	Package set optimized for the TP-LINK TL-WR743N/ND.
-endef
-$(eval $(call Profile,TLWR743))
-
-
-define Profile/TLWR810
-	NAME:=TP-Link TL-WR810N
-	PACKAGES:=kmod-usb-core kmod-usb2
-endef
-
-define Profile/TLWR810/Description
-	Package set optimized for the TP-LINK TL-WR810N.
-endef
-$(eval $(call Profile,TLWR810))
-
-
-define Profile/TLWR841
-	NAME:=TP-LINK TL-WR841N/ND
-	PACKAGES:=
-endef
-
-define Profile/TLWR841/Description
-	Package set optimized for the TP-LINK TL-WR841N/ND.
-endef
-$(eval $(call Profile,TLWR841))
-
-
-define Profile/TLWR842
-	NAME:=TP-LINK TL-WR842N/ND
-	PACKAGES:=kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
-endef
-
-define Profile/TLWR842/Description
-	Package set optimized for the TP-LINK TL-WR842N/ND.
-endef
-$(eval $(call Profile,TLWR842))
-
-
-define Profile/TLWR843
-	NAME:=TP-LINK TL-WR843N/ND
-	PACKAGES:=
-endef
-
-define Profile/TLWR843/Description
-	Package set optimized for the TP-LINK TL-WR843N/ND.
-endef
-$(eval $(call Profile,TLWR843))
-
-
-define Profile/TLWR941
-	NAME:=TP-LINK TL-WR941N/ND
-	PACKAGES:=
-endef
-
-define Profile/TLWR941/Description
-	Package set optimized for the TP-LINK TL-WR941N/ND.
-endef
-$(eval $(call Profile,TLWR941))
-
-
-define Profile/TLWR1041
-	NAME:=TP-LINK TL-WR1041N
-	PACKAGES:=
-endef
-
-define Profile/TLWR1041/Description
-	Package set optimized for the TP-LINK TL-WR1041N/ND.
-endef
-$(eval $(call Profile,TLWR1041))
-
-
-define Profile/TLWR1043
-	NAME:=TP-LINK TL-WR1043N/ND
-	PACKAGES:=kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
-endef
-
-define Profile/TLWR1043/Description
-	Package set optimized for the TP-LINK TL-WR1043N/ND.
-endef
-$(eval $(call Profile,TLWR1043))
-
-
-define Profile/TLWR2543
-	NAME:=TP-LINK TL-WR2543N/ND
-	PACKAGES:=kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
-endef
-
-define Profile/TLWR2543/Description
-	Package set optimized for the TP-LINK TL-WR2543N/ND.
-endef
-$(eval $(call Profile,TLWR2543))
diff --git a/target/linux/ar71xx/generic/profiles/trendnet.mk b/target/linux/ar71xx/generic/profiles/trendnet.mk
deleted file mode 100644
index 6102e04c42..0000000000
--- a/target/linux/ar71xx/generic/profiles/trendnet.mk
+++ /dev/null
@@ -1,74 +0,0 @@
-#
-# Copyright (C) 2009 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/TEW632BRP
-	NAME:=TRENDNet TEW-632BRP
-	PACKAGES:=
-endef
-
-define Profile/TEW632BRP/Description
-	Package set optimized for the TRENDNet TEW-632BRP.
-endef
-
-$(eval $(call Profile,TEW632BRP))
-
-define Profile/TEW652BRP
-	NAME:=TRENDNet TEW-652BRP
-	PACKAGES:=
-endef
-
-define Profile/TEW652BRP/Description
-	Package set optimized for the TRENDNet TEW-652BRP.
-endef
-
-$(eval $(call Profile,TEW652BRP))
-
-define Profile/TEW673GRU
-	NAME:=TRENDNet TEW-673GRU
-	PACKAGES:=kmod-usb-core kmod-usb-ohci kmod-usb2
-endef
-
-define Profile/TEW673GRU/Description
-	Package set optimized for the TRENDNet TEW-673GRU.
-endef
-
-$(eval $(call Profile,TEW673GRU))
-
-define Profile/TEW712BR
-	NAME:=TRENDNet TEW-712BR
-	PACKAGES:=
-endef
-
-define Profile/TEW712BR/Description
-	Package set optimized for the TRENDNet TEW-712BR.
-endef
-
-$(eval $(call Profile,TEW712BR))
-
-
-define Profile/TEW732BR
-	NAME:=TRENDNet TEW-732BR
-	PACKAGES:=
-endef
-
-define Profile/TEW732BR/Description
-	Package set optimized for the TRENDNet TEW-732BR.
-endef
-
-$(eval $(call Profile,TEW732BR))
-
-
-define Profile/TEW823DRU
-	NAME:=TRENDNet TEW-823DRU
-	PACKAGES:=kmod-usb-core kmod-usb2 kmod-ath10k
-endef
-
-define Profile/TEW823DRU/Description
-	Package set optimized for the TRENDNet TEW-823DRU.
-endef
-
-$(eval $(call Profile,TEW823DRU))
diff --git a/target/linux/ar71xx/generic/profiles/ubnt.mk b/target/linux/ar71xx/generic/profiles/ubnt.mk
deleted file mode 100644
index 69b83985bd..0000000000
--- a/target/linux/ar71xx/generic/profiles/ubnt.mk
+++ /dev/null
@@ -1,95 +0,0 @@
-#
-# Copyright (C) 2009 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/UBNTRS
-	NAME:=Ubiquiti RouterStation
-	PACKAGES:=kmod-usb-core kmod-usb-ohci kmod-usb2
-endef
-
-define Profile/UBNTRS/Description
-	Package set optimized for the Ubiquiti RouterStation.
-endef
-
-$(eval $(call Profile,UBNTRS))
-
-define Profile/UBNTRSPRO
-	NAME:=Ubiquiti RouterStation Pro
-	PACKAGES:=kmod-usb-core kmod-usb-ohci kmod-usb2
-endef
-
-define Profile/UBNTRSPRO/Description
-	Package set optimized for the Ubiquiti RouterStation Pro.
-endef
-
-$(eval $(call Profile,UBNTRSPRO))
-
-define Profile/UBNTUNIFI
-	NAME:=Ubiquiti UniFi AP
-	PACKAGES:=
-endef
-
-define Profile/UBNTUNIFI/Description
-	Package set optimized for the Ubiquiti UniFi AP.
-endef
-
-$(eval $(call Profile,UBNTUNIFI))
-
-define Profile/UBNTUNIFIACLITE
-	NAME:=Ubiquiti UniFi AP AC LITE/LR
-	PACKAGES:=kmod-ath10k ath10k-firmware-qca988x
-endef
-
-define Profile/UBNTUNIFIACLITE/Description
-	Package set optimized for the Ubiquiti UniFi AP AC LITE/LR.
-endef
-
-$(eval $(call Profile,UBNTUNIFIACLITE))
-
-define Profile/UBNTUNIFIACPRO
-	NAME:=Ubiquiti UniFi AP AC PRO
-	PACKAGES:=kmod-ath10k ath10k-firmware-qca988x kmod-usb-core kmod-usb-ohci kmod-usb2
-endef
-
-define Profile/UBNTUNIFIACPRO/Description
-	Package set optimized for the Ubiquiti UniFi AP AC PRO.
-endef
-
-$(eval $(call Profile,UBNTUNIFIACPRO))
-
-define Profile/UBNTUNIFIOUTDOOR
-	NAME:=Ubiquiti UniFiAP Outdoor
-	PACKAGES:=
-endef
-
-define Profile/UBNTUNIFIOUTDOOR/Description
-	Package set optimized for the Ubiquiti UniFiAP Outdoor.
-endef
-
-$(eval $(call Profile,UBNTUNIFIOUTDOOR))
-
-define Profile/UAPPRO
-	NAME:=Ubiquiti UniFi AP Pro
-	PACKAGES:=
-endef
-
-define Profile/UAPPRO/Description
-	Package set optimized for the Ubiquiti UniFi AP Pro.
-endef
-
-$(eval $(call Profile,UAPPRO))
-
-
-define Profile/UBNT
-	NAME:=Ubiquiti Products
-	PACKAGES:=kmod-usb-core kmod-usb-ohci kmod-usb2
-endef
-
-define Profile/UBNT/Description
-	Build images for all Ubiquiti products (including LS-SR71, RouterStation and RouterStation Pro)
-endef
-
-$(eval $(call Profile,UBNT))
diff --git a/target/linux/ar71xx/generic/profiles/wallys.mk b/target/linux/ar71xx/generic/profiles/wallys.mk
deleted file mode 100644
index 11be9211c4..0000000000
--- a/target/linux/ar71xx/generic/profiles/wallys.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# Copyright (C) 2015 Philippe DUCHEIN <pduchein@gmail.com>
-# Copyright (C) 2009 OpenWrt.org
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/DR344
-	NAME:=Wallys DR344
-endef
-
-define Profile/DR344/Description
-	Package set optimized for the Wallys DR344 board.
-endef
-
-$(eval $(call Profile,DR344))
-
diff --git a/target/linux/ar71xx/generic/profiles/wd.mk b/target/linux/ar71xx/generic/profiles/wd.mk
deleted file mode 100644
index b8cb99b94e..0000000000
--- a/target/linux/ar71xx/generic/profiles/wd.mk
+++ /dev/null
@@ -1,36 +0,0 @@
-#
-# Copyright (C) 2013 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/MYNETN600
-	NAME:=WD My Net N600
-	PACKAGES:=kmod-usb-core kmod-usb2
-endef
-
-define Profile/MYNETN600/Description
-  Package set optimized for the WD My Net N600 device.
-endef
-$(eval $(call Profile,MYNETN600))
-
-define Profile/MYNETN750
-	NAME:=WD My Net N750
-	PACKAGES:=kmod-usb-core kmod-usb2
-endef
-define Profile/MYNETN750/Description
-  Package set optimized for the WD My Net N750 device.
-endef
-
-$(eval $(call Profile,MYNETN750))
-
-define Profile/MYNETREXT
-	NAME:=WD My Net Wi-Fi Range Extender
-	PACKAGES:=rssileds
-endef
-
-define Profile/MYNETREXT/Description
-  Package set optimized for the WD My Net Wi-Fi Range Extender device.
-endef
-$(eval $(call Profile,MYNETREXT))
diff --git a/target/linux/ar71xx/generic/profiles/weio.mk b/target/linux/ar71xx/generic/profiles/weio.mk
deleted file mode 100644
index 227cec9a8c..0000000000
--- a/target/linux/ar71xx/generic/profiles/weio.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# Copyright (C) 2013 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/WEIO
-        NAME:=WeIO
-        PACKAGES:=kmod-usb-core kmod-usb2
-endef
-
-define Profile/WEIO/Description
-        Package set optimized for the WeIO board.
-endef
-
-$(eval $(call Profile,WEIO))
diff --git a/target/linux/ar71xx/generic/profiles/wrtnode.mk b/target/linux/ar71xx/generic/profiles/wrtnode.mk
deleted file mode 100644
index 35e6f92481..0000000000
--- a/target/linux/ar71xx/generic/profiles/wrtnode.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# Copyright (C) 2009 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/WRTNODE2Q
-	NAME:=WRTnode2Q board
-	PACKAGES:=kmod-usb-core kmod-usb2 kmod-usb-storage
-endef
-
-define Profile/WRTNODE2Q/Description
-	Package set optimized for the WRTnode2Q board.
-endef
-
-$(eval $(call Profile,WRTNODE2Q))
\ No newline at end of file
diff --git a/target/linux/ar71xx/generic/profiles/zcomax.mk b/target/linux/ar71xx/generic/profiles/zcomax.mk
deleted file mode 100644
index b9ab77e802..0000000000
--- a/target/linux/ar71xx/generic/profiles/zcomax.mk
+++ /dev/null
@@ -1,28 +0,0 @@
-#
-# Copyright (C) 2010 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/ZCN1523H28
-	NAME:=Zcomax ZCN-1523H-2-8
-	PACKAGES:=
-endef
-
-define Profile/ZCN1523H28/Description
-	Package set optimized for the Zcomax ZCN-1523H-2-8 board.
-endef
-
-$(eval $(call Profile,ZCN1523H28))
-
-define Profile/ZCN1523H516
-	NAME:=Zcomax ZCN-1523H-5-16
-	PACKAGES:=
-endef
-
-define Profile/ZCN1523H516/Description
-	Package set optimized for the Zcomax ZCN-1523H-5-16 board.
-endef
-
-$(eval $(call Profile,ZCN1523H516))
diff --git a/target/linux/ar71xx/generic/profiles/zyxel.mk b/target/linux/ar71xx/generic/profiles/zyxel.mk
deleted file mode 100644
index 991a13a96f..0000000000
--- a/target/linux/ar71xx/generic/profiles/zyxel.mk
+++ /dev/null
@@ -1,29 +0,0 @@
-#
-# Copyright (C) 2009 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/NBG_460N_550N_550NH
-	NAME:=Zyxel NBG 460N/550N/550NH
-	PACKAGES:=kmod-rtc-pcf8563
-endef
-
-define Profile/NBG_460N_550N_550NH/Description
-	Package set optimized for the Zyxel NBG 460N/550N/550NH Routers.
-endef
-
-$(eval $(call Profile,NBG_460N_550N_550NH))
-
-
-define Profile/NBG6616
-	NAME:=ZyXEL NBG6616
-	PACKAGES:=kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev kmod-usb-storage kmod-rtc-pcf8563 kmod-ath10k
-endef
-
-define Profile/NBG6616/Description
-	Package set optimized for the ZyXEL NBG6616
-endef
-
-$(eval $(call Profile,NBG6616))
diff --git a/target/linux/ar71xx/image/generic.mk b/target/linux/ar71xx/image/generic.mk
index 996bc5b1ac..095c542e02 100644
--- a/target/linux/ar71xx/image/generic.mk
+++ b/target/linux/ar71xx/image/generic.mk
@@ -1,4 +1,6 @@
 define Device/bsb
+  DEVICE_TITLE := Smart Electronics Black Swift board
+  DEVICE_PACKAGES := kmod-usb-core kmod-usb2
   BOARDNAME = BSB
   IMAGE_SIZE = 16000k
   CONSOLE = ttyATH0,115200
@@ -7,6 +9,8 @@ endef
 TARGET_DEVICES += bsb
 
 define Device/carambola2
+  DEVICE_TITLE := Carambola2 board from 8Devices
+  DEVICE_PACKAGES := kmod-usb-core kmod-usb2
   BOARDNAME = CARAMBOLA2
   IMAGE_SIZE = 16000k
   CONSOLE = ttyATH0,115200
@@ -15,6 +19,7 @@ endef
 TARGET_DEVICES += carambola2
 
 define Device/cf-e316n-v2
+  DEVICE_TITLE := COMFAST CF-E316N v2
   BOARDNAME = CF-E316N-V2
   IMAGE_SIZE = 16192k
   CONSOLE = ttyS0,115200
@@ -23,6 +28,8 @@ endef
 TARGET_DEVICES += cf-e316n-v2
 
 define Device/weio
+  DEVICE_TITLE := WeIO
+  DEVICE_PACKAGES := kmod-usb-core kmod-usb2
   BOARDNAME = WEIO
   IMAGE_SIZE = 16000k
   CONSOLE = ttyATH0,115200
@@ -31,6 +38,8 @@ endef
 TARGET_DEVICES += weio
 
 define Device/gl-ar150
+  DEVICE_TITLE := GL AR150
+  DEVICE_PACKAGES := kmod-usb-core kmod-usb2
   BOARDNAME = GL-AR150
   IMAGE_SIZE = 16000k
   CONSOLE = ttyATH0,115200
@@ -39,6 +48,8 @@ endef
 TARGET_DEVICES += gl-ar150
 
 define Device/gl-ar300
+  DEVICE_TITLE := GL AR300
+  DEVICE_PACKAGES := kmod-usb-core kmod-usb2
   BOARDNAME = GL-AR300
   IMAGE_SIZE = 16000k
   CONSOLE = ttyS0,115200
@@ -47,6 +58,8 @@ endef
 TARGET_DEVICES += gl-ar300
 
 define Device/gl-domino
+  DEVICE_TITLE := GL Domino Pi
+  DEVICE_PACKAGES := kmod-usb-core kmod-usb2
   BOARDNAME = DOMINO
   IMAGE_SIZE = 16000k
   CONSOLE = ttyATH0,115200
@@ -55,6 +68,8 @@ endef
 TARGET_DEVICES += gl-domino
 
 define Device/wndr3700
+  DEVICE_TITLE := NETGEAR WNDR3700
+  DEVICE_PACKAGES := kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-ledtrig-usbdev kmod-leds-wndr3700-usb
   BOARDNAME = WNDR3700
   NETGEAR_KERNEL_MAGIC = 0x33373030
   NETGEAR_BOARD_ID = WNDR3700
@@ -70,6 +85,7 @@ endef
 
 define Device/wndr3700v2
 $(Device/wndr3700)
+  DEVICE_TITLE := NETGEAR WNDR3700 v2
   NETGEAR_BOARD_ID = WNDR3700v2
   NETGEAR_KERNEL_MAGIC = 0x33373031
   NETGEAR_HW_ID = 29763654+16+64
@@ -80,28 +96,34 @@ endef
 
 define Device/wndr3800
 $(Device/wndr3700v2)
+  DEVICE_TITLE := NETGEAR WNDR3800
   NETGEAR_BOARD_ID = WNDR3800
   NETGEAR_HW_ID = 29763654+16+128
 endef
 
 define Device/wndr3800ch
 $(Device/wndr3800)
+  DEVICE_TITLE := NETGEAR WNDR3800 (Ch)
   NETGEAR_BOARD_ID = WNDR3800CH
 endef
 
 define Device/wndrmac
 $(Device/wndr3700v2)
+  DEVICE_TITLE := NETGEAR WNDRMAC
   NETGEAR_BOARD_ID = WNDRMAC
 endef
 
 define Device/wndrmacv2
 $(Device/wndr3800)
+  DEVICE_TITLE := NETGEAR WNDRMAC v2
   NETGEAR_BOARD_ID = WNDRMACv2
 endef
 
 TARGET_DEVICES += wndr3700 wndr3700v2 wndr3800 wndr3800ch wndrmac wndrmacv2
 
 define Device/cap324
+  DEVICE_TITLE := PowerCloud CAP324 Cloud AP
+  DEVICE_PACKAGES := uboot-envtools
   BOARDNAME := CAP324
   DEVICE_PROFILE := CAP324
   IMAGE_SIZE = 15296k
@@ -111,6 +133,8 @@ endef
 TARGET_DEVICES += cap324
 
 define Device/cap324-nocloud
+  DEVICE_TITLE := PowerCloud CAP324 Cloud AP
+  DEVICE_PACKAGES := uboot-envtools
   BOARDNAME := CAP324
   DEVICE_PROFILE := CAP324
   IMAGE_SIZE = 16000k
@@ -120,6 +144,8 @@ endef
 TARGET_DEVICES += cap324-nocloud
 
 define Device/cr3000
+  DEVICE_TITLE := PowerCloud CR3000 Cloud Router
+  DEVICE_PACKAGES := uboot-envtools
   BOARDNAME := CR3000
   DEVICE_PROFILE := CR3000
   IMAGE_SIZE = 7104k
@@ -129,6 +155,8 @@ endef
 TARGET_DEVICES += cr3000
 
 define Device/cr3000-nocloud
+  DEVICE_TITLE := PowerCloud CR3000 (No-Cloud)
+  DEVICE_PACKAGES := uboot-envtools
   BOARDNAME := CR3000
   DEVICE_PROFILE := CR3000
   IMAGE_SIZE = 7808k
@@ -138,6 +166,8 @@ endef
 TARGET_DEVICES += cr3000-nocloud
 
 define Device/cr5000
+  DEVICE_TITLE := PowerCloud CR5000 Cloud Router
+  DEVICE_PACKAGES := uboot-envtools kmod-usb2 kmod-usb-ohci kmod-ledtrig-usbdev kmod-usb-core
   BOARDNAME := CR5000
   DEVICE_PROFILE := CR5000
   IMAGE_SIZE = 7104k
@@ -147,6 +177,8 @@ endef
 TARGET_DEVICES += cr5000
 
 define Device/cr5000-nocloud
+  DEVICE_TITLE := PowerCloud CR5000 (No-Cloud)
+  DEVICE_PACKAGES := uboot-envtools kmod-usb2 kmod-usb-ohci kmod-ledtrig-usbdev kmod-usb-core
   BOARDNAME := CR5000
   DEVICE_PROFILE := CR5000
   IMAGE_SIZE = 7808k
@@ -157,6 +189,8 @@ TARGET_DEVICES += cr5000-nocloud
 
 define Device/antminer-s1
     $(Device/tplink-8mlzma)
+    DEVICE_TITLE := Antminer-S1
+    DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-crypto-manager kmod-i2c-gpio-custom kmod-usb-hid
     BOARDNAME := ANTMINER-S1
     DEVICE_PROFILE := ANTMINERS1
     TPLINK_HWID := 0x04440101
@@ -165,6 +199,8 @@ endef
 
 define Device/antminer-s3
     $(Device/tplink-8mlzma)
+    DEVICE_TITLE := Antminer-S3
+    DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-crypto-manager kmod-i2c-gpio-custom kmod-usb-hid
     BOARDNAME := ANTMINER-S3
     DEVICE_PROFILE := ANTMINERS3
     TPLINK_HWID := 0x04440301
@@ -173,6 +209,8 @@ endef
 
 define Device/antrouter-r1
     $(Device/tplink-8mlzma)
+    DEVICE_TITLE := Antrouter-R1
+    DEVICE_PACKAGES := kmod-usb-core kmod-usb2
     BOARDNAME := ANTROUTER-R1
     DEVICE_PROFILE := ANTROUTERR1
     TPLINK_HWID := 0x44440101
@@ -181,6 +219,8 @@ endef
 
 define Device/el-m150
     $(Device/tplink-8mlzma)
+    DEVICE_TITLE := EasyLink EL-M150
+    DEVICE_PACKAGES := kmod-usb-core kmod-usb2
     BOARDNAME := EL-M150
     DEVICE_PROFILE := ELM150
     TPLINK_HWID := 0x01500101
@@ -189,6 +229,8 @@ endef
 
 define Device/el-mini
     $(Device/tplink-8mlzma)
+    DEVICE_TITLE := EasyLink EL-MINI
+    DEVICE_PACKAGES := kmod-usb-core kmod-usb2
     BOARDNAME := EL-MINI
     DEVICE_PROFILE := ELMINI
     TPLINK_HWID := 0x01530001
@@ -198,6 +240,8 @@ TARGET_DEVICES += antminer-s1 antminer-s3 antrouter-r1 el-m150 el-mini
 
 define Device/gl-inet-6408A-v1
     $(Device/tplink-8mlzma)
+    DEVICE_TITLE := GL.iNet 6408
+    DEVICE_PACKAGES := kmod-usb-core kmod-usb2
     BOARDNAME := GL-INET
     DEVICE_PROFILE := GLINET
     TPLINK_HWID := 0x08000001
@@ -206,6 +250,8 @@ endef
 
 define Device/gl-inet-6416A-v1
     $(Device/tplink-16mlzma)
+    DEVICE_TITLE := GL.iNet 6416
+    DEVICE_PACKAGES := kmod-usb-core kmod-usb2
     BOARDNAME := GL-INET
     DEVICE_PROFILE := GLINET
     TPLINK_HWID := 0x08000001
@@ -215,6 +261,7 @@ TARGET_DEVICES += gl-inet-6408A-v1 gl-inet-6416A-v1
 
 define Device/rnx-n360rt
     $(Device/tplink-4m)
+    DEVICE_TITLE := Rosewill RNX-N360RT
     BOARDNAME := TL-WR941ND
     DEVICE_PROFILE := RNXN360RT
     TPLINK_HWID := 0x09410002
@@ -224,6 +271,8 @@ TARGET_DEVICES += rnx-n360rt
 
 define Device/mc-mac1200r
     $(Device/tplink-8mlzma)
+    DEVICE_TITLE := MERCURY MAC1200R
+    DEVICE_PACKAGES := kmod-ath10k
     BOARDNAME := MC-MAC1200R
     DEVICE_PROFILE := MAC1200R
     TPLINK_HWID := 0x12000001
@@ -232,6 +281,8 @@ TARGET_DEVICES += mc-mac1200r
 
 define Device/minibox-v1
     $(Device/tplink-16mlzma)
+    DEVICE_TITLE := Gainstrong MiniBox V1.0
+    DEVICE_PACKAGES := kmod-usb-core kmod-usb2  kmod-ledtrig-usbdev
     BOARDNAME := MINIBOX-V1
     DEVICE_PROFILE := MINIBOXV1
     TPLINK_HWID := 0x3C000201
@@ -241,6 +292,8 @@ TARGET_DEVICES += minibox-v1
 
 define Device/omy-g1
     $(Device/tplink-16mlzma)
+    DEVICE_TITLE := OMYlink OMY-G1
+    DEVICE_PACKAGES := kmod-usb-core kmod-usb2
     BOARDNAME := OMY-G1
     DEVICE_PROFILE := OMYG1
     TPLINK_HWID := 0x06660101
@@ -248,6 +301,7 @@ endef
 
 define Device/omy-x1
     $(Device/tplink-8mlzma)
+    DEVICE_TITLE := OMYlink OMY-X1
     BOARDNAME := OMY-X1
     DEVICE_PROFILE := OMYX1
     TPLINK_HWID := 0x06660201
@@ -256,6 +310,8 @@ TARGET_DEVICES += omy-g1 omy-x1
 
 define Device/onion-omega
     $(Device/tplink-16mlzma)
+    DEVICE_TITLE := Onion Omega
+    DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-storage kmod-i2c-core kmod-i2c-gpio-custom kmod-spi-bitbang kmod-spi-dev kmod-spi-gpio kmod-spi-gpio-custom kmod-usb-serial
     BOARDNAME := ONION-OMEGA
     DEVICE_PROFILE := OMEGA
     TPLINK_HWID := 0x04700001
@@ -265,6 +321,7 @@ TARGET_DEVICES += onion-omega
 
 define Device/smart-300
     $(Device/tplink-8mlzma)
+    DEVICE_TITLE := NC-LINK SMART-300
     BOARDNAME := SMART-300
     DEVICE_PROFILE := SMART-300
     TPLINK_HWID := 0x93410001
@@ -273,6 +330,8 @@ TARGET_DEVICES += smart-300
 
 define Device/som9331
     $(Device/tplink-8mlzma)
+    DEVICE_TITLE := OpenEmbed SOM9331
+    DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-storage kmod-i2c-core kmod-i2c-gpio-custom kmod-spi-bitbang kmod-spi-dev kmod-spi-gpio kmod-spi-gpio-custom kmod-usb-serial
     BOARDNAME := SOM9331
     DEVICE_PROFILE := SOM9331
     TPLINK_HWID := 0x04800054
@@ -282,6 +341,8 @@ TARGET_DEVICES += som9331
 
 define Device/tellstick-znet-lite
     $(Device/tplink-16mlzma)
+    DEVICE_TITLE := TellStick ZNet Lite
+    DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-acm kmod-usb-serial kmod-usb-serial-pl2303
     BOARDNAME := TELLSTICK-ZNET-LITE
     DEVICE_PROFILE := TELLSTICKZNETLITE
     TPLINK_HWID := 0x00726001
@@ -291,6 +352,8 @@ TARGET_DEVICES += tellstick-znet-lite
 
 define Device/oolite
     $(Device/tplink-16mlzma)
+    DEVICE_TITLE := Gainstrong OOLITE
+    DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
     BOARDNAME := GS-OOLITE
     DEVICE_PROFILE := OOLITE
     TPLINK_HWID := 0x3C000101
@@ -300,45 +363,49 @@ TARGET_DEVICES += oolite
 
 
 define Device/NBG6616
-	BOARDNAME = NBG6616
-	KERNEL_SIZE = 2048k
-	IMAGE_SIZE = 15323k
-	MTDPARTS = spi0.0:192k(u-boot)ro,64k(env)ro,64k(RFdata)ro,384k(zyxel_rfsd),384k(romd),64k(header),2048k(kernel),13184k(rootfs),15232k@0x120000(firmware)
-	CMDLINE += mem=128M
-	IMAGES := sysupgrade.bin
-	KERNEL := kernel-bin | patch-cmdline | lzma | uImage lzma | jffs2 boot/vmlinux.lzma.uImage
-	IMAGE/sysupgrade.bin = append-kernel $$$$(KERNEL_SIZE) | append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE)
-	# We cannot currently build a factory image. It is the sysupgrade image
-	# prefixed with a header (which is actually written into the MTD device).
-	# The header is 2kiB and is filled with 0xff. The format seems to be:
-	#   2 bytes:  0x0000
-	#   2 bytes:  checksum of the data partition (big endian)
-	#   4 bytes:  length of the contained image file (big endian)
-	#  32 bytes:  Firmware Version string (NUL terminated, 0xff padded)
-	#   2 bytes:  0x0000
-	#   2 bytes:  checksum over the header partition (big endian)
-	#  32 bytes:  Model (e.g. "NBG6616", NUL termiated, 0xff padded)
-	#      rest: 0xff padding
-	#
-	# The checksums are calculated by adding up all bytes and if a 16bit
-	# overflow occurs, one is added and the sum is masked to 16 bit:
-	#   csum = csum + databyte; if (csum > 0xffff) { csum += 1; csum &= 0xffff };
-	# Should the file have an odd number of bytes then the byte len-0x800 is
-	# used additionally.
-	# The checksum for the header is calcualted over the first 2048 bytes with
-	# the firmware checksum as the placeholder during calculation.
-	#
-	# The header is padded with 0xff to the erase block size of the device.
+  DEVICE_TITLE := ZyXEL NBG6616
+  DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev kmod-usb-storage kmod-rtc-pcf8563 kmod-ath10k
+  BOARDNAME = NBG6616
+  KERNEL_SIZE = 2048k
+  IMAGE_SIZE = 15323k
+  MTDPARTS = spi0.0:192k(u-boot)ro,64k(env)ro,64k(RFdata)ro,384k(zyxel_rfsd),384k(romd),64k(header),2048k(kernel),13184k(rootfs),15232k@0x120000(firmware)
+  CMDLINE += mem=128M
+  IMAGES := sysupgrade.bin
+  KERNEL := kernel-bin | patch-cmdline | lzma | uImage lzma | jffs2 boot/vmlinux.lzma.uImage
+  IMAGE/sysupgrade.bin = append-kernel $$$$(KERNEL_SIZE) | append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE)
+  # We cannot currently build a factory image. It is the sysupgrade image
+  # prefixed with a header (which is actually written into the MTD device).
+  # The header is 2kiB and is filled with 0xff. The format seems to be:
+  #   2 bytes:  0x0000
+  #   2 bytes:  checksum of the data partition (big endian)
+  #   4 bytes:  length of the contained image file (big endian)
+  #  32 bytes:  Firmware Version string (NUL terminated, 0xff padded)
+  #   2 bytes:  0x0000
+  #   2 bytes:  checksum over the header partition (big endian)
+  #  32 bytes:  Model (e.g. "NBG6616", NUL termiated, 0xff padded)
+  #      rest: 0xff padding
+  #
+  # The checksums are calculated by adding up all bytes and if a 16bit
+  # overflow occurs, one is added and the sum is masked to 16 bit:
+  #   csum = csum + databyte; if (csum > 0xffff) { csum += 1; csum &= 0xffff };
+  # Should the file have an odd number of bytes then the byte len-0x800 is
+  # used additionally.
+  # The checksum for the header is calcualted over the first 2048 bytes with
+  # the firmware checksum as the placeholder during calculation.
+  #
+  # The header is padded with 0xff to the erase block size of the device.
 endef
 
 TARGET_DEVICES += NBG6616
 
 define Device/c-55
-	BOARDNAME = C-55
-	KERNEL_SIZE = 2048k
-	IMAGE_SIZE = 15872k
-	MTDPARTS = spi0.0:256k(u-boot)ro,128k(u-boot-env)ro,2048k(kernel),13824k(rootfs),13824k(opt)ro,2624k(failsafe)ro,64k(art)ro,15872k@0x60000(firmware)
-	IMAGE/sysupgrade.bin = append-kernel $$$$(KERNEL_SIZE) | append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE)
+  DEVICE_TITLE := AirTight Networks C-55
+  DEVICE_PACKAGES := kmod-ath9k
+  BOARDNAME = C-55
+  KERNEL_SIZE = 2048k
+  IMAGE_SIZE = 15872k
+  MTDPARTS = spi0.0:256k(u-boot)ro,128k(u-boot-env)ro,2048k(kernel),13824k(rootfs),13824k(opt)ro,2624k(failsafe)ro,64k(art)ro,15872k@0x60000(firmware)
+  IMAGE/sysupgrade.bin = append-kernel $$$$(KERNEL_SIZE) | append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE)
 endef
 
 TARGET_DEVICES += c-55
diff --git a/target/linux/ar71xx/image/legacy-devices.mk b/target/linux/ar71xx/image/legacy-devices.mk
new file mode 100644
index 0000000000..95fa4437c6
--- /dev/null
+++ b/target/linux/ar71xx/image/legacy-devices.mk
@@ -0,0 +1,665 @@
+define LegacyDevice/ALFAAP120C
+	DEVICE_TITLE := ALFA Network AP120C board
+	DEVICE_PACKAGES := uboot-envtools
+endef
+LEGACY_DEVICES += ALFAAP120C
+
+define LegacyDevice/ALFAAP96
+	DEVICE_TITLE := ALFA Network AP96 board
+	DEVICE_PACKAGES := kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-rtc-pcf2123
+endef
+LEGACY_DEVICES += ALFAAP96
+
+define LegacyDevice/HORNETUB
+	DEVICE_TITLE := ALFA Network Hornet-UB board (8MB flash, 32MB ram)
+	DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
+endef
+LEGACY_DEVICES += HORNETUB
+
+define LegacyDevice/HORNETUBx2
+	DEVICE_TITLE := ALFA Network Hornet-UB-x2 board (16MB flash, 64MB ram)
+	DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
+endef
+LEGACY_DEVICES += HORNETUBx2
+
+define LegacyDevice/ALFANX
+	DEVICE_TITLE := ALFA Network N2/N5 board
+endef
+LEGACY_DEVICES += ALFANX
+
+define LegacyDevice/TUBE2H
+	DEVICE_TITLE := ALFA Network Tube2H board
+endef
+LEGACY_DEVICES += TUBE2H
+
+define LegacyDevice/ALL0305
+	DEVICE_TITLE := Allnet ALL0305
+	DEVICE_PACKAGES := fconfig kmod-ath5k -kmod-ath9k
+endef
+LEGACY_DEVICES += ALL0305
+
+define LegacyDevice/ALL0258N
+	DEVICE_TITLE := Allnet ALL0258N
+	DEVICE_PACKAGES := uboot-envtools rssileds
+endef
+LEGACY_DEVICES += ALL0258N
+
+define LegacyDevice/ALL0315N
+	DEVICE_TITLE := Allnet ALL0315N
+	DEVICE_PACKAGES := uboot-envtools rssileds
+endef
+LEGACY_DEVICES += ALL0315N
+
+define LegacyDevice/Yun
+	DEVICE_TITLE := Arduino Yun based on Atheros AR9331
+	DEVICE_PACKAGES := kmod-usb-core kmod-usb2
+endef
+LEGACY_DEVICES += Yun
+
+define LegacyDevice/AP113
+	DEVICE_TITLE := Atheros AP113 reference board
+	DEVICE_PACKAGES := kmod-usb-core kmod-usb2
+endef
+LEGACY_DEVICES += AP113
+
+define LegacyDevice/AP121
+	DEVICE_TITLE := Atheros AP121 reference board
+	DEVICE_PACKAGES := kmod-usb-core kmod-usb2
+endef
+LEGACY_DEVICES += AP121
+
+define LegacyDevice/AP121MINI
+	DEVICE_TITLE := Atheros AP121-MINI reference board
+endef
+LEGACY_DEVICES += AP121MINI
+
+define LegacyDevice/AP132
+	DEVICE_TITLE := Atheros AP132 reference board
+	DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-storage
+endef
+LEGACY_DEVICES += AP132
+
+define LegacyDevice/AP135
+	DEVICE_TITLE := Atheros AP135 reference board
+	DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-storage
+endef
+LEGACY_DEVICES += AP135
+
+define LegacyDevice/AP136
+	DEVICE_TITLE := Atheros AP136 reference board
+	DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-storage
+endef
+LEGACY_DEVICES += AP136
+
+define LegacyDevice/AP143
+	DEVICE_TITLE := Qualcomm Atheros AP143 reference board
+	DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-storage
+endef
+LEGACY_DEVICES += AP143
+
+define LegacyDevice/AP147
+	DEVICE_TITLE := Qualcomm Atheros AP147 reference board
+	DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-storage
+endef
+LEGACY_DEVICES += AP147
+
+define LegacyDevice/AP152
+	DEVICE_TITLE := Qualcomm Atheros AP152 reference board
+	DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-storage
+endef
+LEGACY_DEVICES += AP152
+
+define LegacyDevice/AP81
+	DEVICE_TITLE := Atheros AP81 reference board
+	DEVICE_PACKAGES := kmod-usb-core kmod-usb2
+endef
+LEGACY_DEVICES += AP81
+
+define LegacyDevice/AP83
+	DEVICE_TITLE := Atheros AP83 reference board
+	DEVICE_PACKAGES := kmod-usb-core kmod-usb2 \
+		  vsc7385-ucode-ap83 vsc7395-ucode-ap83
+endef
+LEGACY_DEVICES += AP83
+
+define LegacyDevice/AP96
+	DEVICE_TITLE := Atheros AP96 reference board
+	DEVICE_PACKAGES := kmod-usb-core kmod-usb2
+endef
+LEGACY_DEVICES += AP96
+
+define LegacyDevice/DB120
+	DEVICE_TITLE := Atheros DB120 reference board
+	DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-storage
+endef
+LEGACY_DEVICES += DB120
+
+define LegacyDevice/PB42
+	DEVICE_TITLE := Atheros PB42 reference board
+	DEVICE_PACKAGES := kmod-usb-core kmod-usb-ohci kmod-usb2
+endef
+LEGACY_DEVICES += PB42
+
+define LegacyDevice/PB44
+	DEVICE_TITLE := Atheros PB44 reference board
+	DEVICE_PACKAGES := kmod-usb-core kmod-usb-ohci kmod-usb2 \
+		  vsc7385-ucode-pb44 vsc7395-ucode-pb44
+endef
+LEGACY_DEVICES += PB44
+
+define LegacyDevice/PB92
+	DEVICE_TITLE := Atheros PB92 reference board
+	DEVICE_PACKAGES := kmod-usb-core kmod-usb2
+endef
+LEGACY_DEVICES += PB92
+
+define LegacyDevice/A02RBW300N
+	DEVICE_TITLE := Atlantis-Land A02-RB-W300N
+endef
+LEGACY_DEVICES += A02RBW300N
+
+define LegacyDevice/F9K1115V2
+	DEVICE_TITLE := Belkin AC1750DB (F9K1115V2)
+	DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb3 kmod-ledtrig-usbdev \
+		kmod-ath10k
+endef
+LEGACY_DEVICES += F9K1115V2
+
+define LegacyDevice/BXU2000N2
+	DEVICE_TITLE := BHU BXU2000n-2
+	DEVICE_PACKAGES := kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-usb-storage
+endef
+LEGACY_DEVICES += BXU2000N2
+
+define LegacyDevice/WZRHPG300NH
+	DEVICE_TITLE := Buffalo WZR-HP-G300NH
+	DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
+endef
+LEGACY_DEVICES += WZRHPG300NH
+
+define LegacyDevice/WZRHPG300NH2
+	DEVICE_TITLE := Buffalo WZR-HP-G300NH2
+	DEVICE_PACKAGES := kmod-ath9k wpad-mini kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
+endef
+LEGACY_DEVICES += WZRHPG300NH2
+
+define LegacyDevice/WZRHPAG300H
+	DEVICE_TITLE := Buffalo WZR-HP-AG300H
+	DEVICE_PACKAGES := kmod-usb-ohci kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
+endef
+LEGACY_DEVICES += WZRHPAG300H
+
+define LegacyDevice/WZRHPG450H
+	DEVICE_TITLE := Buffalo WZR-HP-G450H
+	DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
+endef
+LEGACY_DEVICES += WZRHPG450H
+
+define LegacyDevice/WZR450HP2
+	DEVICE_TITLE := Buffalo WZR-450HP2
+	DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
+endef
+LEGACY_DEVICES += WZR450HP2
+
+define LegacyDevice/WZR600DHP
+	DEVICE_TITLE := Buffalo WZR-600DHP
+	DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
+endef
+LEGACY_DEVICES += WZR600DHP
+
+define LegacyDevice/WHRG301N
+	DEVICE_TITLE := Buffalo WHR-G301N
+endef
+LEGACY_DEVICES += WHRG301N
+
+define LegacyDevice/WHRHPG300N
+	DEVICE_TITLE := Buffalo WHR-HP-G300N
+endef
+LEGACY_DEVICES += WHRHPG300N
+
+define LegacyDevice/WHRHPGN
+	DEVICE_TITLE := Buffalo WHR-HP-GN
+endef
+LEGACY_DEVICES += WHRHPGN
+
+define LegacyDevice/WLAEAG300N
+	DEVICE_TITLE := Buffalo WLAE-AG300N
+	DEVICE_PACKAGES := kmod-ledtrig-netdev
+endef
+LEGACY_DEVICES += WLAEAG300N
+
+define LegacyDevice/WP543
+	DEVICE_TITLE := Compex WP543/WPJ543
+	DEVICE_PACKAGES := kmod-usb-core kmod-usb-ohci kmod-usb2
+endef
+LEGACY_DEVICES += WP543
+
+define LegacyDevice/WPE72
+	DEVICE_TITLE := Compex WPE72/WPE72NX
+	DEVICE_PACKAGES := kmod-usb-core kmod-usb-ohci kmod-usb2
+endef
+LEGACY_DEVICES += WPE72
+
+define LegacyDevice/WPJ342
+	DEVICE_TITLE := Compex WPJ342
+endef
+LEGACY_DEVICES += WPJ342
+
+define LegacyDevice/WPJ344
+	DEVICE_TITLE := Compex WPJ344
+endef
+LEGACY_DEVICES += WPJ344
+
+define LegacyDevice/WPJ531
+	DEVICE_TITLE := Compex WPJ531
+endef
+LEGACY_DEVICES += WPJ531
+
+define LegacyDevice/WPJ558
+	DEVICE_TITLE := Compex WPJ558
+endef
+LEGACY_DEVICES += WPJ558
+
+define LegacyDevice/dLAN_Hotspot
+	DEVICE_TITLE := devolo dLAN Hotspot
+	DEVICE_PACKAGES := open-plc-utils open-plc-utils-chkpib open-plc-utils-getpib open-plc-utils-modpib \
+		open-plc-utils-setpib open-plc-utils-hpavkey open-plc-utils-plchost \
+		open-plc-utils-plctool open-plc-utils-pibdump open-plc-utils-plcstat \
+		ebtables hostapd-utils wifitoggle wpad
+endef
+LEGACY_DEVICES += dLAN_Hotspot
+
+define LegacyDevice/dLAN_pro_500_wp
+	DEVICE_TITLE := devolo dLAN pro 500 Wireless+
+	DEVICE_PACKAGES := open-plc-utils open-plc-utils-chkpib open-plc-utils-getpib open-plc-utils-modpib \
+		open-plc-utils-setpib open-plc-utils-hpavkey open-plc-utils-amphost \
+		open-plc-utils-plctool open-plc-utils-pibdump open-plc-utils-plcstat \
+		ebtables hostapd-utils wifitoggle wpad
+endef
+LEGACY_DEVICES += dLAN_pro_500_wp
+
+define LegacyDevice/dLAN_pro_1200_ac
+	DEVICE_TITLE := devolo dLAN pro 1200+ WiFi ac
+	DEVICE_PACKAGES := open-plc-utils open-plc-utils-chkpib open-plc-utils-getpib open-plc-utils-modpib \
+		open-plc-utils-setpib open-plc-utils-hpavkey open-plc-utils-plchost \
+		open-plc-utils-plctool open-plc-utils-pibdump open-plc-utils-plcstat \
+		ebtables hostapd-utils wifitoggle wpad ip-full kmod-ath10k kmod-leds-gpio \
+		kmod-ledtrig-gpio
+endef
+LEGACY_DEVICES += dLAN_pro_1200_ac
+
+define LegacyDevice/DHP1565A1
+	DEVICE_TITLE := D-Link DHP-1565 rev. A1
+	DEVICE_PACKAGES := kmod-usb-core kmod-usb2
+endef
+LEGACY_DEVICES += DHP1565A1
+
+define LegacyDevice/DIR505A1
+	DEVICE_TITLE := D-Link DIR-505 rev. A1
+	DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
+endef
+LEGACY_DEVICES += DIR505A1
+
+define LegacyDevice/DIR600A1
+	DEVICE_TITLE := D-Link DIR-600 rev. A1
+endef
+LEGACY_DEVICES += DIR600A1
+
+define LegacyDevice/DIR601A1
+	DEVICE_TITLE := D-Link DIR-601 rev. A1
+endef
+LEGACY_DEVICES += DIR601A1
+
+define LegacyDevice/DIR601B1
+	DEVICE_TITLE := D-Link DIR-601 rev. B1
+endef
+LEGACY_DEVICES += DIR601B1
+
+define LegacyDevice/DIR615C1
+	DEVICE_TITLE := D-Link DIR-615 rev. C1
+endef
+LEGACY_DEVICES += DIR615C1
+
+define LegacyDevice/DIR615E1
+	DEVICE_TITLE := D-Link DIR-615 rev. E1
+endef
+LEGACY_DEVICES += DIR615E1
+
+define LegacyDevice/DIR615E4
+	DEVICE_TITLE := D-Link DIR-615 rev. E4
+endef
+LEGACY_DEVICES += DIR615E4
+
+define LegacyDevice/DIR615IX
+	DEVICE_TITLE := D-Link DIR-615 rev. I1
+endef
+LEGACY_DEVICES += DIR615IX
+
+define LegacyDevice/DIR825B1
+	DEVICE_TITLE := D-Link DIR-825 rev. B1
+	DEVICE_PACKAGES := kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-ledtrig-usbdev
+endef
+LEGACY_DEVICES += DIR825B1
+
+define LegacyDevice/DIR825C1
+	DEVICE_TITLE := D-Link DIR-825 rev. C1
+	DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
+endef
+LEGACY_DEVICES += DIR825C1
+
+define LegacyDevice/DIR835A1
+	DEVICE_TITLE := D-Link DIR-835 rev. A1
+	DEVICE_PACKAGES := kmod-usb-core kmod-usb2
+endef
+LEGACY_DEVICES += DIR835A1
+
+define LegacyDevice/DGL5500A1
+	DEVICE_TITLE := D-Link DGL-5500 rev. A1
+	DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ath10k
+endef
+LEGACY_DEVICES += DGL5500A1
+
+define LegacyDevice/DRAGINO2
+	DEVICE_TITLE := DRAGINO2
+	DEVICE_PACKAGES := kmod-ath9k kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-ledtrig-usbdev
+endef
+LEGACY_DEVICES += DRAGINO2
+
+define LegacyDevice/EAP300V2
+	DEVICE_TITLE := EnGenius EAP300V2
+endef
+LEGACY_DEVICES += EAP300V2
+
+define LegacyDevice/ESR900
+	DEVICE_TITLE := EnGenius ESR900
+	DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
+endef
+LEGACY_DEVICES += ESR900
+
+define LegacyDevice/ESR1750
+        DEVICE_TITLE := EnGenius ESR1750
+        DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-storage kmod-ath10k wpad-mini
+endef
+LEGACY_DEVICES += ESR1750
+
+define LegacyDevice/EPG5000
+        DEVICE_TITLE := EnGenius EPG5000
+        DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-storage kmod-ath10k wpad-mini
+endef
+LEGACY_DEVICES += EPG5000
+
+define LegacyDevice/EWDORIN
+	DEVICE_TITLE := Embedded Wireless Dorin Platform
+	DEVICE_PACKAGES := kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-ledtrig-usbdev kmod-usb-storage \
+		kmod-fs-vfat kmod-fs-msdos kmod-fs-ntfs kmod-fs-ext4 \
+		kmod-nls-cp437 kmod-nls-cp850 kmod-nls-cp852 kmod-nls-iso8859-1 kmod-nls-utf8
+endef
+LEGACY_DEVICES += EWDORIN
+
+define LegacyDevice/HIWIFI_HC6361
+	DEVICE_TITLE := HiWiFi HC6361
+	DEVICE_PACKAGES :=  kmod-usb-core kmod-usb2 kmod-usb-storage \
+		kmod-crypto-deflate kmod-fs-ext4 kmod-ledtrig-gpio \
+		kmod-nls-iso8859-1 e2fsprogs
+endef
+LEGACY_DEVICES += HIWIFI_HC6361
+
+define LegacyDevice/JA76PF
+	DEVICE_TITLE := jjPlus JA76PF
+	DEVICE_PACKAGES := kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-hwmon-core kmod-i2c-core kmod-hwmon-lm75
+endef
+LEGACY_DEVICES += JA76PF
+
+define LegacyDevice/JA76PF2
+	DEVICE_TITLE := jjPlus JA76PF2
+endef
+LEGACY_DEVICES += JA76PF2
+
+define LegacyDevice/JWAP003
+	DEVICE_TITLE := jjPlus JWAP003
+	DEVICE_PACKAGES := kmod-usb-core kmod-usb-ohci kmod-usb2
+endef
+LEGACY_DEVICES += JWAP003
+
+define LegacyDevice/WRT160NL
+	DEVICE_TITLE := Linksys WRT160NL
+	DEVICE_PACKAGES := kmod-usb-core kmod-usb2
+endef
+LEGACY_DEVICES += WRT160NL
+
+define LegacyDevice/WRT400N
+	DEVICE_TITLE := Linksys WRT400N
+endef
+LEGACY_DEVICES += WRT400N
+
+define LegacyDevice/MR12
+	DEVICE_TITLE := Meraki MR12
+	DEVICE_PACKAGES := kmod-spi-gpio kmod-ath9k
+endef
+LEGACY_DEVICES += MR12
+
+define LegacyDevice/MR16
+	DEVICE_TITLE := Meraki MR16
+	DEVICE_PACKAGES := kmod-spi-gpio kmod-ath9k
+endef
+LEGACY_DEVICES += MR16
+
+define LegacyDevice/SMART-300
+        DEVICE_TITLE := NC-LINK SMART-300
+endef
+LEGACY_DEVICES += SMART-300
+
+define LegacyDevice/WNDAP360
+        DEVICE_TITLE := NETGEAR WNDAP360
+endef
+LEGACY_DEVICES += WNDAP360
+
+define LegacyDevice/WNR2000V3
+	DEVICE_TITLE := NETGEAR WNR2000V3
+	DEVICE_PACKAGES :=  -kmod-usb-core -kmod-usb-ohci -kmod-usb2 -kmod-ledtrig-usbdev
+endef
+LEGACY_DEVICES += WNR2000V3
+
+define LegacyDevice/WNR2000V4
+	DEVICE_TITLE := NETGEAR WNR2000V4
+	DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
+endef
+LEGACY_DEVICES += WNR2000V4
+
+define LegacyDevice/WNR612V2
+	DEVICE_TITLE := NETGEAR WNR612V2 / On Networks N150
+endef
+LEGACY_DEVICES += WNR612V2
+
+define LegacyDevice/WNR1000V2
+	DEVICE_TITLE := NETGEAR WNR1000V2
+endef
+LEGACY_DEVICES += WNR1000V2
+
+define LegacyDevice/WNR2200
+  DEVICE_TITLE := NETGEAR WNR2200
+  DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
+endef
+LEGACY_DEVICES += WNR2200
+
+define LegacyDevice/WPN824N
+	DEVICE_TITLE := NETGEAR WPN824N
+endef
+LEGACY_DEVICES += WPN824N
+
+define LegacyDevice/OM5P
+	DEVICE_TITLE := OpenMesh OM5P/OM5P-AN
+	DEVICE_PACKAGES := kmod-ath9k om-watchdog
+endef
+LEGACY_DEVICES += OM5P
+
+define LegacyDevice/OM5PAC
+	DEVICE_TITLE := OpenMesh OM5P-AC/OM5P-ACv2
+	DEVICE_PACKAGES := kmod-ath9k kmod-ath10k om-watchdog
+endef
+LEGACY_DEVICES += OM5PAC
+
+define LegacyDevice/MR600
+        DEVICE_TITLE := OpenMesh MR600
+        DEVICE_PACKAGES := kmod-ath9k om-watchdog
+endef
+LEGACY_DEVICES += MR600
+
+define LegacyDevice/MR900
+        DEVICE_TITLE := OpenMesh MR900/MR900v2
+        DEVICE_PACKAGES := kmod-ath9k om-watchdog
+endef
+LEGACY_DEVICES += MR900
+
+define LegacyDevice/MR1750
+        DEVICE_TITLE := OpenMesh MR1750/MR1750v2
+        DEVICE_PACKAGES := kmod-ath9k kmod-ath10k
+endef
+LEGACY_DEVICES += MR1750
+
+define LegacyDevice/OPENMESH
+	DEVICE_TITLE := OpenMesh products
+	DEVICE_PACKAGES := kmod-ath9k kmod-ath10k om-watchdog
+endef
+LEGACY_DEVICES += OPENMESH
+
+define LegacyDevice/UBDEV01
+	DEVICE_TITLE := PowerCloud Systems ubdev01 model
+endef
+LEGACY_DEVICES += UBDEV01
+
+define LegacyDevice/DLRTDEV01
+	DEVICE_TITLE := PowerCloud Systems dlrtdev01 model
+	DEVICE_PACKAGES := kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-ledtrig-usbdev
+endef
+LEGACY_DEVICES += DLRTDEV01
+
+define LegacyDevice/MZKW04NU
+	DEVICE_TITLE := Planex MZK-W04NU
+	DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
+endef
+LEGACY_DEVICES += MZKW04NU
+
+define LegacyDevice/MZKW300NH
+	DEVICE_TITLE := Planex MZK-W300NH
+endef
+LEGACY_DEVICES += MZKW300NH
+
+define LegacyDevice/QIHOO360
+	DEVICE_TITLE := Qihoo 360 C301
+	DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev kmod-ath10k
+endef
+LEGACY_DEVICES += QIHOO360
+
+define LegacyDevice/RW2458N
+	DEVICE_TITLE := Redwave RW2458N
+	DEVICE_PACKAGES := kmod-usb-core kmod-usb-ohci kmod-ath9k wpad-mini
+endef
+LEGACY_DEVICES += RW2458N
+
+define LegacyDevice/CAP4200AG
+	DEVICE_TITLE := Senao CAP4200AG
+	DEVICE_PACKAGES := kmod-ath9k
+endef
+LEGACY_DEVICES += CAP4200AG
+
+define LegacyDevice/WLR8100
+        DEVICE_TITLE := Sitecom WLR-8100
+        DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev kmod-usb3
+endef
+LEGACY_DEVICES += WLR8100
+
+define LegacyDevice/TEW632BRP
+	DEVICE_TITLE := TRENDNet TEW-632BRP
+endef
+LEGACY_DEVICES += TEW632BRP
+
+define LegacyDevice/TEW652BRP
+	DEVICE_TITLE := TRENDNet TEW-652BRP
+endef
+LEGACY_DEVICES += TEW652BRP
+
+define LegacyDevice/TEW673GRU
+	DEVICE_TITLE := TRENDNet TEW-673GRU
+	DEVICE_PACKAGES := kmod-usb-core kmod-usb-ohci kmod-usb2
+endef
+LEGACY_DEVICES += TEW673GRU
+
+define LegacyDevice/TEW712BR
+	DEVICE_TITLE := TRENDNet TEW-712BR
+endef
+LEGACY_DEVICES += TEW712BR
+
+define LegacyDevice/TEW732BR
+	DEVICE_TITLE := TRENDNet TEW-732BR
+endef
+LEGACY_DEVICES += TEW732BR
+
+define LegacyDevice/TEW823DRU
+	DEVICE_TITLE := TRENDNet TEW-823DRU
+	DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ath10k
+endef
+LEGACY_DEVICES += TEW823DRU
+
+define LegacyDevice/DR344
+	DEVICE_TITLE := Wallys DR344
+endef
+LEGACY_DEVICES += DR344
+
+define LegacyDevice/MYNETN600
+	DEVICE_TITLE := WD My Net N600
+	DEVICE_PACKAGES := kmod-usb-core kmod-usb2
+endef
+LEGACY_DEVICES += MYNETN600
+
+define LegacyDevice/MYNETN750
+	DEVICE_TITLE := WD My Net N750
+	DEVICE_PACKAGES := kmod-usb-core kmod-usb2
+endef
+LEGACY_DEVICES += MYNETN750
+
+define LegacyDevice/MYNETREXT
+	DEVICE_TITLE := WD My Net Wi-Fi Range Extender
+	DEVICE_PACKAGES := rssileds
+endef
+LEGACY_DEVICES += MYNETREXT
+
+define LegacyDevice/WRTNODE2Q
+	DEVICE_TITLE := WRTnode2Q board
+	DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-storage
+endef
+LEGACY_DEVICES += WRTNODE2Q
+
+define LegacyDevice/ZCN1523H28
+	DEVICE_TITLE := Zcomax ZCN-1523H-2-8
+endef
+LEGACY_DEVICES += ZCN1523H28
+
+define LegacyDevice/ZCN1523H516
+	DEVICE_TITLE := Zcomax ZCN-1523H-5-16
+endef
+LEGACY_DEVICES += ZCN1523H516
+
+define LegacyDevice/NBG_460N_550N_550NH
+	DEVICE_TITLE := Zyxel NBG 460N/550N/550NH
+	DEVICE_PACKAGES := kmod-rtc-pcf8563
+endef
+LEGACY_DEVICES += NBG_460N_550N_550NH
+
+define LegacyDevice/R6100
+	DEVICE_TITLE := NETGEAR R6100
+	DEVICE_PACKAGES := kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-ledtrig-usbdev
+endef
+LEGACY_DEVICES += R6100
+
+define LegacyDevice/WNDR4300
+	DEVICE_TITLE := NETGEAR WNDR3700v4/WNDR4300
+	DEVICE_PACKAGES := kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-ledtrig-usbdev
+endef
+LEGACY_DEVICES += WNDR4300
+
+define LegacyDevice/NBG6716
+	DEVICE_TITLE := Zyxel NBG 6716
+	DEVICE_PACKAGES := kmod-rtc-pcf8563 kmod-ath10k
+endef
+LEGACY_DEVICES += NBG6716
diff --git a/target/linux/ar71xx/image/legacy.mk b/target/linux/ar71xx/image/legacy.mk
index 1556573b5f..fae1483b18 100644
--- a/target/linux/ar71xx/image/legacy.mk
+++ b/target/linux/ar71xx/image/legacy.mk
@@ -1,3 +1,4 @@
+include ./legacy-devices.mk
 rootfs_type=$(patsubst jffs2-%,jffs2,$(patsubst squashfs-%,squashfs,$(1)))
 
 # $(1): rootfs type.
diff --git a/target/linux/ar71xx/image/nand.mk b/target/linux/ar71xx/image/nand.mk
index ec97271c75..8e098b0d40 100644
--- a/target/linux/ar71xx/image/nand.mk
+++ b/target/linux/ar71xx/image/nand.mk
@@ -7,6 +7,8 @@ define Build/MerakiNAND
 endef
 
 define Device/mr18
+  DEVICE_TITLE := Meraki MR18
+  DEVICE_PACKAGES := kmod-spi-gpio kmod-ath9k
   BOARDNAME = MR18
   BLOCKSIZE := 64k
   CONSOLE = ttyS0,115200
diff --git a/target/linux/ar71xx/image/tp-link.mk b/target/linux/ar71xx/image/tp-link.mk
index 713a28fca7..ccb1f5bfac 100644
--- a/target/linux/ar71xx/image/tp-link.mk
+++ b/target/linux/ar71xx/image/tp-link.mk
@@ -86,6 +86,8 @@ $(Device/tplink)
 endef
 
 define Device/cpe510-520
+  DEVICE_TITLE := TP-LINK CPE510/520
+  DEVICE_PACKAGES := rssileds
   MTDPARTS := spi0.0:128k(u-boot)ro,64k(pation-table)ro,64k(product-info)ro,1536k(kernel),6144k(rootfs),192k(config)ro,64k(ART)ro,7680k@0x40000(firmware)
   IMAGE_SIZE := 7680k
   BOARDNAME := CPE510
@@ -100,6 +102,8 @@ endef
 
 define Device/cpe210-220
 $(Device/cpe510-520)
+  DEVICE_TITLE := TP-LINK CPE210/220
+  DEVICE_PACKAGES := rssileds
   BOARDNAME := CPE210
   TPLINK_BOARD_NAME := CPE210
 endef
@@ -107,6 +111,8 @@ TARGET_DEVICES += cpe210-220 cpe510-520
 
 define Device/tl-wdr4300-v1
 $(Device/tplink-8mlzma)
+  DEVICE_TITLE := TP-LINK TL-WDR4300
+  DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
   BOARDNAME = TL-WDR4300
   DEVICE_PROFILE = TLWDR4300
   TPLINK_HWID := 0x43000001
@@ -114,33 +120,40 @@ endef
 
 define Device/tl-wdr3500-v1
 $(Device/tl-wdr4300-v1)
+  DEVICE_TITLE := TP-LINK TL-WDR3500 v1
   BOARDNAME = TL-WDR3500
   TPLINK_HWID := 0x35000001
 endef
 
 define Device/tl-wdr3600-v1
 $(Device/tl-wdr4300-v1)
+  DEVICE_TITLE := TP-LINK TL-WDR3600 v1
   TPLINK_HWID := 0x36000001
 endef
 
 define Device/tl-wdr4300-v1-il
 $(Device/tl-wdr4300-v1)
+  DEVICE_TITLE := TP-LINK TL-WDR4300 v1 IL
   TPLINK_HWID := 0x43008001
 endef
 
 define Device/tl-wdr4310-v1
 $(Device/tl-wdr4300-v1)
+  DEVICE_TITLE := TP-LINK TL-WDR4310 v1
   TPLINK_HWID := 0x43100001
 endef
 
 define Device/mw4530r-v1
 $(Device/tl-wdr4300-v1)
+  DEVICE_TITLE := TP-LINK TL-WDR4530 v1
   TPLINK_HWID := 0x45300001
 endef
 TARGET_DEVICES += tl-wdr3500-v1 tl-wdr3600-v1 tl-wdr4300-v1 tl-wdr4300-v1-il tl-wdr4310-v1 mw4530r-v1
 
 define Device/tl-wdr6500-v2
 $(Device/tplink-8mlzma)
+  DEVICE_TITLE := TP-LINK TL-WDR6500v2
+  DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev kmod-ath10k
   KERNEL := kernel-bin | patch-cmdline | lzma | uImage lzma
   KERNEL_INITRAMFS := kernel-bin | patch-cmdline | lzma | uImage lzma | mktplinkfw-initramfs
   BOARDNAME = TL-WDR6500-v2
@@ -152,6 +165,8 @@ TARGET_DEVICES += tl-wdr6500-v2
 
 define Device/tl-wdr3320-v2
 $(Device/tplink-4mlzma)
+  DEVICE_TITLE := TP-LINK TL-WDR3320v2
+  DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
   BOARDNAME = TL-WDR3320-v2
   DEVICE_PROFILE = TLWDR3320V2
   TPLINK_HWID := 0x33200002
@@ -161,6 +176,8 @@ TARGET_DEVICES += tl-wdr3320-v2
 
 define Device/archer-c5-v1
     $(Device/tplink-16mlzma)
+    DEVICE_TITLE := TP-LINK Archer C5
+    DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev kmod-ath10k
     BOARDNAME := ARCHER-C5
     DEVICE_PROFILE := ARCHERC7
     TPLINK_HWID := 0xc5000001
@@ -168,6 +185,8 @@ endef
 
 define Device/archer-c7-v1
     $(Device/tplink-8mlzma)
+    DEVICE_TITLE := TP-LINK Archer C7 v1
+    DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev kmod-ath10k
     BOARDNAME := ARCHER-C7
     DEVICE_PROFILE := ARCHERC7
     TPLINK_HWID := 0x75000001
@@ -175,6 +194,8 @@ endef
 
 define Device/archer-c7-v2
     $(Device/tplink-16mlzma)
+    DEVICE_TITLE := TP-LINK Archer C7 v2
+    DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev kmod-ath10k
     BOARDNAME := ARCHER-C7-V2
     DEVICE_PROFILE := ARCHERC7
     TPLINK_HWID := 0xc7000002
@@ -183,6 +204,8 @@ endef
 
 define Device/tl-wdr7500-v3
     $(Device/tplink-8mlzma)
+    DEVICE_TITLE := TP-LINK Archer C7 v3
+    DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev kmod-ath10k
     BOARDNAME := ARCHER-C7
     DEVICE_PROFILE := ARCHERC7
     TPLINK_HWID := 0x75000003
@@ -191,6 +214,8 @@ TARGET_DEVICES += archer-c5-v1 archer-c7-v1 archer-c7-v2 tl-wdr7500-v3
 
 define Device/tl-mr10u-v1
     $(Device/tplink-4mlzma)
+    DEVICE_TITLE := TP-LINK TL-MR10U
+    DEVICE_PACKAGES := kmod-usb-core kmod-usb2
     BOARDNAME := TL-MR10U
     DEVICE_PROFILE := TLMR10U
     TPLINK_HWID := 0x00100101
@@ -199,6 +224,8 @@ endef
 
 define Device/tl-mr11u-v1
     $(Device/tplink-4mlzma)
+    DEVICE_TITLE := TP-LINK TL-MR11U
+    DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
     BOARDNAME := TL-MR11U
     DEVICE_PROFILE := TLMR11U
     TPLINK_HWID := 0x00110101
@@ -207,6 +234,8 @@ endef
 
 define Device/tl-mr11u-v2
     $(Device/tplink-4mlzma)
+    DEVICE_TITLE := TP-LINK TL-MR11U v2
+    DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
     BOARDNAME := TL-MR11U
     DEVICE_PROFILE := TLMR11U
     TPLINK_HWID := 0x00110102
@@ -215,6 +244,8 @@ endef
 
 define Device/tl-mr12u-v1
     $(Device/tplink-4mlzma)
+    DEVICE_TITLE := TP-LINK TL-MR12U
+    DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
     BOARDNAME := TL-MR13U
     DEVICE_PROFILE := TLMR12U
     TPLINK_HWID := 0x00120101
@@ -223,6 +254,8 @@ endef
 
 define Device/tl-mr13u-v1
     $(Device/tplink-4mlzma)
+    DEVICE_TITLE := TP-LINK TL-MR13U
+    DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
     BOARDNAME := TL-MR13U
     DEVICE_PROFILE := TLMR13U
     TPLINK_HWID := 0x00130101
@@ -232,6 +265,8 @@ TARGET_DEVICES += tl-mr10u-v1 tl-mr11u-v1 tl-mr11u-v2 tl-mr12u-v1 tl-mr13u-v1
 
 define Device/tl-mr3020-v1
     $(Device/tplink-4mlzma)
+    DEVICE_TITLE := TP-LINK TL-MR3020
+    DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
     BOARDNAME := TL-MR3020
     DEVICE_PROFILE := TLMR3020
     TPLINK_HWID := 0x30200001
@@ -240,6 +275,8 @@ endef
 
 define Device/tl-mr3040-v1
     $(Device/tplink-4mlzma)
+    DEVICE_TITLE := TP-LINK TL-MR3040
+    DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
     BOARDNAME := TL-MR3040
     DEVICE_PROFILE := TLMR3040
     TPLINK_HWID := 0x30400001
@@ -248,6 +285,8 @@ endef
 
 define Device/tl-mr3040-v2
     $(Device/tplink-4mlzma)
+    DEVICE_TITLE := TP-LINK TL-MR3040
+    DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
     BOARDNAME := TL-MR3040-v2
     DEVICE_PROFILE := TLMR3040
     TPLINK_HWID := 0x30400002
@@ -256,6 +295,8 @@ endef
 
 define Device/tl-mr3220-v1
     $(Device/tplink-4m)
+    DEVICE_TITLE := TP-LINK TL-MR3220
+    DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
     BOARDNAME := TL-MR3220
     DEVICE_PROFILE := TLMR3220
     TPLINK_HWID := 0x32200001
@@ -263,6 +304,8 @@ endef
 
 define Device/tl-mr3220-v2
     $(Device/tplink-4mlzma)
+    DEVICE_TITLE := TP-LINK TL-MR3220 v2
+    DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
     BOARDNAME := TL-MR3220-v2
     DEVICE_PROFILE := TLMR3220
     TPLINK_HWID := 0x32200002
@@ -271,6 +314,8 @@ endef
 
 define Device/tl-mr3420-v1
     $(Device/tplink-4m)
+    DEVICE_TITLE := TP-LINK TL-MR3420
+    DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
     BOARDNAME := TL-MR3420
     DEVICE_PROFILE := TLMR3420
     TPLINK_HWID := 0x34200001
@@ -278,6 +323,8 @@ endef
 
 define Device/tl-mr3420-v2
     $(Device/tplink-4mlzma)
+    DEVICE_TITLE := TP-LINK TL-MR3420 v2
+    DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
     BOARDNAME := TL-MR3420-v2
     DEVICE_PROFILE := TLMR3420
     TPLINK_HWID := 0x34200002
@@ -286,6 +333,8 @@ TARGET_DEVICES += tl-mr3020-v1 tl-mr3040-v1 tl-mr3040-v2 tl-mr3220-v1 tl-mr3220-
 
 define Device/tl-wr703n-v1
     $(Device/tplink-4mlzma)
+    DEVICE_TITLE := TP-LINK TL-WR703N
+    DEVICE_PACKAGES := kmod-usb-core kmod-usb2
     BOARDNAME := TL-WR703N
     DEVICE_PROFILE := TLWR703
     TPLINK_HWID := 0x07030101
@@ -294,6 +343,8 @@ endef
 
 define Device/tl-wr710n-v1
     $(Device/tplink-8mlzma)
+    DEVICE_TITLE := TP-LINK TL-WR710N
+    DEVICE_PACKAGES := kmod-usb-core kmod-usb2
     BOARDNAME := TL-WR710N
     DEVICE_PROFILE := TLWR710
     TPLINK_HWID := 0x07100001
@@ -302,7 +353,9 @@ endef
 
 define Device/tl-wr710n-v2
     $(Device/tplink-4mlzma)
-    BOARDNAME := TL-WR710N
+    DEVICE_TITLE := TP-LINK TL-WR710N v2
+    DEVICE_PACKAGES := kmod-usb-core kmod-usb2
+    BOARDNAME := TL-WR710N v2
     DEVICE_PROFILE := TLWR710
     TPLINK_HWID := 0x07100002
     CONSOLE := ttyATH0,115200
@@ -310,7 +363,9 @@ endef
 
 define Device/tl-wr710n-v2.1
     $(Device/tplink-8mlzma)
-    BOARDNAME := TL-WR710N
+    DEVICE_TITLE := TP-LINK TL-WR710N v2.1
+    DEVICE_PACKAGES := kmod-usb-core kmod-usb2
+    BOARDNAME := TL-WR710N v2.1
     DEVICE_PROFILE := TLWR710
     TPLINK_HWID := 0x07100002
     TPLINK_HWREV := 0x00000002
@@ -319,6 +374,8 @@ endef
 
 define Device/tl-wr720n-v3
     $(Device/tplink-4mlzma)
+    DEVICE_TITLE := TP-LINK TL-WR720N v3
+    DEVICE_PACKAGES := kmod-usb-core kmod-usb2
     BOARDNAME := TL-WR720N-v3
     DEVICE_PROFILE := TLWR720
     TPLINK_HWID := 0x07200103
@@ -327,6 +384,8 @@ endef
 
 define Device/tl-wr720n-v4
     $(Device/tplink-4mlzma)
+    DEVICE_TITLE := TP-LINK TL-WR720N v4
+    DEVICE_PACKAGES := kmod-usb-core kmod-usb2
     BOARDNAME := TL-WR720N-v3
     DEVICE_PROFILE := TLWR720
     TPLINK_HWID := 0x07200104
@@ -336,6 +395,7 @@ TARGET_DEVICES += tl-wr703n-v1 tl-wr710n-v1 tl-wr710n-v2 tl-wr710n-v2.1 tl-wr720
 
 define Device/tl-wr740n-v1
     $(Device/tplink-4m)
+    DEVICE_TITLE := TP-LINK TL-WR740N/ND v1
     BOARDNAME := TL-WR741ND
     DEVICE_PROFILE := TLWR740
     TPLINK_HWID := 0x07400001
@@ -343,6 +403,7 @@ endef
 
 define Device/tl-wr740n-v3
     $(Device/tplink-4m)
+    DEVICE_TITLE := TP-LINK TL-WR740N/ND v3
     BOARDNAME := TL-WR741ND
     DEVICE_PROFILE := TLWR740
     TPLINK_HWID := 0x07400003
@@ -350,6 +411,7 @@ endef
 
 define Device/tl-wr740n-v4
     $(Device/tplink-4mlzma)
+    DEVICE_TITLE := TP-LINK TL-WR740N/ND v4
     BOARDNAME := TL-WR741ND-v4
     DEVICE_PROFILE := TLWR740
     TPLINK_HWID := 0x07400004
@@ -358,6 +420,7 @@ endef
 
 define Device/tl-wr740n-v5
     $(Device/tplink-4mlzma)
+    DEVICE_TITLE := TP-LINK TL-WR740N/ND v5
     BOARDNAME := TL-WR741ND-v4
     DEVICE_PROFILE := TLWR740
     TPLINK_HWID := 0x07400005
@@ -366,6 +429,7 @@ endef
 
 define Device/tl-wr740n-v6
     $(Device/tplink-4mlzma)
+    DEVICE_TITLE := TP-LINK TL-WR740N/ND v6
     BOARDNAME := TL-WR841N-v9
     DEVICE_PROFILE := TLWR740
     TPLINK_HWID := 0x07400006
@@ -373,6 +437,7 @@ endef
 
 define Device/tl-wr741nd-v1
     $(Device/tplink-4m)
+    DEVICE_TITLE := TP-LINK TL-WR741N/ND v1
     BOARDNAME := TL-WR741ND
     DEVICE_PROFILE := TLWR741
     TPLINK_HWID := 0x07410001
@@ -380,6 +445,7 @@ endef
 
 define Device/tl-wr741nd-v2
     $(Device/tplink-4m)
+    DEVICE_TITLE := TP-LINK TL-WR741N/ND v2
     BOARDNAME := TL-WR741ND
     DEVICE_PROFILE := TLWR741
     TPLINK_HWID := 0x07410001
@@ -387,6 +453,7 @@ endef
 
 define Device/tl-wr741nd-v4
     $(Device/tplink-4mlzma)
+    DEVICE_TITLE := TP-LINK TL-WR741N/ND v4
     BOARDNAME := TL-WR741ND-v4
     DEVICE_PROFILE := TLWR741
     TPLINK_HWID := 0x07410004
@@ -395,6 +462,7 @@ endef
 
 define Device/tl-wr741nd-v5
     $(Device/tplink-4mlzma)
+    DEVICE_TITLE := TP-LINK TL-WR741N/ND v5
     BOARDNAME := TL-WR741ND-v4
     DEVICE_PROFILE := TLWR741
     TPLINK_HWID := 0x07400005
@@ -403,6 +471,8 @@ endef
 
 define Device/tl-wr810n
     $(Device/tplink-8mlzma)
+    DEVICE_TITLE := TP-Link TL-WR810N
+    DEVICE_PACKAGES := kmod-usb-core kmod-usb2
     BOARDNAME := TL-WR810N
     DEVICE_PROFILE := TLWR810
     TPLINK_HWID := 0x08100001
@@ -411,6 +481,7 @@ TARGET_DEVICES += tl-wr810n
 
 define Device/tl-wr743nd-v1
     $(Device/tplink-4m)
+    DEVICE_TITLE := TP-LINK TL-WR743N/ND v1
     BOARDNAME := TL-WR741ND
     DEVICE_PROFILE := TLWR743
     TPLINK_HWID := 0x07430001
@@ -418,6 +489,7 @@ endef
 
 define Device/tl-wr743nd-v2
     $(Device/tplink-4mlzma)
+    DEVICE_TITLE := TP-LINK TL-WR743N/ND v2
     BOARDNAME := TL-WR741ND-v4
     DEVICE_PROFILE := TLWR743
     TPLINK_HWID := 0x07430002
@@ -427,6 +499,7 @@ TARGET_DEVICES += tl-wr740n-v1 tl-wr740n-v3 tl-wr740n-v4 tl-wr740n-v5 tl-wr740n-
 
 define Device/tl-wr841-v1.5
     $(Device/tplink-4m)
+    DEVICE_TITLE := TP-LINK TL-WR841N/ND v1.5
     BOARDNAME := TL-WR841N-v1.5
     DEVICE_PROFILE := TLWR841
     TPLINK_HWID := 0x08410002
@@ -435,6 +508,7 @@ endef
 
 define Device/tl-wr841-v3
     $(Device/tplink-4m)
+    DEVICE_TITLE := TP-LINK TL-WR841N/ND v3
     BOARDNAME := TL-WR941ND
     DEVICE_PROFILE := TLWR841
     TPLINK_HWID := 0x08410003
@@ -443,6 +517,7 @@ endef
 
 define Device/tl-wr841-v5
     $(Device/tplink-4m)
+    DEVICE_TITLE := TP-LINK TL-WR841N/ND v5
     BOARDNAME := TL-WR741ND
     DEVICE_PROFILE := TLWR841
     TPLINK_HWID := 0x08410005
@@ -450,6 +525,7 @@ endef
 
 define Device/tl-wr841-v7
     $(Device/tplink-4m)
+    DEVICE_TITLE := TP-LINK TL-WR841N/ND v7
     BOARDNAME := TL-WR841N-v7
     DEVICE_PROFILE := TLWR841
     TPLINK_HWID := 0x08410007
@@ -457,6 +533,7 @@ endef
 
 define Device/tl-wr841-v8
     $(Device/tplink-4mlzma)
+    DEVICE_TITLE := TP-LINK TL-WR841N/ND v8
     BOARDNAME := TL-WR841N-v8
     DEVICE_PROFILE := TLWR841
     TPLINK_HWID := 0x08410008
@@ -464,6 +541,7 @@ endef
 
 define Device/tl-wr841-v9
     $(Device/tplink-4mlzma)
+    DEVICE_TITLE := TP-LINK TL-WR841N/ND v9
     BOARDNAME := TL-WR841N-v9
     DEVICE_PROFILE := TLWR841
     TPLINK_HWID := 0x08410009
@@ -471,6 +549,7 @@ endef
 
 define Device/tl-wr841-v10
     $(Device/tplink-4mlzma)
+    DEVICE_TITLE := TP-LINK TL-WR841N/ND v10
     BOARDNAME := TL-WR841N-v9
     DEVICE_PROFILE := TLWR841
     TPLINK_HWID := 0x08410010
@@ -478,6 +557,7 @@ endef
 
 define Device/tl-wr841-v11
    $(Device/tplink-4mlzma)
+   DEVICE_TITLE := TP-LINK TL-WR841N/ND v11
    BOARDNAME := TL-WR841N-v11
    DEVICE_PROFILE := TLWR841
    TPLINK_HWID := 0x08410011
@@ -485,6 +565,8 @@ endef
 
 define Device/tl-wr842n-v1
     $(Device/tplink-8m)
+    DEVICE_TITLE := TP-LINK TL-WR842N/ND v1
+    DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
     BOARDNAME := TL-MR3420
     DEVICE_PROFILE := TLWR842
     TPLINK_HWID := 0x08420001
@@ -492,6 +574,8 @@ endef
 
 define Device/tl-wr842n-v2
     $(Device/tplink-8mlzma)
+    DEVICE_TITLE := TP-LINK TL-WR842N/ND v2
+    DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
     BOARDNAME := TL-WR842N-v2
     DEVICE_PROFILE := TLWR842
     TPLINK_HWID := 0x8420002
@@ -499,6 +583,8 @@ endef
 
 define Device/tl-wr842n-v3
     $(Device/tplink-16mlzma)
+    DEVICE_TITLE := TP-LINK TL-WR842N/ND v3
+    DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
     BOARDNAME := TL-WR842N-v3
     DEVICE_PROFILE := TLWR842
     TPLINK_HWID := 0x08420003
@@ -506,6 +592,7 @@ endef
 
 define Device/tl-wr843nd-v1
     $(Device/tplink-4mlzma)
+    DEVICE_TITLE := TP-LINK TL-WR843N/ND
     BOARDNAME := TL-WR841N-v8
     DEVICE_PROFILE := TLWR843
     TPLINK_HWID := 0x08430001
@@ -513,6 +600,7 @@ endef
 
 define Device/tl-wr847n-v8
     $(Device/tplink-4mlzma)
+    DEVICE_TITLE := TP-LINK TL-WR847N/ND v8
     BOARDNAME := TL-WR841N-v8
     DEVICE_PROFILE := TLWR841
     TPLINK_HWID := 0x08470008
@@ -521,6 +609,7 @@ TARGET_DEVICES += tl-wr841-v1.5 tl-wr841-v3 tl-wr841-v5 tl-wr841-v7 tl-wr841-v8
 
 define Device/tl-wr941nd-v2
     $(Device/tplink-4m)
+    DEVICE_TITLE := TP-LINK TL-WR941N/ND v2
     BOARDNAME := TL-WR941ND
     DEVICE_PROFILE := TLWR941
     TPLINK_HWID := 0x09410002
@@ -529,6 +618,7 @@ endef
 
 define Device/tl-wr941nd-v3
     $(Device/tplink-4m)
+    DEVICE_TITLE := TP-LINK TL-WR941N/ND v3
     BOARDNAME := TL-WR941ND
     DEVICE_PROFILE := TLWR941
     TPLINK_HWID := 0x09410002
@@ -537,6 +627,7 @@ endef
 
 define Device/tl-wr941nd-v4
     $(Device/tplink-4m)
+    DEVICE_TITLE := TP-LINK TL-WR941N/ND v4
     BOARDNAME := TL-WR741ND
     DEVICE_PROFILE := TLWR941
     TPLINK_HWID := 0x09410004
@@ -544,6 +635,7 @@ endef
 
 define Device/tl-wr941nd-v5
     $(Device/tplink-4mlzma)
+    DEVICE_TITLE := TP-LINK TL-WR941N/ND v5
     BOARDNAME := TL-WR941ND-v5
     DEVICE_PROFILE := TLWR941
     TPLINK_HWID := 0x09410005
@@ -551,6 +643,7 @@ endef
 
 define Device/tl-wr941nd-v6
     $(Device/tplink-4mlzma)
+    DEVICE_TITLE := TP-LINK TL-WR941N/ND v6
     BOARDNAME := TL-WR941ND-v6
     DEVICE_PROFILE := TLWR941
     TPLINK_HWID := 0x09410006
@@ -559,6 +652,7 @@ endef
 # Chinese version (unlike European) is similar to the TL-WDR3500
 define Device/tl-wr941nd-v6-cn
     $(Device/tplink-4mlzma)
+    DEVICE_TITLE := TP-LINK TL-WR941N/ND v6 (CN)
     BOARDNAME := TL-WDR3500
     DEVICE_PROFILE := TLWR941
     TPLINK_HWID := 0x09410006
@@ -567,6 +661,7 @@ TARGET_DEVICES += tl-wr941nd-v2 tl-wr941nd-v3 tl-wr941nd-v4 tl-wr941nd-v5 tl-wr9
 
 define Device/tl-wr1041n-v2
     $(Device/tplink-4mlzma)
+    DEVICE_TITLE := TP-LINK TL-WR1041N
     BOARDNAME := TL-WR1041N-v2
     DEVICE_PROFILE := TLWR1041
     TPLINK_HWID := 0x10410002
@@ -575,6 +670,8 @@ TARGET_DEVICES += tl-wr1041n-v2
 
 define Device/tl-wr1043nd-v1
     $(Device/tplink-8m)
+    DEVICE_TITLE := TP-LINK TL-WR1043N/ND v1
+    DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
     BOARDNAME := TL-WR1043ND
     DEVICE_PROFILE := TLWR1043
     TPLINK_HWID := 0x10430001
@@ -582,6 +679,8 @@ endef
 
 define Device/tl-wr1043nd-v2
     $(Device/tplink-8mlzma)
+    DEVICE_TITLE := TP-LINK TL-WR1043N/ND v2
+    DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
     BOARDNAME := TL-WR1043ND-v2
     DEVICE_PROFILE := TLWR1043
     TPLINK_HWID := 0x10430002
@@ -589,6 +688,8 @@ endef
 
 define Device/tl-wr1043nd-v3
     $(Device/tplink-8mlzma)
+    DEVICE_TITLE := TP-LINK TL-WR1043N/ND v3
+    DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
     BOARDNAME := TL-WR1043ND-v2
     DEVICE_PROFILE := TLWR1043
     TPLINK_HWID := 0x10430003
@@ -597,6 +698,8 @@ TARGET_DEVICES += tl-wr1043nd-v1 tl-wr1043nd-v2 tl-wr1043nd-v3
 
 define Device/tl-wr2543-v1
     $(Device/tplink-8mlzma)
+    DEVICE_TITLE := TP-LINK TL-WR2543N/ND
+    DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
     BOARDNAME := TL-WR2543N
     DEVICE_PROFILE := TLWR2543
     TPLINK_HWID := 0x25430001
@@ -607,6 +710,8 @@ TARGET_DEVICES += tl-wr2543-v1
 
 define Device/tl-wdr4900-v2
     $(Device/tplink-8mlzma)
+    DEVICE_TITLE := TP-LINK TL-WDR4900v2
+    DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ledtrig-usbdev
     BOARDNAME := TL-WDR4900-v2
     DEVICE_PROFILE := TLWDR4900V2
     TPLINK_HWID := 0x49000002
@@ -615,6 +720,7 @@ TARGET_DEVICES += tl-wdr4900-v2
 
 define Device/tl-wa701nd-v1
     $(Device/tplink-4m)
+    DEVICE_TITLE := TP-LINK TL-WA701N/ND v1
     BOARDNAME := TL-WA901ND
     DEVICE_PROFILE := TLWA701
     TPLINK_HWID := 0x07010001
@@ -622,6 +728,7 @@ endef
 
 define Device/tl-wa701nd-v2
     $(Device/tplink-4mlzma)
+    DEVICE_TITLE := TP-LINK TL-WA701N/ND v2
     BOARDNAME := TL-WA701ND-v2
     DEVICE_PROFILE := TLWA701
     TPLINK_HWID := 0x07010002
@@ -630,6 +737,7 @@ endef
 
 define Device/tl-wa730re-v1
     $(Device/tplink-4m)
+    DEVICE_TITLE := TP-LINK TL-WA730RE
     BOARDNAME := TL-WA901ND
     DEVICE_PROFILE := TLWA730RE
     TPLINK_HWID := 0x07300001
@@ -637,6 +745,8 @@ endef
 
 define Device/tl-wa750re-v1
     $(Device/tplink-4mlzma)
+    DEVICE_TITLE := TP-LINK TL-WA750RE
+    DEVICE_PACKAGES := rssileds
     BOARDNAME := TL-WA750RE
     DEVICE_PROFILE := TLWA750
     TPLINK_HWID := 0x07500001
@@ -644,6 +754,7 @@ endef
 
 define Device/tl-wa7510n
     $(Device/tplink-4m)
+    DEVICE_TITLE := TP-LINK TL-WA7510N
     BOARDNAME := TL-WA7510N
     DEVICE_PROFILE := TLWA7510
     TPLINK_HWID := 0x75100001
@@ -652,6 +763,7 @@ TARGET_DEVICES += tl-wa701nd-v1 tl-wa701nd-v2 tl-wa730re-v1 tl-wa750re-v1 tl-wa7
 
 define Device/tl-wa801nd-v1
     $(Device/tplink-4m)
+    DEVICE_TITLE := TP-LINK TL-WA801N/ND v1
     BOARDNAME := TL-WA901ND
     DEVICE_PROFILE := TLWA801
     TPLINK_HWID := 0x08010001
@@ -659,6 +771,7 @@ endef
 
 define Device/tl-wa801nd-v2
     $(Device/tplink-4mlzma)
+    DEVICE_TITLE := TP-LINK TL-WA801N/ND v2
     BOARDNAME := TL-WA801ND-v2
     DEVICE_PROFILE := TLWA801
     TPLINK_HWID := 0x08010002
@@ -666,6 +779,7 @@ endef
 
 define Device/tl-wa801nd-v3
     $(Device/tplink-4mlzma)
+    DEVICE_TITLE := TP-LINK TL-WA801N/ND v3
     BOARDNAME := TL-WA801ND-v3
     DEVICE_PROFILE := TLWA801
     TPLINK_HWID := 0x08010003
@@ -673,6 +787,7 @@ endef
 
 define Device/tl-wa830re-v1
     $(Device/tplink-4m)
+    DEVICE_TITLE := TP-LINK TL-WA830RE
     BOARDNAME := TL-WA901ND
     DEVICE_PROFILE := TLWA830
     TPLINK_HWID := 0x08300010
@@ -680,6 +795,7 @@ endef
 
 define Device/tl-wa830re-v2
     $(Device/tplink-4mlzma)
+    DEVICE_TITLE := TP-LINK TL-WA830RE
     BOARDNAME := TL-WA830RE-v2
     DEVICE_PROFILE := TLWA830
     TPLINK_HWID := 0x08300002
@@ -687,6 +803,7 @@ endef
 
 define Device/tl-wa850re-v1
     $(Device/tplink-4mlzma)
+    DEVICE_TITLE := TP-LINK TL-WA850RE
     BOARDNAME := TL-WA850RE
     DEVICE_PROFILE := TLWA850
     TPLINK_HWID := 0x08500001
@@ -694,6 +811,7 @@ endef
 
 define Device/tl-wa860re-v1
     $(Device/tplink-4mlzma)
+    DEVICE_TITLE := TP-LINK TL-WA860RE
     BOARDNAME := TL-WA860RE
     DEVICE_PROFILE := TLWA860
     TPLINK_HWID := 0x08600001
@@ -702,6 +820,7 @@ TARGET_DEVICES += tl-wa801nd-v1 tl-wa801nd-v2 tl-wa801nd-v3 tl-wa830re-v1 tl-wa8
 
 define Device/tl-wa901nd-v1
     $(Device/tplink-4m)
+    DEVICE_TITLE := TP-LINK TL-WA901N/ND v1
     BOARDNAME := TL-WA901ND
     DEVICE_PROFILE := TLWA901
     TPLINK_HWID := 0x09010001
@@ -709,6 +828,7 @@ endef
 
 define Device/tl-wa901nd-v2
     $(Device/tplink-4m)
+    DEVICE_TITLE := TP-LINK TL-WA901N/ND v2
     BOARDNAME := TL-WA901ND-v2
     DEVICE_PROFILE := TLWA901
     TPLINK_HWID := 0x09010002
@@ -716,6 +836,7 @@ endef
 
 define Device/tl-wa901nd-v3
     $(Device/tplink-4mlzma)
+    DEVICE_TITLE := TP-LINK TL-WA901N/ND v3
     BOARDNAME := TL-WA901ND-v3
     DEVICE_PROFILE := TLWA901
     TPLINK_HWID := 0x09010003
@@ -723,6 +844,7 @@ endef
 
 define Device/tl-wa901nd-v4
     $(Device/tplink-4mlzma)
+    DEVICE_TITLE := TP-LINK TL-WA901N/ND v4
     BOARDNAME := TL-WA901ND-v4
     DEVICE_PROFILE := TLWA901
     TPLINK_HWID := 0x09010004
@@ -732,6 +854,8 @@ TARGET_DEVICES += tl-wa901nd-v1 tl-wa901nd-v2 tl-wa901nd-v3 tl-wa901nd-v4
 
 define Device/tl-wa7210n-v2
     $(Device/tplink-4mlzma)
+    DEVICE_TITLE := TP-LINK TL-WA7210N
+    DEVICE_PACKAGES := rssileds kmod-ledtrig-netdev
     BOARDNAME := TL-WA7210N-v2
     DEVICE_PROFILE := TLWA7210
     TPLINK_HWID := 0x72100002
diff --git a/target/linux/ar71xx/image/ubnt.mk b/target/linux/ar71xx/image/ubnt.mk
index 4589345d40..ab245df987 100644
--- a/target/linux/ar71xx/image/ubnt.mk
+++ b/target/linux/ar71xx/image/ubnt.mk
@@ -39,6 +39,7 @@ DEVICE_VARS += UBNT_BOARD UBNT_CHIP UBNT_TYPE
 # UBNT_TYPE e.g. one of (BZ, XM, XW)
 # UBNT_CHIP e.g. one of (ar7240, ar933x, ar934x)
 define Device/ubnt-xm
+  DEVICE_PACKAGES := kmod-usb-core kmod-usb-ohci kmod-usb2
   DEVICE_PROFILE := UBNT
   IMAGE_SIZE := 7552k
   MTDPARTS = spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,7552k(firmware),256k(cfg)ro,64k(EEPROM)ro
@@ -51,6 +52,7 @@ define Device/ubnt-xm
 endef
 
 define Device/ubnt-xw
+  DEVICE_PACKAGES := kmod-usb-core kmod-usb-ohci kmod-usb2
   DEVICE_PROFILE := UBNT
   IMAGE_SIZE := 7552k
   MTDPARTS = spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,7552k(firmware),256k(cfg)ro,64k(EEPROM)ro
@@ -63,6 +65,7 @@ define Device/ubnt-xw
 endef
 
 define Device/ubnt-bz
+  DEVICE_PACKAGES := kmod-usb-core kmod-usb-ohci kmod-usb2
   DEVICE_PROFILE := UBNT
   IMAGE_SIZE := 7552k
   MTDPARTS = spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,7552k(firmware),256k(cfg)ro,64k(EEPROM)ro
@@ -75,6 +78,7 @@ define Device/ubnt-bz
 endef
 
 define Device/ubnt-unifiac
+  DEVICE_PACKAGES := kmod-usb-core kmod-usb-ohci kmod-usb2
   DEVICE_PROFILE := UBNT
   IMAGE_SIZE := 7744k
   MTDPARTS = spi0.0:384k(u-boot)ro,64k(u-boot-env)ro,7744k(firmware),7744k(ubnt-airos)ro,128k(bs)ro,256k(cfg)ro,64k(EEPROM)ro
@@ -84,50 +88,61 @@ endef
 
 define Device/rw2458n
   $(Device/ubnt-xm)
+  DEVICE_TITLE := Ubiquiti RW2458N
   BOARDNAME := RW2458N
 endef
 
 define Device/ubnt-airrouter
   $(Device/ubnt-xm)
+  DEVICE_TITLE := Ubiquiti AirRouter
   BOARDNAME := UBNT-AR
 endef
 
 define Device/ubnt-bullet-m
   $(Device/ubnt-xm)
+  DEVICE_TITLE := Ubiquiti Bullet-M
   BOARDNAME := UBNT-BM
 endef
 
 define Device/ubnt-rocket-m
   $(Device/ubnt-xm)
+  DEVICE_TITLE := Ubiquiti Rocket-M
   BOARDNAME := UBNT-RM
 endef
 
 define Device/ubnt-nano-m
   $(Device/ubnt-xm)
+  DEVICE_TITLE := Ubiquiti Nano-M
   BOARDNAME := UBNT-NM
 endef
 TARGET_DEVICES += rw2458n ubnt-airrouter ubnt-bullet-m ubnt-rocket-m ubnt-nano-m
 
 define Device/ubnt-unifi
   $(Device/ubnt-bz)
+  DEVICE_TITLE := Ubiquiti UniFi
   BOARDNAME := UBNT-UF
   DEVICE_PROFILE := UBNT UBNTUNIFI
 endef
 
 define Device/ubnt-unifiac-lite
   $(Device/ubnt-unifiac)
+  DEVICE_TITLE := Ubiquiti UniFi AC-Lite
+  DEVICE_PACKAGES := kmod-ath10k ath10k-firmware-qca988x
   DEVICE_PROFILE := UBNT UBNTUNIFIACLITE
   BOARDNAME := UBNT-UF-AC-LITE
 endef
 
 define Device/ubnt-unifiac-pro
   $(Device/ubnt-unifiac)
+  DEVICE_TITLE := Ubiquiti UniFi AC-Pro
+  DEVICE_PACKAGES := kmod-ath10k ath10k-firmware-qca988x kmod-usb-core kmod-usb-ohci kmod-usb2
   DEVICE_PROFILE := UBNT UBNTUNIFIACPRO
   BOARDNAME := UBNT-UF-AC-PRO
 endef
 
 define Device/ubnt-unifi-outdoor
   $(Device/ubnt-bz)
+  DEVICE_TITLE := Ubiquiti UniFi Outdoor
   BOARDNAME := UBNT-U20
   DEVICE_PROFILE := UBNT UBNTUNIFIOUTDOOR
 endef
@@ -135,21 +150,25 @@ TARGET_DEVICES += ubnt-unifi ubnt-unifiac-lite ubnt-unifiac-pro ubnt-unifi-outdo
 
 define Device/ubnt-nano-m-xw
   $(Device/ubnt-xw)
+  DEVICE_TITLE := Ubiquiti Nano M XW
   BOARDNAME := UBNT-NM-XW
 endef
 
 define Device/ubnt-loco-m-xw
   $(Device/ubnt-xw)
+  DEVICE_TITLE := Ubiquiti Loco XW
   BOARDNAME := UBNT-LOCO-XW
 endef
 
 define Device/ubnt-rocket-m-xw
   $(Device/ubnt-xw)
+  DEVICE_TITLE := Ubiquiti Rocket M XW
   BOARDNAME := UBNT-RM-XW
 endef
 
 define Device/ubnt-rocket-m-ti
   $(Device/ubnt-xw)
+  DEVICE_TITLE := Ubiquiti Rocket M TI
   BOARDNAME := UBNT-RM-TI
   UBNT_TYPE := TI
   UBNT_BOARD := XM
@@ -158,6 +177,7 @@ TARGET_DEVICES += ubnt-nano-m-xw ubnt-loco-m-xw ubnt-rocket-m-xw ubnt-rocket-m-t
 
 define Device/ubnt-air-gateway
   $(Device/ubnt-xm)
+  DEVICE_TITLE := Ubiquiti Air Gateway
   BOARDNAME := UBNT-AGW
   UBNT_BOARD := XM
   UBNT_TYPE := AirGW
@@ -168,6 +188,7 @@ TARGET_DEVICES += ubnt-air-gateway
 
 define Device/ubnt-air-gateway-pro
   $(Device/ubnt-xm)
+  DEVICE_TITLE := Ubiquiti Air Gateway Pro
   BOARDNAME := UBNT-AGWP
   UBNT_TYPE := AirGWP
   UBNT_CHIP := ar934x
@@ -177,6 +198,7 @@ TARGET_DEVICES += ubnt-air-gateway-pro
 
 define Device/ubdev01
   $(Device/ubnt-xm)
+  DEVICE_TITLE := Ubiquiti ubDEV01
   MTDPARTS := spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,7488k(firmware),64k(certs),256k(cfg)ro,64k(EEPROM)ro
   BOARDNAME := UBNT-UF
   UBNT_BOARD := UBDEV01
@@ -187,6 +209,8 @@ endef
 TARGET_DEVICES += ubdev01
 
 define Device/ubnt-routerstation
+  DEVICE_TITLE := Ubiquiti RouterStation
+  DEVICE_PACKAGES := kmod-usb-core kmod-usb-ohci kmod-usb2
   IMAGE_SIZE := 16128k
   IMAGES := sysupgrade.bin factory.bin
   IMAGE/factory.bin = append-rootfs | pad-rootfs | mkubntimage
@@ -196,6 +220,7 @@ endef
 
 define Device/ubnt-rs
 $(Device/ubnt-routerstation)
+  DEVICE_TITLE := Ubiquiti RouterStation
   BOARDNAME := UBNT-RS
   DEVICE_PROFILE := Madwifi UBNT UBNTRS
   UBNT_BOARD := RS
@@ -205,6 +230,7 @@ endef
 
 define Device/ubnt-rspro
 $(Device/ubnt-routerstation)
+  DEVICE_TITLE := Ubiquiti RouterStation Pro
   BOARDNAME := UBNT-RSPRO
   DEVICE_PROFILE := Madwifi UBNT UBNTRSPRO
   UBNT_BOARD := RSPRO
@@ -214,6 +240,7 @@ endef
 
 define Device/ubnt-ls-sr71
 $(Device/ubnt-routerstation)
+  DEVICE_TITLE := Ubiquiti LS-SR71
   BOARDNAME := UBNT-LS-SR71
   DEVICE_PROFILE := Madwifi UBNT
   UBNT_BOARD := LS-SR71
@@ -224,6 +251,7 @@ endef
 TARGET_DEVICES += ubnt-rs ubnt-rspro ubnt-ls-sr71
 
 define Device/ubnt-uap-pro
+  DEVICE_TITLE := Ubiquiti UAP Pro
   KERNEL_SIZE := 1536k
   IMAGE_SIZE := 15744k
   MTDPARTS := spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,1536k(kernel),14208k(rootfs),256k(cfg)ro,64k(EEPROM)ro,15744k@0x50000(firmware)
@@ -239,6 +267,7 @@ endef
 
 define Device/ubnt-unifi-outdoor-plus
 $(Device/ubnt-uap-pro)
+  DEVICE_TITLE := Ubiquiti UniFi Outdoor Pro
   UBNT_CHIP := ar7240
   BOARDNAME := UBNT-UOP
   DEVICE_PROFILE := UBNT
diff --git a/target/linux/ar71xx/nand/profiles/meraki.mk b/target/linux/ar71xx/nand/profiles/meraki.mk
deleted file mode 100644
index 2c848c994c..0000000000
--- a/target/linux/ar71xx/nand/profiles/meraki.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# Copyright (C) 2014-2015 Chris Blake (chrisrblake93@gmail.com)
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/MR18
-	NAME:=Meraki MR18
-	PACKAGES:=kmod-spi-gpio kmod-ath9k
-endef
-
-define Profile/MR18/description
-	Package set optimized for the Cisco Meraki MR18 Access Point.
-endef
-
-$(eval $(call Profile,MR18))
diff --git a/target/linux/ar71xx/nand/profiles/netgear.mk b/target/linux/ar71xx/nand/profiles/netgear.mk
deleted file mode 100644
index 738aaba2c1..0000000000
--- a/target/linux/ar71xx/nand/profiles/netgear.mk
+++ /dev/null
@@ -1,29 +0,0 @@
-#
-# Copyright (C) 2009-2014 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/R6100
-	NAME:=NETGEAR R6100
-	PACKAGES:=kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-ledtrig-usbdev
-endef
-
-define Profile/R6100/Description
-	Package set optimized for the NETGEAR R6100
-endef
-
-$(eval $(call Profile,R6100))
-
-
-define Profile/WNDR4300
-	NAME:=NETGEAR WNDR3700v4/WNDR4300
-	PACKAGES:=kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-ledtrig-usbdev
-endef
-
-define Profile/WNDR4300/Description
-	Package set optimized for the NETGEAR WNDR3700v4/WNDR4300
-endef
-
-$(eval $(call Profile,WNDR4300))
diff --git a/target/linux/ar71xx/nand/profiles/zyxel.mk b/target/linux/ar71xx/nand/profiles/zyxel.mk
deleted file mode 100644
index ec813e548f..0000000000
--- a/target/linux/ar71xx/nand/profiles/zyxel.mk
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# Copyright (C) 2009 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/NBG6716
-	NAME:=Zyxel NBG 6716
-	PACKAGES:=kmod-rtc-pcf8563 kmod-ath10k
-endef
-
-define Profile/NBG6716/Description
-	Package set optimized for the Zyxel NBG 6716 Routers.
-endef
-
-$(eval $(call Profile,NBG6716))
-