OpenWrt Forum Archive

Topic: ZyXEL VSG1432 - partial success, no wireless.

The content of this topic has been archived on 7 Apr 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

Hello Everyone,

Long time OpenWrt user, first time poster.  I've been working on getting OpenWrt on a Zyxel VSG1432.  The stock firmware is appalling but the hardware doesn't seem too bad.

Model: Zyxel VSG1432
Board ID: 96368MVWG
Flash: MX29GL128ELT2I
Ram: 2x Winbond W9425G6JH-5
Wireless: BCM43222KFBG
USB x1 (2.0?)

After a few nights work based on this post about similar hardware Q1000Z / P-870HNU-51c, I was able to patch and build an image that would upload via serial.  No one was more surprised than me when it actually booted Chaos Calmer.

Ethernet seems to work, I can ssh into the router and use the console.
But wireless doesn't work and I'm stumped.  The wlan chip seems to be recognized (does it work?) and I commented out the "option disabled 1" in /etc/config/wireless to little effect.  My wireless devices haven't found an Openwrt SSID broadcasting, so I assume the radio is down.

Any help would be appreciated, at least as a starting point.  Or I will need to dive back into the old forum posts tonight!
Thanks,
K

/etc/config/wireless

config wifi-device  radio0
        option type     mac80211
        option channel  11
        option hwmode   11g
        option path     'pci0000:00/0000:00:01.0/ssb0:0'
        option htmode
        # REMOVE THIS LINE TO ENABLE WIFI:
#       option disabled 1

config wifi-iface
        option device   radio0
        option network  lan
        option mode     ap
        option ssid     OpenWrt
        option encryption none

Here is the OpenWrt bootlog:

CFE version 1.0.37-107.23 for BCM96368 (32bit,SP,BE)
Build Date: 06/20/2011 (jhenyang@msgsw4)
Copyright (C) 2000-2009 Broadcom Corporation.

Parallel flash device: name MX29GL128EH, id 0x2221 size 16384KB
Total Flash size: 16384K with 128 sectors
Chip ID: BCM6368B2, MIPS: 400MHz
Main Thread: TP0
Total Memory: 67108864 bytes (64MB)
Boot Address: 0xb8000000

Checking Reset button on EXT INTR 0 
Checking Reset button on EXT INTR 0 
Board IP address                  : 192.168.1.1:ffffff00  
Host IP address                   : 192.168.1.100  
Gateway IP address                :   
Run from flash/host (f/h)         : f  
Default host run file name        : vmlinux  
Default host flash file name      : bcm963xx_fs_kernel  
Boot delay (0-9 seconds)          : 3  
Boot image (0=latest, 1=previous) : 0  
Board Id (0-15)                   : 96368MVWG                                   
Number of MAC Addresses (1-32)    : 7                                           
Base MAC Address                  :                           
PSI Size (1-128) KBytes           : 64                                          
Enable Backup PSI [0|1]           : 1                                           
System Log Size (0-256) KBytes    : 0                                           
Main Thread Number [0|1]          : 0                                           
                                                                                
