루카스(lucas2)에서 H/W 에서 무선 특성을 측정하기 위해서는 사전에 mfgbrige, labtool 이 실행되어야 한다. 다시말해 mfgbrige, labtool 이 실행가능한 환경이 구축되어야 한다.
참고로 lucas2 에는 WiFi chip 8797 이 들어있다.

필요 환경

측정 시 실행하게 되는 명령어는 총 3가지이다.

#./backup.sh         //  가장 처음에 한번만 실행하면 된다(product module(.ko), firmware 를 mfg 용 module, firmware 로 바꿔준다).
#rfTest.sh lucas 5    // mfgbridge 를 실행한다
#rfTest.sh lucas 7    // labtool 을 실행한다

실행환경 만들기

새로운 보드에서 위 명령어를 실행하기 위해서 필요한 작업들이 있다. 먼저 실행 환경이 이미 구축된 곳에서 필요한 파일들을 USB 메모리에 복사하여 이를 새로운 보드에 복사하여 환경을 만들 것이다.

#mkdir /tmp/test
#mount /dev/sda1 /tmp/test
#mkdir /tmp/test/wifitest
#cp /sbin/rfTest.sh /tmp/test/wifitest/
#cd /mnt/stateful_partition/
#cp -arf mwifiex mfgbridge /tmp/test/wifitest/
#umount /tmp/test

위와 같이 필요한 파일들을 모두 복사했다. 이제 새로운 보드에 복사한 파일들을 아래와 같이 옮기도록 하자.

#mount -o remount,rw /
#mkdir /tmp/test
#mount /dev/sda1 /tmp/test
#cd /tmp/test/wifitest
#cp rfTest.sh /sbin/
#cp -arf mwifiex mfgbridge /mnt/stateful_partition/
#cd ..
#cp labtool /mnt/stateful_partition/mwifiex/labtool                     // 11ac 가 지원되는 labtool 사용을 위해 기존의 labtool 을 덮어 씌움
#umount /tmp/test
#cd /mnt/stateful_partition/mwifiex/
#sh ./backup.sh

마지막 스크립트(backup.sh)를 실행하면 재부팅이 된다.

실행 확인

#cd /mnt/stateful_partition/mwifiex/
#sh ./inital.sh
#./labtool

이후 labtool 메뉴에서 '1 → 88' 을 입력하여, firmware 버전이 제대로 출력되는지 확인한다.

#rfTest.sh lucas 5   
#rfTest.sh lucas 7   

제대로 실행되는지 확인한다.

Cal Data 를 OTP 에 write 하는 방법

lucas2 의 경우, WiFi 무선 감도를 최적화하기 위해서 calibration(캘러브레이션)이 필요한데, 이를 golden cal 이라고하는 설정 파일을 사용한다.
설정 파일로 부터 읽어들인 cal 값은 OTP 영역에 write 한다. OTP 영역은 사이즈가 제한되어 있어 횟수가 제한되어 있다.

여기서 사용할 labtool 의 버전은 2.0.44 이다. 이보다 낮은 버전의 경우, Cal 데이터를 OPT 에 write 하는 명령어를 지원하지 않을 수 있다.

먼저 labtool 과 mfgbridge 가 실행가능한 상태에서 Host PC 측에서 DutApiMimoBtFmBrdigeEth.exe 를 실행한다.

Name:           Dut labtool
Version:        2.0.0.44
Date:           Nov  8 2013 (16:04:36)
 
Note:
 
1. =========WiFi tool=============
2. =========BT   tool=============
 
Enter CMD 99 to Exit
 
Enter option: 1                  // 1 입력
Name:           DutApiClass
Interface:      EtherNet
Version:        2.0.0.44
Date:           Nov  8 2013 (16:03:42)
 
Note:
 
C:\Users\wjkim\Desktop\labtool\setup.ini
Dut's IP 172.28.22.97:9930
Host's IP 172.28.22.52:9931
DutIf_UdpIp::delay 0
DutIf_UdpIp::vg_IfSpy 0
TCP connecting...
 DutIf_InitConnection: 0
--------------------------------------------------------
                W87xx (802.11a/g/b/n) TEST MENU
--------------------------------------------------------
Enter option: 44 2                       // OTP 모드로 변경
Set Storage Type to: 2
Enter option: 147                       // 현재 write 할 수 있는 OTP 라인 수
 Free Lines in OTP: 155
Enter option:

Cal 데이터를 OTP 에 write 하기 전에 147 번 명령어로 현재 남아있는 OTP 라인 수를 확인해야 한다. 만일 모자르다면, 쓸 수 없다.

