# How do I cycle a WiFi transmitter through all modes, for FCC intentional radiator EMC testing?

I'm integrating a WiFi/Bluetooth module into a consumer product, however the module does not have a modular grant, will not have a modular grant, and is anyway getting paired with a unique internal antenna.

Per https://apps.fcc.gov/eas/comments/GetPublishedDocument.html?id=50&tn=916170 (FCC publication 996369 Section 15.212), that means certification as an intentional radiator.

I have also read http://www.emcfastpass.com/rf-modules/ on the benefits of single-modular and limited single-modular certification.

The question is: if I must certify as an intentional radiator, how is the WiFi module cycled through testing modes? My testing lab says we must do low, and mid on each band, plus each modulation mode and speed, for each regulatory region. The permutations are huge:

• Two bands (2.4Ghz and 5Ghz)
• Eight protocols (802.11a, 802.11b, 802.11g, 802.11n, 802.11ac, Bluetooth, BTLE)
• Six modulation techniques (FHSS DSSS OFDM HR-DSSS 256-QUAM CKM) at various data rates from 1 to 54 Mbps.
• Two channel pairings (20 Mhz, 40 Mhz)
• Three regulatory regions (US/Canada, Japan, Europe).

A few of the above are documented at http://www.intel.com/content/www/us/en/support/network-and-i-o/wireless-networking/000005725.html

Perhaps this is why I was quoted $50k and up for the testing, and 12 weeks, with 10 days of lab time at 8 hours of chamber time per day. Is this really what's done? And how are those modes set anyway? I can imagine: 1. Load special software into the Linux driver which runs through test modes. This requires cooperation with the chip vendor (internal chip is Broadcom BCM43341). However, this is not representative of the product in real use. The WiFi driver is not fully under my control, so running software from the module maker may be difficult or impossible. 2. Have a trick Access Point, that can cycle through the modes. Each time have the product connect to the AP and stream data until the test data is collected. The device pre-tests perfectly for unintentional radiation: passing with flying colors, even with an active AP co-resident in the chamber. It's an IoT kind of device, so has no way to hook to a Windows PC for testing. • Is this really what's done? Yes of course, do you have a simpler way ? The modes are set with specially written control software which the developers of the Wifi module will have written. You will not know all the ins-and -outs (like testmodes) that the Wifi chip has but the people who designed it do. So they can and you can't. – Bimpelrekkie Aug 22 '16 at 20:59 •$50k seems about right for full wireless module approval. Is it too late to change the design to use a ready approved / certified module? That's a big chunk of money to save. Two other things to consider. (1) you can spend \$50k having the module tested, but it may fail testing and there's not a lot you can do about it since its not your design. (2) the module manufacture can make it obsolete, meaning that you have to repeat the testing with another module. – Steve G Aug 22 '16 at 21:02
• In this case, the SDK supports only this module. All the module maker will supply is FCC prescan data. – Bryce Aug 22 '16 at 21:21
• @FakeMoustache simpler for me is if the access point sets each mode, and the unmodified DUT connects at that mode. I can arrange for the DUT to send transact boatloads of data each time it connects.... – Bryce Aug 22 '16 at 21:24
• @MarcusMüller in normal operation the device connects to an access point. In test conditions, I can bring an access point into the chamber. Testing with a bare transmitter (no actual data connection) does not exercise the entire radio chain. – Bryce Aug 22 '16 at 21:40

In my experience, the WiFi module supplier will have programmed test modes into the module that support the testing that is required for product certification. Hopefully your supplier has done so as well.

The problem I've seen is that the documentation for these modes is not publicly available, so we have to call and establish an engineering relationship to get it. Often times it is not as stable as we'd like (meaning: we've seen "undocumented features" in test modes).

My group had to hound a very large and well known silicon manufacturer to get their certification documentation (which we found was incomplete and nudged them to get it up to date) and information on how the test API worked. Once we got it, we wrote custom test software packages to set up the proper transmission for the proper test.

We included a user interface since fiddling with software configurations at a test lab is the wrong place to be doing that - better to make it quick, easy and foolproof.

When we started with WiFi modules, we thought that it was super easy - simply put the module into the product and use it in the way that it was certified by the manufacturer, put their FCC ID on the sticker and done. Not so. WiFi module manufacturers may not certify to all product applications - or in fact only a few generic ones - and so you may find yourself having to go to the lab for a wireless cert because you put it in a product whose application didn't conform to the FCC cert the module manufacturer did.

• I've been hounding the module maker. The big problem is the test software does not match my environment, so I have to make a test jig just to do the certification run. It all seems so much busy work. And if it fails I have no ability to fix the issue. I don't make the antenna, the connector, the module, the chipset, the driver OR the test software. – Bryce Aug 23 '16 at 18:39

In the end, the module maker supplied fw_bcm43341b0_ag_mfg.bin , a Broadcom test firmware, which could be controlled by Linux commands such as:

wl down
wl band b
wl mpc 0
wl nrate -r 11
wl rateset 11b
wl country ALL
wl up
wl channel 1
wl scansuppress 1
wl txpwr1 -1
wl phy_forcecal 1
wl pkteng_start 00:11:22:33:44:55 tx 100 1000 0


It was... very... tedious...

• A PITA, right? Welcome to WiFi cert. :) Hey, at least they got you a test software with API. Imagine life without it. – Smith Jul 10 '17 at 22:47