*** Press any key to stop auto run (3 seconds) ***                              
Auto run second count down: 0                                                   
Wait for Multiboot Service Packet...  0                                         
Booting from latest image (0xb8800000) ...                                      
Code Address: 0x80A00000, Entry Address: 0x80a00000                             
LZMA: Prossible old LZMA format, trying to decompress..                         
Decompression OK!                                                               
Entry at 0x80a00000                                                             
Closing network.                                                                
Disabling Switch ports.                                                         
Flushing Receive Buffers...                                                     
0 buffers found.                                                                
Closing DMA Channels.                                                           
Starting program at 0x80a00000                                                  
[    0.000000] Linux version 3.18.23 (kevin@kevin-i5) (gcc version 4.8.3 (OpenW6
[    0.000000] Detected Broadcom 0x6368 CPU revision b2                         
[    0.000000] CPU frequency is 400 MHz                                         
[    0.000000] 64MB of RAM installed                                            
[    0.000000] board_bcm963xx: Boot address 0xb8000000                          
[    0.000000] board_bcm963xx: CFE version: 1.0.37-107.23                       
[    0.000000] bootconsole [early0] enabled                                     
[    0.000000] CPU0 revision is: 0002a031 (Broadcom BMIPS4350)                  
[    0.000000] board: board name: VSG1432                                       
[    0.000000] MIPS: machine is Zyxel VSG1432                                   
[    0.000000] Determined physical RAM map:                                     
[    0.000000]  memory: 04000000 @ 00000000 (usable)                            
[    0.000000] Initrd not found or empty - disabling initrd                     
[    0.000000] Zone ranges:                                                     
[    0.000000]   Normal   [mem 0x00000000-0x03ffffff]                           
[    0.000000] Movable zone start for each node                                 
[    0.000000] Early memory node ranges                                         
[    0.000000]   node   0: [mem 0x00000000-0x03ffffff]                          
[    0.000000] Initmem setup node 0 [mem 0x00000000-0x03ffffff]                 
[    0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 16 bytes.  
[    0.000000] Primary data cache 32kB, 2-way, VIPT, cache aliases, linesize 16s
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pa6
[    0.000000] Kernel command line:  root=/dev/mtdblock2 rootfstype=squashfs,jf0
[    0.000000] PID hash table entries: 256 (order: -2, 1024 bytes)              
[    0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)    
[    0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)     
[    0.000000] Memory: 59968K/65536K available (2660K kernel code, 136K rwdata,)
[    0.000000] NR_IRQS:256                                                      
[    0.000000] Calibrating delay loop... 397.82 BogoMIPS (lpj=795648)           
[    0.036000] pid_max: default: 32768 minimum: 301                             
[    0.040000] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)      
[    0.044000] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) 
[    0.052000] NET: Registered protocol family 16                               
[    0.060000] registering PCI controller with io_map_base unset                
[    0.068000] PCI host bridge to bus 0000:00                                   
[    0.072000] pci_bus 0000:00: root bus resource [mem 0x30000000-0x37ffffff]   
[    0.076000] pci_bus 0000:00: root bus resource [io  0x8000000-0x800ffff]     
[    0.080000] pci_bus 0000:00: No busn resource found for root bus, will use []
[    0.088000] pci 0000:00:01.0: BAR 0: assigned [mem 0x30000000-0x30003fff]    
[    0.092000] Switched to clocksource MIPS                                     
[    0.096000] PCI: Enabling device 0000:00:01.0 (0000 -> 0002)                 
[    0.124000] ssb: Found chip with id 0xA8D6, rev 0x00 and package 0x08        
[    0.168000] ssb: WARNING: Using fallback SPROM failed (err -2)               
[    0.172000] ssb: WARNING: Invalid SPROM CRC (corrupt SPROM)                  
[    0.180000] ssb: Unsupported SPROM revision 255 detected. Will extract v1    
[    0.208000] ssb: Sonics Silicon Backplane found on PCI device 0000:00:01.0   
[    0.216000] NET: Registered protocol family 2                                
[    0.224000] TCP established hash table entries: 1024 (order: 0, 4096 bytes)  
[    0.228000] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)         
[    0.236000] TCP: Hash tables configured (established 1024 bind 1024)         
[    0.244000] TCP: reno registered                                             
[    0.248000] UDP hash table entries: 256 (order: 0, 4096 bytes)               
[    0.252000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)          
[    0.260000] NET: Registered protocol family 1                                
[    0.264000] futex hash table entries: 256 (order: -1, 3072 bytes)            
[    0.272000] squashfs: version 4.0 (2009/01/31) Phillip Lougher               
[    0.280000] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORI.
[    0.288000] msgmni has been set to 117                                       
[    0.296000] io scheduler noop registered                                     
[    0.300000] io scheduler deadline registered (default)                       
�[    0.316000] console [ttyS0] enabled MMIO 0xb0000100 (irq = 10, base_baud = t
[    0.316000] console [ttyS0] enabled                                          
[    0.324000] bootconsole [early0] disabled                                    
[    0.324000] bootconsole [early0] disabled                                    
[    0.332000] bcm63xx-rng bcm63xx-rng: registered RNG driver                   
[    0.340000] 18000000.nor: Found 1 x16 devices at 0x0 in 16-bit bank. Manuface
[    0.348000] Amd/Fujitsu Extended Query Table at 0x0040                       
[    0.356000]   Amd/Fujitsu Extended Query version 1.3.                        
[    0.360000] number of CFI chips: 1                                           
[    0.368000] bcm63xxpart: CFE boot tag found with version 6 and board type 96G
[    0.376000] 4 bcm63xxpart partitions found on MTD device 18000000.nor        
[    0.380000] Creating 4 MTD partitions on "18000000.nor":                     
[    0.388000] 0x000000000000-0x000000020000 : "CFE"                            
[    0.392000] 0x000000020100-0x0000001437b9 : "kernel"                         
[    0.400000] 0x0000001437b9-0x000000400000 : "rootfs"                         
[    0.404000] mtd: device 2 (rootfs) set to be root filesystem                 
[    0.412000] 1 squashfs-split partitions found on MTD device rootfs           
[    0.416000] 0x000000320000-0x000000400000 : "rootfs_data"                    
[    0.424000] 0x000000020000-0x000000400000 : "linux"                          
[    0.436000] bcm63xx-spi bcm63xx-spi: at 0xb0000800 (irq 9, FIFOs size 542)   
[    0.480000] b53_common: found switch: BCM63xx, rev 0                         
[    0.484000] bcm63xx-wdt bcm63xx-wdt:  started, timer margin: 30 sec          
[    0.492000] TCP: cubic registered                                            
[    0.496000] NET: Registered protocol family 17                               
[    0.500000] bridge: automatic filtering via arp/ip/ip6tables has been deprec.
[    0.512000] 8021q: 802.1Q VLAN Support v1.8                                  
[    0.528000] VFS: Mounted root (squashfs filesystem) readonly on device 31:2. 
[    0.552000] Freeing unused kernel memory: 1308K (80359000 - 804a0000)        
[    1.912000] init: Console is alive                                           
[    1.916000] init: - watchdog -                                               
[    3.924000] init: - preinit -                                                
[    4.552000] random: mktemp urandom read with 17 bits of entropy available    
Press the [f] key and hit [enter] to enter failsafe mode                        
Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level    
[    7.956000] jffs2: notice: (213) jffs2_build_xattr_subsystem: complete build.
[    7.972000] mount_root: switching to jffs2 overlay                           
ifconfig: SIOCGIFFLAGS: No such device                                          
[    8.008000] procd: - early -                                                 
[    8.012000] procd: - watchdog -                                              
[    8.916000] procd: - ubus -                                                  
[    9.928000] procd: - init -                                                  
Please press Enter to activate this console.                                    
[   11.324000] NET: Registered protocol family 10                               
[   11.336000] ip6_tables: (C) 2000-2006 Netfilter Core Team                    
[   11.356000] Loading modules backported from Linux version master-2015-03-09-5
[   11.364000] Backport generated by backports.git backports-20150129-0-gdd4a670
[   11.376000] ip_tables: (C) 2000-2006 Netfilter Core Team                     
[   11.400000] nf_conntrack version 0.5.0 (957 buckets, 3828 max)               
[   11.456000] xt_time: kernel timezone is -0000                                
[   11.508000] cfg80211: Calling CRDA to update world regulatory domain         
[   11.516000] cfg80211: World regulatory domain updated:                       
[   11.520000] cfg80211:  DFS Master region: unset                              
[   11.528000] cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_ga)
[   11.536000] cfg80211:   (2402000 KHz - 2472000 KHz @ 40000 KHz), (N/A, 2000 )
[   11.544000] cfg80211:   (2457000 KHz - 2482000 KHz @ 20000 KHz, 92000 KHz AU)
[   11.556000] cfg80211:   (2474000 KHz - 2494000 KHz @ 20000 KHz), (N/A, 2000 )
[   11.564000] cfg80211:   (5170000 KHz - 5250000 KHz @ 80000 KHz, 160000 KHz A)
[   11.572000] cfg80211:   (5250000 KHz - 5330000 KHz @ 80000 KHz, 160000 KHz A)
[   11.580000] cfg80211:   (5490000 KHz - 5730000 KHz @ 160000 KHz), (N/A, 2000)
[   11.592000] cfg80211:   (5735000 KHz - 5835000 KHz @ 80000 KHz), (N/A, 2000 )
[   11.600000] cfg80211:   (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 0)
[   11.720000] PPP generic driver version 2.4.2                                 
[   11.728000] NET: Registered protocol family 24                               
[   11.772000] b43-phy0: Broadcom 43222 WLAN found (core revision 16)           
[   11.812000] b43-phy0: Found PHY: Analog 8, Type 4 (N), Revision 6            
[   11.816000] b43-phy0: Found Radio: Manuf 0x17F, ID 0x2056, Revision 6, Versi0
[   11.836000] Broadcom 43xx driver loaded [ Features: PNL ]                    
[   20.712000] device eth0.1 entered promiscuous mode                           
[   20.716000] device eth0 entered promiscuous mode                             
[   20.732000] br-lan: port 1(eth0.1) entered forwarding state                  
[   20.736000] br-lan: port 1(eth0.1) entered forwarding state                  
[   22.740000] br-lan: port 1(eth0.1) entered forwarding state                  
[   32.888000] random: nonblocking pool is initialized                          
                                                                                
                                                                                
                                                               

