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