Using the tool
To run iotr-fcc, just enter iotr-fcc from the command prompt. This will replace the command line interface with a simple menu system as in Figure 3. You can arrow up and down and select commands with the arrow keys or use linux keyboard mapping with the j key as “down” and k key as “up”.
Right mouse click will paste what is in the copy buffer. You can use this to easily paste long arguments, such as your Milli device IPv6 address or MAC ID, or other commands that prompt for additional user input.
Figure 3: Iotr-fcc Startup Screen
The iotr-fcc tool has two main menus, which are the FCC Menu and Configuration Menu. The former contains commands to facilitate FCC compliance testing whereas the later contains commands to configure the IOTR.
Available commands in the iotr-fcc tool Configuration Menu
» Check Network ID | » Set Network ID |
» Set Network ID | » Display Node Queue Milli |
» Check Pan ID | » Aggressive Milli Discovery |
» Set Pan ID | » Check Country Code |
» Check Mac State | » Set Mac State |
» Check Time | » Check RF Power Setting |
» Set Time | » Display Node Queue Zero |
» Restart NIC | » Direct Milli Discovery |
Check Network ID and Check Pan ID are useful commands for verifying the IOTR’s configured network ID and PAN (personal area network) ID values respectively. These should be the default values in the HDKs that do not need to be changed. If changes are necessary, the Set Network ID and Set Pan ID are available to change the Network ID and PAN ID. After changing either of these values, or after changing the MAC state of the IOTR, the IOTR must be reset with the Restart NIC command. The Check MAC State command should show a value of 1, indicating the IOTR’s Milli interface is enabled.
Figure 4: Check Network ID Output
The Check Time command displays the current local time on the IoTR. If not set the time will default to the Unix epoch of 01/01/1970. The time must be set to successfully communicate with the milli. This is done using the Set Time command, but this is only required if the IoTR is in Edge mode as if it is operating in WAN mode its time will be set from the WAN network. The Get RF Power Setting command outputs the current power setting of the IOTR’s mesh radio and will vary by country. The current country the IoTR is set to can be retrieved using the Check Country Code command as in Figure 5.
Figure 5: Check Code Code Output
The Display Node Queue (Milli) command lists the Milli devices that are seen by the IOTR. The output of Display Node Queue (Milli) is shown below in Figure 6. Note that the Milli is identified by its MAC address in this output. Appearing in the IOTR’s Node Queue confirms RF connectivity to a Milli device but does not necessarily imply that the Milli has completed network registration and received an IPv6 address yet. Make note of the last 4 hex characters in your Milli device’s MAC address (db:91 below). This is the easiest way to identify a particular Milli. On a Milli device, the MAC address appears on the printed label on the radio module.
Figure 6: Display Node Queue (Milli) Output
If the IoTR is operating in Edge mode it may be necessary to discover the milli, this is done using the Direct Milli Discovery command as in Figure 7. The user is required to enter the MAC address of the milli without colons.
Figure 7: Direct Milli Discovery Output
FCC Menu
As discussed above, the commands to facilitate FCC compliance testing are contained in the FCC Menu, which is shown in Figure 8 below.
Figure 8: FCC Menu
The Continuously Ping a Milli and Continuously List Certificates on a Milli are designed to support the following FCC Tests:
- 20dB and 99% Bandwidth
- Number of Channels
- Channel Spacing
- Dwell Time and Channel Occupancy
These tests require the milli to transmit in its normal operating mode (that is frequency hopping over all the available channels), but at a rate that would be more intensive than normal while a spectrum analyzer is used to perform the required measurements. Figure 9 contains a screen shot of the Continuously Ping a Milli command in operation.
Figure 9: Continuously Ping a Milli Output
The Continuously Ping a Milli command initiates a continuous ICMP IPv6 ping of a Milli’s link-local address. The user is requested to enter this address followed by a delay in seconds. The link-local address is fe80:: followed by the MAC address of the milli, with the first octet replaced with a 2. As an example, if the Milli’s MAC address is 00135050050047db91 the corresponding link-local address would be: fe80::213:5005:47:db91. The delay is the time between consecutive pings. This continuous pinging can be terminated at any time by pressing the Enter key. Figure 10 contains a screen shot of the Continuously List Certificates on a Milli command in operation.
Figure 10: Continuously List Certificates on a Milli Output
The Continuously List Certificates on a Milli is a continuous request for the milli to respond with a list of its certificates owned. It is the only command that is available that does not require a secure association to be formed with the Milli. Once again, the user is required to enter the link-local IPv6 address of the Milli followed by a delay in seconds. However, in this case the delay is the time that the tool will wait between each successive request and response. If no response is received after 180 seconds another request will be sent. The command can be terminated at any time by pressing the Enter key.
The Select Milli Image/Mode to Run command is used to switch the Milli’s running firmware between the standard Production and Hardware (HW) Test modes. The Milli must be in the HW Test mode to perform the following tests:
- Conducted Output Power
- Conducted Spurious Emissions
- Conducted Band Edge Emissions
- Radiated Spurious Emissions
- Radiated Band Edge Emissions
- Radiated Emissions for Receivers
The first five of these above tests require the Milli to transmit modulated data but on a single fixed frequency. The last test requires the Milli to be in receive only mode. In order to switch between the different modes, the IOTR must be directly connected to the Milli’s debug port. This can be done using a USB to TTL RS232 cable, such as the FTDI Chip TTL-232R-RPi, connected between one of the IOTR’s USB ports and the Milli’s debug port. Figure 11 contains a screen shot of the user selecting the Select Milli Image/Mode to Run command.
Figure 11: Select Milli Image/Mode to Run Output Showing the Available Modes
The two relevant modes are HW Test Mode and Production Mode. The latter is the standard operating mode. Whereas the former contains the commands that allow the user to switch the Milli into continuous transmit mode or to disable the transmitter entirely. Selecting the HW Test Mode presents the user with the screen as in Figure 12.
Figure 12 Select Milli Image/Mode to Run Output Prompting the User to Short the Milli’s Reset Pins
Once the words “Reset mNIC now…” appear the user needs to short the reset pins on the Milli which will result in the Milli changing modes as in Figure 13.
Figure 13: Select Milli Image/Mode to Run Output Once the Milli has Changed to HW Test Mode
Note that in Figure 13 the menu items have changed to reflect the commands that can be performed in the HW Test Mode. Once testing has been completed and to resume normal Milli operations the user must return the Milli back to the Production Mode.
The Set Continuous Transmission command allows the user to Enable or to Disable the Milli from continuously transmitting on a single channel. Figure 14 contains the output of the Set Continuous Transmission Enable command where the user has selected the Enable option.
Figure 14: Set Continuous Transmission Enable Output
On Enable the default frequency is 902.2MHz. This frequency can be changed, within the range of 902-928MHz, using the Set Frequency command as shown in Figure 15. In the USA the Milli uses 186 equally spaced 200kHz channels.
Figure 15 Set Frequency Output
Once testing has been completed the user must Disable continuous transmission as shown in Figure 16.
Figure 16: Set Continuous Transmission Disable Output
The Set Receive Only Mode command allows the user to Enable or to Disable receive only mode. In the receive only mode the transmitter is completely disabled. Figure 17 contains the output of the Set Receive Only Mode command where the user has selected the Enable option.
Figure 17: Set Continuous Transmission Enable Output
Once testing has been completed the user must Disable continuous reception as shown in Figure 18.
Figure 18: Set Receive Only Mode Disable Output
Steps to Manage the IOTR-FCC Snap
1. To un-install a previous version prior to installing a new version:
sudo snap remove iotr-fcc
2. To install a new version of iotr-tools:
scp snap to /home/dev directory (WinSCP is a free, downloadable, easy-to-use application for your laptop)
sudo snap install --dangerous --devmode iotr-fcc_1.0.0_armhf.snap
3. To list available snaps on the IOTR:
snap list
Relevant FCC Requirements
To provide further details on the relevant FCC requirements, the following table provides additional guidance for partners:
No. |
FCC Test |
Test Configuration Type |
Applicable FCC CFR (see table below) |
Test Description |
Milli Test Preparation instructions |
---|---|---|---|---|---|
1
|
20dB and 99% Bandwidth Measurement |
Conducted RF Emission Testing |
15.247(a)(1)(i) |
Measure the 20dB and 99% bandwidth by connecting a spectrum analyzer the antenna port, while the EUT (Milli) is transmitting on the lowest, middle and highest channel. |
|
2
|
Frequency Hopping: Number of Hopping Channels |
Conducted RF Emission Testing |
15.247(a)(1)(i) |
Measure the number of channels used by connecting a spectrum analyzer (set to observe the 902-928 MHz frequency bands) to the antenna port, while the EUT (Milli) is hopping through and transmitting on all channels used by the device. |
See Test 1 |
3
|
Frequency Hopping: Channel Spacing |
Conducted RF Emission Testing |
15.247(a)(1)(i) |
Measure channel spacing by connecting the spectrum analyzer (set to observe the 902-928 MHz frequency bands) to the antenna port, while the EUT (Milli) is hopping through and transmitting on all channels used by the device. |
See Test 1 |
4
|
Frequency Hopping: Dwell Time and Channel Occupancy |
Conducted RF Emission Testing |
15.247(a)(1)(i) |
Measure dwell time and channel occupancy by connecting a spectrum analyzer to the antenna port, while the EUT (Milli) is hopping through and trasnmitting on all the channels used by the device. Configure the spectrum analyzer to use zero span mode, set the spectrum analyzer frequency to the center frequency of the channel you need to measure and set the resolution bandwidth to 20dB. Measure the time spent on the channel being monitored. |
See Test 1 |
5
|
Conducted Output Power |
Conducted RF Emission Testing |
15.247(b)(2), 15.247(b)(3) |
Enable the Milli to continuously transmit modulated data on the lowest, middle and highest channels at 100% duty cycle.
|
|
6
|
Emissions: Conducted Unwanted Spurious Emissions |
Conducted RF Emission Testing |
15.247(d) |
Enable the Milli to continuously transmit modulated data on the lowest, middle and highest channels at 100% duty cycle. |
See Test 5 |
7
|
Emissions: Conducted Band Edge Emissions |
Conducted RF Emission Testing |
15.247(d) |
Enable the Milli to continuously transmit modulated data on the lowest, middle and highest channels at 100% duty cycle. |
See Test 5 |
8
|
Power Spectral Density |
Conducted RF Emission Testing |
15.247(e) |
Calculate Power Spectral Density based on the results of Conducted Output Power Test (output power, antenna gain and duty cycle). |
N/A |
9
|
Emissions: Radiated Spurious and Restricted Band Emissions |
Radiated Emission Testing |
15.205, 15.209 |
Perform this test in a in an anechoic chamber with the receive antenna at 3 meter distance on every azimuth in both horizontal and vertical polarities. |
See Test 5 |
10
|
Emissions: Radiated Digital Emissions for Receivers |
Digital Emission Testing |
15.209 |
Perform this test in a in an anechoic chamber with the receive antenna at 3 meter distance on every azimuth in both horizontal and vertical polarities. |
|
Over the Air (OTA) Test Setup
- For Over The Air (OTA) tests, the general idea is to issue commands wirelessly and repeatedly from an IOTR to the Milli (EUT) to force the Milli to continuously transmit data while hopping through various frequency channels.
- In order for this to work the following prerequisites must be met:
- IOTR is provisioned and operational and must have the correct time
- The IOTR is preloaded with iotr-fcc snap tool. Refer to the Milli FCC Compliance Tool page on Dev Portal for installation instructions.
- Both the Milli and the IOTR are configured with the same country code (e.g. 840 or USA), network ID (e.g. 1711) and PanID (e.g. 0). Refer to the Milli personalization page on Dev Portal for instructions.
- Milli is personalized with "leaf node aggressive (dev kit)" profile and running production mode / image. Refer to the Milli personalization page on Dev Portal for instructions.
- The IOTR can be accessed via two methods:
- Via hooking up a HDMI monitor and a USB keyboard to the IOTR. The user can then log on locally using "dev" as the username and "starfish" as the password.
- Via connecting the IOTR to a Windows Laptop with an Ethernet cable. The user can then ssh (e.g. using Putty as a client) to the IOTR and log in remotely using "dev" as username and "starfish" as password
Wired Test
-
For wired tests, the general idea is to boot Milli (EUT) up in HW Test mode / image and issue commands to instruct the Milli to transmit at a particular modulated frequency channel or to enter listener mode.
-
In order for this to work the following prerequisites must be met:
-
IOTR is provisioned and operational and must have the correct time
-
The IOTR is preloaded with iotr-fcc snap tool. Refer to the Milli FCC Compliance Tool page on Dev Portal for installation instructions.
-
Both the Milli and the IOTR are configured with the same country code (e.g. 840 or USA), network ID (e.g. 1711) and PanID (e.g. 0). Refer to the Milli personalization page on Dev Portal for instructions.
-
Milli is personalized with "leaf node aggressive (dev kit)" profile and running production image. Refer to the Milli personalization page on Dev Portal for instructions.
-
The Milli (EUT) needs to have its test UART port exposed so that it can be connected to an IOTR via a USB-TTL cable
-
-
The IOTR can be accessed via two methods:
-
Via hooking up a HDMI monitor and a USB keyboard to the IOTR. The user can then log on locally using "dev" as the username and "starfish" as the password.
-
Via connecting the IOTR to a Windows Laptop with an Ethernet cable. The user can then ssh (e.g. using Putty as a client) to the IOTR and log in remotely using "dev" as username and "starfish" as password.
-
-
Connect the milli (EUT) via USB-TTL cable to a free USB port on the IOTR
-
To boot the Milli up to run the HW Test image (mode), launch the iotr-fcc snap from the IOTR command prompt by using the following command:
iotr-fcc " -
Select the FCC Menu and use the ""Select Image/Mode"" command to put the Milli in ""HW Test Mode""
Short the reset pins on the Milli to reboot it when prompted" -
To interact with Milli in HW Test mode, select one of the following options as appropriate:
-
Set Continuous Transmission
-
Set Frequency
-
Set Receive Only Mode
Please refer to the fcc-iotr user guide for more detailed description of each of these operations."
-
-
Remember to return the Milli to production mode (image) after testing is completed by using the ""Select Image/Mode"" command to select ""Production Mode""
Short the reset pins on the Milli to reboot it when prompted"
Applicable FCC CFR
FCC CFR |
Description |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
15.247(a)(1)(i) |
§15.247 Operation within the bands 902-928 MHz, 2400-2483.5 MHz, and 5725-5850 MHz.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
15.247(b)(2), |
§15.247 Operation within the bands 902-928 MHz, 2400-2483.5 MHz, and 5725-5850 MHz.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
15.247(d) |
§15.247 Operation within the bands 902-928 MHz, 2400-2483.5 MHz, and 5725-5850 MHz.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
15.247(e) |
§15.247 Operation within the bands 902-928 MHz, 2400-2483.5 MHz, and 5725-5850 MHz.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
15.205 |
§15.205 Restricted bands of operation.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
15.209 |
§15.209 Radiated emission limits; general requirements.
|