BusyBox v1.23.2 (2016-01-19 20:54:27 PST) built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 CHAOS CALMER (Chaos Calmer, r48373)
 -----------------------------------------------------
  * 1 1/2 oz Gin            Shake with a glassful
  * 1/4 oz Triple Sec       of broken ice and pour
  * 3/4 oz Lime Juice       unstrained into a goblet.
  * 1 1/2 oz Orange Juice
  * 1 tsp. Grenadine Syrup
 -----------------------------------------------------
root@OpenWrt:~#

Came here after googling, and registered just to show moral support. If you'd share your firmware, I'll try it out also.

In Myrtle Beach, SC the local Telco, HTC, gives these out (even to fiber customers!) So I have a few ZyXEL VSG1432-B101 lying around.

Let me know if you've made any further progress.

This project went on the back burner for a while and hopefully I will get back to it soon.  I didn't want to spend too much time on it as it seemed to have limited interest...  I didn't start a wiki entry because OpenWrt is littered with unfinished, unsupported devices and I didn't want to add another!  I do have internal photos and specs. and if there is interest I can start a wiki page.

It turns out that the wireless wasn't working because it didn't have a valid MAC address (just 00:00:00:00:00:00).  It can be manually fixed as per the instructions in this link: http://superuser.com/questions/868231/w … wrt-router.   And then wireless seems to work fine, but range seems a bit limited.  I don't know why it doesn't get a valid MAC on first boot, but I'm certain there is some error in my patch that makes this happen.

