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