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 Jiaosync 62*7d486245SXianjun Jiaoecho 25215414 > out_voltage_rf_bandwidth 63*7d486245SXianjun Jiaosync 64*7d486245SXianjun Jiaoecho 40000000 > in_voltage_sampling_frequency 65*7d486245SXianjun Jiaosync 66*7d486245SXianjun Jiaoecho 40000000 > out_voltage_sampling_frequency 67*7d486245SXianjun Jiaosync 68*7d486245SXianjun Jiaosleep 1 69*7d486245SXianjun Jiao 70*7d486245SXianjun Jiaoecho 1000000000 > out_altvoltage0_RX_LO_frequency 71*7d486245SXianjun Jiaosync 72*7d486245SXianjun Jiaoecho 1000000000 > out_altvoltage1_TX_LO_frequency 73*7d486245SXianjun Jiaosync 74*7d486245SXianjun Jiao 75*7d486245SXianjun Jiaocat $home_dir/$fir_filename > filter_fir_config 76*7d486245SXianjun Jiaosync 77*7d486245SXianjun Jiaosleep 0.5 78*7d486245SXianjun Jiaoecho 1 > in_voltage_filter_fir_en 79*7d486245SXianjun Jiaoecho $tx_fir_enable > out_voltage_filter_fir_en 80*7d486245SXianjun Jiaocat filter_fir_config 81*7d486245SXianjun Jiaocat in_voltage_filter_fir_en 82*7d486245SXianjun Jiaocat out_voltage_filter_fir_en 83*7d486245SXianjun Jiao 84*7d486245SXianjun Jiaoecho "rx0 agc fast_attack" 85*7d486245SXianjun Jiao#echo "rx0 agc manual" 86*7d486245SXianjun Jiaocat in_voltage0_gain_control_mode 87*7d486245SXianjun Jiaoecho fast_attack > in_voltage0_gain_control_mode 88*7d486245SXianjun Jiao#echo manual > in_voltage0_gain_control_mode 89*7d486245SXianjun Jiaocat in_voltage0_gain_control_mode 90*7d486245SXianjun Jiaosync 91*7d486245SXianjun Jiao 92*7d486245SXianjun Jiaoecho "rx1 agc fast_attack" 93*7d486245SXianjun Jiao#echo "rx1 agc manual" 94*7d486245SXianjun Jiaocat in_voltage1_gain_control_mode 95*7d486245SXianjun Jiaoecho fast_attack > in_voltage1_gain_control_mode 96*7d486245SXianjun Jiao#echo manual > in_voltage1_gain_control_mode 97*7d486245SXianjun Jiaocat in_voltage1_gain_control_mode 98*7d486245SXianjun Jiaosync 99*7d486245SXianjun Jiaosleep 1 100*7d486245SXianjun Jiao 101*7d486245SXianjun Jiaocat in_voltage_sampling_frequency 102*7d486245SXianjun Jiaocat in_voltage_rf_bandwidth 103*7d486245SXianjun Jiaocat out_voltage_sampling_frequency 104*7d486245SXianjun Jiaocat out_voltage_rf_bandwidth 105*7d486245SXianjun Jiao 106*7d486245SXianjun Jiaoecho "rssi" 107*7d486245SXianjun Jiaocat in_voltage0_rssi 108*7d486245SXianjun Jiaocat in_voltage1_rssi 109*7d486245SXianjun Jiao 110*7d486245SXianjun Jiao# # --------not needed maybe-------- # # 111*7d486245SXianjun Jiaoecho "rx0 gain to 70" # this set gain is gpio gain - 5dB (test with agc and read back gpio in driver) 112*7d486245SXianjun Jiaocat in_voltage0_hardwaregain 113*7d486245SXianjun Jiaoecho 70 > in_voltage0_hardwaregain 114*7d486245SXianjun Jiaocat in_voltage0_hardwaregain 115*7d486245SXianjun Jiaosync 116*7d486245SXianjun Jiao 117*7d486245SXianjun Jiaoecho "rx1 gain to 70" 118*7d486245SXianjun Jiaocat in_voltage1_hardwaregain 119*7d486245SXianjun Jiaoecho 70 > in_voltage1_hardwaregain 120*7d486245SXianjun Jiaocat in_voltage1_hardwaregain 121*7d486245SXianjun Jiaosync 122*7d486245SXianjun Jiao 123*7d486245SXianjun Jiaoecho "tx0 gain -89dB" 124*7d486245SXianjun Jiaocat out_voltage0_hardwaregain 125*7d486245SXianjun Jiaoecho -89 > out_voltage0_hardwaregain 126*7d486245SXianjun Jiaocat out_voltage0_hardwaregain 127*7d486245SXianjun Jiaosync 128*7d486245SXianjun Jiao 129*7d486245SXianjun Jiaoecho "tx1 gain 0dB" 130*7d486245SXianjun Jiaocat out_voltage1_hardwaregain 131*7d486245SXianjun Jiaoecho 0 > out_voltage1_hardwaregain 132*7d486245SXianjun Jiaocat out_voltage1_hardwaregain 133*7d486245SXianjun Jiaosync 134*7d486245SXianjun Jiao# # --------not needed maybe-------- # # 135*7d486245SXianjun Jiao 136*7d486245SXianjun Jiaocd $home_dir 137*7d486245SXianjun Jiao 138