If you are into building from source I can provide the patch/changes I added to make it work -- I got it to the stage where I could flash via ethernet cable and the emergency recovery webpage.  The USB worked, switch seemed to function and wireless could be brought up manually as above.  Some LEDs worked and I'd mapped out the corresponding GPIOs for most LEDs and buttons.  DSL of course doesn't work and likely won't ever work.

That said, here is my current best state firmware (Chaos Calmer with LUCI) -- I may have messed up the LAN LEDs with my last build.  Beware, I am not responsible for bricking.
https://drive.google.com/open?id=0B6Mme … UIwaDdiTnc

To upload:
Save the firmware somewhere you can find it!
Set your computer to manual ip, 192.168.1.2.  Connect your computer ethernet port to a LAN port on the router.
Hold the router reset button while plugging it in, wait for about 5 seconds (when the router power light turns red, you are set).  Then type http://192.168.1.1 into your web browser and you should see the CFE software update page.  Select the firmware, click Update Software, go make coffee and then hopefully it will boot into OpenWrt.  You should be able to access the LUCI interface at 192.168.1.1.
If this current build of OpenWrt is not to your liking, there is some stock firmware available for download from the internet -- google VSG1432 and you should find it so you can revert to stock.

It will be a couple of weeks before I can play with this again -- let me know how it goes.

Edit: currently on Vancouver island but visited Myrtle Beach with my Dad and VW van about 25 years ago(!) on a windsurfing road trip.  Remember visiting Huntington Beach State Park and a brick mansion - enjoyed the trip and it brings back memories now, all thanks to openwrt!

(Last edited by kmottershead on 14 Mar 2016, 05:56)

Coming to the show late.

