wiki:malibu/gw3089gblade

Version 37 (modified by Ryan Erbstoesser, 19 months ago) ( diff )

add tpm info

GW3089 GBlade Server Blade

Product Information

All product information and datasheets can be found here: https://www.gateworks.com/products/arm-server-blades/gblade-arm-server-blade/

Getting Started

The GBlade is pre-installed with Ubuntu Linux. To power the unit use an 802.3at PoE switch or inserter. The bottom 1GbE RJ45 is the PoE port by default. Contact factory for 10GbE PoE options. Typical power consumption is around 10-13W without any additional cards plugged into the NVME socket.

Serial Console Access

Once the unit is powered, the GBlade serial console can be accessed through the type C USB port through a cable to a desktop/laptop PC. The serial console uses an industry standard FTDI FT2232HQ USB to Serial/JTAG converter IC and will show up as a /dev/ttyUSBx device in Linux and can be accessed through a terminal program with the baud rate of 115,200. For other operating systems, virtual COM port (VCP) drivers can be found here: Link.

Example:

sudo screen /dev/ttyUSB1 115200,cs8

Once connected via the USB cable, SSH can be enabled (it is disabled by default) with instructions here: Enable SSH

Any server software (LAMP stack, etc) can then be installed with the package manager.

apt-get update
apt-get install {your package}

JTAG & Firmware/OS Update

The GW3089 incorporates onboard a USB to JTAG FTDI chip to allow JTAG programming of the unit without the requirement for a separate JTAG dongle (GW16099) which is typically used on other Gateworks SBCs.

The JTAG software is under development so for initial programming please see the following link on updating from a TFTP server.

Ethernet

There are two Ethernet ports, 1GbE (management) and 10GbE (high speed data).

  • (eth1) 1GbE RGMII port is on the bottom (PoE by default) - Note this interface is not enabled in the default Linux installation.
  • (eth0) 10GbE XFI port is on the top - This port is brought up with DHCP in the default Linux installation.

Powering Gblade with PoE

Isolated 802.3at 1GbE active PoE is supported on the bottom 1GbE Ethernet port. The Gateworks GW10144 802.3at PoE power supply/inserter can be used to power individual units and/or during development. See link here for info on GW10144: Tycon Inserter

For rackmount applications a 802.3at PoE switch is recommended.

To use the 10GbE port for PoE powering the device, please contact Gateworks Sales.

USB Port

The Type-C USB port is only for serial console access. This port will not work as a standard USB port.

NVME Drive

The GBlade needs to be opened up to install a 2280 M-Key NVME flash storage drive. The Gblade supports PCIe Gen 3.0 x4 lanes.

The NVME drive will show up as /dev/nvme0 and /dev/nvme0n1 respectively in Linux.

Here are the basic steps to open the case and access the NVME socket.

  1. Remove the four frontplate screws using a T8 Torx driver.
  2. Remove the frontplate and move to the side. Note the LED cable does not need to be removed.
  3. Slide out the side plate on the side the LED cable is mounted on.
  4. The M.2 NVME socket should now be visible and a drive can be inserted. Secure the drive to the PEM towards the front of the unit and reinstall the frontplate.

Some example NVME speed tests with a Samsung 980 drive:

root@jammy-malibu:~# dd if=/dev/nvme0n1 of=/dev/null bs=1M count=10k
10240+0 records in
10240+0 records out
10737418240 bytes (11 GB, 10 GiB) copied, 14.9507 s, 718 MB/s

root@jammy-malibu:~# sudo hdparm -tT --direct /dev/nvme0n1
/dev/nvme0n1:
 Timing O_DIRECT cached reads:   3068 MB in  2.00 seconds = 1535.23 MB/sec
 Timing O_DIRECT disk reads: 4710 MB in  3.00 seconds = 1569.63 MB/sec

LED

A front panel LED is supported.

When power is applied, the LED will be a solid green. The LED will present a green heartbeat pattern is shown once the board is booted into Linux.

LED Programming

To disable the heartbeat LED:

root@jammy-malibu:~# echo none > /sys/class/leds/green\:heartbeat/trigger #disable default green heartbeat
root@jammy-malibu:~# echo 255 > /sys/class/leds/red\:status/brightness #set LED to solid RED

To see more Linux LED examples, see here: linux/led

Thermal & Cooling Fan

The GW3089 uses the industrial temperature quad core Marvell CN9130 processor rated at 2.2GHz. The Tjunction rating for the processor is -40C to +105C. The GW3089 enclosure contains a built in CUI fan (model CUI CFM-4020BF-095-342-22) to keep the unit cool and provide airflow to the processor. When the unit first boots, the fan will turn on to full speed and then once Linux starts it will be under thermal control based on the processors AP core temperature.

The fan runs at specific set points. The trip points are set at 50C, 60C and 80C (as shown in the device tree here). Note also the processor will throttle down if the fan isn't able to achieve proper cooling with the fan.

