1#!/bin/bash 2 3# Author: Xianjun Jiao 4# SPDX-FileCopyrightText: 2019 UGent 5# SPDX-License-Identifier: AGPL-3.0-or-later 6 7checkModule () { 8 MODULE="$1" 9 if lsmod | grep "$MODULE" &> /dev/null ; then 10 echo "$MODULE is loaded!" 11 return 0 12 else 13 echo "$MODULE is not loaded!" 14 return 1 15 fi 16} 17 18num_arg=$# 19echo "num_arg " $num_arg 20 21for input_var in "$@" 22do 23 last_input=$input_var 24# echo $last_input 25done 26 27if [ -z $last_input ] 28then 29 last_input="unset" 30 test_mode=0 31else 32 if [ $1 -eq 1 ] 33 then 34 test_mode=1 35 elif [ $1 -eq 2 ] 36 then 37 test_mode=2 38 elif [ $1 -eq 3 ] 39 then 40 test_mode=3 41 elif [ $1 -eq 4 ] 42 then 43 test_mode=4 44 elif [ $1 -eq 5 ] 45 then 46 test_mode=5 47 elif [ $1 -eq 6 ] 48 then 49 test_mode=6 50 elif [ $1 -eq 7 ] 51 then 52 test_mode=7 53 else 54 test_mode=0 55 fi 56fi 57 58#if ((($test_mode & 0x2) != 0)); then 59 tx_offset_tuning_enable=0 60#else 61# tx_offset_tuning_enable=1 62#fi 63 64echo last_input $last_input 65echo test_mode $test_mode 66echo tx_offset_tuning_enable $tx_offset_tuning_enable 67 68service network-manager stop 69 70depmod 71modprobe mac80211 72lsmod 73# dmesg -c 74 75PROG=sdr 76rmmod $PROG 77 78 79# mv ad9361 driver to local folder, to prevent booting issue 80if [ -f /lib/modules/$(uname -r)/ad9361_drv.ko ]; then 81 mv /lib/modules/$(uname -r)/ad9361_drv.ko . 82fi 83SUBMODULE=ad9361_drv 84rmmod $SUBMODULE 85insmod $SUBMODULE.ko 86 87echo check $SUBMODULE module is loaded or not 88checkModule $SUBMODULE 89if [ $? -eq 1 ] 90then 91 return 92fi 93sleep 1 94lsmod 95 96# mv xilinx dma driver to local folder, to prevent booting issue 97if [ -f /lib/modules/$(uname -r)/xilinx_dma.ko ]; then 98 mv /lib/modules/$(uname -r)/xilinx_dma.ko . 99fi 100SUBMODULE=xilinx_dma 101rmmod $SUBMODULE 102insmod $SUBMODULE.ko 103 104#sleep 1 105 106echo check $SUBMODULE module is loaded or not 107checkModule $SUBMODULE 108if [ $? -eq 1 ] 109then 110 return 111fi 112sleep 1 113lsmod 114 115# before drive ad9361, let's bring up duc and make sure dac is connected to ad9361 dma 116SUBMODULE=tx_intf 117if [ $last_input == "remote" ] 118 then 119 rm $SUBMODULE.ko 120 sync 121 wget ftp://192.168.10.1/driver/$SUBMODULE/$SUBMODULE.ko 122 sync 123fi 124rmmod $SUBMODULE 125insmod $SUBMODULE.ko 126 127echo check $SUBMODULE module is loaded or not 128checkModule $SUBMODULE 129if [ $? -eq 1 ] 130then 131 return 132fi 133sleep 0.5 134 135 136 137echo "set RF frontend" 138# if [ $last_input == "remote" ] 139# then 140# rm rf_init.sh 141# sync 142# wget ftp://192.168.10.1/user_space/rf_init.sh 143# sync 144# chmod +x rf_init.sh 145# sync 146# fi 147 148# if [ $tx_offset_tuning_enable = "1" ] 149# then 150 ./rf_init_11n.sh 151# else 152# ./rf_init.sh tx_offset_tuning_disable 153# fi 154 155#sleep 1 156 157SUBMODULE=rx_intf 158if [ $last_input == "remote" ] 159 then 160 rm $SUBMODULE.ko 161 sync 162 wget ftp://192.168.10.1/driver/$SUBMODULE/$SUBMODULE.ko 163 sync 164fi 165rmmod $SUBMODULE 166insmod $SUBMODULE.ko 167 168echo check $SUBMODULE module is loaded or not 169checkModule $SUBMODULE 170if [ $? -eq 1 ] 171then 172 return 173fi 174 175SUBMODULE=openofdm_tx 176if [ $last_input == "remote" ] 177 then 178 rm $SUBMODULE.ko 179 sync 180 wget ftp://192.168.10.1/driver/$SUBMODULE/$SUBMODULE.ko 181 sync 182fi 183rmmod $SUBMODULE 184insmod $SUBMODULE.ko 185 186echo check $SUBMODULE module is loaded or not 187checkModule $SUBMODULE 188if [ $? -eq 1 ] 189then 190 return 191fi 192 193SUBMODULE=openofdm_rx 194if [ $last_input == "remote" ] 195 then 196 rm $SUBMODULE.ko 197 sync 198 wget ftp://192.168.10.1/driver/$SUBMODULE/$SUBMODULE.ko 199 sync 200fi 201rmmod $SUBMODULE 202insmod $SUBMODULE.ko 203 204echo check $SUBMODULE module is loaded or not 205checkModule $SUBMODULE 206if [ $? -eq 1 ] 207then 208 return 209fi 210 211SUBMODULE=xpu 212if [ $last_input == "remote" ] 213 then 214 rm $SUBMODULE.ko 215 sync 216 wget ftp://192.168.10.1/driver/$SUBMODULE/$SUBMODULE.ko 217 sync 218fi 219rmmod $SUBMODULE 220insmod $SUBMODULE.ko 221 222echo check $SUBMODULE module is loaded or not 223checkModule $SUBMODULE 224if [ $? -eq 1 ] 225then 226 return 227fi 228sleep 0.5 229 230PROG=sdr 231if [ $last_input == "remote" ] 232 then 233 rm $PROG.ko 234 sync 235 wget ftp://192.168.10.1/driver/$PROG.ko 236 sync 237fi 238 239rmmod $PROG 240echo insert $PROG.ko test_mode=$test_mode 241insmod $PROG.ko test_mode=$test_mode 242 243echo check $PROG module is loaded or not 244checkModule $PROG 245if [ $? -eq 1 ] 246then 247 return 248fi 249 250if ps -p $(</tmp/check_calib_inf.pid) > /dev/null 251then 252 kill $(</tmp/check_calib_inf.pid) 253fi 254./check_calib_inf.sh 255 256echo the end 257dmesg 258 259# dmesg -c 260# sleep 0.1 261# ifconfig sdr0 up 262