ZyXEL NBG5715


 * Product Page
 * Datasheet •  Manual
 * Downloads : FW v.1.00(AAAG.5)C0

The Mindspeed Comcerto 1000 (M83241G-13) CPU is the main SoC for device.
 * The RT3883 is apparently controlled via an MII interface (it's in iNIC mode).
 * The RT3593 appears to be controlled via the Comcerto's PCI bus.

The firmware provided by ZyXEL is ~14.5MB.
 * The stock firmware is an OpenWrt-dervative firmware.
 * The stock WebUI is a modified LuCI.

"45-402-000341" is silkscreened on the board shown below.
 * The default SSID for both bands is ZyXEL.

The power adapter included with the device is a
 * DVE DSA-24CA-12 120200 (12V, 2A).

Additional external links

 * On the OpenWrt Wiki
 * On the OpenWrt forums
 * http://nbg5715.shy.cz/GPL/
 * NBG5715_100AAAG2_open_code.tar.bz2 (04-May-2012 19:44 759M)

Serial
Telnet would seem to be enabled by default.
 * Credentials of root:1234 for a router w/ default settings worked fine..

dmesg
{{SCollapse|full output isable mode tdi_reset: set Streaming disable mode comcerto-ehci comcerto-ehci.1: comcerto EHCI comcerto-ehci comcerto-ehci.1: new USB bus registered, assigned bus number 1 comcerto-ehci comcerto-ehci.1: irq 5, io mem 0x0f000000 tdi_reset: set Streaming disable mode comcerto-ehci comcerto-ehci.1: USB 2.0 started, EHCI 1.00 usb usb1: New USB device found, idVendor=1d6b, idProduct=0002 usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 usb usb1: Product: comcerto EHCI usb usb1: Manufacturer: Linux 2.6.33.5 ehci_hcd usb usb1: SerialNumber: comcerto-ehci.1 hub 1-0:1.0: USB hub found hub 1-0:1.0: 1 port detected SPI core: add driver si3050 si3050_attach_adapter client c726ac00 si3050 c726ac00 SPI core: attach client to adapter comcerto-spi si3050_device_probe(0xc726ac00) si3050: resetting device 0 si3050: resetting device 0 value of reg IM 0 Error si3050_device_probe client c726ac00, max_pots 0 usb 1-1: new high speed USB device using comcerto-ehci and address 2 usb 1-1: New USB device found, idVendor=05e3, idProduct=0608 usb 1-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0 usb 1-1: Product: USB2.0 Hub hub 1-1:1.0: USB hub found hub 1-1:1.0: 4 ports detected register rt2860 PCI: enabling device 0000:00:00.0 (0140 -> 0142) PCI: Setting latency timer of device 0000:00:00.0 to 64

pAd = c82f2000, size = 666896
RTMPAllocTxRxRingMemory, Status=0 RTMPAllocAdapterBlock, Status=0 pAd->CSRBaseAddress =0xc82e0000, csr_addr=0xc82e0000! (Reassign Efuse for 3x7x/3x9x/53xx) Size=0x3c [3c0-3fb] i2c /dev entries driver GPL NetUSB up! kc  88 : run_telnetDBGDServer start kc 225 : init_DebugD end INFO1428: NetUSB 1.100, 00020621 INFO142A: AUTH ISOC IOCTL INFO142B: usbcore: registered new interface driver KC NetUSB General Driver INFO1469: node NetUSB_Access :major 62, minor 0 INFO0076: init proc : PAGE_SIZE 4096 INFO139C: sleep to wait lan to wake up INFO02BF:  use dev Name lan INFO13A5: sleep to wait lan end. INFO13BE: UDP_BROAD 7417 tcpPort:20005 INFO02BF: use dev Name lan INFO12F5: tcpConnector started... Initializing USB Mass Storage driver... usbcore: registered new interface driver usb-storage USB Mass Storage support registered. input: gpio-buttons as /devices/platform/gpio-buttons/input/input0 comcerto_i2c_init: module loaded i2c:m24_init Button Hotplug driver version 0.4.1 warning: `dnsmasq' uses 32-bit capabilities (legacy support in use) INFO11D5: Bind to lan RX DESC ffc33000 size = 2048 lan: no IPv6 routers present RTMP_TimerListAdd: add timer obj c835b4f4! RTMP_TimerListAdd: add timer obj c82fa348! RTMP_TimerListAdd: add timer obj c82f9f44! RTMP_TimerListAdd: add timer obj c82fa31c! RTMP_TimerListAdd: add timer obj c82fa69c! RTMP_TimerListAdd: add timer obj c82fa400! RTMP_TimerListAdd: add timer obj c82fa42c! RTMP_TimerListAdd: add timer obj c82fa5e8! RTMP_TimerListAdd: add timer obj c82fa614! RTMP_TimerListAdd: add timer obj c82fa640! RTMP_TimerListAdd: add timer obj c82fd53c! RTMP_TimerListAdd: add timer obj c82fd138! RTMP_TimerListAdd: add timer obj c82fd510! RTMP_TimerListAdd: add timer obj c82fd890! RTMP_TimerListAdd: add timer obj c82fd5f4! RTMP_TimerListAdd: add timer obj c82fd620! RTMP_TimerListAdd: add timer obj c82fd7dc! RTMP_TimerListAdd: add timer obj c82fd808! RTMP_TimerListAdd: add timer obj c82fd834! RTMP_TimerListAdd: add timer obj c8300730! RTMP_TimerListAdd: add timer obj c830032c! RTMP_TimerListAdd: add timer obj c8300704! RTMP_TimerListAdd: add timer obj c8300a84! RTMP_TimerListAdd: add timer obj c83007e8! RTMP_TimerListAdd: add timer obj c8300814! RTMP_TimerListAdd: add timer obj c83009d0! RTMP_TimerListAdd: add timer obj c83009fc! RTMP_TimerListAdd: add timer obj c8300a28! RTMP_TimerListAdd: add timer obj c8303924! RTMP_TimerListAdd: add timer obj c8303520! RTMP_TimerListAdd: add timer obj c83038f8! RTMP_TimerListAdd: add timer obj c8303c78! RTMP_TimerListAdd: add timer obj c83039dc! RTMP_TimerListAdd: add timer obj c8303a08! RTMP_TimerListAdd: add timer obj c8303bc4! RTMP_TimerListAdd: add timer obj c8303bf0! RTMP_TimerListAdd: add timer obj c8303c1c! RTMP_TimerListAdd: add timer obj c8306b18! RTMP_TimerListAdd: add timer obj c8306714! RTMP_TimerListAdd: add timer obj c8306aec! RTMP_TimerListAdd: add timer obj c8306e6c! RTMP_TimerListAdd: add timer obj c8306bd0! RTMP_TimerListAdd: add timer obj c8306bfc! RTMP_TimerListAdd: add timer obj c8306db8! RTMP_TimerListAdd: add timer obj c8306de4! RTMP_TimerListAdd: add timer obj c8306e10! RTMP_TimerListAdd: add timer obj c8309d0c! RTMP_TimerListAdd: add timer obj c8309908! RTMP_TimerListAdd: add timer obj c8309ce0! RTMP_TimerListAdd: add timer obj c830a060! RTMP_TimerListAdd: add timer obj c8309dc4! RTMP_TimerListAdd: add timer obj c8309df0! RTMP_TimerListAdd: add timer obj c8309fac! RTMP_TimerListAdd: add timer obj c8309fd8! RTMP_TimerListAdd: add timer obj c830a004! RTMP_TimerListAdd: add timer obj c830cf00! RTMP_TimerListAdd: add timer obj c830cafc! RTMP_TimerListAdd: add timer obj c830ced4! RTMP_TimerListAdd: add timer obj c830d254! RTMP_TimerListAdd: add timer obj c830cfb8! RTMP_TimerListAdd: add timer obj c830cfe4! RTMP_TimerListAdd: add timer obj c830d1a0! RTMP_TimerListAdd: add timer obj c830d1cc! RTMP_TimerListAdd: add timer obj c830d1f8! RTMP_TimerListAdd: add timer obj c83100f4! RTMP_TimerListAdd: add timer obj c830fcf0! RTMP_TimerListAdd: add timer obj c83100c8! RTMP_TimerListAdd: add timer obj c8310448! RTMP_TimerListAdd: add timer obj c83101ac! RTMP_TimerListAdd: add timer obj c83101d8! RTMP_TimerListAdd: add timer obj c8310394! RTMP_TimerListAdd: add timer obj c83103c0! RTMP_TimerListAdd: add timer obj c83103ec! RTMP_TimerListAdd: add timer obj c83132e8! RTMP_TimerListAdd: add timer obj c8312ee4! RTMP_TimerListAdd: add timer obj c83132bc! RTMP_TimerListAdd: add timer obj c831363c! RTMP_TimerListAdd: add timer obj c83133a0! RTMP_TimerListAdd: add timer obj c83133cc! RTMP_TimerListAdd: add timer obj c8313588! RTMP_TimerListAdd: add timer obj c83135b4! RTMP_TimerListAdd: add timer obj c83135e0! RTMP_TimerListAdd: add timer obj c83164dc! RTMP_TimerListAdd: add timer obj c83160d8! RTMP_TimerListAdd: add timer obj c83164b0! RTMP_TimerListAdd: add timer obj c8316830! RTMP_TimerListAdd: add timer obj c8316594! RTMP_TimerListAdd: add timer obj c83165c0! RTMP_TimerListAdd: add timer obj c831677c! RTMP_TimerListAdd: add timer obj c83167a8! RTMP_TimerListAdd: add timer obj c83167d4! RTMP_TimerListAdd: add timer obj c83196d0! RTMP_TimerListAdd: add timer obj c83192cc! RTMP_TimerListAdd: add timer obj c83196a4! RTMP_TimerListAdd: add timer obj c8319a24! RTMP_TimerListAdd: add timer obj c8319788! RTMP_TimerListAdd: add timer obj c83197b4! RTMP_TimerListAdd: add timer obj c8319970! RTMP_TimerListAdd: add timer obj c831999c! RTMP_TimerListAdd: add timer obj c83199c8! RTMP_TimerListAdd: add timer obj c831c8c4! RTMP_TimerListAdd: add timer obj c831c4c0! RTMP_TimerListAdd: add timer obj c831c898! RTMP_TimerListAdd: add timer obj c831cc18! RTMP_TimerListAdd: add timer obj c831c97c! RTMP_TimerListAdd: add timer obj c831c9a8! RTMP_TimerListAdd: add timer obj c831cb64! RTMP_TimerListAdd: add timer obj c831cb90! RTMP_TimerListAdd: add timer obj c831cbbc! RTMP_TimerListAdd: add timer obj c831fab8! RTMP_TimerListAdd: add timer obj c831f6b4! RTMP_TimerListAdd: add timer obj c831fa8c! RTMP_TimerListAdd: add timer obj c831fe0c! RTMP_TimerListAdd: add timer obj c831fb70! RTMP_TimerListAdd: add timer obj c831fb9c! RTMP_TimerListAdd: add timer obj c831fd58! RTMP_TimerListAdd: add timer obj c831fd84! RTMP_TimerListAdd: add timer obj c831fdb0! RTMP_TimerListAdd: add timer obj c8322cac! RTMP_TimerListAdd: add timer obj c83228a8! RTMP_TimerListAdd: add timer obj c8322c80! RTMP_TimerListAdd: add timer obj c8323000! RTMP_TimerListAdd: add timer obj c8322d64! RTMP_TimerListAdd: add timer obj c8322d90! RTMP_TimerListAdd: add timer obj c8322f4c! RTMP_TimerListAdd: add timer obj c8322f78! RTMP_TimerListAdd: add timer obj c8322fa4! RTMP_TimerListAdd: add timer obj c8325ea0! RTMP_TimerListAdd: add timer obj c8325a9c! RTMP_TimerListAdd: add timer obj c8325e74! RTMP_TimerListAdd: add timer obj c83261f4! RTMP_TimerListAdd: add timer obj c8325f58! RTMP_TimerListAdd: add timer obj c8325f84! RTMP_TimerListAdd: add timer obj c8326140! RTMP_TimerListAdd: add timer obj c832616c! RTMP_TimerListAdd: add timer obj c8326198! RTMP_TimerListAdd: add timer obj c8329094! RTMP_TimerListAdd: add timer obj c8328c90! RTMP_TimerListAdd: add timer obj c8329068! RTMP_TimerListAdd: add timer obj c83293e8! RTMP_TimerListAdd: add timer obj c832914c! RTMP_TimerListAdd: add timer obj c8329178! RTMP_TimerListAdd: add timer obj c8329334! RTMP_TimerListAdd: add timer obj c8329360! RTMP_TimerListAdd: add timer obj c832938c! RTMP_TimerListAdd: add timer obj c8331e80! RTMP_TimerListAdd: add timer obj c8331f84! RTMP_TimerListAdd: add timer obj c8331ea8! RTMP_TimerListAdd: add timer obj c8329708! RTMP_TimerListAdd: add timer obj c82f7834! RTMP_TimerListAdd: add timer obj c82faa28! RTMP_TimerListAdd: add timer obj c82fdc1c! RTMP_TimerListAdd: add timer obj c8300e10! RTMP_TimerListAdd: add timer obj c8304004! RTMP_TimerListAdd: add timer obj c83071f8! RTMP_TimerListAdd: add timer obj c830a3ec! RTMP_TimerListAdd: add timer obj c830d5e0! RTMP_TimerListAdd: add timer obj c83107d4! RTMP_TimerListAdd: add timer obj c83139c8! RTMP_TimerListAdd: add timer obj c8316bbc! RTMP_TimerListAdd: add timer obj c8319db0! RTMP_TimerListAdd: add timer obj c831cfa4! RTMP_TimerListAdd: add timer obj c8320198! RTMP_TimerListAdd: add timer obj c832338c! RTMP_TimerListAdd: add timer obj c8326580! RTMP_TimerListAdd: add timer obj c8329428! APSDCapable[0]=0 APSDCapable[1]=0 APSDCapable[2]=0 APSDCapable[3]=0 APSDCapable[4]=0 APSDCapable[5]=0 APSDCapable[6]=0 APSDCapable[7]=0 APSDCapable[8]=0 APSDCapable[9]=0 APSDCapable[10]=0 APSDCapable[11]=0 APSDCapable[12]=0 APSDCapable[13]=0 APSDCapable[14]=0 APSDCapable[15]=0 Key1Str is Invalid key length(0) or Type(0) Key1Str is Invalid key length(0) or Type(0) Key1Str is Invalid key length(0) or Type(0) Key1Str is Invalid key length(0) or Type(0) Key2Str is Invalid key length(0) or Type(0) Key2Str is Invalid key length(0) or Type(0) Key2Str is Invalid key length(0) or Type(0) Key2Str is Invalid key length(0) or Type(0) Key3Str is Invalid key length(0) or Type(0) Key3Str is Invalid key length(0) or Type(0) Key3Str is Invalid key length(0) or Type(0) Key3Str is Invalid key length(0) or Type(0) Key4Str is Invalid key length(0) or Type(0) Key4Str is Invalid key length(0) or Type(0) Key4Str is Invalid key length(0) or Type(0) Key4Str is Invalid key length(0) or Type(0) EntryLifeCheck=15 1. Phy Mode = 9 2. Phy Mode = 9 NVM is Efuse and its size =3c[3c0-3fb] 3. Phy Mode = 9 AntCfgInit: primary/secondary ant 0/1 MCS Set = ff ff ff 00 01 SYNC - BBP R4 to 20MHz.l SYNC - BBP R4 to 20MHz.l SYNC - BBP R4 to 20MHz.l SYNC - BBP R4 to 20MHz.l SYNC - BBP R4 to 20MHz.l SYNC - BBP R4 to 20MHz.l SYNC - BBP R4 to 20MHz.l SYNC - BBP R4 to 20MHz.l SYNC - BBP R4 to 20MHz.l SYNC - BBP R4 to 20MHz.l SYNC - BBP R4 to 20MHz.l RTMP_TimerListAdd: add timer obj c83299e4! Main bssid = ca:6c:87:35:8b:08 == rt28xx_init, Status=0 0x1300 = 00064320 device ra0 entered promiscuous mode lan: port 2(ra0) entering forwarding state MTD_open MTD_ioctl MTD_ioctl MTD_read MTD_close MTD_open MTD_ioctl MTD_ioctl MTD_read MTD_close eth2: no IPv6 routers present SYNC - BBP R4 to 20MHz.l SYNC - BBP R4 to 20MHz.l SYNC - BBP R4 to 20MHz.l SYNC - BBP R4 to 20MHz.l MTD_open MTD_ioctl MTD_ioctl MTD_read MTD_close

RT3883iNIC: 802.11n WLAN MII driver v2.4.0.6 (Feb. 09, 2011) Update MAC(0)=ca:6c:87:35:8b:0c

=
Init Thread =================== RacfgTaskThread pid = 5176 RacfgBacklogThread pid = 5177 Org bridge hook = c02a425c Change bridge hook = bf32fd88 rai0: Ralink iNIC at 0x0, ca:6c:87:35:8b:0c MTD_open MTD_ioctl MTD_ioctl MTD_read MTD_close iNIC Open rai0 Op mode = 1 BssidNum=4 rlk_inic_mbss_init ---> Register MBSSID IF (rai1) Register MBSSID IF (rai2) Register MBSSID IF (rai3) rlk_inic_mbss_init <--- Wait for boot done... RACFG_CMD_BOOT_NOTIFY Open file: /tmp/iNIC_ap.bin Open file: /tmp/iNIC_ap.dat RACFG_CMD_BOOT_INITCFG(0) RACFG_CMD_BOOT_INITCFG(0) RACFG_CMD_BOOT_INITCFG(1) RACFG_CMD_BOOT_INITCFG(2) Send Init Cfg Data Done(3 packets) RACFG_CMD_BOOT_UPLOAD(0) RACFG_CMD_BOOT_UPLOAD(1) RACFG_CMD_BOOT_UPLOAD(2)

CRC:01 08 14 18 72 11 a4 aa 22 32 2e 35 2e 30 2e 34 22 00 00 00 32 30 31 32 31 31 32 32 00 00 00 00 00 00 00 00 a4 6e 08 00

Send RT3883iNIC Firmware Done

=
====================== version: "2.5.0.4" size:   552612 bytes date:   20121122

=
======================

Send STARTUP to RT3883iNIC Close Firmware file RACFG_CMD_BOOT_STARTUP ra0: no IPv6 routers present Update MAC(0)=ca:6c:87:35:8b:0c Update MAC(1)=ca:6c:87:35:8b:0d Update MAC(2)=ca:6c:87:35:8b:0e Update MAC(3)=ca:6c:87:35:8b:0f Warning! MAC addr not equal to MII master => set MiiMasterMac=c8:6c:87:35:8b:0f You've assigned a different MAC. device rai0 entered promiscuous mode lan: port 3(rai0) entering forwarding state MTD_open MTD_ioctl MTD_ioctl MTD_read MTD_close MTD_open MTD_ioctl MTD_ioctl MTD_read MTD_close ip6t_ah: Unknown symbol ipv6_find_hdr ip6table_filter: Unknown symbol ip6t_unregister_table ip6table_filter: Unknown symbol ip6t_register_table ip6table_filter: Unknown symbol ip6t_do_table ip6table_mangle: Unknown symbol ip6t_unregister_table ip6table_mangle: Unknown symbol ip6t_register_table ip6table_mangle: Unknown symbol ip6t_do_table ip6table_raw: Unknown symbol ip6t_unregister_table ip6table_raw: Unknown symbol ip6t_register_table ip6table_raw: Unknown symbol ip6t_do_table NET: Registered protocol family 27 ip_tables: (C) 2000-2006 Netfilter Core Team ip6_tables: (C) 2000-2006 Netfilter Core Team comcerto_fpp_module_init comcerto_fpp_probe fpp fpp: firmware: requesting fpp.axf FPP is running $Version: fpp_7_00_5_1 $ vwd_init: created vwd device(252, 0) vwd_driver_init: start vwd_up: start vwd_init_buffers: txQ : c0434000:86474000 vwd_init_buffers: expt rxQ : c0434800:86474800 vwd_up: start1 vwd_driver_init: end Netfilter messages via NETLINK v0.30. nf_conntrack version 0.5.0 (1835 buckets, 7340 max) CONFIG_NF_CT_ACCT is deprecated and will be removed soon.Please use nf_conntrack.acct=1 kernel parameter, acct=1 nf_conntrack module option or sysctl net.netfilter.nf_conntrack_acct=1 to enable it. ctnetlink v0.93: registering with nfnetlink. vwd_open : minor device -> 0 vwd_ioctl: start vwd_handle_vap function called 0: ra0 vwd_handle_vap:ADD: name:ra0, vapid:0 ifindex:9 mac:c8:6c:87:35:8b:f vwd_close rai0: no IPv6 routers present c1k_set_fast_path_enable 1 eth0: c1k_eth_close c1k_eth_open: eth0 Disabling GEM1 delay comcerto gemac1 software config using RGMII PHY start: 0:04 c1k_set_fast_path_enable 1 eth2: c1k_eth_close c1k_eth_open: eth2 Disabling GEM0 delay comcerto gemac0 software config using RGMII vwd_proc_write_fast_path: Wifi fast path enabled c1k_show_fast_path_enable comcerto_cap_init comcerto_cap_driver_init: start comcerto_cap_register_capdev: comcerto_cap_register_capdev: }}