The PWM values for the four default set points are as follows:

Fan Off < 50C Fan On 40% PWM = 50C to 60C Fan On 67% PWM = 60C to 80C Fan On 100% PWM > 80C

These can be adjusted through the device tree if required.

Fan specifications:

  • Operating Voltage: 5VDC
  • Typical Power Consumption: 1.45W
  • Typical RPM: 9500 RPM, Min 8550, Max 10450
  • Typical CFM: 11.88
  • Typical Noise: 34.2 dBA
  • MTBF: Typ. 70K Hours @ +40C
  • Operating Temp: -10C to +70C
  • Dual Ball Bearing
  • Auto Restart Protection
  • Polarity Protection
  • Soft Start
  • Tachometer Signal
  • PWM Control
  • Safety Approvals: UL, cUL, TUV, CE
  • RoHS

The GW8901 uses standard Linux cooling-maps, thermal-zones and the pwm-fan driver.

There are several temperature sensors on the board, identified as 'thermal_zones'. These are shown in Linux under /sys/class/thermal:

root@jammy-malibu:~# ls -la /sys/class/thermal/
total 0
drwxr-xr-x  2 root root 0 Jun 27 18:28 .
drwxr-xr-x 62 root root 0 Jun 27 18:28 ..
lrwxrwxrwx  1 root root 0 Jun 27 18:28 cooling_device0 -> ../../devices/virtual/thermal/cooling_device0
lrwxrwxrwx  1 root root 0 Jun 27 18:28 cooling_device1 -> ../../devices/virtual/thermal/cooling_device1
lrwxrwxrwx  1 root root 0 Jun 27 18:31 cooling_device2 -> ../../devices/virtual/thermal/cooling_device2
lrwxrwxrwx  1 root root 0 Jun 27 18:28 thermal_zone0 -> ../../devices/virtual/thermal/thermal_zone0
lrwxrwxrwx  1 root root 0 Jun 27 18:28 thermal_zone1 -> ../../devices/virtual/thermal/thermal_zone1
lrwxrwxrwx  1 root root 0 Jun 27 18:28 thermal_zone2 -> ../../devices/virtual/thermal/thermal_zone2
lrwxrwxrwx  1 root root 0 Jun 27 18:28 thermal_zone3 -> ../../devices/virtual/thermal/thermal_zone3
lrwxrwxrwx  1 root root 0 Jun 27 18:28 thermal_zone4 -> ../../devices/virtual/thermal/thermal_zone4
lrwxrwxrwx  1 root root 0 Jun 27 18:28 thermal_zone5 -> ../../devices/virtual/thermal/thermal_zone5

An example temperature for thermal_zone0 would be 60738, or 60738/1000=60.738 degrees Celsius:

root@jammy-malibu:~# cat /sys/class/thermal/thermal_zone0/temp 
60738

The zones are labeled below. The AP stands for application processor, or the main CPU, with a sensor for each core of the quad core CPU. The CP0 stands for 'co-processor'.

root@jammy-malibu:~# cat /sys/class/thermal/thermal_zone*/type
ap-thermal-ic
ap-thermal-cpu0
ap-thermal-cpu1
ap-thermal-cpu2
ap-thermal-cpu3
cp0-thermal-ic

Fan tachometer / tach rpm:

root@jammy-malibu:/sys/class/hwmon/hwmon0# cat fan1_input 
9510

1U Rack Front Plate

A standard 1U rack front plate is available to install QTY 10 GBlade servers in a rack mount scenario. The 1U plate part number is GW3090. Contact sales@… to purchase.

Gateworks System Controller

The Gateworks System Controller manages things like the real time clock, voltage rails, fan PWM, etc.

More information can be found here: gsc

Software

The GW3089 is part of the Gateworks Malibu family of SBCs.

Malibu Software is comprised of many pieces, including the following:

  • GSC (Gateworks System Controller) Firmware
  • Boot Firmware (ARM Trusted Firmware, DDR controller Firmware, U-Boot Bootloader)
  • Operating System (including kernel / rootfs)

An Ubuntu based OS is pre-installed on all Malibu boards before they ship. See the following link for the latest pre-built image:

Additional links available here:

Device Tree

The Linux device tree can often describe a lot about how the hardware is connected, etc.

Link to GW3089/GW8901 Device tree: Device Tree

TPM / Crypto

On the board is a Microchip ATTPM20P-H6MA1-10 connected to the SPI1 bus.

This is compliant to the Trusted Computing Group (TCG) Trusted Platform Module (TPM) Version 2.0, r116 Trusted Platform Module Library. See link here: Link

Cryptographic Support for:

  • HMAC
  • AES-128
  • SHA-1
  • SHA-256
  • ECC BN_P256, ECCNIST_P256 -RSA 1024-2048 bit keys

