xref: /openwifi/user_space/rf_init_11n.sh (revision 55a868b0af63dc788b2d642995c9f2445750be98)
1*7d486245SXianjun Jiao#!/bin/sh
2*7d486245SXianjun Jiao
3*7d486245SXianjun Jiao# Author: Xianjun Jiao
4*7d486245SXianjun Jiao# SPDX-FileCopyrightText: 2019 UGent
5*7d486245SXianjun Jiao# SPDX-License-Identifier: AGPL-3.0-or-later
6*7d486245SXianjun Jiao
7*7d486245SXianjun Jiaohome_dir=$(pwd)
8*7d486245SXianjun Jiao
9*7d486245SXianjun Jiao#if [ -z "$1" ]
10*7d486245SXianjun Jiao#then
11*7d486245SXianjun Jiao#  tx_offset_tuning_enable=1
12*7d486245SXianjun Jiao#else
13*7d486245SXianjun Jiao  tx_offset_tuning_enable=0
14*7d486245SXianjun Jiao#fi
15*7d486245SXianjun Jiaoecho tx_offset_tuning_enable $tx_offset_tuning_enable
16*7d486245SXianjun Jiao
17*7d486245SXianjun Jiao#if [ $tx_offset_tuning_enable = "1" ]
18*7d486245SXianjun Jiao#then
19*7d486245SXianjun Jiao#  fir_filename="openwifi_ad9361_fir.ftr"
20*7d486245SXianjun Jiao#  tx_fir_enable=0
21*7d486245SXianjun Jiao#else
22*7d486245SXianjun Jiao#  fir_filename="openwifi_ad9361_fir_tx_0MHz.ftr"
23*7d486245SXianjun Jiao#  tx_fir_enable=1
24*7d486245SXianjun Jiao#fi
25*7d486245SXianjun Jiao
26*7d486245SXianjun Jiaofir_filename="openwifi_ad9361_fir_tx_0MHz_11n.ftr"
27*7d486245SXianjun Jiaotx_fir_enable=1
28*7d486245SXianjun Jiao
29*7d486245SXianjun Jiaoecho $fir_filename "tx_fir_enable" $tx_fir_enable
30*7d486245SXianjun Jiao
31*7d486245SXianjun Jiaoif test -f $fir_filename; then
32*7d486245SXianjun Jiao  echo "Found" $fir_filename
33*7d486245SXianjun Jiaoelse
34*7d486245SXianjun Jiao  echo "Can not find" $fir_filename
35*7d486245SXianjun Jiao  exit 1
36*7d486245SXianjun Jiaofi
37*7d486245SXianjun Jiao
38*7d486245SXianjun Jiaoset -x
39*7d486245SXianjun Jiaoif test -f "/sys/bus/iio/devices/iio:device0/in_voltage_rf_bandwidth"; then
40*7d486245SXianjun Jiao  cd /sys/bus/iio/devices/iio:device0/
41*7d486245SXianjun Jiaoelse if test -f "/sys/bus/iio/devices/iio:device1/in_voltage_rf_bandwidth"; then
42*7d486245SXianjun Jiao       cd /sys/bus/iio/devices/iio:device1/
43*7d486245SXianjun Jiao     else if test -f "/sys/bus/iio/devices/iio:device2/in_voltage_rf_bandwidth"; then
44*7d486245SXianjun Jiao            cd /sys/bus/iio/devices/iio:device2/
45*7d486245SXianjun Jiao          else if test -f "/sys/bus/iio/devices/iio:device3/in_voltage_rf_bandwidth"; then
46*7d486245SXianjun Jiao                 cd /sys/bus/iio/devices/iio:device3/
47*7d486245SXianjun Jiao               else if test -f "/sys/bus/iio/devices/iio:device4/in_voltage_rf_bandwidth"; then
48*7d486245SXianjun Jiao                      cd /sys/bus/iio/devices/iio:device4/
49*7d486245SXianjun Jiao                    else
50*7d486245SXianjun Jiao                      echo "Can not find in_voltage_rf_bandwidth!"
51*7d486245SXianjun Jiao                      echo "Check log to make sure ad9361 driver is loaded!"
52*7d486245SXianjun Jiao                      exit 1
53*7d486245SXianjun Jiao                    fi
54*7d486245SXianjun Jiao               fi
55*7d486245SXianjun Jiao          fi
56*7d486245SXianjun Jiao     fi
57*7d486245SXianjun Jiaofi
58*7d486245SXianjun Jiaoset +x
59*7d486245SXianjun Jiao
60*7d486245SXianjun Jiaoecho 25215513 >  in_voltage_rf_bandwidth
61*7d486245SXianjun Jiaoecho 25215414 >  out_voltage_rf_bandwidth
62*7d486245SXianjun Jiaoecho 40000000 >  in_voltage_sampling_frequency
63*7d486245SXianjun Jiaoecho 40000000 >  out_voltage_sampling_frequency
64*7d486245SXianjun Jiao
65*7d486245SXianjun Jiaoecho 1000000000 >  out_altvoltage0_RX_LO_frequency
66*7d486245SXianjun Jiaoecho 1000000000 >  out_altvoltage1_TX_LO_frequency
67*7d486245SXianjun Jiao
68*7d486245SXianjun Jiaocat $home_dir/$fir_filename > filter_fir_config
69*7d486245SXianjun Jiaoecho 1 > in_voltage_filter_fir_en
70*7d486245SXianjun Jiaoecho $tx_fir_enable > out_voltage_filter_fir_en
71*7d486245SXianjun Jiaocat filter_fir_config
72*7d486245SXianjun Jiaocat in_voltage_filter_fir_en
73*7d486245SXianjun Jiaocat out_voltage_filter_fir_en
74*7d486245SXianjun Jiao
75*7d486245SXianjun Jiaoecho "rx0 agc fast_attack"
76*7d486245SXianjun Jiao#echo "rx0 agc manual"
77*7d486245SXianjun Jiaocat in_voltage0_gain_control_mode
78*7d486245SXianjun Jiaoecho fast_attack > in_voltage0_gain_control_mode
79*7d486245SXianjun Jiao#echo manual > in_voltage0_gain_control_mode
80*7d486245SXianjun Jiaocat in_voltage0_gain_control_mode
81*7d486245SXianjun Jiao
82*7d486245SXianjun Jiaoecho "rx1 agc fast_attack"
83*7d486245SXianjun Jiao#echo "rx1 agc manual"
84*7d486245SXianjun Jiaocat in_voltage1_gain_control_mode
85*7d486245SXianjun Jiaoecho fast_attack > in_voltage1_gain_control_mode
86*7d486245SXianjun Jiao#echo manual > in_voltage1_gain_control_mode
87*7d486245SXianjun Jiaocat in_voltage1_gain_control_mode
88*7d486245SXianjun Jiao
89*7d486245SXianjun Jiaocat in_voltage_sampling_frequency
90*7d486245SXianjun Jiaocat in_voltage_rf_bandwidth
91*7d486245SXianjun Jiaocat out_voltage_sampling_frequency
92*7d486245SXianjun Jiaocat out_voltage_rf_bandwidth
93*7d486245SXianjun Jiao
94*7d486245SXianjun Jiaoecho "rssi"
95*7d486245SXianjun Jiaocat in_voltage0_rssi
96*7d486245SXianjun Jiaocat in_voltage1_rssi
97*7d486245SXianjun Jiao
98*7d486245SXianjun Jiao# #  --------not needed maybe-------- # #
99*7d486245SXianjun Jiaoecho "rx0 gain to 70" # this set gain is gpio gain - 5dB (test with agc and read back gpio in driver)
100*7d486245SXianjun Jiaocat in_voltage0_hardwaregain
101*7d486245SXianjun Jiaoecho 70 > in_voltage0_hardwaregain
102*7d486245SXianjun Jiaocat in_voltage0_hardwaregain
103*7d486245SXianjun Jiao
104*7d486245SXianjun Jiaoecho "rx1 gain to 70"
105*7d486245SXianjun Jiaocat in_voltage1_hardwaregain
106*7d486245SXianjun Jiaoecho 70 > in_voltage1_hardwaregain
107*7d486245SXianjun Jiaocat in_voltage1_hardwaregain
108*7d486245SXianjun Jiao
109*7d486245SXianjun Jiaoecho "tx0 gain -89dB"
110*7d486245SXianjun Jiaocat out_voltage0_hardwaregain
111*7d486245SXianjun Jiaoecho -89 > out_voltage0_hardwaregain
112*7d486245SXianjun Jiaocat out_voltage0_hardwaregain
113*7d486245SXianjun Jiao
114*7d486245SXianjun Jiaoecho "tx1 gain 0dB"
115*7d486245SXianjun Jiaocat out_voltage1_hardwaregain
116*7d486245SXianjun Jiaoecho 0 > out_voltage1_hardwaregain
117*7d486245SXianjun Jiaocat out_voltage1_hardwaregain
118*7d486245SXianjun Jiao# #  --------not needed maybe-------- # #
119*7d486245SXianjun Jiao
120*7d486245SXianjun Jiaocd $home_dir
121*7d486245SXianjun Jiao
122