Telus provided a Zyxel 1432 that is no longer required.  Tweaking it seems a most worthwhile exercise as the Shaw modem has equally bad firmware.  (With the firewall set to LOW, ICMP is blocked.  Huh?)

And leaving the modem firewall off is obviously nuts.

So, what's  the status of your firmware?  Useable for simple needs?

And if so, does a stock firmware update work or does the device have to be "rooted" somehow.

Thanks in advance for any hints.

Alan in Vancouver?

I currently have the Zyxel vsg1432 running as a wired main router/gateway.  It seems pretty stable, uptime is currently at 70 days and it probably only went down because of a power failure!  Before the Zyxel, I had a DIR-601 with OpenWrt  as my main router -- it would get overwhelmed on a regular basis and require a reboot.  LEDs don't really work, nor wireless but it is fine as a wired router.  LUCI and ssh work fine to connect and see router status.

The firmware I patched and uploaded to Google drive could be loaded from the CFE webserver as detailed in my previous post.  I'm not sure about the an upgrade from the Telus firmware.  I have another Zyxel I bought at a thrift store so tonight if I find time I'll try to upgrade to OpenWrt via the Telus firmware.

It seems the wireless issues are related to a bad mac address -- it gets 00:00:00:00:00:00 on boot and then fails to initialize.  I found this discussion https://superuser.com/questions/868231/ … wrt-router which allows wireless to function, but needs to be performed each boot.  I suppose that could be automated...  I didn't pursue the wireless any further because the radio seemed weak, so I just connected a second router to act as a wireless access point (more centrally located in my house too).

Let me know how it goes.

Thanks for the follow-up!

I was actually hoping to kill two birds with one stone, better router and stronger WiFi, as the Zxyel is the only one of my stack of wifi units with an actual antenna, and signal strength with any of the other devices is iffy.

(Somehow, when you have half a dozen working access points, paying real money for yet another just seems wrong.)

I suppose I can try the firmware upgrade via serial connection from the PC, I'll just have to wire myself up a suitable level shifter .. no show stopper, just one more thing on the to-do list.

Off the top of your head, do you remember the baud rate?

Also, assuming I can get this all working, I rather suspect the MAC address thing could get annoying.  Do you have any thoughts on this?  I'm not much of a programmer and have not looked at the OpenWRT code at all, but do have some skill and might like to try to fix it one day.

Thanks again.

Alan

You should be able to put the factory MAC address on the sticker into /etc/config/wireless and it will automatically start up.

@Alan -- serial connection is made to J3 -- a 5 pin header is already attached. 
The pins are:
1 - 3.3v, don't connect!
2 - Tx
3 - Rx
4 - NC
5 - GND

Serial connection rate is 115200, 8 bits, no parity, stop bits 1, flow control none.  I 'think' the voltage for the serial Rx/Tx is probably 3.3V but I haven't checked... 
I've started an OpenWrt page for the Zyxel VSG1432 with pictures of the serial connection, but it doesn't show up yet on the site...

You don't need a serial to install the firmware I uploaded to GoogleDrive.  Just use the CFE miniweb server and an ethernet cable connected to a LAN port, details here: https://www.google.ca/url?sa=t&rct= … cmaURDkjFw

I feel the wireless doesn't work because it is missing info from the boot and the b43 driver fails to load.  I don't know how OpenWrt does it's magic but I feel the MAC address must be read during boot and then passed to the drivers.  Just adding the MAC to the wireless config doesn't work.  I wonder if my patch should detail an address to read the MAC address from the NVRAM.  The board specific MAC needs to come from somewhere and it just isn't finding it...

I contemplated a temporary solution of writing a shell script to load the MAC address to the proper places.  Then just call that script immediately after bootup.  Seems a bit of a hack job though...

OK, got a serial connection.  (Dug a 3.3v max232 out of the parts drawer).  Got to a CFE prompt.  Was unable to get the device to spit out a password seed.  Error 1 every time.

Decided to do it the fast way (ethernet). Reset device, web connect to 192.168.1.1, upload firmware, 1 minute later, ta-da, OpenWRT!

Able to access the web site and SSH in.  Starting to feel pretty good about myself.

HOWEVER, the WAN interface shows as disconnected on the status page.  Also, there's no connection light on the router, so I believe the interface really is down. 

