I have a Zyxel P-335U. You have to modify the source code if you want to get it running. Only the P-334WT/P-335WT are supported by default. The modification are not that hard to make as the device number was already present in some of the code.
Once you get the thing built you can upload it through the routers web interface. I'm away on holiday the next two weeks so you don't get anymore answers for now. Oh, and I forgot: The usb controller seems broken, and I haven't yet looked into getting the wireless working.
Here is my patch for the P-335U:
Index: target/linux/adm5120/files/arch/mips/adm5120/Kconfig
===================================================================
--- target/linux/adm5120/files/arch/mips/adm5120/Kconfig (revision 16501)
+++ target/linux/adm5120/files/arch/mips/adm5120/Kconfig (working copy)
@@ -144,6 +144,12 @@
select ADM5120_OEM_ZYXEL
default y
+config ADM5120_MACH_P_335U
+ bool "ZyXEL Prestige 335U"
+ depends on CPU_BIG_ENDIAN
+ select ADM5120_SOC_BGA
+ select ADM5120_OEM_ZYXEL
+ default y
endmenu
config ADM5120_SOC_BGA
Index: target/linux/adm5120/files/arch/mips/adm5120/zyxel/Makefile
===================================================================
--- target/linux/adm5120/files/arch/mips/adm5120/zyxel/Makefile (revision 16501)
+++ target/linux/adm5120/files/arch/mips/adm5120/zyxel/Makefile (working copy)
@@ -1,4 +1,5 @@
obj-y += p-33x.o
obj-${CONFIG_ADM5120_MACH_P_334WT} += p-334wt.o
-obj-${CONFIG_ADM5120_MACH_P_335} += p-335.o
\ No newline at end of file
+obj-${CONFIG_ADM5120_MACH_P_335} += p-335.o
+obj-${CONFIG_ADM5120_MACH_P_335U} += p-335u.o
Index: target/linux/adm5120/image/lzma-loader/src/config.h
===================================================================
--- target/linux/adm5120/image/lzma-loader/src/config.h (revision 16501)
+++ target/linux/adm5120/image/lzma-loader/src/config.h (working copy)
@@ -118,6 +118,11 @@
# define CONFIG_FLASH_SIZE FLASH_4M
#endif
+#if defined(CONFIG_BOARD_P335U)
+# define CONFIG_BOARD_NAME "P-335U"
+# define CONFIG_FLASH_SIZE FLASH_4M
+#endif
+
/*
* Default values
*/
Index: target/linux/adm5120/image/router_be.mk
===================================================================
--- target/linux/adm5120/image/router_be.mk (revision 16501)
+++ target/linux/adm5120/image/router_be.mk (working copy)
@@ -41,8 +41,13 @@
$(call Image/Build/Template/ZyXEL/$(1),p-335wt)
endef
+define Image/Build/Profile/P335U
+ $(call Image/Build/Template/ZyXEL/$(1),p-335u)
+endef
+
define Image/Build/Profile/Generic
$(call Image/Build/Profile/P334WT,$(1))
$(call Image/Build/Profile/P335WT,$(1))
+ $(call Image/Build/Profile/P335U,$(1))
endef
Index: target/linux/adm5120/router_be/profiles/200-ZyXEL.mk
===================================================================
--- target/linux/adm5120/router_be/profiles/200-ZyXEL.mk (revision 16501)
+++ target/linux/adm5120/router_be/profiles/200-ZyXEL.mk (working copy)
@@ -23,5 +23,14 @@
Package set optimized for the ZyXEL Prestige 335WT board.
endef
+define Profile/P335U
+ NAME:=ZyXEL Prestige 335U
+ PACKAGES:=kmod-acx kmod-usb-core kmod-usb-adm5120
+endef
+
+define Profile/P335U/Description
+ Package set optimized for the ZyXEL Prestige 335U board.
+endef
$(eval $(call Profile,P334WT))
$(eval $(call Profile,P335WT))
+$(eval $(call Profile,P335U))
Index: target/linux/adm5120/router_be/config-default
===================================================================
--- target/linux/adm5120/router_be/config-default (revision 16501)
+++ target/linux/adm5120/router_be/config-default (working copy)
@@ -4,6 +4,7 @@
CONFIG_ADM5120_ENET=y
CONFIG_ADM5120_MACH_P_334WT=y
CONFIG_ADM5120_MACH_P_335=y
+CONFIG_ADM5120_MACH_P_335U=y
# CONFIG_ADM5120_OEM_CELLVISION is not set
# CONFIG_ADM5120_OEM_COMPEX is not set
# CONFIG_ADM5120_OEM_EDIMAX is not set