AzureWave-logo

AzureWave AW-CB375NF Bluetooth 5.0 Combo ModuleAzureWave-AW-CB375NF-Bluetooth-5.0-Combo-Module-image

System Setup

Hardware Requirements

  • AW-CB375NF Module test board(M2 2230)
  • The host system need to run the Linux operating system (Ubuntu14.04 or later)
    Note: below is using OS Ubuntu 16.04.1 (x64) kernel 4.10 for example
  • Vector Signal Analyzer/WLAN analyzer for transmitting measurements.
  • LLAN signal generator for receiver measurements.
  • RF isolation chamber for receiving measurements.
  • RF attenuators
  • RF cableAzureWave-AW-CB375NF-Bluetooth-5.0-Combo-Module-fig-1

Software Requirements (WiFi)

Note: Use sudoku for root authentication with the following command. You may need to unlock permissions if you need them. (Ex: chmod 777).

  • Unzip Driver source folder
    • # unzip RTL8822CE_WiFi_linux_v5.7.3_35403_COEX20190531-0e0e.20191028.7z (Wi-Fi normal driver files)
  • Change to the driver source code directory
    • # cd -xvzf RTL8822CE_WiFi_linux_v5.7.3_35403_COEX20190531-0e0e.20191028.tar.gz
    • # cd RTL8822CE_WiFi_linux_v5.7.3_35403_COEX20190531-0e0e.20191028
    • # make
      If nothing goes wrong, the driver “8xxx.ko” will be generated.
    • # insmod 88x2cs.ko // Setup WiFi driver

Note: If you need below command can reference that.

  • # rmmod 88x2cs.ko  // Remove WiFi driver
  • # make clean   // Clean 88x2cs.ko and related files

Software Requirements (BT)

Note: Use sudo su for root authentication with following command. You may need unlock permissions if you need. (Ex: chmod 777).

  • Untar Driver source folder
    • # tar -xvzf Linux_BT_USB_v3.10_20191119_8822CU_BTCOEX_20190927-1313.tgz (BT normal driver files)
  • Change to the driver source code directory
    • # cd Linux_BT_USB_v3.10_20191119_8822CU_BTCOEX_20190927
    • # cd Bluetooth_usb_driver
    • # make

If nothing goes wrong, the driver “rtk_btusb.ko” will be generated.

  • # insmod rtk_btusb.ko // Setup BT driver

Note: If you need below command can reference that.

  • # rmmod rtk_btusb.ko // Remove BT driver
  • # make clean  // Clean rtk_btusb.ko and related files

Software Requirements (related tool)

Note: Use sudo su for root authentication with following command. Copy the rtwpriv (choose one the rtwpriv_arm, rtwpriv_arm64, rtwpriv_x86 depending on your system).

  • Untar Driver source folder
    • # tar -xvzf rtwpriv_binary_release_v5.6.3.31997.20191031.tar.gz (rtwpriv tool)
    • # cd rtwpriv_binary_release_v5.6.3.31997.20191031
    • # cd build_platform
    • # cp rtwpriv_x86_64 /usr/sbin/  //copy file to the target location
    • # chmod 777 /usr/sbin/rtwpriv_x86_64  //Unlock file
    • # mv /usr/sbin/rtwpriv_x86_64 /usr/sbin/rtwpriv  //rename to “rtwpriv”
  • Unzip Driver source folder
    • # unzip MP_Tool_for_Linux_20190701_RTL8822CU_x64.zip (BT MP tool)
    • # cd MP_Tool_for_Linux_20190701_RTL8822CU_x64
    • # cd Linux_tool
    • # cp rtlbtmp /usr/sbin // Need copy 1 file to the target location
    • # cd .. // Back to the previous step
    • # cd BT_Firmware
    • # cp mp_rtl8822c_fw /lib/firmware/ // Need copy 2 files to the target location
    • # cp mp_rtl8822c_config /lib/firmware/
  • Close Bluetooth audio and change related setting.
    • killall rtk_hciattach
    • killall bluetoothd
    • echo 0 > /sys/class/rfkill/rfkill0/state
    • echo 1 > /sys/class/rfkill/rfkill0/state
    • cat /sys/class/rfkill/rfkill0/state

RF Basic Test (WiFi)

TX Test Mode Command

  • Setup the WLAN Driver
    • #insmod 88x2ce.ko
  • Enable wlan interface
    • #ifconfig wlan0 up
  • Enter wlan MP mode
    • #rtwpriv wlan0 mp_start
  • Execute the rtwpriv tool to launch RF Tx.
    • Command format (Channel until to TxMode is mandatory parameter): rtwpriv wlan0 [Channel] [Bandwidth] [ANT_PAH] [RateID] [TxMode] [Packet Interval] [PacketLength] [Packet Count] [Packet Pattern].
    • #rtwpriv wlan0 36 0 a HTMCS0 1 //Start Tx
    • #rtwpriv wlan0 stop //Stop Tx
  • To adjust the Tx power index