(Router WAS working with Telus firmware, so I don't think it's a hardware issue.)

As currently configured, getting this device to act as a router when everything is on the same network is going to be VERY tricky.  <g>

Before I go crazy comparing lines in log files, did I miss something?

Thanks for any hints.

Alan

P.S.  What's the name of the WAN interface?

Glad to hear you are working on this!  Not sure what the problem is, I set up my router more than a year ago so I'm a bit fuzzy on what I did to get it working....
My VSG1432 shows the wan as eth0.2.   I think I made a VLAN WAN interface with the switch settings.  This is my /etc/config/network file.

config interface 'wan'                         
        option ifname 'eth0.2'                 
        option proto 'dhcp'                    
        option macaddress 'telco:mac:address'  
        option macaddr 'telco:mac:address'     
                                             
config switch                                  
        option name 'eth0'                   
        option reset '1'                     
        option enable_vlan '1'               
                                             
config switch_vlan                           
        option device 'eth0'                 
        option vlan '1'                   
        option ports '0 1 2 8t'              
                                             
config switch_vlan                           
        option device 'eth0'                 
        option vlan '2'                      
        option ports '3 8t'   

   

I had to change the MAC address to one that the Telco was expecting to see...  The Cat5 cable from the fibre modem is plugged into the #4 LAN port.  Why doesn't the WAN port work?... Not sure (ADSL related?), but it would be nice if it worked!  Soon I will put the patches up so you can build from source. Hope that helps, K

kmottershead wrote:

Glad to hear you are working on this!  Not sure what the problem is, I set up my router more than a year ago so I'm a bit fuzzy on what I did to get it working....
My VSG1432 shows the wan as eth0.2.   I think I made a VLAN WAN interface with the switch settings.  This is my /etc/config/network file.

config interface 'wan'                         
        option ifname 'eth0.2'                 
        option proto 'dhcp'                    
        option macaddress 'telco:mac:address'  
        option macaddr 'telco:mac:address'     
                                             
config switch                                  
        option name 'eth0'                   
        option reset '1'                     
        option enable_vlan '1'               
                                             
config switch_vlan                           
        option device 'eth0'                 
        option vlan '1'                   
        option ports '0 1 2 8t'              
                                             
config switch_vlan                           
        option device 'eth0'                 
        option vlan '2'                      
        option ports '3 8t'   

   

I had to change the MAC address to one that the Telco was expecting to see...  The Cat5 cable from the fibre modem is plugged into the #4 LAN port.  Why doesn't the WAN port work?... Not sure (ADSL related?), but it would be nice if it worked!  Soon I will put the patches up so you can build from source. Hope that helps, K

Actually, I gave up on using the Zxyel as the primary router, as I found a quite new Cisco in the bottom of the box I didn't even know I had!  For what I need, the Cisco is doing fine, so I flashed the Zxyel back to stock and put it away.

However,  just today, I decided that it might be nice to try playing with bridge mode.  You see, my wife's desktop computer uses a USB-WiFi dongle, as there's just no reasonable way to get wire to it.  (Even getting power there was a challenge in this old house).

The WiFi dongle works, but she expects instant access when logging on and the occasional 5 second (or, horrors, 10 second) delay becomes a problem for me.  (Any married man knows what I mean)

So one solution would seem to be bridge mode.  Broadcom chipset units _should_ work, as I understand it, but sadly, I can't get it going.  It seems to be a WiFi issue, and so maybe starting from scratch (with proposed patches) might be the ticket.

kmottershead wrote:

Soon I will put the patches up so you can build from source. Hope that helps, K

Hi, can you post your patches?  Thanks.

Changes were made to Chaos calmer 15.05.  See commit checksum below:

kilomotor@kilomotor-i5:~/openwrt/chaos15$ git log
commit 1f5f556ed4cfbcfa8ef6a3029ef237c3a285fb25
git-svn-id: svn://svn.openwrt.org/openwrt/branches/chaos_calmer@48373 3c298f89-4303-0410-b956-a3cf2f4a3e73

This the board patch added to target/linux/brcm63xx/patches-3.18/571-board_VSG1432.patch

--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -2029,6 +2029,43 @@ static struct board_info __initdata boar
     },
 };
 
+static struct board_info __initdata board_VSG1432 = {
+    .name                = "VSG1432",
+    .expected_cpu_id        = 0x6368,
+
+    .has_uart0            = 1,
+    .has_pci            = 1,
+    .has_ohci0            = 1,
+    .has_ehci0            = 1,
+    .num_usbh_ports            = 1,
+
+    .has_enetsw            = 1,
+        .enetsw = {
+                .used_ports = {
+                        [0] = {
+                                .used   = 1,
+                                .phy_id = 1,
+                                .name   = "port1",
+                        },
+                        [1] = {
+                                .used   = 1,
+                                .phy_id = 2,
+                                .name   = "port2",
+                        },
+                        [2] = {
+                                .used   = 1,
+                                .phy_id = 3,
+                                .name   = "port3",
+                        },
+                        [3] = {
+                                .used   = 1,
+                                .phy_id = 4,
+                                .name   = "port4",
+                        },
+                },
+        },
+};
+
 static struct board_info __initdata board_VR3025u = {
     .name                    = "96368M-1541N",
     .expected_cpu_id        = 0x6368,
@@ -2429,6 +2466,7 @@ static const struct board_info __initcon
     &board_DGND3700v1_3800B,
     &board_HG655b,
     &board_P870HW51A_V2,
+    &board_VSG1432,
     &board_VR3025u,
     &board_VR3025un,
     &board_WAP5813n,
@@ -2534,6 +2572,7 @@ static struct of_device_id const bcm963x
     { .compatible = "huawei,hg655b", .data = &board_HG655b, },
     { .compatible = "netgear,dgnd3700v1", .data = &board_DGND3700v1_3800B, },
     { .compatible = "zyxel,p870hw-51a-v2", .data = &board_P870HW51A_V2, },
+    { .compatible = "zyxel,vsg1432", .data = &board_VSG1432, },
 #endif
 #ifdef CONFIG_BCM63XX_CPU_63268
     { .compatible = "brcm,bcm963268bu_p300", .data = &board_963268bu_p300, },

Also modified target/linux/ files. (I have a quilt patch for this but would need to find a place to post it)
brcm63xx/image/Makefile

--- a/brcm63xx/image/Makefile
+++ b/brcm63xx/image/Makefile
@@ -423,6 +423,7 @@ $(eval $(call ImageDTB,CFEDTB,TDW8900GB,
 $(eval $(call ImageDTB,CFEDTB,USR9108,USR9108,usr9108,96348GW-A,6348))
 # ZyXEL P870HW-51a v2
 $(eval $(call ImageDTB,ZYXCFEDTB,P870HW_51a_v2,P870HW-51a_v2,p870hw-51a-v2,96368VVW,6368,--rsa-signature "ZyXEL" --signature "ZyXEL_0001"))
-
+# ZyXEL VSG1432
+$(eval $(call ImageDTB,ZYXCFEDTB,VSG1432,VSG1432,vsg1432,9668MVWG,6368,--rsa-signature "ZyXEL" --signature "ZyXEL_4006_4005" --image-offset 0x20000 --pad 8))
 
 $(eval $(call BuildImage))

/brcm63xx/profiles/zyxel.mk

 --- a/brcm63xx/profiles/zyxel.mk
+++ b/brcm63xx/profiles/zyxel.mk
@@ -13,3 +13,13 @@ define Profile/P870HW_51a_v2/Description
   Package set optimized for P870HW-51a v2.
 endef
 $(eval $(call Profile,P870HW_51a_v2))
+
+define Profile/VSG1432
+  NAME:=ZyXEL VSG1432
+  PACKAGES:=wpad-mini\
+       kmod-usb2 kmod-usb-ohci
+endef
+define Profile/VSG1432/Description
+  Package set for ZyXEL VSG1432
+endef
+$(eval $(call Profile,VSG1432))

brcm63xx/base-files/lib/brcm63xx.sh

--- a/brcm63xx/base-files/lib/brcm63xx.sh
+++ b/brcm63xx/base-files/lib/brcm63xx.sh
@@ -237,6 +237,9 @@ brcm63xx_dt_detect() {
        "Zyxel P870HW-51a v2")
                board_name="p870hw-51a_v2"
                ;;
+       "Zyxel VSG1432")
+               board_name="vsg1432"
+               ;;
        *)
                board_name="unknown"
                ;;

brcm63xx/base-files/etc/diag.sh

--- a/brcm63xx/base-files/etc/diag.sh
+++ b/brcm63xx/base-files/etc/diag.sh
@@ -108,6 +108,9 @@ set_state() {
        v2110)
                status_led="V2110:power:green"
                ;;
+       vsg1432)
+               status_led="VSG1432:power:green"
+               ;;
        esac
 
        case "$1" in