It is controlled via generic TCG SPI Linux driver. TPM 2.0 provides direct access via /dev/tpm0 (with one client at a time), and can be accessed through the tpm2-abrmd resource manager daemon, or kernel-managed access via /dev/tpmrm0

The TPM device is at /dev/tpm0

The TPM tool set (over 100 different commands) can be installed with the following command:

apt install tpm2-tools tpm2-abrmd

Example tpm2-tools showing the properties:

root@jammy-malibu:~# tpm2_getcap properties-fixed
TPM2_PT_FAMILY_INDICATOR:
  raw: 0x322E3000
  value: "2.0"
TPM2_PT_LEVEL:
  raw: 0
TPM2_PT_REVISION:
  raw: 0x77
  value: 1.19
TPM2_PT_DAY_OF_YEAR:
  raw: 0x42
TPM2_PT_YEAR:
  raw: 0x7DE
TPM2_PT_MANUFACTURER:
  raw: 0x4D434850
  value: "MCHP"
TPM2_PT_VENDOR_STRING_1:
  raw: 0x0
  value: ""
TPM2_PT_VENDOR_STRING_2:
  raw: 0x0
  value: ""
TPM2_PT_VENDOR_STRING_3:
  raw: 0x0
  value: ""
TPM2_PT_VENDOR_STRING_4:
  raw: 0x0
  value: ""
TPM2_PT_VENDOR_TPM_TYPE:
  raw: 0x0
TPM2_PT_FIRMWARE_VERSION_1:
  raw: 0x2005002
TPM2_PT_FIRMWARE_VERSION_2:
  raw: 0x0
TPM2_PT_INPUT_BUFFER:
  raw: 0x400
TPM2_PT_HR_TRANSIENT_MIN:
  raw: 0x3
TPM2_PT_HR_PERSISTENT_MIN:
  raw: 0x7
TPM2_PT_HR_LOADED_MIN:
  raw: 0x3
TPM2_PT_ACTIVE_SESSIONS_MAX:
  raw: 0x40
TPM2_PT_PCR_COUNT:
  raw: 0x18
TPM2_PT_PCR_SELECT_MIN:
  raw: 0x3
TPM2_PT_CONTEXT_GAP_MAX:
  raw: 0xFFFF
TPM2_PT_NV_COUNTERS_MAX:
  raw: 0x0
TPM2_PT_NV_INDEX_MAX:
  raw: 0x640
TPM2_PT_MEMORY:
  raw: 0x6
TPM2_PT_CLOCK_UPDATE:
  raw: 0x400000
TPM2_PT_CONTEXT_HASH:
  raw: 0xB
TPM2_PT_CONTEXT_SYM:
  raw: 0x6
TPM2_PT_CONTEXT_SYM_SIZE:
  raw: 0x100
TPM2_PT_ORDERLY_COUNT:
  raw: 0xFF
TPM2_PT_MAX_COMMAND_SIZE:
  raw: 0x500
TPM2_PT_MAX_RESPONSE_SIZE:
  raw: 0x400
TPM2_PT_MAX_DIGEST:
  raw: 0x20
TPM2_PT_MAX_OBJECT_CONTEXT:
  raw: 0x320
TPM2_PT_MAX_SESSION_CONTEXT:
  raw: 0x320
TPM2_PT_PS_FAMILY_INDICATOR:
  raw: 0x0
TPM2_PT_PS_LEVEL:
  raw: 0x0
TPM2_PT_PS_REVISION:
  raw: 0x0
TPM2_PT_PS_DAY_OF_YEAR:
  raw: 0x0
TPM2_PT_PS_YEAR:
  raw: 0x0
TPM2_PT_SPLIT_MAX:
  raw: 0x80
TPM2_PT_TOTAL_COMMANDS:
  raw: 0x65
TPM2_PT_LIBRARY_COMMANDS:
  raw: 0x65
TPM2_PT_VENDOR_COMMANDS:
  raw: 0x0
TPM2_PT_NV_BUFFER_MAX:
  raw: 0x400
TPM2_PT_MODES:
  raw: 0x0

Enclosure

The GW3089 anodized enclosure uses the following screws for securing the board, fan and frontplate.

  • Frontplate = Torx T8 Head, M3 x 8mm
  • Fan = Torx T10 Head, M3 x 25mm
  • Board standoffs = Hex 1.5mm Head M2.5 x 5mm

The CPU and 10GbE Phy have passive heatsinks to allow better cooling on these devices. When installing M.2 cards in the GW3089 make sure to take cooling into consideration. Most NVME and AI accelerators recommend some type of heatsink.

The narrow width of the GW3089 enclosure will only allow an 8 to 9mm heatsink (depending on height of devices on the M.2 card). When installing heatsinks make sure to align the fins to maximize cooling with the air flowing from the front to rear of the enclosure.

Wireless & Modems

Wireless & modems were not intended for this ethernet connected blade server.

Attachments (11)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.