wiki:expansion/mezzanine

Version 28 (modified by Ryan Erbstoesser, 5 years ago) ( diff )

update image for 16081 example

For USB, GPIO, MicroSD, SIM, Analog, DIO expansion modules, please visit here

Expansion Modules

Expansion Modules for adding a choice of Mini-PCIe sockets, Mini-PCI sockets, Ethernet ports and Fiber SFP sockets to any Gateworks Ventana or Newport Single Board Computer. To see a complete list of expansion modules, see our main product selection guide here: http://www.gateworks.com/expansion-modules-single-board-computer

  • This wiki page is to provide more information about the implementation and usage the of the Expansion Modules

Connector Information

  • To use an Expansion Module, the base board must have the expansion connector, which is only placed on specific models.
  • This expansion connector replaces one of the normal Mini-PCIe connectors, and thus one Mini-PCIe site is given up for the expansion module

  • (Above) GW5100 Stacked w/GW16083 Expansion Module

  • (Above) GW5100 Shown With Expansion Connector - Note standard Mini-PCIe connector is replaced with the expansion connector

  • (Above) GW5300 Shown With Expansion Connector - Note standard Mini-PCIe connector is replaced with the expansion connector

Connector Details

CPU Base boards have the Sametec QSE-014-01-L-D-DP-A and the expansion boards have the QTE-014-05-L-D-DP-A connector.

If the baseboard and expansion board need to be separated, Samtec does make a cable that may be an option. Please note Gateworks has not tested any cable.

Baseboard Models

Specific Ventana & Newport processor boards have a vertical board-to-board connector on their bottom-right miniPCIe socket allowing connection to an Expansion Module.

The following processor boards support expansion modules:

  • GW51xx: See GW5100 product page for order options
    • GW5102 - Special order
    • GW5103 - Special order, check w/factory for availability
  • GW52xx: See GW5200 product page for order options
    • GW5202 - Special order
    • GW5203 - Special order, check w/factory for availability
  • GW53xx: See GW5300 product page for order options
    • GW5302 - Special order
    • GW5303 - Special order, check w/factory for availability
    • GW5312 - Special order
    • GW5313 - Special order
  • GW54xx: See GW5400 product page for order options
    • GW5402 - Special order
    • GW5403 - Special order, check w/factory for availability
    • GW5404 - Standard Stocking Model
    • GW5412 - Special order
    • GW5413 - Special order
  • GW6100 - Not supported
  • GW6200 - Not supported
  • GW630x - Supported. Default on GW6304-SP376 as a standard stocking model, otherwise a 100 piece minimum
  • GW640x - Supported. No standard stocking models are available. Requires 100 piece minimum. Email sales at gateworks.com for more information

Stacking Information

The GW16081 can be stacked multiple times upon itself if using a special variation of the GW16081 which is the GW16081-SP282.

The GW16082 and GW16083 cannot be stacked on top of itself but can be stacked on top of a GW16081-SP282 which has an expansion port.

Enclosure Information

Gateworks indoor and outdoor enclosures will not work with a SBC and expansion board stacked together. The height of the two pieces stacked together is too tall. A custom enclosure must be used.

GW16081 miniPCI-express expansion module