Enter option: 44 1                       // Config File 모드로 변경
Set Storage Type to: 2
Enter option: 54                         // CalWlanDataFile_Upload.txt 파일과 Power Table 데이터 구조체를 파일로 만들어 write 한다.
Device Type: Conf File
Upload Data to: C:\Users\wjkim\Desktop\labtool\\CalWlanDataFile_Upload.txt
Write Main Data Structure
Write Pwr Table to File "PwrTble_Band0_SubBand0_Dev0_Path0_Upload.txt"
Write Pwr Table to File "PwrTble_Band1_SubBand0_Dev0_Path0_Upload.txt"
Write Pwr Table to File "PwrTble_Band1_SubBand1_Dev0_Path0_Upload.txt"
Write Pwr Table to File "PwrTble_Band1_SubBand2_Dev0_Path0_Upload.txt"
Write Pwr Table to File "PwrTble_Band1_SubBand3_Dev0_Path0_Upload.txt"
Write Pwr Table to File "PwrTble_Band0_SubBand0_Dev0_Path1_Upload.txt"
Write Pwr Table to File "PwrTble_Band1_SubBand0_Dev0_Path1_Upload.txt"
Write Pwr Table to File "PwrTble_Band1_SubBand1_Dev0_Path1_Upload.txt"
Write Pwr Table to File "PwrTble_Band1_SubBand2_Dev0_Path1_Upload.txt"
Write Pwr Table to File "PwrTble_Band1_SubBand3_Dev0_Path1_Upload.txt"
Write Annex42 Data
Write Annex55 Data
 DUTAPI_UpLoadSaveCalData: 0x00000000   CsC:1
Enter option:

실행 디렉토리를 보면, CalWlanDataFile_Upload.txt 와 Power Table 이 적힌 파일들(10개)이 생성된 것을 볼 수 있다.

CalWlanDataFile_Upload.txt 전체적인 설정값들이 들어있는 파일
PwrTble_Band1_SubBand3_Dev0_Path1_Upload.txt 각 채널 별로 신호세기 설정값이 들어있는 파일

이제 이 파일들을 수정하여 OTP 에 write 할 차례다. 먼저 앞서 생성된 파일들의 이름에서 '_Upload' 를 뺀다.

Enter option: 44 2            // OTP 모드로 변경
Set Storage Type to: 2
Enter option: 147
 Free Lines in OTP: 155
Enter option: 53               // OTP write
Device Type: OTP
Read Main Data Structure
Read Annex49 Data from "C:\Users\wjkim\Desktop\labtool//PwrTble_Band0_SubBand0_Dev0_Path0.txt"
Read Annex50 Data from "C:\Users\wjkim\Desktop\labtool//PwrTble_Band1_SubBand0_Dev0_Path0.txt"
Read Annex50 Data from "C:\Users\wjkim\Desktop\labtool//PwrTble_Band1_SubBand1_Dev0_Path0.txt"
Read Annex50 Data from "C:\Users\wjkim\Desktop\labtool//PwrTble_Band1_SubBand2_Dev0_Path0.txt"
Read Annex50 Data from "C:\Users\wjkim\Desktop\labtool//PwrTble_Band1_SubBand3_Dev0_Path0.txt"
Read Annex49 Data from "C:\Users\wjkim\Desktop\labtool//PwrTble_Band0_SubBand0_Dev0_Path1.txt"
Read Annex50 Data from "C:\Users\wjkim\Desktop\labtool//PwrTble_Band1_SubBand0_Dev0_Path1.txt"
Read Annex50 Data from "C:\Users\wjkim\Desktop\labtool//PwrTble_Band1_SubBand1_Dev0_Path1.txt"
Read Annex50 Data from "C:\Users\wjkim\Desktop\labtool//PwrTble_Band1_SubBand2_Dev0_Path1.txt"
Read Annex50 Data from "C:\Users\wjkim\Desktop\labtool//PwrTble_Band1_SubBand3_Dev0_Path1.txt"
Read Annex52 Data
Read Annex53 Data
Read Annex54 Data
Read Annex63 Data
Read Annex47 Data
Read Annex48 Data
Read Annex52 Data
Read Annex53 Data
Read Annex54 Data
Read Annex63 Data
Read Annex47 Data
Read Annex48 Data
Read Annex42 Data
Read Annex55 Data
Read Annex56 Data
 DUTAPI_LoadSaveCalData: 0x00000000
Enter option: 147
 Free Lines in OTP: 90

사용가능한 OTP 라인이 줄어든 것을 알 수 있다. 참고로 CalWlanDataFile.txt 파일이 없으면, write 되지 않는다.

FAQ

write-protected 라는 메세지와 함께 에러가 발생한다면, 다른 방법으로 / 를 rw 하도록 해주어야 한다.
먼저 USB memory 를 마운트하고, 아래와 같이 rtTest.sh 를 실행한다.

#mkdir /tmp/test
#mount /dev/sda1 /tmp/test
#cd /tmp/test/wifitest
#./rfTest.sh lucas2 12

재부팅 후에, 다시 시도해보면, rw 가능할 것이다.

  • computer/marvell/무선_특성_환경_구축하기.txt
  • Last modified: 3 years ago
  • by likewind