NX1 에서의 Labtool 사용법
NX1 에서의 WIFI RF 테스트 시에 사용되는 labtool 명령어들을 정리했다.
준비 운동하기
먼저 WIFI RF 테스트를 하기위한 환경이 필요하다.
| H/W | IQ2010(LitePoint) |
| S/W | IQsignal |
참고로 위의 장비(IQ2010)는 802.11b/g/n 까지만 측정가능하다. 802.11ac 를 측정하고 싶다면, IQsel 장비를 사용해야 한다.
사용에 필요한 소프트웨어를 PC 에 설치하고, 장비의 전원을 켠다.
장비에 연결된 USB 케이블을 PC 에 연결한다. 자동으로 드라이버가 설치될 것이다.
완료가 되면, 'IQsignal' 이라는 프로그램을 실행한다.
IQsignal 사용하기
프로그램을 실행하면, 'Tester Settings' 라는 창이 뜬다.
여기서 아래와 같이 옵션을 설정한다.
| Type | IQ201X |
| Auto Scan and Connect | 체크 |
| Local Host | 체크 |
그리고 나서 'Connect' 버튼을 누른다. 접속이 되면, 'Connected' 라는 메세지가 출력된다.
이 후 테스트할 각각 대역별로 선택을 하면 된다.
설정하기
802.11b/g/n 모두 공통으로 해야 하는 부분을 설명한다.
설정에 앞서 labtool 로서 TX 신호를 출력하도록 해야 한다.
| RF Channel | 1(Labtool 에서 설정한 채널) |
| External Atten | 2.4G(1.0), 5G(1.6) - 안테나에 연결된 케이블의 gain 값 입력 |
| Capture Mode | Continuous 선택 후, Auto Range 선택 후, Run 클릭 |
위의 순서대로 설정 후, RF 신호가 정상인지 확인하기 위해 'Plot Window' 를 선택한다.
'Spectum Mask' 와 'Symbol Const' 를 선택한다. 여기서 'Pass' 가 나와야 한다.
Labtool 사용하기
802.11b
Enter option: 25 // Stop Tx
DutIf_SetTxDutyCycle: 0x00000000
Enter option: 30 0 // Set to 2.4GHz Band
DutIf_SetModeAG: 0x0
Enter option: 112 0 // Set to 20MHz BW
DutIf_SetChannelBw: 0x00000000
Enter option: 12 1 // Set to CH 1
DutIf_SetRfChannel: 0x00000000
RF Channel: 1 (2412.0 MHz)
Enter option: 22 1 10 0 // Set to CH 1 at 10 dBm Output Power with CCK/BPSK Data Rate
DutIf_SetRfChannel: 0x0
DutIf_SetRfPowerCal: 0x0
Enter option: 35 1 4 // Tx at 11Mbps
DutIf_AdjustPcktSifs: 0x00000000
TRPC ID: 2
Enter option: 25 // Stop Tx
802.11g
Enter option: 25 // Stop Tx
DutIf_SetTxDutyCycle: 0x00000000
Enter option: 30 0 // Set to 2.4GHz Band
DutIf_SetModeAG: 0x0
Enter option: 112 0 // Set to 20MHz BW
DutIf_SetChannelBw: 0x00000000
Enter option: 12 1 // Set to CH 1
DutIf_SetRfChannel: 0x00000000
RF Channel: 1 (2412.0 MHz)
Enter option: 22 1 15 0 // Set to CH 1 at 15 dBm Output Power with OFDM Data Rate
DutIf_SetRfChannel: 0x0
DutIf_SetRfPowerCal: 0x0
Enter option: 35 1 13 // Tx at 54Mbps
DutIf_AdjustPcktSifs: 0x00000000
TRPC ID: 2
Enter option: 25 // Stop Tx
802.11a
Enter option: 25 // Stop Tx
DutIf_SetTxDutyCycle: 0x00000000
Enter option: 30 1 // Set to 5GHz Band
DutIf_SetModeAG: 0x0
Enter option: 112 0 // Set to 20MHz BW
DutIf_SetChannelBw: 0x00000000
Enter option: 12 36 // Set to CH 36
DutIf_SetRfChannel: 0x00000000
RF Channel: 1 (2412.0 MHz)
Enter option: 22 36 13 1 // Set to CH 36 at 13 dBm Output Power with OFDM Data Rate
DutIf_SetRfChannel: 0x0
DutIf_SetRfPowerCal: 0x0
Enter option: 35 1 13 // Tx at 54Mbps
DutIf_AdjustPcktSifs: 0x00000000
TRPC ID: 2
Enter option: 25 // Stop Tx
802.11n
Enter option: 25 // Stop Tx
DutIf_SetTxDutyCycle: 0x00000000
Enter option: 30 1 // Set to 5GHz Band
DutIf_SetModeAG: 0x0
Enter option: 112 0 // Set to 20MHz BW
DutIf_SetChannelBw: 0x00000000
Enter option: 12 36 // Set to CH 36
DutIf_SetRfChannel: 0x00000000
RF Channel: 1 (2412.0 MHz)
Enter option: 22 36 13 1 // Set to CH 36 at 13 dBm Output Power with OFDM Data Rate
DutIf_SetRfChannel: 0x0
DutIf_SetRfPowerCal: 0x0
Enter option: 35 1 22 // Tx at MCS7(65Mbps)
DutIf_AdjustPcktSifs: 0x00000000
TRPC ID: 2
Enter option: 25 // Stop Tx
MFG API 사용하기
802.11b
[root@drime5 sdcard]# ./testapp
Tester Start ./testapp
INPUT:
Got Cmd(-1), Arg()
--------------- Usage ----------------
0
1
2
3
10 - CloseDUT
11 - OpenDUT
12 (arg) SetBandAG
13 (arg) Channel
14 (arg) TxDataRate
15 (arg) SetPreamble
16 (arg) SetChannelBw
17 (arg) TxGain
18 - TxStart
19 - TxStop
20 - RxStart
21 - RxStop
22 - MRVL_RFT_SetSSID
23 - MRVL_RFT_SetSSID_24G
24 - MRVL_RFT_SetSSID_5G
25 - MRVL_RFT_GET_RSSI
25
99 - Exit
-------------------------------------
INPUT: 11 // OpenDUT
Got Cmd(11), Arg()
MRVL_RFT_OpenDUT()
===[MARVELL]=== temp once start DutIf_InitConnection() chip: w8887 sw ver :1.01.15 === Build Time: Build time and Date: Jul 7 2014 (16:06:14)
Initialize drvwrapper ....
===[MARVELL]=== end DutIf_InitConnection() status => 0 ===OK
INPUT: 19 // MRVL_RFT_TxStop
Got Cmd(19), Arg()
MRVL_RFT_TxStop()
MRVL_RFT_TxStop_35 current_tx_mode: 0 DutIf_AdjustPcktSifs: 0x00000000
OK
INPUT: 12 0 // MRVL_RFT_SetBandAG
Got Cmd(12), Arg(0)
MRVL_RFT_SetBandAG(0)
===[MARVELL]=== MRVL_RFT_SetBandAG(mBand): 0x0
===[MARVELL]=== Band value is invalid..OK
INPUT: 13 1 // MRVL_RFT_Channel
Got Cmd(13), Arg(1)
MRVL_RFT_Channel(1)
DutIf_SetRfChannel: status : 0, gChannelNumber = 1
OK
INPUT: 14 6 // MRVL_RFT_TxDataRate
Got Cmd(14), Arg(6)
MRVL_RFT_TxDataRate(6)
MRVL_RFT_TxDataRate: mPcktPifsSettings.dataRateIndex: 6, datarate=3 MRVL_RFT_TxDataRate: 0x0
OK
INPUT: 15 1 // MRVL_RFT_SetPreamble
Got Cmd(15), Arg(1)
MRVL_RFT_SetPreamble(1)
MRVL_RFT_SetPreamble: PreambleType : 1
OK
INPUT: 16 1 // MRVL_RFT_SetChannelBw
Got Cmd(16), Arg(1)
MRVL_RFT_SetChannelBw(1)
===[MARVELL]=== MRVL_RFT_SetChannelBw(mBandWidth): 0x1
OK
INPUT: 18 // MRVL_RFT_TxStart
Got Cmd(18), Arg()
MRVL_RFT_TxStart()
MRVL_RFT_TxStart_35 dut gTxGain: 100
ERIC MRVL_RFT_TxStart_35 dut MRVL_RFT_TxGain: 17
enter MRVL_RFT_TxGain gBandWidth: 0x0
DutIf_SetRfChannel: 0x0
MRVL_RFT_TxGain : datarate : 6, 3 after MRVL_RFT_TxGain : Pwr4Pa = 17===[MARVELL]=== MRVL_RFT_TxGain [DutIf_GetTxDataRate] success mDataRate ==> 3, rateG= 0, ANT_PATH : 0x0 CalDataLoaded : 0x1
before DutIf_SetRfPowerCal: 0x0
after DutIf_SetRfPowerCal: 0x0
MRVL_RFT_TxStart dut MRVL_RFT_TxGain: 0x0
MRVL_RFT_TxStart_35: datarate : 6, 3 MRVL_RFT_TxStart_35: AdjustTxBurstGap : 0, BurstSifsInUs:0
MRVL_RFT_TxStart_35 DutIf_AdjustPcktSifs: 0x00000000
TRPC ID: 2
MRVL_RFT_TxStart_35 before MRVL_RFT_TxStart: 0x0
MRVL_RFT_TxStart_35 after MRVL_RFT_TxStart: 0x0
OK
INPUT: