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