If you want to adjust [CONTINUOUS Tx] power, please first to stop Tx, then do adjust the power index.

  • #rtwpriv wlan0 mp_txpower patha=30,pathb=30,pathc=30,pathd=30 //Set path A and path B TX power level, and the Range is 0~63, new chipset (8822C, 8821D, 8814B) is 0~ 127.

If you want to get eFuse TX power index, please input advance the command “rtwpriv wlan0 mp_get_txpower 0/1”, then use the return a value and fill in following orange field (mp_txpower patha=44, pathb=44).

  • #rtwpriv wlan0 mp_get_txpower (RF_Path) // (RF_Path) of input parameter: 0 or 1 or 2 or 3.

Instruction Command format

  • Please following command below:
    • rtwpriv wlan0 [Channel] [Bandwidth] [ANT_PAH] [RateID] [TxMode] [Packet Interval] [PacketLength] [Packet Count] [Packet Pattern]
  • [Channel]: 1~177
  • [BW]: 0 = 20M, 1 = 40M, 2 = 80M
  • [ANT_PAH]: a: PATH A, b: PATH B, c: PATH C, d: PATH D, ab: PATH AB 2×2.
  • [RateID]: 1M 2M 5.5M 11M 6M 9M 12M 18M 24M 36M 48M 54M
    • HTMCS0 HTMCS1 HTMCS2 HTMCS3 HTMCS4 HTMCS5 HTMCS6 HTMCS7 HTMCS8 HTMCS9 HTMCS10
    • HTMCS11 HTMCS12 HTMCS13 HTMCS14 HTMCS15 HTMCS16  HTMCS17 HTMCS18 HTMCS19 HTMCS20
    • HTMCS21 HTMCS22 HTMCS23 HTMCS24 HTMCS25 HTMCS26 HTMCS27 HTMCS28 HTMCS29 HTMCS30
    • HTMCS31 VHT1MCS0 VHT1MCS1 VHT1MCS2 VHT1MCS3 VHT1MCS4 VHT1MCS5 VHT1MCS6
    • VHT1MCS7 VHT1MCS8 VHT1MCS9 VHT2MCS0 VHT2MCS1 VHT2MCS2 VHT2MCS3 VHT2MCS4
    • VHT2MCS5 VHT2MCS6 VHT2MCS7 VHT2MCS8 VHT2MCS9 VHT3MCS0 VHT3MCS1 VHT3MCS2 VHT3MCS3 VHT3MCS4
    • VHT3MCS5 VHT3MCS6 VHT3MCS7 VHT3MCS8  VHT3MCS9 VHT4MCS0 VHT4MCS1 VHT4MCS2 VHT4MCS3 VHT4MCS4
    • VHT4MCS5 VHT4MCS6 VHT4MCS7 VHT4MCS8 VHT4MCS9
  • [TxMode]: 1: PACKET Tx, 2: CONTINUOUS TX, 3: OFDM Single Tone TX
  • [Packet Interval] (Option): 1~65535 us,default 100
  • [PacketLength] (Option): Packet of payload data length, default 1500.
  • [Packet Count] (Option): count the number of packet to Tx, set 0 for CONTINUOUS Packet TX , default is 0.
  • [Packet Pattern] (Option): 00~ff(hex), default random hex.

MP Test Note

  • If you want to continue the MP test, don’t do this command “mp_stop”, it means you want to finish MP test and switch to Normal mode (Scan and Connect AP).
  • Change the config parameter (Rate, Channel, Power index, Bandwidth) or to continue the other MP test, please must first to stop Tx, command “rtwpriv wlan0 mp_ctx stop”.
  • We must make sure that the instructions have been completed and command in order.

Your MP Test Programs should wait for a return string after executing the command.

Example:
#rtwpriv wlan0 mp_start The return-string is: “wlan0 mp_start:mp_start ok” Please check return-string to confirm the command is set completely.

RX Test Mode Command

  • #ifconfig wlan0 up // Enable Device for MP operation
  • #rtwpriv wlan0 mp_start // Enter MP mode
  • #rtwpriv wlan0 mp_bandwidth 40M=0,shortGI=0 //40M=0 is set 20M bandwidth mode and long GI, Example:

To set 40M is 40M=1 、 20M is 40M=0 、 80M is 40M=2.

  • #rtwpriv wlan0 mp_channel 1 // Set channel to 1, 2, 3, 4~13
  • #rtwpriv wlan0 mp_ant_rx a // Select antenna A for the operation, if device has 2x 2 antenna select antenna “a” or “b” and “ab” for
  • #rtwpriv wlan0 mp_arx start // start air Rx
  • #rtwpriv wlan0 mp_arx phy // get the Driver of Rx
  • #rtwpriv wlan0 mp_arx stop or #rtwpriv wlan0 mp_reset_stats // Stop air Rx test and show the Statistics / Reset TX and Rx Counter.
  • #rtwpri v wlan0 mp_stop // exit MP

If you want to continue the MP test, don’t do this command.

  • #ifconfig wlan0 down // close WLAN interface

Enable/Disable TX Power Tracking

  • #r twpriv wlan0 mp_pwrctldm start //Enable the power tracking for
  • # rtwpriv wlan0 mp_pwrctldm stop //Disable the power tracking for

