Changes between Version 31 and Version 32 of expansion/mezzanine


Ignore:
Timestamp:
06/23/2023 05:31:16 PM (18 months ago)
Author:
Ryan Erbstoesser
Comment:

product is eol, move archive to internal wiki for backup

Legend:

Unmodified
Added
Removed
Modified
  • expansion/mezzanine

    v31 v32  
    1 [[PageOutline]]
    2 
    3 '''For USB, GPIO, MicroSD, SIM, Analog, DIO expansion modules, please visit [wiki:minipciexpressmodules here]'''
    4 
    5 = Expansion Modules =
    6 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]
    7 
    8  * This wiki page is to provide more information about the implementation and usage the of the Expansion Modules
    9 
    10 
    11 == Connector Information ==
    12  * '''To use an Expansion Module, the base board must have the expansion connector, which is only placed on specific models.'''
    13  * ''' This expansion connector replaces one of the normal Mini-PCIe connectors, and thus one Mini-PCIe site is given up for the expansion module '''
    14 
    15 [[Image(GW16083connectionyellow.png)]]
    16   * '''(Above) GW5100 Stacked w/GW16083 Expansion Module '''
    17 
    18 [[Image(gw5100expyellow.png)]]
    19   * '''(Above) GW5100 Shown With Expansion Connector - Note standard Mini-PCIe connector is replaced with the expansion connector'''
    20 
    21 [[Image(gw5300expyellow.png)]]
    22   * '''(Above) GW5300 Shown With Expansion Connector - Note standard Mini-PCIe connector is replaced with the expansion connector '''
    23 
    24 ==== Connector Details ====
    25 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.
    26 
    27 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.
    28  * [http://suddendocs.samtec.com/catalog_english/eqdp.pdf Cable Information]
    29 
    30 == Baseboard Models ==
    31 Specific Ventana & Newport processor boards have a vertical board-to-board connector on their bottom-right miniPCIe socket allowing connection to an Expansion Module.
    32 
    33 The following processor boards support expansion modules:
    34  * GW51xx: [http://www.gateworks.com/product/item/ventana-gw5100-network-processor See GW5100 product page] for order options
    35   * GW5102 - Special order
    36   * GW5103 - Special order, check w/factory for availability
    37 
    38  * GW52xx: [http://www.gateworks.com/product/item/ventana-gw5200-network-processor See GW5200 product page] for order options
    39   * GW5202 - Special order
    40   * GW5203 - Special order, check w/factory for availability
    41 
    42  * GW53xx: [http://www.gateworks.com/product/item/ventana-gw5300-network-processor See GW5300 product page] for order options
    43   * GW5302 - Special order
    44   * GW5303 - Special order, check w/factory for availability
    45   * GW5312 - Special order
    46   * GW5313 - Special order
    47 
    48  * GW54xx: [http://www.gateworks.com/product/item/ventana-gw5400-network-processor See GW5400 product page] for order options
    49   * GW5402 - Special order
    50   * GW5403 - Special order, check w/factory for availability
    51   * GW5404 - '''Standard Stocking Model'''
    52   * GW5412 - Special order
    53   * GW5413 - Special order
    54 
    55  * GW6100 - Not supported
    56  * GW6200 - Not supported
    57  * GW630x - Supported. Default on GW6304-SP376 as a standard stocking model, otherwise a 100 piece minimum
    58  * GW640x - Supported. No standard stocking models are available. Requires 100 piece minimum. Email sales at gateworks.com for more information
    59  * GW650x - Supported. No standard stocking models are available. Requires 100 piece minimum. Email sales at gateworks.com for more information
    60 
    61 == Stacking Information ==
    62 The GW16081 can be stacked multiple times upon itself if using a special variation of the GW16081 which is the GW16081-SP282.
    63 
    64 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.
    65 
    66 == Enclosure Information ==
    67 
    68 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.
    69 
    70 
    71 [=#gw16081]
    72 == GW16081 miniPCI-express expansion module ==
    73 The GW16081 miniPCI-express expansion module adds the following capabilities to a Ventana or Newport processor board that has an expansion connector:
    74  * 140x100x13mm (5.5x3.9) form factor
    75  * Generic Ventana Mounting Hole Pattern (standoff locations to mount to supported baseboards)
    76  * 7x miniPCIe sockets (3 top, 4 bottom)
    77  * 32Kb I2C serial EEPROM (24LC32AT)
    78  * 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)
    79  * GW16081 is powered by baseboard. Amount of power provided is dependent on baseboards power supply. Please consult baseboard user manual/datasheet.
    80  *  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.
    81 
    82 Please refer to the [wiki:ventana/PCIe 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.
    83 
    84 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@gateworks.com if you are interested in this option.
    85 
    86 References:
    87  * [http://www.gateworks.com/product/item/ventana-gw16081-pcie-mezzanine Product Brief / Datasheet / etc]
    88 
    89 
    90 === GW16081 Software support ===
    91 No software support is needed for the GW16081
    92 
    93 === Newport Family Multi-Radio Access Point Showcase with GW16081 ===
    94 [[Image(multiradioaccesspointeblast.png,600px)]]
    95    '''GW6400 Shown With GW16081 with 9x Mini-PCIe Based Radios'''
    96 
    97 !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:
    98 
    99 * Provide dedicated private and open public networks on different frequency bands.
    100 * Support 2.4G, 4.9G (public safety), 5.8G and other bands simultaneously.
    101 * 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. 
    102 * !WiFi monitor/sniffer applications covering multiple channels/frequencies simultaneously.
    103 * Mesh networks with dedicated front & back hauls for increased performance.
    104 * Full featured APs with a combination of !WiFi, cellular, satellite and other wireless technologies.
    105 
    106 
    107 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.
    108 
    109 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!
    110 
    111 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.
    112 
    113 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.
    114 ==== Getting Started
    115 
    116 The GW630x and GW640x are capable of hosting the GW16081 with the proper optional expansion connector loaded. The default GW6300 & GW6400 do not have this connector loaded and thus it must be specially loaded by the factory. To get started quickly with a board that has the connector already loaded, use the GW6304-SP376 & GW16081. To stack multiple GW16081's, use the GW16081-SP282 which has the stacking connector loaded.
    117 
    118 ==== Demo Instructions
    119 As a technology demonstration, Gateworks combined 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:
    120 
    121 - Attach radios to both boards, attach expansion board (GW16081) to Newport SBC
    122 - 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   
    123 - Attach POE, or barrel jack power to SBC
    124 - Using a preferred method, install a preferred BSP. During this testing Ubuntu Bionic with a 4.20 kernel was used [wiki:newport/bsp#BSPPre-BuiltFirmwareImages Download Pre-Built Ubuntu Bionic for Newport]
    125 - Boot Ubuntu Bionic and then download necessary software and scripts
    126  -
    127 {{{
    128 apt-get update
    129 apt-get install hostapd
    130 }}}
    131  - Download hostapd-conf script
    132 {{{
    133 wget https://raw.githubusercontent.com/Gateworks/meta-gateworks/master/recipes-support/hostapd-conf/hostapd-conf/hostapd-conf
    134 }}}
    135  - Add execute permission
    136 {{{
    137 chmod +x hostapd-conf
    138 }}}
    139 - Configure radios as AP's (Access Points)
    140  - For a full overview see [wiki:/wireless/wifi#hostapd here]
    141  - Verify available channels
    142 {{{
    143 ./hostapd-conf wlan0
    144 }}}
    145   - Output looks like this
    146 {{{
    147 Available Channel Information on phy0
    148 =====================================
    149 Band 1:
    150 Channel  Freq  Allowed HT Modes
    151 0        0000  HT20 HT40 HT40+ HT40-
    152 1        2412  HT20 HT40 HT40+
    153 2        2417  HT20 HT40 HT40+
    154 3        2422  HT20 HT40 HT40+
    155 4        2427  HT20 HT40 HT40+
    156 5        2432  HT20 HT40 HT40+ HT40-
    157 6        2437  HT20 HT40 HT40+ HT40-
    158 7        2442  HT20 HT40 HT40+ HT40-
    159 8        2447  HT20 HT40 HT40+ HT40-
    160 9        2452  HT20 HT40 HT40+ HT40-
    161 10       2457  HT20 HT40 HT40-
    162 11       2462  HT20 HT40 HT40-
    163 
    164 Band 2:
    165 Channel  Freq  Allowed HT Modes
    166 0        0000  HT20 HT40 HT40+ HT40- VHT20 VHT40 VHT80
    167 36       5180  HT20 HT40 HT40+ VHT20 VHT40 VHT80
    168 40       5200  HT20 HT40 HT40- VHT20 VHT40 VHT80
    169 44       5220  HT20 HT40 HT40+ VHT20 VHT40 VHT80
    170 48       5240  HT20 HT40 HT40- VHT20 VHT40 VHT80
    171 144      5720  HT20 HT40 HT40- VHT20 VHT40 VHT80
    172 149      5745  HT20 HT40 HT40+ VHT20 VHT40 VHT80
    173 153      5765  HT20 HT40 HT40- VHT20 VHT40 VHT80
    174 157      5785  HT20 HT40 HT40+ VHT20 VHT40 VHT80
    175 161      5805  HT20 HT40 HT40- VHT20 VHT40 VHT80
    176 165      5825  HT20 HT40 HT40+ VHT20 VHT40 VHT80
    177 }}}
    178  - Using this information create .conf file for each radio (below command is just for first radio, wlan0)
    179 {{{
    180 ./hostapd-conf wlan0 testlan0 161 VHT80 testlan0
    181 }}}
    182 
    183 - Launch hostapd using .conf files and background processes 
    184 {{{
    185 hostapd hostapd-phy0.conf &
    186 }}}
    187 - Output looks like this
    188 {{{
    189 wlan0: interface state UNINITIALIZED->HT_SCAN
    190 Using interface wlan0 with hwaddr 04:f0:21:3e:59:74 and ssid "testlan0"
    191 wlan0: interface state HT_SCAN->ENABLED
    192 wlan0: AP-ENABLED
    193 }}}
    194 - Enjoy the Access Points (APs):
    195 
    196 [[Image(Image-1.jpg, 300px)]]
    197 
    198 [=#gw16082]
    199 == GW16082 miniPCI expansion module ==
    200 The GW16082 miniPCI expansion module adds the following capabilities to a Ventana or Newport processor board that has a expansion connector:
    201  * 140x100x18mm (5.5x3.9) form factor
    202  * Generic Mounting Hole Pattern (standoff locations to mount to supported baseboards)
    203  * 4x miniPCI sockets (2 top, 2 bottom) via a PCIe to PCI bridge
    204  * 32Kb I2C serial EEPROM (24LC32AT)
    205  * 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)
    206  * Additional 8-60VDC input to provide 30W to the miniPCI sockets (not required if baseboard provides sufficient power for user needs).
    207   * If desired this power supply can also power the attached baseboard via a separate power connector cable.
    208 
    209 Please refer to the [wiki:ventana/PCIe 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.
    210 
    211 References:
    212  * [http://www.gateworks.com/product/item/ventana-gw16082-mezzanine GW16082 Product Brief / Datasheet / etc]
    213 
    214 
    215 === GW16082 Software support ===
    216 Support for the GW16082 exists for the following:
    217  * [wiki:OpenWrt Gateworks OpenWrt BSP]
    218  * [wiki:Android Gateworks Android BSP]
    219  * [wiki:Yocto Gateworks Yocto BSP]
    220  * Mainline Linux 3.18+
    221 
    222 For Linux kernel versions 3.18 and beyond (ie OpenWrt 16.02 BSP using the 4.4 kernel) you must have the following:
    223  * latest Gateworks bootloader containing a [https://github.com/Gateworks/u-boot-imx6/commit/b409f63fda49f653f5e3416905462457332932cb  device-tree fixup] that adds a proper interrupt-map for the bridge on the GW16082
    224  * PCI enabled in the bootloader (in order for the above fixup to be allowed to work):
    225 {{{
    226 setenv pcidisable; saveenv
    227 }}}
    228   - Note that by default PCI is disabled in the Ventana bootloaders.
    229 
    230 
    231 [=#gw16083]
    232 == GW16083 Ethernet expansion module ==
    233 The GW16083 Ethernet expansion module adds the following capabilities to a Ventana / Newport processor board that has a expansion connector:
    234  * 140x100x25mm (5.5x3.9x1.0in) form factor
    235  * Generic Ventana Mounting Hole Pattern (standoff locations to mount to supported baseboards)
    236  * 7-port Gigabit Ethernet Switch (Marvell !LinkStreet 88E6176)
    237   * supports Energy Efficient Ethernet (EEE)
    238   * baseboard uses one port via an onboard Intel i210 PCIe Gigabit Ethernet device
    239   * 4x RJ45 Copper ports
    240   * 2x RJ45 auto-selectable Copper or SFP Module ports
    241    * SFP module supporting 1000BASE-X and 1000BASE-T Gigabit modules (to interconnect to Fiber networks for example)
    242  * 32Kb I2C serial EEPROM (24LC32AT)
    243  * Power over Ethernet (PoE) support via optional PoE module [wiki:ventana/expansion#GW16104PoEModule GW16104]
    244 
    245 Switch Details:
    246  * 1 port of the Marvell switch is connected to an Intel i210 MAC which hangs off the baseboard PCI bus
    247  * 4 ports of the Marvell switch use internal PHY's supporting Gigabit Copper via RJ45 jacks
    248  * 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).
    249 
    250 SFP Details:
    251  * 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.
    252  * Validated with:
    253   * Addon MGBSX1-AO (1000BASE-SX Duplex 850NM / 550M LC)
    254   * Addon EX-SFP-1GE-T-AO (1000BaseT Copper)
    255 
    256 References:
    257  * [http://www.gateworks.com/product/item/ventana-gw16083-mezzanine GW16083 Product Brief / Datasheet / etc]
    258 
    259 
    260 === GW16083 Port mapping ===
    261 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:
    262 
    263 ||= Connector =||= Silkscreen =||= Port =||= DSA Common Name =||
    264 || J10         || Ethernet4    || 0      || lan4              ||
    265 || J9          || Ethernet3    || 1      || lan3              ||
    266 || J8          || Ethernet2    || 2      || lan2              ||
    267 || J7          || Ethernet1    || 3      || lan1              ||
    268 || -           || i210 (cpu)   || 4      || --                ||
    269 || J3          || Ethernet5    || 5      || lan5              ||
    270 || J2          || Ethernet6    || 6      || lan6              ||
    271 
    272 
    273 === GW16083 Power support ===
    274 The GW16083 gets its power from the baseboard through the expansion connector.
    275 
    276 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.
    277 
    278 
    279 === GW16083 Software support ===
    280 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.
    281 
    282 To use ports 5-6 you need to have software drivers which are available for:
    283  * [wiki:OpenWrt Gateworks OpenWrt BSP]
    284  * [wiki:Android Gateworks Android BSP]
    285  * [wiki:Yocto Gateworks Yocto BSP]
    286  * Mainline Linux via patches:
    287   * [https://github.com/Gateworks/linux-imx6/commit/aacf6137bdeded2acb1f6638c14d98ed19ec1461 net: igb: add i210/i211 support for phy read/write]
    288   * [https://github.com/Gateworks/linux-imx6/commit/f2b99363643e1a7880fab8da4c56c88ccaa546e9 net: igb: add phy read/write functions that accept phy addr]
    289   * [https://github.com/Gateworks/linux-imx6/commit/9bf1c636122d5dd458c48b3e3c2c2f163e3354e7 net: igb: register mii_bus for SerDes w/ external phy]
    290   * [https://github.com/Gateworks/linux-imx6/commit/35a41e4125a65a63b1547801571fbfbe80b92bed phy: add driver for GW16083 Ethernet Expansion Module] '''(main driver - see here for implementation details)'''
    291   * [https://github.com/Gateworks/linux-imx6/commit/02623c86a751bf8c5567d18de440564558212ab7 ARM: imx: ventana: added GW16083 to device-tree]
    292   * These patches will eventually be submitted to mainline linux for consideration.
    293 
    294 The Linux GW16083 driver software support provides the following:
    295  * Enable ports 5-6
    296  * register a phy driver off the i210 MDIO bus with a 1 second polling interval
    297  * identify SFP module insertion event, detect module capabilities from MSA, ensure module compatibility, and configure switch port
    298  * register a DSA driver to present ports as physical network interfaces (lan1-6)
    299 
    300 The Gateworks U-Boot bootloader does not support the GW16083 meaning:
    301  * 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
    302  * ports 5-6 will not be active
    303  * 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
    304 
    305 The OpenWrt BSP has support for VLAN tagging and port management via OpenWrt's swconfig API however by default DSA support is enabled. See [wiki:OpenWrt/swconfig] for more details.
    306 
    307 Port5/Port6 details:
    308  * if both RJ45 (with link) as well as an SFP is inserted, the RJ45 (copper) will take precedence and be selected.
    309  * Port physical interface mode is available from {{{/sys/kernel/gw16083/lan*_mode}}}:
    310 {{{
    311 root@OpenWrt:/# cat /sys/kernel/gw16083/lan5_mode
    312 SFP
    313 root@OpenWrt:/# cat /sys/kernel/gw16083/lan6_mode
    314 RJ45
    315 }}}
    316  * Port SFP details are available from {{{/sys/kernel/gw16083/lan*_sfp}}}:
    317 {{{
    318 root@OpenWrt:/# cat /sys/kernel/gw16083/lan5_sfp
    319 SFP: Methode Elec. SFP-1GE-T-AO A2 ADDTX04396
    320 }}}
    321  * Note that only GigE capable SFP's are supported
    322  * Port management details are output to the kernel log as INFO level messages:
    323 {{{
    324 root@OpenWrt:/# dmesg | grep gw16083
    325 [   12.639162] gw16083 1-0052: GW16083 Ethernet Expansion Mezzanine
    326 [   12.791152] gw16083 1-0052: registered GW16083 DSA switch
    327 [   12.796609] gw16083 1-0052: Configuring MV88E6176 7-port switch
    328 [   12.808135] gw16083 1-0052: Port5: MV88E111 PHY configured
    329 [   12.821554] gw16083 1-0052: Port6: MV88E111 PHY configured
    330 [   12.829929] gw16083 1-0052: Port5: SFP inserted
    331 [   12.888832] gw16083 1-0052: Port5: SFP: Methode Elec. SFP-1GE-T-AO A2 ADDTX04396
    332 [   12.896432] gw16083 1-0052: Port5: 1000Base-T (Copper) (0x08)
    333 [   12.902209] gw16083 1-0052: Port5: SFP signal detected
    334 [   12.907400] gw16083 1-0052: Port5: copper auto-selected
    335 [   12.913102] gw16083 1-0052: Port5: SFP TX disabled
    336 [   12.917916] gw16083 1-0052: Port5: Copper: set auto-neg link/duplex/speed
    337 [   12.925601] gw16083 1-0052: Port5: SFP TX enabled
    338 [   12.930330] gw16083 1-0052: Port5: SFP: force 1000mbps link up (auto-negotiate duplex)
    339 [   21.123062] igb 0000:06:00.0 eth1: igb PHY driver [gw16083] (mii_bus:phy_addr=0000:06:00.0-157:10)
    340 [  592.964879] gw16083 1-0052: Port5: SERDES auto-selected
    341 }}}
    342 
    343 
    344 See also:
    345  * [wiki:linux/vlan]
    346  * [wiki:linux/vlan#dsa Linux Distributed Switch Architecture]
    347  * [wiki:OpenWrt/swconfig]
    348 
    349 
    350 [=#gw16104]
    351 === GW16104 PoE Module ===
    352 The GW16104 is an optional Power over Ethernet (PoE) module for the GW16083 Ethernet expansion module providing the following features:
    353  * 44VDC to 57VDC power input (provided via the J11 barrel jack connector or the J6 2-pin connector on the GW16083)
    354  * 44W PoE to Ethernet ports 1 through 4
    355  * 802.3af and 802.3at compatible
    356  * dip switch for configuration (802.3af vs 802.3at mode, power limits)
    357 
    358 Refer to the GW16083 Hardware manual for more details