xref: /openwifi/user_space/rf_init.sh (revision b1dd94e38780b1645f1f7894c71908d8218f3d7f)
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 test -f "openwifi_ad9361_fir.ftr"; then
10  echo "Found openwifi_ad9361_fir.ftr"
11else
12  echo "Can not find openwifi_ad9361_fir.ftr!"
13  exit 1
14fi
15
16set -x
17if test -f "/sys/bus/iio/devices/iio:device0/in_voltage_rf_bandwidth"; then
18  cd /sys/bus/iio/devices/iio:device0/
19else if test -f "/sys/bus/iio/devices/iio:device1/in_voltage_rf_bandwidth"; then
20       cd /sys/bus/iio/devices/iio:device1/
21     else if test -f "/sys/bus/iio/devices/iio:device2/in_voltage_rf_bandwidth"; then
22            cd /sys/bus/iio/devices/iio:device2/
23          else if test -f "/sys/bus/iio/devices/iio:device3/in_voltage_rf_bandwidth"; then
24                 cd /sys/bus/iio/devices/iio:device3/
25               else if test -f "/sys/bus/iio/devices/iio:device4/in_voltage_rf_bandwidth"; then
26                      cd /sys/bus/iio/devices/iio:device4/
27                    else
28                      echo "Can not find in_voltage_rf_bandwidth!"
29                      echo "Check log to make sure ad9361 driver is loaded!"
30                      exit 1
31                    fi
32               fi
33          fi
34     fi
35fi
36set +x
37
38echo 17500000 >  in_voltage_rf_bandwidth
39sync
40echo 37500000 >  out_voltage_rf_bandwidth
41sync
42echo 40000000 >  in_voltage_sampling_frequency
43sync
44echo 40000000 >  out_voltage_sampling_frequency
45sync
46sleep 1
47
48echo 5240000000 >  out_altvoltage0_RX_LO_frequency
49sync
50echo 5250000000 >  out_altvoltage1_TX_LO_frequency
51sync
52
53cat $home_dir/openwifi_ad9361_fir.ftr > filter_fir_config
54sync
55sleep 0.5
56echo 1 > in_voltage_filter_fir_en
57echo 0 > out_voltage_filter_fir_en
58cat filter_fir_config
59cat in_voltage_filter_fir_en
60cat out_voltage_filter_fir_en
61
62echo "rx0 agc fast_attack"
63#echo "rx0 agc manual"
64cat in_voltage0_gain_control_mode
65echo fast_attack > in_voltage0_gain_control_mode
66#echo manual > in_voltage0_gain_control_mode
67cat in_voltage0_gain_control_mode
68sync
69
70echo "rx1 agc fast_attack"
71#echo "rx1 agc manual"
72cat in_voltage1_gain_control_mode
73echo fast_attack > in_voltage1_gain_control_mode
74#echo manual > in_voltage1_gain_control_mode
75cat in_voltage1_gain_control_mode
76sync
77sleep 1
78
79cat in_voltage_sampling_frequency
80cat in_voltage_rf_bandwidth
81cat out_voltage_sampling_frequency
82cat out_voltage_rf_bandwidth
83
84echo "rssi"
85cat in_voltage0_rssi
86cat in_voltage1_rssi
87
88# #  --------not needed maybe-------- # #
89echo "rx0 gain to 70" # this set gain is gpio gain - 5dB (test with agc and read back gpio in driver)
90cat in_voltage0_hardwaregain
91echo 70 > in_voltage0_hardwaregain
92cat in_voltage0_hardwaregain
93sync
94
95echo "rx1 gain to 70"
96cat in_voltage1_hardwaregain
97echo 70 > in_voltage1_hardwaregain
98cat in_voltage1_hardwaregain
99sync
100
101echo "tx0 gain -89dB"
102cat out_voltage0_hardwaregain
103echo -89 > out_voltage0_hardwaregain
104cat out_voltage0_hardwaregain
105sync
106
107echo "tx1 gain 0dB"
108cat out_voltage1_hardwaregain
109echo 0 > out_voltage1_hardwaregain
110cat out_voltage1_hardwaregain
111sync
112# #  --------not needed maybe-------- # #
113
114cd $home_dir
115
116