PERASO PRM2141X 60GHz mmWave Module Instruction Manual
- June 10, 2024
- PERASO
Table of Contents
PERASO PRM2141X 60GHz mmWave Module
Product Information
The PRM2141X is a complete USB 3.0 to WiGig module designed for long range, outdoor applications. It features the Peraso X720 802.11ad 60 GHz phased array chipset, which includes a baseband processor and a high-power mmWave beamforming transceiver RFIC.
Product Usage Instructions
Follow the steps below to use the PRM2141X module:
Step 1: RF Configuration
Configure the RF parameters and tuning by following the steps below:
- Access the RF parameters and tuning settings.
- Adjust the settings as required.
Step 2: Driver Installation
Install the driver by following the steps below:
- Load the Peraso driver.
- To remove the driver, follow the instructions provided in the manual.
Step 3: Configuration Tools
Use the vendor ID with the adapter and configuration utility prs_serial by following the instructions provided in the manual.
Step 4: Appendix
Refer to the appendix for module parameter settings and trace features.
Introduction
- This manual provides the basic operating instructions for the PRM2141X-V-EGx ( x = versions S, F and N). These instructions include the steps required for software driver initialization, tuning, and normal operation.
- The PRM2141X is a complete USB 3.0 to WiGig module with advanced features for long range, outdoor applications. It utilizes the Peraso X720 802.11ad 60 GHz phased array chipset which includes a baseband processor and a high-power mmWave beamforming transceiver RFIC.
- The PRM2141X incorporates a 16-element phased array antenna which can be used with or without a dish reflector. The antenna is integrated into the PCB and provides uniform performance over the entire unlicensed 802.11ad and 802.11ay “WiGig” band from 57 to 71 GHz.
Module Operation
- The PRM2141X module is controlled by the software driver which must be installed on the host operating system. The module will be recognized and configured as a wireless adapter.
- The module may be configured as an Access Point (AP) or as a Station (STA).
RF Configuration
RF Parameters
- The only RF parameter that needs to be set during normal operation is the Channel for the defined SSID. The SSID name and channel are defined on the Access Point.
- STA devices will automatically scan channels to find the defined SSID for association.
- See 2.3.4 and 2.3.5 to see command string required to set channel and SSID.
RF Tuning
- The PRM2141X does not require any tuning or calibration for normal operation.
- All RF maintenance functions, such as temperature compensation for power, LO leakage and frequency stability are done automatically by the module-embedded control and without host-level interaction.
Driver Installation
Loading Driver
- The following outlines the steps for loading the Peraso driver module on a Linux operating system.
- Before loading Peraso driver module, ensure that the wireless regulatory domain is configured and set to US: sudo iw reg set US
- note: The regulatory domain controls the allowed channels for a given country.
- Load Peraso driver module provided as part of the software package deliverable: sudo depmod -a sudo modprobe prs_falcon
- This command adds the loadable and persistent (i.e. the driver settings will not change when the device is removed or inserted) Peraso driver kernel module to the Linux kernel.
- param_settings is optional and is in the form of
= . Multiple parameters can be set by simply separating each setting with a space. See Section 5.1 in the Appendix for all the available module parameter settings. - Peraso Inc.
- 3905 Bering Dr. San Jose, CA
- note: A preferred method of configuring parameter settings is by modifying the parameters within the configuration file as shown in 3.2.1.
- (OPTIONAL) Check that driver was successfully loaded: lsmod | grep prs_falcon (OPTIONAL) To get the driver logs, issue the following command: dmesg -T
Removing Peraso driver
- Similar to loading the driver, modprobe can also be used to remove driver: sudo modprobe -rv prs_falcon
- note: Modules are not automatically removed when the Peraso wireless device is unplugged or reset.
Driver Configuration
Setting Driver Parameters
- To set driver module parameters, edit (or create) the configuration file: /etc/modprobe.d/prs_falcon.conf.
- In this file, you can set module parameters by adding a line like the following: options prs_falcon
= - Here is an example of a commonly used module parameter: options prs_falcon PRS_TRACE_FEATURES=538
- Note: The driver must be removed (if it was already loaded), for the new settings to take effect.
Getting Wireless Interface Name
- The interface_name can be obtained using the command: ip addr
- This will list all the interfaces and their relevant information.
- Each wireless interface is denoted as wlanX (or wlX), where X is the interface number assigned by the operating system. The adapter with the MAC address of 20:ce:c4:##:##:##, where the last 6 hexadecimal digits are variable, is the Peraso wireless adapter.
Setting Adapter IP Address
-
An IP address can be configured for each node by using the following command: ifconfig
netmask up
An example of setting the adapter IP address is: sudo ifconfig wlan0 10.10.10.100 netmask 255.0.0.0 up -
note: replace “wlan0” with the actual interface name (may be in the form wlx20cec4###### as mentioned above)
-
If setting up a link between two adapters, repeat the steps above for the second adapter, giving it a different
(eg 10.10.10.101)
Setting up Access Point
- The service hostapd is used to configure the role of an Access Point (AP). This can be achieved by setting up a configuration file that the hostapd will invoke using the parameters in the file.
- The following example shows a hostapd configuration file ‘hostapd. conf’ for a non-secure (open) link named clean-link’ #example content of hostapd.conf file driver=nl80211 interface=wlan0 ctrl_interface=/var/run/hostapd
- ssid=clear-link
- channel=2
- hw_mode=ad
- country_code=US
- ctrl_interface_group=0
- note: replace “wlan0” with the actual interface name (may be in the form wlx20cec4###### as mentioned above)
- After creating the hostapd.conf file, hostapd is launched by using the following command from the same directory: sudo hostapd -dddd -g /var/run/hostapd/global hostapd.conf
- At this point the adapter should be sending beacons and waiting for a connection. You may see a bunch of output to the terminal from time to time. To futher interact with the adapter (eg to check or set MIBs using prs_serial) and/or network (eg to run traffic using iperf or to ping) it is suggested to open up more terminals on the host.
Setting up Station
-
The service wpa_supplicant is used to configure the role of a Station (STA). This can be achieved by setting up a configuration file that the wpa_supplicant will invoke using the parameters in the file.
-
The following example shows a wpa_supplicant file ‘wpa.conf’ for a non-secure (open) link named ‘clear-link’ #example content of wpa.conf file ctrl_interface=/var/run/wpa_supplicant network={ ssid=”clear-link” frequency=60480 scan_ssid=1 key_mgmt=NONE }
-
After creating the wpa.conf file, wpa_supplicant is launched by using the following command from the same directory: wpa_supplicant -D
-i -c
For example: sudo wpa_supplicant -Dnl80211 -iwlan0 -c wpa.conf -
note: replace “wlan0” with the actual interface name (may be in the form wlx20cec4###### as mentioned above)
-
At this point, the station should connect to the network based on the parameters in hostapd.conf and wpa.conf on the two hosts. You should be able to ping or run traffic from one host to the other using the IPaddresses specified (eg 10.10.10.100 and 10.10.10.101 based on examples above).
-
note: to ensure that there is no conflict with a Wi-Fi network on the laptop, you should disable the Network Manager by issuing the following commands: sudo systemctl stop NetworkManager.service sudo systemctl disable NetworkManager.service
-
2.3.6 Connections for Secure Link
The procedure to establish secure link is similar to that of a non-secure link.
User creates hostapd and wpa_supplicant configure files with the secure information, then use the same procedure above to start the hostapd and wpa_supplication.
The example below shows a pair of configuration for secure link.
The following example shows a hostapd configuration file ‘hostapd-secure. conf’ for a secure link named secure link #example content of hostapd- secure.conf file -
driver=nl80211
-
interface=wlan4
-
ctrl_interface=/var/run/hostapd
-
ssid=secure-link
-
channel=2
-
hw_mode=ad
-
country_code=US
-
auth_algs=1
-
num_of_ptksa_replay_counters=3
-
num_of_gtksa_replay_counters=3
-
wpa=2
-
wpa_key_mgmt=WPA-PSK
-
wpa_pairwise=GCMP
-
wpa_group_rekey=0
-
wpa_passphrase=12345678
-
The following example shows a wpa_supplicant configuration file ‘WPA-secure. conf’ for a secure link named ‘secure-link’ #example content of WPA-secure.conf file ctrl_interface=/var/run/wpa_supplicant num_of_ptksa_replay_counters=3 num_of_gtksa_replay_counters=3 network={ ssid=”secure-link” frequency=60480 scan_ssid=1 key_mgmt=WPA-PSK proto=WPA2 pairwise=GCMP group=GCMP psk=”12345678″
Configuration tools
Using vendor ID with the Adapter
- Configure the Adapter from the user space would be using Vendor through the hostapd or wpa_supplicant. Please obtain document from Peraso for list of supported Vendor commands.
Configuration utility prs_serial
- The prs_serial utility provides the ability to send CLI commands and receive a response. The CLI allows for low-level query and control of the MAC firmware.
Building prs_serial utility on Linux
- The Peraso utility source is delivered as part of the official software release package. A user must compile and build the prs_serial executable. This can be achieved by executing the following command from the terminal. # cd prs_serial/src # make
- If successful, the prs_serial executable can then be used to configure the supported CLI commands. The syntax for using the utility is shown below: # ./prs_serial “
” - An example of a prs_serial to set MIB is shown below: # ./prs_serial “mib q b 11-1-1-1”
- Note if the preceding command does not return any output, try using sudo.
- By default prs_serial talks to /dev/ttyACM0.
Flash Utility
- The peraso_download_flashutility is used to burn the firmware image, one-time programming (OTP) and/or configuration database sections to an attached flash memory. The utility uses Falcon CLI protocol over a serial connection to write to the flash. Additional instructions are provided in a help menu text when running the utility.
- Example of updating the image on the flash: # prs_download_flash -i image.bin
Appendix
Module Parameter Settings
The table below outlines all the driver module parameters that can be
configured via a configuration file or passed as argument to the modprobe
command when loading driver.
Table 4-1: Peraso driver configuration parameters
Parameter | Descriptions | Default |
---|---|---|
PRS_DRIVER_MODE | The driver operation mode 0 – Normal operation | 0 |
___PRS_DEVICEMODE | The Station Mode type: 0 – PCP |
1 – STA
2 – Discovery
| __
__
2
___PRS_AMSDUTYPE| Enables A-MSDU feature in the driver 0 – A-MSDU disabled
1 – Basic A-MSDU enabled 2 – Short A-MSDU enabled
| __
0
_PRS_MAX_AMSDU_SIZEBYTES| Maximum AMSDU size in bytes| 7935
_PRS_ENABLED_CHANNELSMASK| The enabled channels mask 0x1 – Channel 1
enabled 0x2 – Channel 2 enabled 0x4 – Channel 3 enabled 0x8 – Channel 4
enabled|
__
0x2
_PRS_ACTIVE_CHANNEL_SCAN_TIMETU| The active channel scan time in TU| 2000
_PRS_PASSIVE_CHANNEL_SCAN_TIMETU| The passive channel scan time in TU|
2000
_PRS_PROBE_DELAYUS| Delay in microseconds to be used by STA prior to
transmitting a probe frame.| 0
_PRS_PBSSSSID| The specific or broadcast SSID. Maximum of 32 bytes
length.| PerasoWiGig
_PRS_MAX_STA_TABLEENTRIES| Maximum number of station table entries
maintained| 4
_PRS_MAX_STA_TABLE_LIFE_TIMESEC| Maximum life time of station table
entries.| 29
_PRS_ASSOC_FAILURE_TIMEOUTUS| Association failure timeout microseconds.|
3000
_PRS_TRACEFEATURES| Bitmask of tracing features that can be enabled when
debug compile enabled.| 0
_PRS_ENCRYPTIONMODE| Enables encryption feature| 0
| 0– Encryption disabled
1– Encryption enabled
|
---|---|---
****_PRS_MAX_LOSTBEACONS| Specifies the maximum number of allowed lost
beacons
0 – Device automatically chooses max lost beacons
1-32 – Valid values for the max lost beacons
255 – The maximum number of lost beacons is infinite – Feature disabled
| ****
0
_PRS_MAX_BSS_IDLEPERIOD| Specifies the maximum allowable idle period in ms 0 – The maximum idle period is infinite – Feature is disabled|
3200
_PRS_TXCOMPLETE| Enables TX status notification| 0
_PRS_NETWORKADDRESS| Mechanism to override device’s MAC Address|
_PRS_ACK_TIMEOUTUS| Configures the ACK Timeout in the system| 8
Trace Features
Table 4-2 defines the bit masks for enabling the logging in the driver for the application functionalities.
Table 4-2: Bitmask for trace features in driver
Bit | Trace Feature Code | Default |
---|---|---|
0 | FUNCTION | 0 |
1 | SCAN | 0 |
2 | STATION | 0 |
3 | CONNECT | 0 |
4 | MIB | 0 |
5 | TX_DATA | 0 |
6 | RX_DATA | 0 |
7 | PACKET | 0 |
8 | ETHER_SETUP | 0 |
9 | DRIVER_INIT | 0 |
10 | VIF | 0 |
Bit | Trace Feature Code | Default |
--- | --- | --- |
11 | NOTIF | 0 |
12 | CONTROL | 0 |
13 | USB | 0 |
14 | URB | 0 |
15 | SIM | 0 |
16 | FLOW | 0 |
17 | STATS | 0 |
18 | MEM | 0 |
19 | NETLINK | 0 |
20 | TX-STATUS | 0 |
21-31 | Reserved | 0 |
- Peraso Inc.
- 3905 Bering Dr. San Jose, CA www.perasotech.com
- © 2022 Peraso Inc. All Rights Reserved
References
Read User Manual Online (PDF format)
Read User Manual Online (PDF format) >>