brcm63xx/base-files/etc/uci-defaults/02_network

--- a/brcm63xx/base-files/etc/uci-defaults/02_network
+++ b/brcm63xx/base-files/etc/uci-defaults/02_network
@@ -94,6 +94,7 @@ fast2504n |\
 fast2704v2 |\
 hg655b |\
 p870hw-51a_v2 |\
+vsg1432 |\
 vr-3025un |\
 vr-3025u)
        ucidef_set_interface_lan "eth0.1"

brcm63xx/base-files/etc/uci-defaults/09_fix_crc

--- a/brcm63xx/base-files/etc/uci-defaults/09_fix_crc
+++ b/brcm63xx/base-files/etc/uci-defaults/09_fix_crc
@@ -30,6 +30,7 @@ case "$(brcm63xx_board_name)" in
        v2500v_bb |\
        vr-3025u |\
        vr-3025un |\
+       vsg1432 |\
        wap-5813n)
                do_fixcrc
                ;;

Added a dts file
brcm63xx/dts/vsg1432.dts

--- /dev/null
+++ b/brcm63xx/dts/vsg1432.dts
@@ -0,0 +1,87 @@
+/dts-v1/;
+
+/include/ "bcm6368.dtsi"
+
+/ {
+       model = "Zyxel VSG1432";
+       compatible = "zyxel,vsg1432", "brcm,bcm6368";
+
+       gpio-keys-polled {
+               compatible = "gpio-keys-polled";
+               #address-cells = <1>;
+               #size-cells = <0>;
+               poll-interval = <20>;
+               debounce-interval = <60>;
+
+               reset {
+                       label = "reset";
+                       gpios = <&gpio1 2 1>;
+                       linux,code = <0x198>;
+               };
+               wps {
+                       label = "wps";
+                       gpios = <&gpio1 1 1>;
+                       linux,code = <0x211>;
+               };
+       };
+
+       gpio-leds {
+               compatible = "gpio-leds";
+
+               power_green {
+                       label = "vsg1432:green:power";
+                       gpios = <&gpio0 26 0>;
+               };
+               lan1_green {
+                       label = "VSG1432:green:lan1";
+                       gpios = <&gpio0 6 0>;
+               };
+               lan2_green {
+                       label = "VSG1432:green:lan2";
+                       gpios = <&gpio0 7 0>;
+               };
+               lan3_green {
+                       label = "VSG1432:green:lan3";
+                       gpios = <&gpio0 8 0>;
+               };
+               lan4_green {
+                       label = "VSG1432:green:lan4";
+                       gpios = <&gpio0 9 0>;
+               };
+               dsl_green {
+                       label = "VSG1432:green:dsl";
+                       gpios = <&gpio0 13 0>;
+               };
+               inet_green {
+                       label = "VSG1432:green:inet";
+                       gpios = <&gpio0 5 0>;
+               };
+               usb_green {
+                       label = "VSG1432:green:usb";
+                       gpios = <&gpio0 14 0>;
+               };
+       };
+}; 
+
+&pflash {
+       status = "ok";
+
+       linux,part-probe = "bcm63xxpart";
+
+       cfe@0 {
+               label = "CFE";
+               reg = <0x000000 0x020000>;
+               read-only;
+       };
+
+       linux@20000 {
+               label = "linux";
+               reg = <0x020000 0xfc0000>;
+       };
+
+
+       nvram@fe0000 {
+               label = "nvram";
+               reg = <0xfe0000 0x020000>;
+       };
+};

The LEDs don't work.  But I mapped the GPIOs and turned them on and off so I think the GPIO numbers are correct.

The discussion might have continued from here.