Other Parts Discussed in Thread: WL1831
We're using a WL1831 under linux, running the BER test sending from one board to another as described at this location below:
http://processors.wiki.ti.com/index.php/WL18xx_Bluetopia_PM_Bluetooth_RF_Testing
We get a consistent error of 49.7% on all boards, regardless of how far away the transmitter is, but the device is clearly working otherwise. We are transmitting from the Tx board with:
load_firmware
sleep 1
echo Firmware load complete
hcitool -i hci0 cmd 0x3F 0x0006 0x22 0x22 0x22 0x22 0x22 0x22
sleep 0.5
hcitool -i hci0 cmd 0x3F 0x01FB 0x01 0xFF 0x00 0x00 0x00 0x00 0x01
sleep 1
hcitool -i hci0 cmd 0x3F 0x01CC 0x05 0x03 0x62 0x09 0xFF 0xFF 0x02 0x00 0x53 0x0
I can see the transmission is active on the spectrum analyser:
When we run the Rx on the Rx DUT we use the following commands :
load_firmware
sleep 1
hcitool -i hci0 cmd 0x3F 0x10C 0x00 0xFF 0xFF 0xFF 0xFF 0xFF 0x64
sleep 1
METER_START="0x3F 0x018B 0x00 0x00 0x22 0x22 0x22 0x22 0x22 0x22 0x01 0x05 0x53 0x01 0x4E 0x2 0xFF 0x01 0x01"
#BER meter start
hcitool -i hci0 cmd $METER_START
sleep 5
test_results=$( hcitool -i hci0 cmd 0x3F 0x015B 2>&1 )
test_results=$(echo $test_results|tr -d '\n')
echo $test_results
OIFS="$IFS"
IFS=" "
read -a test_results_array <<<"${test_results}"
IFS="$OIFS"
Synched="$(($((16#${test_results_array[19]}))))"
Finished="$(($((16#${test_results_array[20]}))))"
PacketsLastTest="$(($((16#${test_results_array[24]}<<24))+$((16#${test_results_array[23]}<<16))+$((16#${test_results_array[22]}<<8))+$((16#${test_results_array[21]}))))"
TotalBits="$(($((16#${test_results_array[28]}<<24))+$((16#${test_results_array[27]}<<16))+$((16#${test_results_array[26]}<<8))+$((16#${test_results_array[25]}))))"
BitErrors="$(($((16#${test_results_array[32]}<<24))+$((16#${test_results_array[31]}<<16))+$((16#${test_results_array[30]}<<8))+$((16#${test_results_array[29]}))))"
PacketsCurrentTest="$(($((16#${test_results_array[36]}<<24))+$((16#${test_results_array[35]}<<16))+$((16#${test_results_array[34]}<<8))+$((16#${test_results_array[33]}))))"
if [ $Finished == 1 ]
then
#echo Synched: $Synched
#echo Total bits : $TotalBits
#echo Bit Errors : $BitErrors
#echo Finished : $Finished
#echo Packets last test: $PacketsLastTest
#echo Packets current test: $PacketsCurrentTest
percent=$(((BitErrors * 1000)/TotalBits))
percent=${percent%?}.${percent: -1}
result="Link up, $percent"
result=$result"% error"
fi
Please can you suggest what we can do to make this work correctly. The value is so consistently 49.7% that I'm certain it must be a testing mistake somewhere. We are hoping to use this to do certification on Monday.