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