- Manuals
- Brands
- Dell
- Gateway
- Edge Gateway 3200
- Software User's Guide
Dell Edge Gateway 3200 Gateway Software User's Guide PDF
Summary of Content for Dell Edge Gateway 3200 Gateway Software User's Guide PDF
Dell EMC Edge Gateway 3200 Software User's Guide
Regulatory Model: EGW-3200 Regulatory Type: EGW-3200-NA August 2022 Rev. A00
Notes, cautions, and warnings
NOTE: A NOTE indicates important information that helps you make better use of your product.
CAUTION: A CAUTION indicates either potential damage to hardware or loss of data and tells you how to avoid
the problem.
WARNING: A WARNING indicates a potential for property damage, personal injury, or death.
2022 Dell Inc. or its subsidiaries. All rights reserved. Dell Technologies, Dell, and other trademarks are trademarks of Dell Inc. or its subsidiaries. Other trademarks may be trademarks of their respective owners.
Chapter 1: Introduction................................................................................................................. 6
Chapter 2: Setting Up the Windows 10 Operating System............................................................. 8 Boot up and log in................................................................................................................................................................8 Factory reset........................................................................................................................................................................ 9 System restore and backup recovery.............................................................................................................................9
Create a recovery drive................................................................................................................................................9 Create a system image.................................................................................................................................................9 Recover from system image.......................................................................................................................................11
Security Baseline settings................................................................................................................................................ 12 Windows 10 IoT Enterprise LTSC basic functions..................................................................................................... 12
UART controller............................................................................................................................................................ 12 TPM support................................................................................................................................................................. 12 RHProxy driver - I2C and GPIO................................................................................................................................ 12 System shutdown and restart...................................................................................................................................13 Configure LAN network.............................................................................................................................................. 13 Optional expansion modules...................................................................................................................................... 14 Configure WWAN network........................................................................................................................................ 14 Configure Bluetooth.................................................................................................................................................... 14 Cellular network configuration.................................................................................................................................. 15 Accessing GPS..............................................................................................................................................................15
5G module firmware update procedure........................................................................................................................15 Download Firmware Selector Tool and driver....................................................................................................... 15 Remove old and install new drivers......................................................................................................................... 16 Update 5G firmware in Windows..............................................................................................................................17
4G module firmware update procedure....................................................................................................................... 20 BMC firmware update procedure...................................................................................................................................21 Accessing and updating the BIOS.................................................................................................................................25
Access the BIOS settings..........................................................................................................................................25 Update the BIOS using UEFI capsule update from Windows........................................................................... 25
SuperIO Function Library................................................................................................................................................ 26 Windows SIO API.........................................................................................................................................................27 Build the SIO sample application..............................................................................................................................28 Execute the SIO sample application....................................................................................................................... 28
Digital Input/Output Function of the Intel PCH Controller.....................................................................................29 Build the GPIO sample application.......................................................................................................................... 29 Execute the GPIO sample application.................................................................................................................... 30
Digital Input/Output Function from PCA9535 GPIO............................................................................................... 30 PCA9535 GPIO Expander API..................................................................................................................................30 Build the PCA9535 sample application................................................................................................................... 31 Execute the PCA9535 sample application............................................................................................................ 32
Hardware monitor API......................................................................................................................................................32 EApiLibInitialize............................................................................................................................................................ 33 int EApiLibInitialize ()..................................................................................................................................................33
Contents
Contents 3
EApiBoardGetValue.....................................................................................................................................................33 int EApiBoardGetValue (int parameter).................................................................................................................33 EApiUnInitialize.............................................................................................................................................................33
Humidity and temperature sensor setup..................................................................................................................... 33 Build the sample application......................................................................................................................................33 Create the MSIX package......................................................................................................................................... 36 Import the certificate................................................................................................................................................. 38 Install the application...................................................................................................................................................41 Run the temperature sensor application................................................................................................................43
Pressure sensor setup......................................................................................................................................................44 Run the pressure sensor application.......................................................................................................................44
Accelerometer sensor setup...........................................................................................................................................45 Run the accelerometer sensor application............................................................................................................ 45
Intel OOB............................................................................................................................................................................. 47 Host and target setup................................................................................................................................................ 47 Perform changes in the BIOS...................................................................................................................................48 Cloud setup and configuration................................................................................................................................. 48 OOB service provisioning.......................................................................................................................................... 53 Activate OOB commands using Azure................................................................................................................... 53
COM Port and Ethernet Names for Mini PCIe Cards ............................................................................................. 56 Sensor APIs.........................................................................................................................................................................57
Chapter 3: Setting Up the Ubuntu Operating System.................................................................. 59 Boot up and log in............................................................................................................................................................. 59 Create bootable USB stick for factory reset..............................................................................................................59 Back up and restore Ubuntu 20.04 LTS...................................................................................................................... 60 Update BIOS capsule........................................................................................................................................................ 61 Update LiteBMC firmware...............................................................................................................................................61 Update 4G module firmware...........................................................................................................................................62 Update 5G module firmware.......................................................................................................................................... 65 Ubuntu 20.04 LTS basic functions................................................................................................................................67
System shutdown and restart.................................................................................................................................. 67 Ubuntu OTA update.................................................................................................................................................... 67 List installed packages................................................................................................................................................67 Update the system name...........................................................................................................................................67 Change the time zone................................................................................................................................................ 67 Root user credential................................................................................................................................................... 68 Create new user.......................................................................................................................................................... 68 Select language............................................................................................................................................................68 Display............................................................................................................................................................................ 69 USB.................................................................................................................................................................................69 Configure humidity, pressure, and accelerometer sensors............................................................................... 69 Configure Ethernet...................................................................................................................................................... 71 Configure the WiFi network...................................................................................................................................... 72 Configure Bluetooth....................................................................................................................................................73 Connect 4G or 5G WWAN........................................................................................................................................ 74 Access GPS...................................................................................................................................................................75 Remote login................................................................................................................................................................. 76 Set up audio and microphone................................................................................................................................... 76 SSD security-erase......................................................................................................................................................76
4 Contents
Connect to the serial port......................................................................................................................................... 78 Connect to the Canbus.............................................................................................................................................. 79 Mount USB storage.................................................................................................................................................... 79 Configure watchdog................................................................................................................................................... 80 Configure GPIO.............................................................................................................................................................81 TPM tasks..................................................................................................................................................................... 82 Wake events................................................................................................................................................................. 84
Isolated Canbus uFM expansion module......................................................................................................................85 EMP2-X2S1 card with isolated RS-232 uFM expansion module........................................................................... 86 EMP2-X4S2 card with isolated RS-422/485 uFM expansion module................................................................. 87
Contents 5
Introduction The Dell EMC Edge Gateway 3200 supports Windows 10 IoT Enterprise 2019 and Ubuntu 20.04 LTS. The setup procedures for each of these operating systems are detailed in the following chapters.
Figure 1. System block diagram
The following table defines the acronyms and abbreviations used throughout this document.
Table 1. Acronyms and abbreviations
Acronym or abbreviation Definition
API Application Programming Interfaces
BIOS Basic Input Output System
CPU Central Processing Unit
DI Digital Input
DO Digital Output
GPIO General Purpose Input Output
HWMon Hardware Monitor
I2C Inter Integrated Circuit
LAN Local Area Network
LTSC Long Term Servicing Channel
1
6 Introduction
Table 1. Acronyms and abbreviations (continued)
Acronym or abbreviation Definition
PCI Peripheral Component Interconnect
USB Universal Serial Bus
WDT WatchDog Timer
Introduction 7
Setting Up the Windows 10 Operating System
This chapter serves as a guide to install and use the Windows 10 IoT Enterprise 2019 operating system on the EGW-3200 hardware.
For more information on the Windows 10 operating system, see https://support.microsoft.com.
NOTE: For proper Windows boot up, please ensure the BIOS version used is 0.14.10 or above.
Topics:
Boot up and log in Factory reset System restore and backup recovery Security Baseline settings Windows 10 IoT Enterprise LTSC basic functions 5G module firmware update procedure 4G module firmware update procedure BMC firmware update procedure Accessing and updating the BIOS SuperIO Function Library Digital Input/Output Function of the Intel PCH Controller Digital Input/Output Function from PCA9535 GPIO Hardware monitor API Humidity and temperature sensor setup Pressure sensor setup Accelerometer sensor setup Intel OOB COM Port and Ethernet Names for Mini PCIe Cards Sensor APIs
Boot up and log in
Steps
1. Connect a keyboard, mouse, and monitor to the EGW-3200.
2. Power on the system. The system boots to the Windows 10 IoT Enterprise LTSC 2019 operating system.
3. Select your regional settings and keyboard layout. If needed, select the second keyboard layout. Otherwise, skip this step.
4. Connect to an available wireless or wired network. After the internet connection is established, the Windows license key is activated.
5. Read and Agree to the End User License Agreement.
6. Create a user account with a password.
7. After login, the system will reboot once for the settings to take effect.
2
8 Setting Up the Windows 10 Operating System
Factory reset
About this task
Users can perform a factory reset of the Windows 10 IoT Enterprise 2019 LTSC on the EGW-3200 using the recovery operating system image on the boot partition. This resets the run-time image back to the standard Windows system, which does not contain any ODM-installed drivers. Users can download the necessary drivers from the Dell Technologies Support Site.
Steps
1. Connect a keyboard, mouse, and monitor to the system.
2. Power on the Edge Gateway and boot to the operating systems desktop.
3. Click the Start icon, hold the Shift key and click Restart.
4. Select Troubleshoot > Reset this PC.
5. Select Reset this PC > Remove everything.
6. Select Fully clean the drive > Reset.
System restore and backup recovery
Create a recovery drive
About this task
To recover from a major issue such as hardware failure, a recovery drive is needed to reinstall Windows 10. This section explains how to create a USB recovery drive. Personal files and any applications that did not come with the system will not be backed up.
Use a minimum of 4 GB USB storage and all data in the USB storage will be deleted. Perform the following steps to create a USB-based recovery drive.
Steps
1. In the search box next to the Start button, search for Create a recovery drive and then select it. You might be asked to enter an admin password or confirm your selection.
2. When the tool opens, make sure Back up system files to the recovery drive is selected and then select Next.
3. Connect a USB drive to your PC, select it, and then select Next.
4. Select Create. Many files need to be copied to the recovery drive, so this might take a while. After successfully creating the recovery drive, click Finish.
Create a system image
About this task
After successfully logging into Windows 10, the user can create a system image which can be used to restore the system in case of a Windows OS crash or hard disk failure.
Steps
1. Select Control Panel and Navigate to Control Panel\System and Security\Backup and Restore (Windows 7).
2. In the Backup and Restore (Windows 7) window, click Create a system image in the upper-left corner.
Setting Up the Windows 10 Operating System 9
Figure 2. Create a system image
3. Windows looks for a backup destination on a hard drive, DVD, or network location. Choose an appropriate destination. Click Next.
NOTE: In the following screenshot, a second SSD storage is used to create the backup.
Figure 3. Backup destination
4. Confirm which areas or partitions of your hard drive will be included in the image file, then click the Start Backup button.
10 Setting Up the Windows 10 Operating System
Figure 4. Confirm backup
Results
Windows creates the system image file.
Figure 5. Backup completed successfully
Recover from system image
Steps
1. Connect the USB storage device that was created in Create a recovery drive on page 9.
2. Connect the hard drive or SSD that was used in Create a system image on page 9.
3. After power on, keep pressing Delete and go to the BIOS settings.
4. From Save and Exit, in Boot Override, select the USB storage device and press Enter.
5. At theChoose your Keyboard layout page, select the appropriate keyboard layout.
6. In the Choose an option window, go to Troubleshoot > Advanced Options > System Image Recovery. Follow the prompts in Windows to restore the system image file.
Results
Once the process is complete, the system restarts and boots into the updated system image.
Setting Up the Windows 10 Operating System 11
Security Baseline settings The security settings in the image for the EGW-3200 default to those in the standard Windows 10 IoT Enterprise release. However, it is recommended to install Microsoft-provided security policies on top of this to enhance the security features in the device. Microsoft provides a set of policies called the Security Baseline with each Windows 10 release. Installing this Security Baseline is a good way to quickly enable recommended security settings on IoT devices. The Security Baseline is delivered as part of the Security Compliance Toolkit and can be downloaded from Microsoft's download center: https:// www.microsoft.com/download/details.aspx?id=55319. Detailed installation and customization instructions are available in the toolkit package.
Windows 10 IoT Enterprise LTSC basic functions The EGW-3200 provides various interfaces. The following sections provide further details on these interfaces.
UART controller
For setting the port type of serial ports 1 and 2, change the BIOS settings as detailed in the following table.
Table 2. UART controller settings
S. No Port type Connector Device node BIOS setting configuration
1 RS232/422/485 DB9 COM1 Advanced > Onboard Devices Configuration > COM1 Control, select RS232/422/485
2 RS232/422/485 DB9 COM2 Advanced > Onboard Devices Configuration > COM2 Control, select RS232/422/485
TPM support
Windows 10 IoT Enterprise LTSC 2019 supports TPM 2.0. For more information on TPM resources, see https:// docs.microsoft.com/windows/security/information-protection/tpm/trusted-platform-module-overview.
RHProxy driver - I2C and GPIO
The RHProxy driver enables user mode access to I2C and GPIO (GPIO from the Intel chipset). For details about Windows RHProxy, refer to Enable user mode access to GPIO, I2C, and SPI. The BIOS of the EGW-3200 is already updated with the necessary changes for enabling RHProxy for the I2C and GPIO pins.
The following table shows the I2C and GPIO-friendly names and pin mappings.
Table 3. I2C and GPIO names and pin mappings
S No. Peripheral detail Hardware signal name Name/Number to use with RHProxy
Comments
1 GPIO Pin 0 DO2 0 GPIO number to use for RHProxy: 0
2 GPIO Pin 1 DO3 1 -
3 GPIO Pin 2 DO1 2 -
4 GPIO Pin 3 DO0 3 -
5 GPIO Pin 4 I2C1_GPIO 4 I2C1 (CN13) interrupt pin
6 GPIO Pin 5 I2C0_GPIO 5 I2C0 (CN13) interrupt pin
12 Setting Up the Windows 10 Operating System
Table 3. I2C and GPIO names and pin mappings (continued)
S No. Peripheral detail Hardware signal name Name/Number to use with RHProxy
Comments
7 GPIO Pin 6 User LED 1 6 -
8 GPIO Pin 7 User LED 2 7 -
9 GPIO Pin 8 User LED 3 8 I2C0 (CN43) interrupt pin
10 GPIO Pin 9 DI0 9
11 GPIO Pin 10 DI1 10 -
12 GPIO Pin 11 DI2 11 -
13 GPIO Pin 12 DI3 12 -
14 GPIO Pin 13 DI4 13 -
15 GPIO Pin 14 DI5 14 -
16 GPIO Pin 15 DO4 15 -
17 GPIO Pin 16 DO5 16 -
System shutdown and restart
Steps
1. Click the Start icon.
2. Click Power, then select Restart or Shut down.
Configure LAN network
Steps
1. Connect an Ethernet cable to the Ethernet port.
The following prompt is displayed:
Figure 6. Prompt for discoverable in network
2. Select Yes.
Setting Up the Windows 10 Operating System 13
Optional expansion modules
The EGW-3200 supports several expansion modules, in mini PCI express (mPCIe), M.2, and I2C formats. The required Windows software package is already installed in the Windows image for the following modules. Refer to the website of the manufacturer for more details.
Table 4. Optional expansion modules
S No. Format Interface details Reference link
1 mPCIe EMUC-B202 (Isolated Canbus) https://www.innodisk.com/en/products/embedded-peripheral/ communication/emuc-b202
2 mPCIe EMPL-G2P1 (Isolated GbE with PoE out)
https://www.innodisk.com/en/products/embedded-peripheral/ communication/empl-g2p1
3 mPCIe EMP2-X4S2 (Isolated RS-422 and RS-485)
https://www.innodisk.com/en/products/embedded-peripheral/ communication/emp2-x4s2
4 mPCIe EMP2-X2S1 (Isolated RS-232) https://www.innodisk.com/en/products/embedded-peripheral/ communication/emp2-x2s1
5 mPCIe EMPL-G202 (Isolated GbE LAN) https://www.innodisk.com/en/products/embedded-peripheral/ communication/empl-g202
6 M.2 2230 Intel WiFi AX210 https://ark.intel.com/content/www/us/en/ark/products/ 204836/intel-wifi-6e-ax210-gig.html
7 M.2 3042 Sierra EM7565 (4G) https://www.sierrawireless.com/iot-solutions/products/em7565/
8 M.2 3042 Thales MV31-W (5G) https://www.thalesgroup.com/en/markets/digital-identity-and- security/iot/iot-connectivity/products/iot-products/mv31-w- ultra-high
9 Internal I2C wafer
ADLINK 55-49071 (Isolated DI/O)
N/A
Configure WWAN network
Prerequisites
Follow the procedures in the service manual to install and configure the WWAN module and the corresponding carrier USIM card for the system.
About this task
After the WWAN module and the SIM cards are installed, perform the following steps.
Steps
1. Click the Start icon.
2. Type Settings and click the Settings app.
3. Select Network & Internet.
4. Locate the WWAN connection in the WiFi section and select the entry to connect and disconnect from the WWAN adapter.
Configure Bluetooth
Steps
1. Click the Start icon.
2. Type Settings and click Settings.
3. Select Devices from the Settings menu, then select Bluetooth from the menu on the left panel.
14 Setting Up the Windows 10 Operating System
Cellular network configuration
If the optional cellular network (4G or 5G) is used, see the following link for information about configuration and usage.
https://support.microsoft.com/en-us/windows/cellular-settings-in-windows-905568ff-7f31-3013-efc7-3f396ac92cd7
Accessing GPS
Go to the following link for information about accessing the GPS and for various Windows settings.
https://support.microsoft.com/en-us/windows/windows-location-service-and-privacy-3a8eee0a-5b0b-dc07- eede-2a5ca1c49088
5G module firmware update procedure
Download Firmware Selector Tool and driver
Steps
1. Download the Firmware Selector Tool from the EGW-3200 page of the Dell Technologies Support Site.
2. Unzip the files and open the unzipped folder.
Figure 7. Firmware tool and driver file
3. Save the driver to the following folder: \F0.1.0.0.9_AP077\SDX55_Thales_USB_x64_20220208_V023_WHQL_INF_Injection\.
Figure 8. 5G firmware driver
4. Save the Firmware Selector Tool to the following folder: \F0.1.0.0.9_AP077 \x64-F0.1.0.0.9 (AP077)_FST_Thales_20220119\Utilities\x86-Firmware Selector Tool (V2.0.3.3)_Thales.
Setting Up the Windows 10 Operating System 15
Figure 9. Firmware Selector Tool
Remove old and install new drivers
About this task
MV31-W modules require the (20200804_V007) WIN10 driver. However, this driver must be installed after removing old USB drivers that were automatically installed by WIN10 PC.
Steps
1. Before connecting the MV31-W module, open the Device Manager, click View, and select Show hidden devices.
Figure 10. Show hidden devices
2. Remove (Uninstall) all devices that start with: Cinterion PID 0x00B3.
16 Setting Up the Windows 10 Operating System
Figure 11. Uninstall Cinterion devices
3. Open the driver package folder (SDX55_Thales_USB_x64_20220208_V023_WHQL_INF_Injection) and run install_Thales.cmd as administrator.
Figure 12. Run driver command
Update 5G firmware in Windows
About this task
After all the required drivers have been updated, use the Firmware Selector Tool provided by Thales DIS AIS to update the firmware.
Steps
1. Go to Utilities > Firmware, and select the Firmware Selector Tool.
Setting Up the Windows 10 Operating System 17
Figure 13. Firmware Selector Tool
2. The tool will automatically select the ATT T99W175 firmware version to update.
Figure 14. Firmware to update
3. Wait for the firmware download to finish.
18 Setting Up the Windows 10 Operating System
Figure 15. Firmware download status bar
4. Once complete, the Firmware upgrade success message will appear. Click OK.
Setting Up the Windows 10 Operating System 19
Figure 16. Firmware upgrade success
4G module firmware update procedure
Steps
1. Download the firmware update tool (.exe) from the Sierra website at: https://source.sierrawireless.com/resources/ airprime/minicard/75xx/em_mc75xx-approved-fw-packages/#sthash.nOT5xBmR.a4H4BqL8.dpbs.
20 Setting Up the Windows 10 Operating System
Figure 17. 4G firmware update tool
2. Right-click the .exe file and run as administrator. The firmware update runs automatically.
BMC firmware update procedure
Steps
1. Confirm that the Intel Serial IO - I2C and GPIO drivers are installed.
If the I2C driver is not installed, there will be a yellow triangle with an exclamation point over the menu icon in System devices > Resource Hub proxy device in the Device Manager.
Setting Up the Windows 10 Operating System 21
Figure 18. I2C controller not found
If this is the case, perform the following steps:
a. Download both drivers from the EGW-3200 page of the Dell Technologies Support Site. b. Install the drivers. When all the required drivers are installed, there is no yellow triangle with an exclamation point over
the icon in the device manager.
22 Setting Up the Windows 10 Operating System
Figure 19. Drivers installed
c. When prompted, reboot the system.
Figure 20. Reboot system
2. Execute ad-litbmc-fwupd.exe in command prompt to show usage of the tool.
Setting Up the Windows 10 Operating System 23
Figure 21. Show usage
3. Update the firmware version by using the ad-litbmc-fwupd.exe -u
Figure 22. Reboot message
Reading the firmware version without rebooting will not show the updated version.
Figure 23. Updated version not shown
4. Reboot the device.
24 Setting Up the Windows 10 Operating System
Figure 24. Reboot device
5. After the reboot is complete, read the firmware version to confirm that it shows in the output.
Figure 25. Update successful
Accessing and updating the BIOS Basic Input/Output System (BIOS) is a program that provides a basic level of communication between the processor and peripherals. In addition, the BIOS also contains codes for various advanced features applied to the EGW-3200. The BIOS setup program includes menus for configuring settings and enabling features of the EGW-3200. Most users do not need to use the BIOS setup program, as the EGW-3200 ships with default settings that work well for most configurations.
Access the BIOS settings
Steps
1. Enter the BIOS setup by pressing the Delete key on the keyboard when the system is powered on. The POST (Power On Self Test) message is displayed.
NOTE: The EGW-3200 controller supports a one-time boot menu allowing the selection of the boot device.
2. Enter the Boot Menu by selecting F7 at POST.
Update the BIOS using UEFI capsule update from Windows
About this task
The EGW-3200 supports UEFI capsule updates and can be updated natively within the Windows OS.
NOTE: Windows allows updating of the BIOS only if it is a newer version of the BIOS than what is already on the system.
The BIOS version number is available from the BIOS Main tab.
Setting Up the Windows 10 Operating System 25
Figure 26. BIOS version number under Main tab
Steps
1. Download the newer version of the BIOS in .msi format from the Dell Technologies Support Site and run the executable from an elevated command prompt with administrator privileges. Windows prompts to restart the system for a firmware change.
Figure 27. Restart computer
2. Click Restart Now to restart the system. The system will start the BIOS firmware update process.
Figure 28. System update progress bar
Results
After the update is complete, the BIOS screen will show the newer version details.
SuperIO Function Library This section describes use of the SuperIO (SIO) function library for the EGW-3200. The SIO function library includes the watchdog timer function and the hardware monitor function. The watchdog timer is a hardware mechanism provided to reset the system if the operating system or an application stalls. After starting, the watchdog timer in the application must be periodically reset before the timer expires. Once the watchdog timer expires, a hardware-generated signal is sent to reset the system. The hardware monitor is a mechanism provided to collect the wide range of information related to hardware health, including CPU temperature, board temperature, and various voltage values.
26 Setting Up the Windows 10 Operating System
Windows SIO API
The SIO API library files and a demo program (including source code) are part of the board support package for the EGW-3200 (BSP/Sample_App_Source/SuperIO) and can be downloaded from the Dell Technologies Support Site.
SIO_WDT_Set
Sets the timeout value of the watchdog timer. SIO_WDT_Stop should be called before the expiration of watchdog timer, or the system will reset.
I32 SIO_WDT_Set (unsigned char val, int mode)
Parameters valSpecifies the value for the watchdog timer. A valid value is 1 - 255.
modeSpecifies the mode of the timeout value. The valid mode of the timeout value is seconds (0) or minutes (1).
Return codes 0 if timeout value of watchdog timer is successfully set.
Negative errno if timeout value of watchdog timer is failed to set.
SIO_WDT_GetCurrentTime
Gets the current timeout value of the watchdog timer, gives remaining watchdog timer timeout value and mode.
I32 SIO_WDT_GetCurrentTime (unsigned char* pTime, int* mode)
Parameters pTImePointer variable to return the remaining watchdog time for expiry.
ModePointer variable to return the current watchdog mode.
Return codes 0 if timeout value of watchdog timer is available.
Negative errno if failed to get the current timeout value and mode of the watchdog timer.
SIO_WDT_Stop
Stops the watchdog timer.
I32 SIO_WDT_Stop ()
Parameters None
Return codes 0 if watchdog timer is successfully stopped.
Negative errno if watchdog timer fails to stop.
GetCurrentCPUTemp
Gets the hardware monitor values.
Setting Up the Windows 10 Operating System 27
I32 GetCurrentCPUTemp (int *temp)
Parameters tempInteger pointer for getting the CPU temperature.
Return codes 0 if temperature is read successfully.
Negative errno if failed to get the data from hardware monitor.
Error codes
For the various functions previously listed, the following is the Errno values in case of failure.
enum SIO_ERRORS_LIST{ ERROR_SIO_INVALID_DEVICE_HANDLE = -100, ERROR_SIO_IOCTL, ERROR_SIO_INVALID_RW_SEL, ERROR_SIO_INVALID_MODE_SEL, ERROR_SIO_WDT_NOT_ENABLED };
Build the SIO sample application
Prerequisites
Visual Studio 2019 is required for this task. Do download and install, perform the following steps:
1. Select Workloads. 2. Open Visual Studio Installer and click Modify to customize your installation. 3. Select Desktop development with C++ workload. 4. Select UWP. 5. Select Individual components, and under Complier, build tools, and runtimes, make sure that the following boxes are
checked: a. MSVC v142 -VS 2019 C++ x64/x86 buildtools (latest) is checked. b. MSVC v142 -VS 2019 C++ x64/x86 Spectre-mitigated libs (latest) is checked.
6. Make sure the SDK is installed. Download and install the corresponding WDK version. 7. Install the latest supported English (en-us) Microsoft Visual C++ redistributable packages for Visual Studio 2015, 2017, 2019,
and 2022 from the following URL: https://aka.ms/vs/17/release/vc_redist.x64.exe.
About this task
NOTE: The sample executable binaries are built with SDK-10.0.19041.685 and WDK-10.0.19041.685 versions. The procedure
may vary slightly if using other versions.
To build the sample application, perform the following steps.
Steps
1. Open Sample_App_Source/SuperIO/superior_nct.sln in Visual Studio.
2. Change Solution configuration to Release and Solution platform to x64.
3. Under the Build menu, select Build Solution.
Execute the SIO sample application
About this task
The EGW-3200 Windows image includes pre-installed sample application binaries.
Steps
1. Open the command prompt in administrator mode.
28 Setting Up the Windows 10 Operating System
2. Change to the following directory: C:\Program Files\Dell\EGW3200 Software tools\Application Binaries
3. Use the following commands to execute the SIO sample application:
a. To set the watchdog timer:
> superiotest wdtset
Where time is between 1 to 255, and mode is seconds or minutes.
b. To stop the watchdog timer:
> superiotest wdtstop
c. To get the remaining watchdog time and mode:
> superiotest wdtgettime
d. To get CPU temperature:
> superiotest getcputemp
Digital Input/Output Function of the Intel PCH Controller The EGW-3200 uses Microsofts RHProxy interface for accessing the GPIO pins from PCH chipset. All the necessary changes are done in the BIOS. For a sample program, the below Microsoft supplied source code can be used.
https://github.com/microsoft/Windows-iotcore-samples/tree/develop/BusTools/GpioTestTool
The EGW-3200 has six DI pins, six DO pins, and three user LEDs. For the pin details and pin numbers to be used for the sample application, refer the table in RHProxy driver - I2C and GPIO on page 12.
Build the GPIO sample application
Prerequisites
Visual Studio 2019 is required for this task. Do download and install, perform the following steps:
1. Select Workloads. 2. Open Visual Studio Installer and click Modify to customize your installation. 3. Select Desktop development with C++ workload. 4. Select UWP. 5. Select Individual components, and under Complier, build tools, and runtimes, make sure that the following boxes are
checked: a. MSVC v142 -VS 2019 C++ x64/x86 buildtools (latest) is checked. b. MSVC v142 -VS 2019 C++ x64/x86 Spectre-mitigated libs (latest) is checked.
6. Make sure the SDK is installed. Download and install the corresponding WDK version. 7. Install the latest supported English (en-us) Microsoft Visual C++ redistributable packages for Visual Studio 2015, 2017, 2019,
and 2022 from the following URL: https://aka.ms/vs/17/release/vc_redist.x64.exe.
About this task
NOTE: The sample executable binaries are built with SDK-10.0.19041.685 and WDK-10.0.19041.685 versions. The procedure
may vary slightly if using other versions.
To build the sample application, perform the following steps.
Setting Up the Windows 10 Operating System 29
Steps
1. Open Sample_App_Source/GPIOTestTool/windows-iot-bus-tools.sln in Visual Studio.
2. Change Solution configuration to Release and Solution platform to x64.
3. Under the Build menu, select Build Solution.
Execute the GPIO sample application
About this task
The EGW-3200 Windows image includes pre-installed sample application binaries.
Steps
1. Open the command prompt in administrator mode.
2. Change to the following directory: C:\Program Files\Dell\EGW3200 Software tools\Application Binaries
3. Use the following commands to execute the GPIO sample application:
a. To open the pin connection:
> GpioTestTool.exe
b. To set the drive mode to output:
> setdrivemode output
c. To set the DO0 pin to low:
> write 0
d. To set the DO0 pin to high:
> write 1
Similarly, the pin can be opened and set to drive mode input and the current value can be read using a read command. Use the help command for detailed usage.
Digital Input/Output Function from PCA9535 GPIO Users can opt to connect a PCA9535 GPIO expander module to one of the I2C buses of the EGW-3200.
PCA9535 GPIO Expander API
The PCA9535 GPIO modules API library files and a demo program (including source code) are included in the board support package for the EGW-3200.
PCA9535Init
This funcrtion is used to initialize the directions of the GPIO pins. Also, it opens the handle to the I2C bus and it is necessary to call this function before executing any of the other APIs.
int PCA9535Init (unsigned int i2cnumber)
Parameters i2cnumberThe I2C bus number to which the PCA9535 board is connected. Can be 0 or 1.
Return codes 0 if the initialization is successful.
30 Setting Up the Windows 10 Operating System
Negative errno if failed.
DioSetLevel
Sets the GPIO level for output pins.
int DioSetLevel (unsigned char data, unsigned char mask)
Parameters dataThe new GPIO level to be set for the output pins.
maskGPIO output pins are changed only for those corresponding to the bits that are set to 1 in the mask. Other pin values remain unchanged.
Return codes 0 if the initialization is successful.
Negative errno if failed.
DioGetLevel
Gets the current GPIO level for both input and output pins.
int DioGetLevel (unsigned int mask, unsigned int* GetPinLevel)
Parameters maskThe GPIO input pins are updated in the GetPinLevel only for the bits which are set to 1 in the mask.
GetPinLevelPointer to store the read value. The first eight bits (Bit 0 to 7) contain the GPIO input pins voltage level. The second eight bits (Bit 8 to 15) contain the GPIO output pins voltage level.
Return codes 0 if the initialization is successful.
Negative errno if failed.
Error codes
For the various functions previously listed, the following is the Errno values in case of failure.
enum errorcodes { Error_Pointer_Invalid = -100, Error_I2C_controller_NotFound, Error_I2C_Open_Failed, Error_I2C_Bus_Invalid, Error_Mutex_Failed, Error_I2CTransfer_Partial, Error_I2CTransfer_SlaveAddressNotAcknowledged, Error_I2CTransfer_ClockStretchTimeout, Error_I2CTransfer_UnknownError };
Build the PCA9535 sample application
Prerequisites
Visual Studio 2019 is required for this task. Do download and install, perform the following steps:
1. Select Workloads. 2. Open Visual Studio Installer and click Modify to customize your installation.
Setting Up the Windows 10 Operating System 31
3. Select Desktop development with C++ workload. 4. Select UWP. 5. Select Individual components, and under Complier, build tools, and runtimes, make sure that the following boxes are
checked: a. MSVC v142 -VS 2019 C++ x64/x86 buildtools (latest) is checked. b. MSVC v142 -VS 2019 C++ x64/x86 Spectre-mitigated libs (latest) is checked.
6. Make sure the SDK is installed. Download and install the corresponding WDK version. 7. Install the latest supported English (en-us) Microsoft Visual C++ redistributable packages for Visual Studio 2015, 2017, 2019,
and 2022 from the following URL: https://aka.ms/vs/17/release/vc_redist.x64.exe.
About this task
NOTE: The sample executable binaries are built with SDK-10.0.19041.685 and WDK-10.0.19041.685 versions. The procedure
may vary slightly if using other versions.
To build the sample application, perform the following steps.
Steps
1. Open Sample_App_Source/PCA9535/PCA9535_I2C.sln in Visual Studio.
2. Change Solution configuration to Release and Solution platform to x64.
3. Under the Build menu, select Build Solution.
Execute the PCA9535 sample application
About this task
The EGW-3200 Windows image includes pre-installed sample application binaries.
Steps
1. Open the command prompt in administrator mode.
2. Change to the following directory: C:\Program Files\Dell\EGW3200 Software tools\Application Binaries
3. Use the following commands to execute the PCA9535 sample application:
a. Use the following command to execute the pca9535_interrupt.exe with two arguments (
> pca9535_interrupt.exe 0 8
b. Execute the pca9535App.exe for write functionality:
Pca9535App.exe i2c
> pca9535App.exe i2c 0 write 0xff 0xff
c. Execute the pca9535App.exe for read functionality:
pca9535App.exe i2c
> Pca9535App.exe i2c 0 read 0xff
Hardware monitor API The EGW-3200 has various hardware monitor features which can be retrieved by using the following function parameters.
32 Setting Up the Windows 10 Operating System
EApiLibInitialize
Initialize function. Call this function before accessing any of the API.
int EApiLibInitialize ()
Parameters None
Return codes 0 if the initialization is a success.
Negative errno if failed.
EApiBoardGetValue
Gets the hardware monitor (current/voltage/temperature) values.
int EApiBoardGetValue (int parameter)
Parameters The parameters could be one of the following, and the macro is self-explanatory.
EAPI_ID_HWMON_SYSTEM_TEMP EAPI_ID_HWMON_VOLTAGE_VBAT EAPI_ID_HWMON_VOLTAGE_5VSB EAPI_SEMA_ID_BOARD_MAIN_CURRENT EAPI_SEMA_ID_HWMON_VOLTAGE_VIN
Return codes 0 if the initialization is a success.
Negative errno if failed.
EApiUnInitialize
Un-initialize function. Call this function before exiting the application.
Humidity and temperature sensor setup
Prerequisites
Windows standard APIs: FromIdAsync(String), GetCurrentReading(), and GetDeviceSelector(Guid interfaceId) are used for accessing the sensor. For details, go to https://docs.microsoft.com/en-us/uwp/api/windows.devices.sensors.custom? view=winrt-22000.
About this task
The HDC1010 humidity and temperature sensor is connected to I2C bus 2 of the EGW-3200. This sensor is detected as a custom sensor and follows Windows sensor framework.
Build the sample application
Prerequisites
Visual Studio 2019 is required for this task. To download and install, perform the following steps:
1. Select Workloads. 2. Open Visual Studio Installer and click Modify to customize your installation.
Setting Up the Windows 10 Operating System 33
3. Select Desktop development with C++ workload. 4. Select UWP. 5. Select Individual components, and under Complier, build tools, and runtimes, make sure that the following boxes are
checked: a. MSVC v142 -VS 2019 C++ x64/x86 buildtools (latest) is checked. b. MSVC v142 -VS 2019 C++ x64/x86 Spectre-mitigated libs (latest) is checked.
6. Make sure the SDK is installed. Download and install the corresponding WDK version. 7. Install the latest supported English (en-us) Microsoft Visual C++ redistributable packages for Visual Studio 2015, 2017, 2019,
and 2022 from the following URL: https://aka.ms/vs/17/release/vc_redist.x64.exe.
About this task
To build the sample application, perform the following steps.
Steps
1. Open the solution file of the source code in Visual Studio.
2. Change Solution configuration to Release and Solution platform to x64.
3. In the Solution Explorer pane, right-click on the project and select Properties.
Figure 29. Solution Explorer - Properties
4. Change the Target Platform Version and Target Platform Min. Version to 10.0.17763.0 and Platform Toolset to the Visual Studio version used. Set the Configuration to Release and Platform to x64. Click Apply and OK.
34 Setting Up the Windows 10 Operating System
Figure 30. Properties - Platform Toolset
5. Select Build > Build Solution to build the project.
Figure 31. Build Solution
Setting Up the Windows 10 Operating System 35
Create the MSIX package
Steps
1. Place the Assets folder in the current directory (Path: x64/Release/ilc/in).
2. Right-click on the project and Select Publish > Create App Packages.
3. Enable Side-loading in the first page of the wizard and then click Next.
4. On the Select signing method page, select whether to skip packaging signing or select a certificate for signing. For an MSIX package to be installed, it must be signed with a certificate that is trusted on the machine. The certificate is password-protected. It is imported to the certificate store for package signing.
Figure 32. Create Certificate
36 Setting Up the Windows 10 Operating System
Figure 33. Certificate Trust
5. In Select and configure packages wizard, select the Architecture as x64 and Solution Configuration as Release (x64) and click Next.
6. Provide the path for the Installer location (where the app is published) and select Create.
Results
The project builds and App bundle is created. The package summary appears.
Setting Up the Windows 10 Operating System 37
Figure 34. Finished creating package
Import the certificate
Steps
1. Unzip the folder Sensor Applications.7z containing the MSIX bundle.
2. Locate the certificate files for this application in folder HDC1010.
3. Go to Start > Manage computer certificates. On the left pane of the certIm wizard, select Trusted People.
4. Select Action > All Tasks > Import. The Certificate Import Wizard appears. Click Next.
38 Setting Up the Windows 10 Operating System
Figure 35. Import Certificate
5. Include the path where the certificate is located. Click Next.
6. The certificate is imported. Click Finish.
Setting Up the Windows 10 Operating System 39
Figure 36. Completing the Certificate Import Wizard
7. The imported certificate is added in the Certificates directory under Trusted People. If not, select Action > Refresh, and the certificate is added.
40 Setting Up the Windows 10 Operating System
Figure 37. Certificates
Install the application
About this task
The example referred to in the following steps is for the HDC1010 humidity sensor application. The same steps are applicable for other two sensors.
Steps
1. Install the App Installer from the Microsoft store. To do this, open the POWERSHELL in ADMINISTRATOR Mode and execute the following command:
Get-AppXPackage*WindowsStore* -AllUsers| Foreach {Add-AppxPackage-DisableDevelopmentMode-Register "$($_.InstallLocation)\AppXManifest.xml"}
2. Run the .msixbundle file. A window appears prompting to install the application. Click Install.
Setting Up the Windows 10 Operating System 41
Figure 38. Install prompt
The application is installed and the UWP application appears.
3. Click Start. The application name appears.
Figure 39. Application name in Start Menu
42 Setting Up the Windows 10 Operating System
Run the temperature sensor application
About this task
Two events are registered for the application: DataEvents and Polling.
Steps
1. Select DataEvents > Enable. Temperature and Relative Humidity values are displayed.
2. Select DataEvents > Disable and follow Step 1 to obtain the next set of readings.
Figure 40. DataEvents
3. Select Polling and repeat Steps 1 and 2.
Figure 41. Polling
Setting Up the Windows 10 Operating System 43
Pressure sensor setup
Prerequisites
Windows standard APIs: FromIdAsync(String), GetCurrentReading(), GetDefault(), and GetDeviceSelector(Guid interfaceId) are used for accessing the sensor. For details, go to https://docs.microsoft.com/en-us/uwp/api/windows.devices.sensors.custom? view=winrt-22000.
About this task
The DPS310 pressure sensor is connected to I2C bus 2 of the EGW-3200. This sensor is detected as a barometer sensor and follows Windows sensor framework.
See the Humidity and temperature sensor setup on page 33 section for the following tasks:
Build the sample application Create the MSIX package Import the certificate Install the application
Run the pressure sensor application
About this task
Two events are registered for the application: DataEvents and Polling.
Steps
1. Select DataEvents > Enable. The Pressure value is displayed in hectopascals.
2. Select DataEvents > Disable and follow Step 1 to obtain the next set of readings.
Figure 42. DataEvents
3. Select Polling > Get Data and repeat Steps 1 and 2.
44 Setting Up the Windows 10 Operating System
Figure 43. Polling
Accelerometer sensor setup
Prerequisites
Windows standard APIs: FromIdAsync(String), GetCurrentReading(), GetDefault(), and GetDeviceSelector(Guid interfaceId) are used for accessing the sensor. For details, go to https://docs.microsoft.com/en-us/uwp/api/windows.devices.sensors.custom? view=winrt-22000.
About this task
The ADXL345 accelerometer sensor is connected to I2C bus 2 of the EGW-3200. This sensor is detected as a accelerometer sensor and follows Windows sensor framework.
See the Humidity and temperature sensor setup on page 33 section for the following tasks:
Build the sample application Create the MSIX package Import the certificate Install the application
Run the accelerometer sensor application
Steps
1. Choose accelerometer: Click the Standard type of accelerometer.
Setting Up the Windows 10 Operating System 45
Figure 44. Choose accelerometer
2. Data Events: Click Enable. The corresponding x, y, and z values are displayed as you change the position of the sensor.
Figure 45. Data Events
3. Polling: Click Enable. Acceleration values at a particular time interval are displayed.
46 Setting Up the Windows 10 Operating System
Figure 46. Polling
4. OrientationChanged: Click Enable to display the accelerometer readings with and without the transformation.
Figure 47. OrientationChanged
Intel OOB Out-of-Band (OOB) is the service that is performed if the processor platform runs on the ARM Cortex-M7 processor that is independent of the systems main CPU complex and host OS. The OOB service is enabled through PSE and allows users to execute cloud-initiated commands such as reboot, shutdown, and powerup, and to decommission device operations using the scalable device management clouds as the Azure IOT central cloud.
Table 5. Hardware requirements
Device Specification
Linux OS (development machine) Ubuntu OS version 18.04 LTS installed with display monitor, keyboard, and mouse
Edge Gateway 3200 (target board) Windows 10 OS installed with display monitor, keyboard, and mouse
Other hardware A router with ethernet LAN cable (wired)
Host and target setup
Host setup
The development machine (host) should have the Linux Ubuntu OS (version 18.04 LTS and above) installed.
Setting Up the Windows 10 Operating System 47
NOTE: We have used Ubuntu version 20.04 LTS.
Target setup
The Dell EMC Edge Gateway 3200 with the Elkhart Lake Platform and with Windows 10 Enterprise LTSC 2019 installed.
Perform changes in the BIOS
Steps
1. At the BIOS menu, select Chipset > PCH-IO Configuration > PSE Configuration > OOB [Enabled].
2. Set this OOB to be Enabled. OOB provisioning will fail in OOB service provisioning if this is not set to Enabled.
3. At the BIOS menu, select Chipset > PCH-IO Configuration > PSE Configuration > GBE0 [PSE owned with pin muxed].
Figure 48. Configure OOB enabled
4. Press the Esc button to return to the main menu. When prompted with Save Changes and exit?, press Y to save the settings.
5. Perform a hard reset by turning the power off and on again. This is necessary when changing a PSE-related setting.
6. Connect an Ethernet cable to PSE GbE0.
Results
You have now set up hardware network connectivity on the target board, which is now ready to connect with the Cloud Service Provider (CSP), as detailed in the following sections.
Cloud setup and configuration
About this task
The cloud adapter module maps specific cloud functions based on the cloud service provider and implements specific cloud customizations such as Message Queuing Telemetry Transport (MQTT) topics and message formats.
48 Setting Up the Windows 10 Operating System
Set up Azure IoT Central for device management
About this task
Intel provides the connectivity reference implementation for the Microsoft Azure device management solution.
Steps
1. Create an Azure account and an Azure IoT Central application for the device to connect to its intended portal customers. Refer to the instructions on the Azure website to create an Azure account.
2. Create an IoT Central application by importing the reference template from the Azure IoT Central site.
3. Create a template application name and URL, then click Create to create an IoT central application template.
Figure 49. Azure IoT central application template
4. After creating the Azure portal and template, add a new device. Click the Devices tab, select the Intel template, and then click the + symbol to create a real device.
Setting Up the Windows 10 Operating System 49
Figure 50. Create a new device
5. Copy the connectivity credentials for the device to connect back to the portal. Copy the connection credentials by clicking the Connect button. The following screen appears.
50 Setting Up the Windows 10 Operating System
Figure 51. Device connection
6. Keep a copy of the following data. Use these data to create credentials for the target device to connect to the portal over the MQTT protocol. Intel provides a sample script that gives the credentials by invoking the Azure IoT Hub Device Provisioning Service (DPS).
ID scope Device ID Primary key
Create an OOB capsule binary
About this task
In this task, the user generates the OOB credentials capsule binary in the host machine.
Steps
1. Prepare the OOB credentials capsule from the host machine.
2. Get the Intel Programmable Service Engine SDK source code.
3. Download the Firmware and BIOS Utilities (FBU), which is the configuration tool for provisioning data into BIOS subregions. The latest open-source FBU release package can be downloaded from the iotg-fbu page at the GitHub software development platform.
Setting Up the Windows 10 Operating System 51
4. Copy all files from the pse-dev-code-base/tools/capsule_script folder to the scripts folder of the FBU tool. This ensures that you have all of the files needed to generate the MAC and OOB credentials capsules in the correct location:
cp ~/intelpse/pse_sdk/code/pse-dev-code-base/tools/capsule_scripts/* ~/intelpse/fbu/ siiptool/scripts/
5. Go to the scripts folder of the FBU tool:
cd ~/intelpse/fbu/siiptool/scripts
6. Confirm that the files were added to the scripts folder, as shown in the following figure.
Figure 52. Capsule script file
7. Run the user script using the following commands:
chmod +x capsule_json_script.sh
8. Launch the script according to your cloud certificate:
./capsule_json_script.sh azure.pem
NOTE: azure.pem is the cloud certificate.
9. The script will prompt for the following user inputs:
a. Select Capsule Type: Type 1 for OOB.
b. Enter Capsule file name: Type a filename for the capsule binary, for example OobCapsule.
c. Select Cloud Provider: Type 2 for Azure.
d. Enter Scope ID: Provide the scope ID copied in the previous task, Set up Azure IoT Central for device management on page 49.
e. Enter Device ID: Provide the device ID copied in the previous task, Set up Azure IoT Central for device management on page 49.
f. Enter Primary Key: Provide the primary key copied in the previous task, Set up Azure IoT Central for device management on page 49.
g. Enter Proxy (SOCKS5) IP: Enter the proxy address of your organization. Press Enter for a blank field entry if there is no proxy address.
10. At completion, a JSON file (.json) and its capsule binary file (.bin) are created.
11. Copy the .bin file to the USB flash drive.
Results
The flash drive now includes the MAC capsule (Phy.zip) and OOB credentials capsule files.
52 Setting Up the Windows 10 Operating System
OOB service provisioning
About this task
In this task, the user connects the USB flash drive with the capsule files from the host machine, inserts the flash drive to a USB port on the EGW-3200 target board, and updates the MAC capsule and OOB capsule binary files.
Update the MAC capsule
Steps
1. To update the MAC capsule, use the tool (Phy.zip) and update the MAC address under UEFI Shell.
2. Use CapsuleApp.efi to update the MAC capsule under UEFI Shell directly.
Usage: CapsuleApp.efi capsule.out.bin
3. Perform a hard reset by turning the power off and on after updating the MAC address.
Update the OOB credentials capsule
Steps
1. To update the OOB capsule, use CapsuleApp.efi with capsule binary under UEFI Shell directly.
Usage: CapsuleApp.efi OobCapsule.bin
2. Perform a hard reset by turning the power off and on after updating the OOB capsule.
3. At the BIOS menu, select Chipset, as shown in the following figure.
4. Find the OOB Cloud Type, OOB Cloud URL, and OOB Cloud Port information. The OOB feature state and provisioning state should be Enabled, as shown in the following figure.
Figure 53. BIOS menu
Activate OOB commands using Azure
Prerequisites
A device management cloud account is created and the EGW-3200 is successfully provisioned with the OOB credentials to connect to the cloud.
Setting Up the Windows 10 Operating System 53
About this task
In this task, the user sends an OOB command from the Azure IoT Central portal.
Steps
1. After provisioning and connecting the device to the Azure IoT Central portal, the device status changes to provisioned.
2. Click on the device and then navigate to the following for more information:
a. Overview: To view the Device Properties.
Figure 54. Overview
b. Commands: to send OOB power control commands to the device.
3. The OOB service, enabled through the PSE, allows the user to execute the following commands:
Reboot: Reboots platform. Shutdown: Puts the platform in a low power state. Power Up: Brings the platform out of low power state. Decommission: Un-registers the platform, withdrawing the device from remote management using the cloud.
54 Setting Up the Windows 10 Operating System
Figure 55. Commands
4. The user can view the device events and responses under the Events View or Raw data tabs.
Figure 56. Events View
Setting Up the Windows 10 Operating System 55
Figure 57. Raw data
COM Port and Ethernet Names for Mini PCIe Cards Table 6. Mini PCIe card details
S.No mPCie module Isolated COM A (port type)
Isolated COM B (port type)
Remarks
1 EMP2-X4S2 RS422/RS485 RS422/RS485 Total of four COM ports are detected in the Device Manager. However, only two COM ports can be accessed. Assume that the first COM port of EMP2- X4S2 is COM X, as seen in the device manager, then, based on the cable tag:
RS-422 A - COM X
RS-422 B - COM X+1
RS-485 A - COM X+2
RS-485 B - COM X+3
2 EMP2-X2S1 RS232 RS232 Total of two COM ports are detected in the Device Manager. Assume that the first COM port of EMP2-X2S1 is COM X, then, based on the cable tag:
Isolated COM A - COM X
Isolated COM B - COM X+1
For EMP2-X2S1:
Both EMP2-X2S1 and EMP2-X4S2 use the same VID and DID. By default, the EMP2-X2S1 module uses the driver files of the EMP2-X4S2 module, and so the device manager shows four COM ports. To overcome this issue, manually install the EMP2-X2S1 Windows 10 64-bit driver package.
56 Setting Up the Windows 10 Operating System
For EMPL-G2P1 and EMPL-G202:
Get the Ethernet name from Control Panel > Network and Internet > Network Connections, based on the MAC address of the Ethernet ports.
Sensor APIs The sensors of the EGW-3200 use Microsoft default sensor APIs. This section serves as a programming reference of the Win32 API. For more detail, see https://docs.microsoft.com/en-us/windows/win32/api/sensorsapi/.
Table 7. Console application APIs for ADXL345/HDC1010/DPS310
S.No Console application APIs
Description Supported/not supported
1. GetSensorsByType Retrieves a collection containing all sensors associated with the specified type.
Supported
2. GetData Retrieves the most recent sensor data report. Supported
3. GetAt Retrieves the sensor at the specified index in the collection.
Supported
4. GetCategory Retrieves the identifier of the sensor category. Supported
5. GetSensorValue Retrieves a single data field value from the data report. Supported
6. GetSensorValues Retrieves a collection of data field values. Supported
7. GetCount Retrieves the count of sensors in the collection. Supported
8. GetFriendlyName Retrieves the sensor name that is intended to be seen by the user.
Supported
9. GetState Retrieves the current operational state of the sensor. Supported
10. SetEventSink Specifies the interface through which to receive sensor event notifications.
Supported
11. GetSensorByID Retrieves a pointer to the specified sensor. Supported
12. GetProperties Retrieves multiple sensor properties. Supported
13. GetProperty Retrieves a property value. Supported
14. GetSupportedDataFields Retrieves a set of PROPERTYKEYs that represent the data fields the sensor can provide.
Supported
15. SetProperties Specifies sensor properties. Supported
16. Add Adds a sensor to the collection. Supported
17. GetTimestamp Retrieves the time at which the data report was created.
Supported
18. OnDataUpdated Provides sensor event data. Supported
19. OnEvent Provides custom event notifications. Supported
20. OnLeave Provides notification that a sensor device is no longer connected.
Supported
21. OnStateChanged Provides a notification that a sensor state has changed.
Supported
22. GetEventInterest Retrieves the current event interest settings. Supported
23. SetEventInterest Specifies the list of sensor events to receive. Supported
24. SupportsEvent Indicates whether the sensor supports the specified event.
Supported
Setting Up the Windows 10 Operating System 57
Table 8. UWP application APIs for ADXL345/HDC1010/DPS310
S.No UWP application APIs Description Supported/not supported
1. FromIdAsync Asynchronously obtains the sensor from its identifier. Supported
2. GetCurrentReading Gets the current sensor reading.
3. GetDefault Returns the default sensor type.
4. GetDeviceSelector(Guid interfaceId)
Gets the device selector.
Table 9. UWP application sensor events for ADXL345
S.No Event name Supported/not supported
1. Choose accelerometer Supported
2. Data Events
3. Polling
4. OrientationChanged
5. Shake Events Not supporteda, b
6. Data Events Batching
a. The interrupts which can be enabled from the driver side are Single tap, Double tap, Activity, Inactivity, and Free fall (in INT_ENABLE register). The detection of Shake events is not supported.
b. Data Events Batching is not supported due to the fact that the driver does not implement it.
Table 10. UWP application sensor events for DPS310
S.No Event name Supported/not supported
1. Data Events Supported
2. Polling
Table 11. UWP application sensor events for HDC1010
S.No Event name Supported/not supported
1. Data Events Supported
2. Polling
58 Setting Up the Windows 10 Operating System
Setting Up the Ubuntu Operating System This chapter serves as a guide to install and use the Ubuntu 20.04 LTS operating system on the EGW-3200 hardware.
For more information on the Ubuntu 20.04 LTS operating system, see https://releases.ubuntu.com/20.04/.
Topics:
Boot up and log in Create bootable USB stick for factory reset Back up and restore Ubuntu 20.04 LTS Update BIOS capsule Update LiteBMC firmware Update 4G module firmware Update 5G module firmware Ubuntu 20.04 LTS basic functions Isolated Canbus uFM expansion module EMP2-X2S1 card with isolated RS-232 uFM expansion module EMP2-X4S2 card with isolated RS-422/485 uFM expansion module
Boot up and log in
Steps
1. Connect a keyboard, mouse, and monitor to the EGW-3200.
2. Power on the system. The system boots to the Ubuntu 20.04 LTS operating system.
3. Log in to the sysem. At initial login, the user must change the password of the default account.
NOTE: The default username/password is ubuntu/ubuntu.
Create bootable USB stick for factory reset
About this task
Perform this task for recovery of the system.
Steps
1. Install the image. Download the Ubuntu desktop image 21.10 or a newer version from the Canonical website:
https://ubuntu.com/download/desktop
2. To create a bootable USB stick on Ubuntu, perform the steps in the following tutorial:
https://ubuntu.com/tutorials/create-a-usb-stick-on-ubuntu#1-overview
To create a bootable USB stick on Windows, perform the steps in the following tutorial:
https://ubuntu.com/tutorials/create-a-usb-stick-on-windows#1-overview
3
Setting Up the Ubuntu Operating System 59
Back up and restore Ubuntu 20.04 LTS
Steps
1. Prepare two USB sticks as follows:
a. Prepare one USB stick to store the target Ubuntu image. Use the following command to back up your SSD data as an image on the USB stick:
$ sudo dd if=/dev/sdx of=/meida/ubuntu/
b. Prepare another USB stick as Ubuntu Desktop live USB, with the 21.10 or newer version, as detailed in Create bootable USB stick for factory reset on page 59.
2. Use Ubuntu Desktop live USB to boot up the device by BIOS, and then select Try Ubuntu.
Figure 58. Try Ubuntu
3. Clear the target SSD. For secure-erase supported SSD, see SSD security-erase on page 76. Or use the basic clear command:
$ sudo dd if=/dev/zero of=/dev/sdx bs=
4. Plug in the USB stick that contains the backup image file, then open the Ubuntu terminal.
5. Use the following command to flash the backup image from the USB stick to the target SSD.
$ sudo dd if=/media/ubuntu/
NOTE: Typically, the image USB stick is mounted under /media/ubuntu/
mounted as /dev/sdx.
6. When finished, reboot the platform and boot up with the target SSD, and then you can return to your backup environment.
60 Setting Up the Ubuntu Operating System
Update BIOS capsule
Prerequisites
Use the following command to ensure that the fwupd and libjcat1 versions are compatible:
$ apt list --installed | grep -e fwupd -e libjcat1
The fwupd should be v1.7.5 or later, and the libjcat1 should be v0.1.4. If either installed version is lower, use the following command for an Ubuntu OTA update:
$ sudo apt update; sudo apt upgrade
Steps
1. Download the BIOS capsule file from the Dell Technologies Support Site and save it to the USB disk.
2. Boot to Ubuntu and open the terminal. Enter the following command and press y to restart the system after update.
To update with the same version:
$ fwupdmgr install
To update to a newer version:
$ fwupdmgr install
3. The system starts to install the firmware update, as shown in the following figure:
Figure 59. Firmware update
4. Wait for the update to finish, and then the system BIOS updates to the version specified.
Update LiteBMC firmware
Steps
1. Check the LiteBMC firmware version:
$ sudo litebmc-fwupd -d -t
Setting Up the Ubuntu Operating System 61
2. Download the LiteBMC firmware file from the Dell Technologies Support Site and then update. This includes a firmware (.bin) and a public key (.pem):
$ sudo litebmc-fwupd -u
Update 4G module firmware
Prerequisites
Download the driver and tool from the Dell Technologies Support Site, and download the firmware from the following link:
https://source.sierrawireless.com/resources/airprime/minicard/75xx/em_mc75xx-approved-fw-packages/ #sthash.DxsNfHsT.K35MNaDH.dpbs
Steps
1. Unzip and copy the package on your platform with the Ubuntu environment:
$ sudo apt install unzip $ unzip
2. Build the driver and install it:
$ cd MBPL_Drivers_R24_ENG3_qcserial-src $ sudo apt install make gcc $ make clean $ make $ openssl req -new -x509 -newkey rsa:2048 -nodes -days 36500 -outform DER -keyout "MOK.priv" -out "MOK.der" -subj "/CN=$(hostname) module signing key/" $ kmodsign sha512 MOK.priv MOK.der qcserial.ko
$ sudo make install $ sudo mokutil --import MOK.der
3. Enter a password twice:
$ sudo reboot
4. Before the BIOS loads GRUB, the device shows a blue screen called MOK management. Press any key to continue.
62 Setting Up the Ubuntu Operating System
Figure 60. MOK management
5. Select Enroll MOK and follow the menus to finish the enrolling process.
Figure 61. Enroll MOK
Figure 62. Enroll MOK Continue
Setting Up the Ubuntu Operating System 63
Figure 63. Enroll the keys
6. The MOK Management screen prompts for the password that was provided when running mokutil, and then saves the key. Once complete, reboot again.
Figure 64. MOK management Reboot
7. Upgrade the firmware:
$ sudo systemctl stop ModemManager $ cd SampleApps/lite-fw-download/bin
$ sudo ./fwdwl-litehostx86_64 -d /dev/ttyUSB0 -p /dev/cdc-wdm0 -f
Use $ sudo mmcli -m
8. Disable b30, b42, and b48 bands (optional).
64 Setting Up the Ubuntu Operating System
Some regions require operators to disable b30, b42, and b48 bands. The disabled bands are reopened after the firmware upgrade. Use the following commands to disable them again.
$ sudo apt install minicom $ sudo minicom -D /dev/ttyUSB2 $ at!entercnd="A710" $ at!band=0A,"Disable b30 b42 b48",100600000EC00000,000025009A0E19DF,0000000000000002 $ at!band=0A $ at!impref="AUTO-SIM" $ at!reset
Wait for the modem to answer AT commands:
$ at!band?
Confirm the disabled bands:
Update 5G module firmware
Steps
1. Firmware update:
a. Download the mbimcli tool and firmware file from the Dell Technologies Support Site:
$ sudo systemctl stop ModemManager $ tar Jxvf mbimcli.tar.xz $ cd mbimcli $ sudo ./mbimcli -d /dev/cdc-wdm0 --qdu-ota-update=ota.bin
NOTE: The ota.bin is in the Firmware folder.
b. Reboot:
$ reboot
2. Switch carrier:
Setting Up the Ubuntu Operating System 65
a. Run the following command:
$ sudo apt install minicom $ sudo minicom -D /dev/ttyUSB0
b. Check the profile list:
$ at^mcfg=?
c. Select your target, then the modem will auto reset. For example, select T-mobile.
$ at^mcfg=0 $ at^mcfg?
3. Disable b30, b42, and b48 bands (optional).
Some regions require operators to disable b30, b42, and b48 bands. The disabled bands are reopened after the firmware upgrade. Use the following commands to disable them again.
$ sudo apt install minicom $ sudo minicom -D /dev/ttyUSB0 $ at^slband=LTE,1,30,42,48 $ at^slband?
66 Setting Up the Ubuntu Operating System
Ubuntu 20.04 LTS basic functions
System shutdown and restart
Steps
1. Shutdown command:
$ sudo shutdown -h now
2. Reboot command:
$ sudo shutdown -r now
Ubuntu OTA update
About this task
OTA update command:
$ sudo apt update $ sudo apt upgrade
List installed packages
About this task
List installed packages command:
$ apt list --installed
Update the system name
About this task
Update system name command:
$ sudo nmcli general hostname
Change the time zone
About this task
Reference the time and date help information with the following command:
$ sudo timedatectl --help
Setting Up the Ubuntu Operating System 67
Root user credential
About this task
Root user credential command:
$ sudo su -
Create new user
About this task
Add user command:
$ sudo adduser
Select language
Steps
1. Use the following command to select your preferred language, then select .
$ sudo dpkg-reconfigure locales
Figure 65. Configuring locales
2. Select your target language and select again.
68 Setting Up the Ubuntu Operating System
Figure 66. Default locale for system environment
3. Log out and log in, then use the $ locale command to confirm your language settings.
Figure 67. Confirm locale
Display
About this task
Acquire screen output from the D-SUB/DVI/DP ports.
USB
About this task
The Ubuntu OS detects USB devices from the six USB ports on the front I/O panel.
Use the dmesg | grep usb command to check USB devices status.
Configure humidity, pressure, and accelerometer sensors
About this task
Three sensors are ready under the Linux iio interface with specific Linux kernel versions.
NOTE: The humidity and pressure sensors require a kernel version 5.13.0-1011-intel or later.
NOTE: The accelerometer sensor requires a kernel version 5.13.0-1014-intel or later.
NOTE: The x.x.x-10xx-intel kernel is only for the Ubuntu-specific version released by Dell.
Setting Up the Ubuntu Operating System 69
Steps
1. To upgrade the kernel, use the following command:
$ sudo apt update $ sudo apt upgrade $ reboot
2. After rebooting, use the following command to confirm the kernel version:
$ uname -r
3. Use libiio-utils to fetch sensor data:
$ sudo apt install libiio-utils
4. Use iio utility commands to fetch sensor data. For example, use the following command:
$ iio_info
Example
Figure 68. Pressure sensor example
Figure 69. Accelerometer sensor example
70 Setting Up the Ubuntu Operating System
Figure 70. Humidity sensor example
Configure Ethernet
Steps
1. The Ethernet cards function in DHCP client mode by default. Use the $ip addr command to confirm.
NOTE: The Ethernet card names for port1, port2, and port3 are enp3s0, enp0s29f1, and enp0s29f2, respectively.
2. To set up a static IP address, use the following commands:
a. nmcli con down
3. To roll back to dynamic IP by DHCP, use the following commands:
a. nmcli con down
NOTE: port2 and port3 ETH PHY LED have different definitions when the ports are assigned to Ubuntu than when they
are assigned to Intel PSE. Make this selection under the BIOS menu by clicking Chipset > PSE Configuration > GBE0
or GBE1. GBE0 is port2 and the GBE1 is port3. When Host owned with pin muxed is selected, the port is assigned to
Ubuntu.
Setting Up the Ubuntu Operating System 71
Figure 71. BIOS setting
Table 12. LAN LED behavior for both LAN ports
OS LAN controller 1 G/100 MbE 1 G/100 MbE 10 MbE 10 MbE
LED[1] LED[0] LED[1] LED[0]
Ubuntu Linux
LED[1]: 0110
LED[0]: 0001
enp0s29f1 and enp0s29f2
Link: solid green
No-Link: off
No traffic: solid yellow
Traffic: blink yellow
Off No traffic: solid yellow
Traffic: blink yellow
Intel PSE
LED[1]: 0011
LED[0]: 0000
Traffic: blink green
No traffic: off
No traffic: solid yellow
Traffic: blink yellow
Traffic: blink green
No traffic: off
Link: solid yellow
NOTE: The Ubuntu Linux LED behavior requires a kernel version 5.13.0-1014-intel or later.
NOTE: The x.x.x-10xx-intel kernel is only for the Ubuntu-specific version released by Dell.
Configure the WiFi network
About this task
Use the following commands to connect an AP using a WiFi interface (wlp2s0).
Steps
1. Scan APs:
$ nmcli dev wifi list
72 Setting Up the Ubuntu Operating System
2. Create a connection to the target SSID. If the AP requires a password, add a password parameter:
$ sudo nmcli dev wifi connect
3. To disconnect from the target SSID:
$ sudo nmcli con down
Next steps
If required, use the following command to set up a Wi-Fi hotspot using the Wi-Fi interface (wlp2s0).
1. Use nmcli to create the hotspot connection:
$ sudo nmcli dev wifi hotspot ifname
The IF NAME should be the wlp2s0 on EGW3200. The CONNECTION NAME is assigned by the user for management. The SSID is assigned by the user for Wi-Fi client device connection.
2. Use the PASSWORD to connect the Wi-Fi client device to the SSID.
NOTE: To delete the hotspot connection, run the following command:
$ sudo nmcli c delete
Configure Bluetooth
About this task
Use the following commands to power on Bluetooth and scan target devices.
Steps
1. Enter bluetoothctl mode:
$ bluetoothctl
2. Power on Bluetooth:
$ power on
3. Scan Bluetooth devices:
$ scan on
Figure 72. Scan Bluetooth devices
Setting Up the Ubuntu Operating System 73
4. Trust target device by MAC address:
$ trust
5. Pair with target device by MAC address:
$ pair
6. Connect target device by MAC address:
$ connect
7. Disconnect target device by MAC address:
$ disconnect
8. Unpair with target device by MAC address:
$ remove
Connect 4G or 5G WWAN
Steps
1. Insert your USIM card into the SIM 2 slot. Use the following commands to check the modem status:
$ mmcli -L
Figure 73. Check modem status
In this example, the modem number is 0.
$ mmcli -m 0
Figure 74. Modem 0 status
2. If your USIM card requires a PIN code, the Status is locked. Use the following command to enter your PIN code, change the state to registered, and allow the USIM card to access a cell site.
$ sudo mmcli -i
3. Use the following nmcli command to register an auto connection for the target modem and the USIM card:
$ sudo nmcli c add type gsm ifname
Use the following settings: The IF NAME is the primary port of the mmcli modem log.
74 Setting Up the Ubuntu Operating System
The CONNECTION NAME is assigned by the user. The APN NAME must be provided by your USIM card ISP owner.
If the Telecom provider is emome:
$ sudo nmcli c add type gsm ifname cdc-wdm0 con-name cdc-wdm0 apn emome
4. Use the following command to remove auto connection by CONNECTION NAME:
$ sudo nmcli c delete
5. Use the following commands to enable and disable the WWAN service of nmcli:
Enable:
$ nmcli r wwan0 on
Disable:
$ nmcli r wwan0 off
Next steps
If your USIM card is not detected by the 5G modem module, it may be misaligned with the eSIM slot. Perform the following steps to switch to the physical slot (SIM 2).
1. Use the following commands:
$ sudp apt install minicom $ sudo minicom -D /dev/ttyUSB0
2. Use the following AT command to switch the SIM slot:
AT^SWITCH_SLOT=0
NOTE: Value 0: physical USIM slot (SIM 2); Value 1: physical USIM slot (SIM1).
Access GPS
Steps
1. Access the modem console (ttyUSB0) using minicom:
$ sudp apt install minicom $ sudo minicom -D /dev/ttyUSB0
2. Enter the following AT commands to enable the GPS function:
AT+GPS?
Return result of 1 indicates that the modem module supports the GPS function.
AT+GPS=1
If modem feedback is GPS is enabled, module reboot, reboot device one and use the $ sudo minicom -D /dev/ ttyUSB0 command a second time.
3. To access TTFF and CN GPS data, use the following AT commands:
AT^GPS_START=0 AT+GPS_INFO
Setting Up the Ubuntu Operating System 75
Remote login
About this task
The SSH server runs by default on port 22. Use your PC/NB to open a SSH connection (using terminal tools such as PuTTY or MobaXterm) to the EGW-3200. The PC/NB and EGW-3200 share a network connection under a local network.
Set up audio and microphone
Steps
1. Install ALSA utilities:
$ sudo apt install alsa-utils
2. Adjust audio and microphone volume by alsamixer:
$ alsamixer
3. Prepare an audio .wav file and connect to the speaker on the device:
$ aplay xxx.wav
4. Connect to the microphone on the device and start to record audio after entering the following command. Use ctrl + c to stop the recording.
$ arecord xxx.wav
5. To replay the .wav file recording:
$ aplay xxx.wav
SSD security-erase
About this task
CAUTION: Performing this task will permanently swipe the disk content.
Steps
1. Check out your target disk to be mounted as /dev/sdx:
$ sudo lshw
76 Setting Up the Ubuntu Operating System
Figure 75. $ sudo lshw
2. Confirm that the target disk is not frozen. To check:
$ sudo hdparm -I /dev/sdx
Figure 76. Example: target disk is frozen
If the target disk is frozen,
a. Use the following commands to enter the system into standby mode:
$ sudo su - $ echo -n mem > /sys/power/state
The power button LED blinks when the system is in standby mode. b. Press the power button once to wake up the system. c. Use the hdparm command a second time, and status is now not frozen, as shown in the following figure:
Figure 77. Disk not frozen
3. Set up a security password before executing the security-erase:
$ sudo hdparm --user-master u --security-set-pass
Figure 78. Set security password
Setting Up the Ubuntu Operating System 77
4. Run the security-erase command with the password:
$ sudo hdparm --user-master u --security-erase
Figure 79. Security erase
Results
When the security-erase is finished, all data on the /dev/sdx disk is swiped (0x00).
Connect to the serial port
Steps
1. Connect suitable DB9 cables to the device COM ports.
Map COM1 port to /dev/ttyS0. Map COM2 port to /dev/ttyS1.
2. Set the control mode as RS232/RS422/RS485 from the BIOS menu. Map the pins according to the following table:
Table 13. DB9 connector pin definitions
Pin Signal name
RS-232 RS-422 RS-485
1 DCD TXD422 485DATA
2 RXD TXD422+ 485DATA+
3 TXD RXD422+ N/S
4 DTR RXD422- N/S
5 GND N/S N/S
6 DSR N/S N/S
7 RTS N/S N/S
8 CTS N/S N/S
9 RI N/S N/S
3. Execute the following command on two systems, where # is the port number corresponding to the port being used:
$ sudo chmod 777 /dev/ttyS#
4. To test COM port loopback, use the following commands.
a. Data receive command:
$ cat < /dev/ttyS#
b. Data transmit command:
$ echo "test" > /dev/ttyS#
NOTE: The port number (#) must be different between data receive and data transmit.
78 Setting Up the Ubuntu Operating System
Connect to the Canbus
Steps
1. Install the tool:
$ sudo apt install can-utils
2. Enable the Canbus interfaces:
$ sudo ip link set can0 type can bitrate 500000 $ sudo ip link set up can0 $ sudo ip link set can1 type can bitrate 500000
3. Receive can frame from a terminal:
$ candump can1
4. Send can frame from another terminal:
$ cansend can0 123#9995 $ cansend can0 123#9996 $ cansend can0 123#9997 $ cansend can0 123#9998 $ cansend can0 123#9999
Mount USB storage
Steps
1. Plug your USB storage into the device and use the following command to identify the disk as /dev/sdxx:
$ sudo fdisk -l
Figure 80. Identify USB storage
2. Create a directory to be the mount point:
$ mkdir /tmp/storage
Setting Up the Ubuntu Operating System 79
3. Mount storage on /tmp/storage:
$ sudo mount /dev/sdb1 /tmp/storage $ sudo umount /tmp/storage
Figure 81. Mount USB storage
Configure watchdog
Steps
1. Install watchdog service:
$ sudo apt update $ sudo apt install watchdog
2. Edit /etc/default/watchdog:
$ sudo vim /etc/default/watchdog
Edit watchdog_module parameter as below:
#load module before starting watchdog watchdog_module="w83627hf_wdt"
3. Edit /etc/watchdog.conf:
$ sudo vim /etc/watchdog.conf
Ensure that the following parameters exist in the configuration and are not disabled as comment code.
retry-timeout = 60 repair-maximum = 1 watchdog-device = /dev/watchdog interval = 1 logtick = 1 log-dir = /var/log/watchdog realtime = yes priority = 1
Add a new parameter:
# To set the watchdog device timeout, default is 60 seconds watchdog-timeout = 20
4. Reboot the device once, then use the following commands to confirm that the driver and service are working:
$ dmesg | grep -i w83627hf_wdt
Figure 82. View watchdog
$ modinfo w83627hf_wdt
80 Setting Up the Ubuntu Operating System
Figure 83. Watchdog info
$ service watchdog status
Figure 84. Watchdog status
5. To test the watchdog device, force the Linux kernel to crash:
$ sudo sysctl -w kernel.sysrq=1 $ sudo su - $ echo c > /proc/sysrq-trigger
The system hangs and watchdog reboots the system after 20 seconds (if watchdog-timeout = 20).
Configure GPIO
About this task
The EGW-3200 is equipped with six Digital in and six Digital out. To access the registers to read and write to them, perform the following steps.
Steps
1. Run the following command:
$ sudo su -
2. Export GPIO:
$ echo 369 > /sys/class/gpio/export
369 GPIO is USER_LED_1, 370 GPIO is USER_LED_2, and 371 GPIO is USER_LED_3.
Figure 85. Export GPIO
Setting Up the Ubuntu Operating System 81
3. Check the GPIO direction and value using the following commands:
$ cat /sys/class/gpio/gpio369/direction $ cat /sys/class/gpio/gpio369/value
4. Set the GPIO value using the following command:
$ echo {0 or 1} > /sys/class/gpio/gpio369/value
Figure 86. Set GPIO value
Results
The low level triggers the USER_LEDs. When the value is 0, the USER_LED is illuminated, as shown in the following figure.
Figure 87. GPIO USER_LED illuminated
TPM tasks
About this task
If TPM is turned on, the device node (/dev/tpm0) exists.
Figure 88. TPM on
82 Setting Up the Ubuntu Operating System
If TPM is turned off, the device node (/dev/tpm0) does not exist.
Figure 89. TPM off
TPM can be enabled/disabled from the BIOS Advanced menu > TPM 2.0 Configuration > Security Device Support.
Clear TPM
About this task
If a tpm2_clear command fails, use the following command to make the BIOS reset TPM:
$ echo 5 | sudo tee /sys/class/tpm/tpm0/ppi/request $ reboot
Then try the tpm2_clear command again.
List PCR values
About this task
Use the following command:
$ sudo tpm2_pcrread
Results
The tpm2_pcrlist is renamed to tpm2_pcrread.
Get random data by TPM
About this task
Use the following command:
$ sudo tpm2_getrandom -o
For example:
$ sudo tpm2_getrandom -o random.out 20
Get hash by TPM
About this task
Use the following command:
sudo tpm2_hash -g
For example:
$ echo "Dell" > message $ sudo tpm2_hash -g sha1 -o hash.bin message
Setting Up the Ubuntu Operating System 83
Wake events
Trigger Ubuntu OS to enter S3 status
Steps
1. Use the following command:
$ sudo su
2. Use the following command:
$ echo mem > /sys/power/state
3. Use a USB keyboard to enter any key to wake up the Ubuntu OS.
NOTE: Use a physical keyboafd to wake up the system. If the keyboard is on a remote SSH session, the box does not
wake up.
Use RTC as wake event
Steps
1. Use the following command:
$ sudo rtcwake -u -s
2. The
Wake-on-LAN
Steps
1. Make Ubuntu OS of target device enter S3 or S5.
2. Using another Ubuntu OS device that is working under the same local network, use the following commands:
$ sudo apt install wakeonlan $ wakeonlan
For example:
$ wakeonlan 00:30:64:3a:ad:80
Results
The target device is waked up as a result of the WoL function.
Wake-on-WLAN
Steps
1. Use the following command to check the AX210 WiFi card WoWLAN status:
$ iw phy0 wowlan show
84 Setting Up the Ubuntu Operating System
2. If WoWLAN is disabled, use the following command to enable it:
$ sudo iw phy0 wowlan enable magic-packet
3. Use the ifconfig command to make sure your WiFi card (wlp6s0) is connected on a SSID to get an IP address. Record the IP and WiFi MAC address.
4. Use another WiFi client device that is connected to the same SSID and trigger WoL magic packet to wake up the target device. For example, use an Android smart phone to install the WoL tool (https://play.google.com/store/apps/details? id=de.ralischer.wakeonlan&hl=zh_TW&gl=US), then enter the IP and MAC address of the WiFi card of the target device. Trigger the WoL magic packet using the tool to wake up the target device.
Isolated Canbus uFM expansion module
Steps
1. Download the utility tool (EMUC-B202.zip) from the Innodisk official website: EMUC-B202 Driver
2. Unzip the file and copy the driver package onto your platform with the Ubuntu environment.
3. Unzip Linux/EMUC-B202_API_Linux_
$ cd EMUC-B202-W1_CAN_API_V2.3.7_Linux/Loopback_EMUC2 $ sudo chmod +x emuc_64 $ sudo ./emuc_64
Figure 90. EMUC-B202 API
4. Edit the setup.ini file for different test cases, as detailed in the following table.
Table 14. Setup.ini settings
Parameter Settings
COM Port 0 = auto scan (Windows), 1 = auto scan (Linux)
Baud rate 4 = 100K, 5 = 125K, 6 = 250K, 7 = 500K, 8 = 800K, 9 = 1M
Interval 1, 2, ..., 1000 [ms], sending interval between each frame
Test time 0 = once, 1, 2, ..., 60 [min], length of test time
Test file Pattern.txt file includes ID and data used for sending test frames.
Setting Up the Ubuntu Operating System 85
Table 14. Setup.ini settings
Parameter Settings
Log file Log.txt is used for saving the test result.
5. Before starting the test, prepare a special port cable that can jump each pin. Connect cable-A and cable-B as below:
Cable-A-pin2 and cable-B-pin2 are connected using a cable.
Cable-A-pin7 and cable-B-pin7 are connected using a cable.
EMP2-X2S1 card with isolated RS-232 uFM expansion module
About this task
Map the pins according to the following table.
Table 15. RS-232 pin assignment
Signal Pin
CD 1
RXD 2
TXD 3
DTR 4
GND 5
DSR 6
RTS 7
CTS 8
RI 9
The EMP2-X2S1 uFM card supports two RS-232 ports, however there are four ports from the OS, as shown in the red box in the following figure:
Figure 91. RS-232 ports
Use the first two ports, ttyS6 and ttyS7, as shown in the red square in the previous figure, for the RS-232 port function. The test method references the "serial port" section.
86 Setting Up the Ubuntu Operating System
EMP2-X4S2 card with isolated RS-422/485 uFM expansion module
About this task
Map the pins according to the following table.
Table 16. RS-422/485 pin assignment
RS-422 full duplex Pin RS-485 half duplex
- 1 -
TX+ 2 D+
RX+ 3 -
- 4 -
GND 5 GND
- 6 -
RX 7 -
TX 8 D
- 9 -
Steps
1. Download the latest driver (EMP2-X4S2_Linux_driver_
2. Use the following cd commands in the driver directory.
$ sudo apt install make gcc $ sudo make clean $ sudo make $ openssl req -new -x509 -newkey rsa:2048 -nodes -days 36500 -outform DER -keyout "MOK.priv" -out "MOK.der" -subj "/CN=$(hostname) module signing key/" $ kmodsign sha512 MOK.priv MOK.der xr17v35x.ko $ sudo make install $ sudo vim /etc/modules-load.d/modules.conf
3. Add xr17v35x into the file to make Ubuntu auto load this driver during boot up.
$ sudo vim /etc/modules-load.d/modules.conf
4. Add blacklist 8250_exar into the file to make the standard serial port driver not conflict with xr17v35x.
$ sudo vim /etc/modprobe.d/blacklist.conf
NOTE: This step is to roll back the modifications of modules.conf/blacklist.conf by the EMP2-X2S1 driver if you
previously used the EMP2-X2S1 card.
$ sudo mokutil --import MOK.der
Enter your password twice.
$ sudo reboot
While the BIOS loads GRUB, the device displays a blue screen for MokManager. On this screen, perform the following
steps:
a. Select Enroll MOK.
Setting Up the Ubuntu Operating System 87
b. Use the menus to finish the enrolling process.
c. Use the same password used when running mokutil.
d. Save the key.
e. Reboot again.
5. For RS-422, use RS-422 cables with the EMP2-X4S2 card.
For the RS-422 port-to-port test, connect the RS-422-A and RS-422-B as detailed in the following: RS-422-A-pin2 and RS-422-B-pin3 are connected with a cable. RS-422-A-pin3 and RS-422-B-pin2 are connected with a cable. RS-422-A-pin7 and RS-422-B-pin8 are connected with a cable. RS-422-A-pin8 and RS-422-B-pin7 are connected with a cable.
6. After the RS-422 hardware is prepared, open two terminal windows.
For the first terminal window:
$ sudo minicom -D /dev/ttyXR0
For the second terminal window:
$ sudo minicom -D /dev/ttyXR1
Type some words in the first terminal to confirm that you can see the words displayed in the second terminal.
7. For RS-485, use RS-485 cables with the EMP2-X4S2 card.
For the RS-485 port-to-port test, connect the RS-485-A and RS-485-B as detailed in the following: RS-485-A-pin2 and RS-485-B-pin2 are connected with a ca
Related manuals for Dell Edge Gateway 3200 Gateway Software User's Guide
Manualsnet FAQs
If you want to find out how the Edge Gateway 3200 Dell works, you can view and download the Dell Edge Gateway 3200 Gateway Software User's Guide on the Manualsnet website.
Yes, we have the Software User's Guide for Dell Edge Gateway 3200 as well as other Dell manuals. All you need to do is to use our search bar and find the user manual that you are looking for.
The Software User's Guide should include all the details that are needed to use a Dell Edge Gateway 3200. Full manuals and user guide PDFs can be downloaded from Manualsnet.com.
The best way to navigate the Dell Edge Gateway 3200 Gateway Software User's Guide is by checking the Table of Contents at the top of the page where available. This allows you to navigate a manual by jumping to the section you are looking for.
This Dell Edge Gateway 3200 Gateway Software User's Guide consists of sections like Table of Contents, to name a few. For easier navigation, use the Table of Contents in the upper left corner.
You can download Dell Edge Gateway 3200 Gateway Software User's Guide free of charge simply by clicking the “download” button in the upper right corner of any manuals page. This feature allows you to download any manual in a couple of seconds and is generally in PDF format. You can also save a manual for later by adding it to your saved documents in the user profile.
To be able to print Dell Edge Gateway 3200 Gateway Software User's Guide, simply download the document to your computer. Once downloaded, open the PDF file and print the Dell Edge Gateway 3200 Gateway Software User's Guide as you would any other document. This can usually be achieved by clicking on “File” and then “Print” from the menu bar.