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