RF Basic Test (BT(BR, EDR))

  • Setup the BT Driver
    • #insmod rtk_btusb .ko

Run rtlbtmp and enable BT //Enable BT MP tool

  • # rtlbtmpAzureWave-AW-CB375NF-Bluetooth-5.0-Combo-Module-fig-2
  • # e nable uart:/dev/ttyUSB0 //UART interface <=2431SM
  • # e nable usb:/dev/rtk_btusb //USB interface
  • # e nable uart:/dev/sdio //SDIO interfaceAzureWave-AW-CB375NF-Bluetooth-5.0-Combo-Module-fig-3

BT RF test command: //BT Test mode

  • # bt_mp_Exec 3
  • # bt_mp_Exec 4
  • # bt_mp_Exec 1 //Start test mode
  • # bt_mp_Exec 0 //Stop test mode

BT Packet Tx test command

  • # bt_mp_Exec 3
  • # bt_mp_Exec 4
  • # bt_mp_SetParam 1,0;2,8;3,7;5,0x3F
  • //1,0 “0” represent Channel0,Channel range is 0~78;
  • //2,8 “8” represent Packet Type is 3DH5 “2” represent Packet Type is DH5, “5” represent Packet Type is 2DH5.
  • //3,7 “7” represent BT Payload is PRBS9, “0” represent BT Payload is All0, “1” represent BT Payload is All1, “2” represent BT Payload is 0101
  • # bt_mp_Exec 12 //Start Packet Tx
  • # bt_mp_Exec 14 //Stop Packet Tx

BT Continue Tx test command

  • # bt_mp_Exec 3
  • # bt_mp_Exec 4
  • # bt_mp_SetParam 1,0;2,8;3,7;5,0x3F
  • //1,0 “0” represent Channel0,Channel range is 0~78;
  • //2,8 “8” represent Packet Type is 3DH5,“2” represent Packet Type is DH5, “5” represent Packet Type is 2DH5;
  • //3,7 “7” represent BT Payload is PRBS9, “0” represent BT Payload is All0, “1” represent BT Payload is All1, “2” represent BT Payload is 0101;
  • # bt_mp_Exec 15 //Start Continue Tx
  • # bt_mp_Exec 17 //Stop Continue Tx

BT Single Tone test command

  • # bt_mp_SetParam 1,0×00;2,0×08;3,0×00;4,0×00;5,0x3F;6,0xFF;7,0xFF;11,0x000000c6967e;
  • //1,0×00 “0x00” represent Channel0,Channel range is 0~78(this value shows Hexadecimal,0x4e represent Channel78);
  • //2,0×08 “0x08” represent Packet Type is 3DH5, “0x02” represent Packet Type is DH5, “0x05” represent Packet Type is 2DH5;
  • //3,0×00 “0x00” represent BT Payload is All0, “0x01” represent BT Payload is All1, “0x02” represent BT Payload is 0101, “0x07” represent BT Payload is PRBS9;
  • # bt_mp_Exec 34 //Start BT Single Tone
  • # bt_mp_Exec 35 //Stop BT Single Tone

RF Basic Test (BT(BLE))

Untar “Linux_BT_USB_v3.10_20190809_8822CU_BTCOEX_20190509 0d0d.tgz” normal driver, and edit bluetooth_usb_driver rtk_misc.c file {0xc123, 0x8822, “mp_rtl8822cu_fw”, “rtl8822cu_fw”, “rtl8822cu_config”, NULL, 0 }, /* RTL8822CE */ to {0x 3548 , 0x8822, “mp_rtl8822cu_fw”, “rtl8822cu_fw”, “rtl8822cu_config”, NULL, 0 }, /* RTL8822CE */ this value 0x 354 8 depending your e fuse in the device.

  1. Key in the “make install –s” //Setup BT device for the normal driver Y ou can see that “install rtk_btusbAzureWave-AW-CB375NF-Bluetooth-5.0-Combo-Module-fig-4
  2. The next step device power off/on to reboot BT device.
  3. And then you can key in hcitool command to check device performance.AzureWave-AW-CB375NF-Bluetooth-5.0-Combo-Module-fig-5
  4. Reset command # hcitool cmd 03 03 //Reset device
  5. BLE TX command # hcitool cmd 08 1e 00 25 00 Start BLE TX test
    Command format
    1. hcitool cmd [ Packet payload
    2. 0x 0 0 PRBS9 Pattern
    3. 0x 0 1 0xF0 8 bit Pattern
    4. 0x 0 2 0xAA 8 bit Pattern
  6. Reset command
    1. #hcitool cmd 03 03 Reset device
  7. BLE Receiver Test
    1. # hcitool cmd 08 1 d 00 //Start BLE RX test
      Command format
      1. hcitool cmd cannel
  8. BLE Test end
    1. #hcitool cmd 08 1 F Device test end

Documents / Resources

AzureWave AW-CB375NF Bluetooth 5.0 Combo Module [pdf] Instructions
AW-CB375NF Bluetooth 5.0 Combo Module, AW-CB375NF, Bluetooth 5.0 Combo Module

References

Leave a comment

Your email address will not be published. Required fields are marked *