The GW16081 miniPCI-express expansion module adds the following capabilities to a Ventana or Newport processor board that has an expansion connector:

  • 140x100x13mm (5.5x3.9) form factor
  • Generic Ventana Mounting Hole Pattern (standoff locations to mount to supported baseboards)
  • 7x miniPCIe sockets (3 top, 4 bottom)
  • 32Kb I2C serial EEPROM (24LC32AT)
  • USB switch providing USB signaling to the bottom 4x miniPCIe sockets (for USB based miniPCIe form-factor cards such as bluetooth HCI's and cellular modems)
  • GW16081 is powered by baseboard. Amount of power provided is dependent on baseboards power supply. Please consult baseboard user manual/datasheet.
  • If desired a separate power supply can also power the GW16081 via a barrel jack input that accepts 8-60VDC. This can provide up 30W to the miniPCIe sockets on the GW16081.

Please refer to the Ventana PCI/PCIe support for important information about PCI device resource allocation for the IMX6 processor. Do not assume that 7x additional miniPCIe sockets means that you can add 7x additional PCI devices.

An ordering option exists for a version of the GW16081 which has an expansion riser to support connection to an additional Expansion Module. Please contact sales@… if you are interested in this option.

References:

GW16081 Software support

No software support is needed for the GW16081

Newport Family Multi-Radio Access Point Showcase with GW16081

GW6400 Shown With GW16081 with 9x Mini-PCIe Based Radios

WiFi has become an essential component to the communications infrastructure and there are many applications that can take advantage of high radio count access points. Below is a brief list of these applications:

  • Provide dedicated private and open public networks on different frequency bands.
  • Support 2.4G, 4.9G (public safety), 5.8G and other bands simultaneously.
  • Utilize multiple radios with sectored antennas (ie. 45 degree antenna x 8 radios) to increase both transmit and receive ranges. Note that using a high power radio only increases the transmit range so this doesn't provide any benefit when talking to standard clients (ie. cellphones, tablets, etc.). A high gain antenna amplifies both when transmitting and receiving.
  • WiFi monitor/sniffer applications covering multiple channels/frequencies simultaneously.
  • Mesh networks with dedicated front & back hauls for increased performance.
  • Full featured APs with a combination of WiFi, cellular, satellite and other wireless technologies.

The Newport GW640x and GW630x boards are ideal SBCs for implementing multi-radio access points since the Octeon TX SoC has a highly optimized ARMv8 core that can process >11M packets per second and it additionally supports a large pool of PCI memory address space allowing it to support a large number of PCIe devices.

The GW63xx and GW64xx boards both support up to 3x Mini-PCIe based radios by themselves however Gateworks has allowed for the bottom right Mini-PCIe slot to be replaced with a PCIe Expansion connector allowing the board to be stacked with the GW16081 Mini-PCIe Expansion Mezzanine. With this configuration the board can be setup to support 21x Mini-PCIe based radios!

With a single GW16081 up to 9 radios can be supported with the GW63xx/GW64xx (2 on the SBC + 7 on GW16081). For even higher radio count applications a special version of the GW16081 is available with an additional stacking connector allowing up to 3 GW16081's to be stacked with the CPU board. This would allow up to 21 radios.

Note the GW16081 also supports USB signaling to the Mini-PCIe sites so a combination of WiFi and Cellular radios could be used with these configurations. The GW6400 board also has a USB only Mini-PCIe site that can be used as well for other radio types.

As a technology demonstration, Gateworks compined a GW6300 plus GW16081 with 9x GW17032 (WLE900VX, ATH10k) radios. Each radio then was configured as an access point. This configuration can be achieved very simply using the following steps:

  • Attach radios to both boards, attach expansion board (GW16081) to Newport SBC
  • Attach barrel jack power to expansion board (GW16081). The radios are going to draw more power than can be can be provided through the mezzanine expansion header
  • Attach POE, or barrel jack power to SBC
  • Using a preferred method, install a preferred BSP. During this testing Ubuntu Bionic with a 4.20 kernel was used Download Pre-Built Ubuntu Bionic for Newport
  • Boot Ubuntu Bionic and then download necessary software and scripts
    • apt-get update
      apt-get install hostapd
      
    • Download hostapd-conf script
      wget https://raw.githubusercontent.com/Gateworks/meta-gateworks/master/recipes-support/hostapd-conf/hostapd-conf/hostapd-conf
      
    • Add execute permission
      chmod +x hostapd-conf
      
  • Configure radios as AP's (Access Points)
    • For a full overview see here
    • Verify available channels
      ./hostapd-conf wlan0
      
      • Output looks like this
        Available Channel Information on phy0
        =====================================
        Band 1:
        Channel  Freq  Allowed HT Modes
        0        0000  HT20 HT40 HT40+ HT40-
        1        2412  HT20 HT40 HT40+
        2        2417  HT20 HT40 HT40+
        3        2422  HT20 HT40 HT40+
        4        2427  HT20 HT40 HT40+
        5        2432  HT20 HT40 HT40+ HT40-
        6        2437  HT20 HT40 HT40+ HT40-
        7        2442  HT20 HT40 HT40+ HT40-
        8        2447  HT20 HT40 HT40+ HT40-
        9        2452  HT20 HT40 HT40+ HT40-
        10       2457  HT20 HT40 HT40-
        11       2462  HT20 HT40 HT40-
        
        Band 2:
        Channel  Freq  Allowed HT Modes
        0        0000  HT20 HT40 HT40+ HT40- VHT20 VHT40 VHT80
        36       5180  HT20 HT40 HT40+ VHT20 VHT40 VHT80
        40       5200  HT20 HT40 HT40- VHT20 VHT40 VHT80
        44       5220  HT20 HT40 HT40+ VHT20 VHT40 VHT80
        48       5240  HT20 HT40 HT40- VHT20 VHT40 VHT80
        144      5720  HT20 HT40 HT40- VHT20 VHT40 VHT80
        149      5745  HT20 HT40 HT40+ VHT20 VHT40 VHT80
        153      5765  HT20 HT40 HT40- VHT20 VHT40 VHT80
        157      5785  HT20 HT40 HT40+ VHT20 VHT40 VHT80
        161      5805  HT20 HT40 HT40- VHT20 VHT40 VHT80
        165      5825  HT20 HT40 HT40+ VHT20 VHT40 VHT80
        
    • Using this information create .conf file for each radio (below command is just for first radio, wlan0)
      ./hostapd-conf wlan0 testlan0 161 VHT80 testlan0
      
  • Launch hostapd using .conf files and background processes
    hostapd hostapd-phy0.conf &
    
  • Output looks like this
    wlan0: interface state UNINITIALIZED->HT_SCAN
    Using interface wlan0 with hwaddr 04:f0:21:3e:59:74 and ssid "testlan0"
    wlan0: interface state HT_SCAN->ENABLED
    wlan0: AP-ENABLED 
    
  • Enjoy the Access Points (APs):

screenshotfromphone

GW16082 miniPCI expansion module

The GW16082 miniPCI expansion module adds the following capabilities to a Ventana or Newport processor board that has a expansion connector:

  • 140x100x18mm (5.5x3.9) form factor
  • Generic Mounting Hole Pattern (standoff locations to mount to supported baseboards)
  • 4x miniPCI sockets (2 top, 2 bottom) via a PCIe to PCI bridge
  • 32Kb I2C serial EEPROM (24LC32AT)
  • USB switch providing USB signaling to all 4 miniPCI sockets (for USB based miniPCI form-factor cards or miniPCI to miniPCIe adapters to support USB based devices such as bluetooth HCI's and cellular modems)
  • Additional 8-60VDC input to provide 30W to the miniPCI sockets (not required if baseboard provides sufficient power for user needs).
    • If desired this power supply can also power the attached baseboard via a separate power connector cable.

Please refer to the Ventana PCI/PCIe support for important information about PCI device resource allocation for the IMX6 processor. Do not assume that 4x additional miniPCI sockets means that you can add 4x additional PCI devices.

References:

GW16082 Software support

Support for the GW16082 exists for the following:

For Linux kernel versions 3.18 and beyond (ie OpenWrt 16.02 BSP using the 4.4 kernel) you must have the following:

  • latest Gateworks bootloader containing a device-tree fixup that adds a proper interrupt-map for the bridge on the GW16082
  • PCI enabled in the bootloader (in order for the above fixup to be allowed to work):
    setenv pcidisable; saveenv
    
    • Note that by default PCI is disabled in the Ventana bootloaders.

GW16083 Ethernet expansion module

The GW16083 Ethernet expansion module adds the following capabilities to a Ventana / Newport processor board that has a expansion connector:

  • 140x100x25mm (5.5x3.9x1.0in) form factor
  • Generic Ventana Mounting Hole Pattern (standoff locations to mount to supported baseboards)
  • 7-port Gigabit Ethernet Switch (Marvell LinkStreet 88E6176)
    • supports Energy Efficient Ethernet (EEE)
    • baseboard uses one port via an onboard Intel i210 PCIe Gigabit Ethernet device
    • 4x RJ45 Copper ports
    • 2x RJ45 auto-selectable Copper or SFP Module ports
      • SFP module supporting 1000BASE-X and 1000BASE-T Gigabit modules (to interconnect to Fiber networks for example)
  • 32Kb I2C serial EEPROM (24LC32AT)
  • Power over Ethernet (PoE) support via optional PoE module GW16104

Switch Details:

  • 1 port of the Marvell switch is connected to an Intel i210 MAC which hangs off the baseboard PCI bus
  • 4 ports of the Marvell switch use internal PHY's supporting Gigabit Copper via RJ45 jacks
  • 2 ports of the Marvell switch use external Marvell PHY's that support Gigabit Copper or Gigabit SFP modules (10/100 not supported on these ports).

SFP Details:

  • A software driver is required on the host to detect insertion and removal of SFP modules, query the capabilities of the SFP via its MSA, verify compatibility and configure the PHY for compatibility. Any SFP module that advertises 1000Base-SX, 1000Base-LX, 1000Base-T capability is supported.
  • Validated with:
    • Addon MGBSX1-AO (1000BASE-SX Duplex 850NM / 550M LC)
    • Addon EX-SFP-1GE-T-AO (1000BaseT Copper)

References:

GW16083 Port mapping

The GW16083 uses an Intel i210 MAC (Linux igb driver) connected to a Marvell MV88E6176 6-port switch. The physical ports on the MV88E6176 are used as such:

Connector Silkscreen Port DSA Common Name
J10 Ethernet4 0 lan4
J9 Ethernet3 1 lan3
J8 Ethernet2 2 lan2
J7 Ethernet1 3 lan1
- i210 (cpu) 4 --
J3 Ethernet5 5 lan5
J2 Ethernet6 6 lan6

GW16083 Power support

The GW16083 gets its power from the baseboard through the expansion connector.

A barrel jack also exists on the GW16083. This barrel jack is only used when the optional POE module is used to output power through the ethernet ports.

GW16083 Software support

On power-up with no software support the GW16083 behaves as a simple unmanaged network switch for ports 1-4 (RJ45 copper) and the baseboard CPU upstream port.

To use ports 5-6 you need to have software drivers which are available for:

The Linux GW16083 driver software support provides the following:

  • Enable ports 5-6
  • register a phy driver off the i210 MDIO bus with a 1 second polling interval
  • identify SFP module insertion event, detect module capabilities from MSA, ensure module compatibility, and configure switch port
  • register a DSA driver to present ports as physical network interfaces (lan1-6)

The Gateworks U-Boot bootloader does not support the GW16083 meaning:

  • ports 1-4 will act as a switch by default (because they power up this way) but the IMX6 eth1 port to the switch will not be active
  • ports 5-6 will not be active
  • PCI bus enumeration will see an i210 and show a message about its mac addr from env not matching its SROM mac addr but this has no affect because the NIC isn't supported anyway in U-Boot

The OpenWrt BSP has support for VLAN tagging and port management via OpenWrt's swconfig API however by default DSA support is enabled. See OpenWrt/swconfig for more details.

Port5/Port6 details:

  • if both RJ45 (with link) as well as an SFP is inserted, the RJ45 (copper) will take precedence and be selected.
  • Port physical interface mode is available from /sys/kernel/gw16083/lan*_mode:
    root@OpenWrt:/# cat /sys/kernel/gw16083/lan5_mode 
    SFP
    root@OpenWrt:/# cat /sys/kernel/gw16083/lan6_mode 
    RJ45
    
  • Port SFP details are available from /sys/kernel/gw16083/lan*_sfp:
    root@OpenWrt:/# cat /sys/kernel/gw16083/lan5_sfp 
    SFP: Methode Elec. SFP-1GE-T-AO A2 ADDTX04396 
    
  • Note that only GigE capable SFP's are supported
  • Port management details are output to the kernel log as INFO level messages:
    root@OpenWrt:/# dmesg | grep gw16083
    [   12.639162] gw16083 1-0052: GW16083 Ethernet Expansion Mezzanine
    [   12.791152] gw16083 1-0052: registered GW16083 DSA switch
    [   12.796609] gw16083 1-0052: Configuring MV88E6176 7-port switch
    [   12.808135] gw16083 1-0052: Port5: MV88E111 PHY configured
    [   12.821554] gw16083 1-0052: Port6: MV88E111 PHY configured
    [   12.829929] gw16083 1-0052: Port5: SFP inserted
    [   12.888832] gw16083 1-0052: Port5: SFP: Methode Elec. SFP-1GE-T-AO A2 ADDTX04396 
    [   12.896432] gw16083 1-0052: Port5: 1000Base-T (Copper) (0x08)
    [   12.902209] gw16083 1-0052: Port5: SFP signal detected
    [   12.907400] gw16083 1-0052: Port5: copper auto-selected
    [   12.913102] gw16083 1-0052: Port5: SFP TX disabled
    [   12.917916] gw16083 1-0052: Port5: Copper: set auto-neg link/duplex/speed
    [   12.925601] gw16083 1-0052: Port5: SFP TX enabled
    [   12.930330] gw16083 1-0052: Port5: SFP: force 1000mbps link up (auto-negotiate duplex)
    [   21.123062] igb 0000:06:00.0 eth1: igb PHY driver [gw16083] (mii_bus:phy_addr=0000:06:00.0-157:10)
    [  592.964879] gw16083 1-0052: Port5: SERDES auto-selected
    

See also:

GW16104 PoE Module

The GW16104 is an optional Power over Ethernet (PoE) module for the GW16083 Ethernet expansion module providing the following features:

  • 44VDC to 57VDC power input (provided via the J11 barrel jack connector or the J6 2-pin connector on the GW16083)
  • 44W PoE to Ethernet ports 1 through 4
  • 802.3af and 802.3at compatible
  • dip switch for configuration (802.3af vs 802.3at mode, power limits)

Refer to the GW16083 Hardware manual for more details

Attachments (8)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.