diff --git a/target/linux/adm5120/image/router_le.mk b/target/linux/adm5120/image/router_le.mk
index 9f1aa9b2bee1a94c341dc20a6f39027323ec304e..f9109715999c485a3e0d4bf56085fcc54a45d4ca 100644
--- a/target/linux/adm5120/image/router_le.mk
+++ b/target/linux/adm5120/image/router_le.mk
@@ -16,7 +16,11 @@ define Image/Build/Edimax
 	$(STAGING_DIR_HOST)/bin/mkcsysimg -B $(2) -d -w \
 		-r $(KDIR)/loader-$(2).gz \
 		-x $(call imgname,$(1),$(2)).trx \
-		$(call imgname,$(1),$(2)).bin
+		$(call imgname,$(1),$(2))-webui.bin
+	$(STAGING_DIR_HOST)/bin/mkcsysimg -B $(2) -d \
+		-r $(KDIR)/loader-$(2).gz \
+		-x $(call imgname,$(1),$(2)).trx \
+		$(call imgname,$(1),$(2))-xmodem.bin
 endef
 
 define Image/Build/Infineon
@@ -195,10 +199,6 @@ define Image/Build/Board/BR6104K/squashfs
 	$(call Image/Build/Board/BR6104K,squashfs)
 endef
 
-define Image/Build/Board/BR6104K/jffs2-64k
-	$(call Image/Build/Board/BR6104K,jffs2-64k)
-endef
-
 define Image/Build/Board/BR6104K/Initramfs
 	$(call Image/Build/LZMAKernel/Admboot,br-6104k,gz)
 endef
@@ -308,6 +308,10 @@ define Image/Build/Profile/CAS771W
 	$(call Image/Build/Board/CAS771W/$(1))
 endef
 
+define Image/Build/Profile/BR6104KP
+	$(call Image/Build/Board/BR6104K/$(1))
+endef
+
 define Image/Build/Profile/RouterBoard
 	$(call Image/Build/Board/RB1xx/$(1))
 endef
diff --git a/target/linux/adm5120/router_be/config-2.6.22 b/target/linux/adm5120/router_be/config-2.6.22
index 43476e232144e5b9548af6bde580c9929d81e288..0fca8f8fb1ea0060dcf00bc826eba5af0d3b8df9 100644
--- a/target/linux/adm5120/router_be/config-2.6.22
+++ b/target/linux/adm5120/router_be/config-2.6.22
@@ -230,7 +230,6 @@ CONFIG_TMPFS_POSIX_ACL=y
 # CONFIG_TOSHIBA_RBTX4938 is not set
 CONFIG_TRAD_SIGNALS=y
 # CONFIG_UNUSED_SYMBOLS is not set
-CONFIG_USB=y
 # CONFIG_USBPCWATCHDOG is not set
 # CONFIG_USB_ACM is not set
 CONFIG_USB_ADM5120_HCD=m
diff --git a/target/linux/adm5120/router_le/config-2.6.22 b/target/linux/adm5120/router_le/config-2.6.22
index 0f93b1affae5cc1bea5664da30a2b6c9b3517a15..a876583603c7fbb149b07a3aea89c147789e0e2b 100644
--- a/target/linux/adm5120/router_le/config-2.6.22
+++ b/target/linux/adm5120/router_le/config-2.6.22
@@ -239,7 +239,6 @@ CONFIG_TMPFS_POSIX_ACL=y
 # CONFIG_TOSHIBA_RBTX4938 is not set
 CONFIG_TRAD_SIGNALS=y
 # CONFIG_UNUSED_SYMBOLS is not set
-CONFIG_USB=y
 # CONFIG_USBPCWATCHDOG is not set
 # CONFIG_USB_ACM is not set
 CONFIG_USB_ADM5120_HCD=m
diff --git a/target/linux/adm5120/router_le/profiles/Edimax.mk b/target/linux/adm5120/router_le/profiles/Edimax.mk
new file mode 100644
index 0000000000000000000000000000000000000000..34798b2381c66d1101c1998ff837815be9c6f02a
--- /dev/null
+++ b/target/linux/adm5120/router_le/profiles/Edimax.mk
@@ -0,0 +1,17 @@
+#
+# Copyright (C) 2007 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/BR6104KP
+	NAME:=Edimax BR-6104KP
+	PACKAGES:=kmod-usb-core kmod-usb-adm5120
+endef
+
+define Profile/BR6104KP/Description
+	Package set optimized for the Edimax BR-6104KP
+endef
+
+$(eval $(call Profile,BR6104KP))