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="xxxxxxxxx" 30 test_mode=0 31else 32 if [ $1 -eq 1 ] 33 then 34 test_mode=1 35 else 36 test_mode=0 37 fi 38fi 39echo last_input $last_input 40echo test_mode $test_mode 41depmod 42modprobe mac80211 43lsmod 44# dmesg -c 45 46PROG=sdr 47rmmod $PROG 48 49 50# mv ad9361 driver to local folder, to prevent booting issue 51if [ -f /lib/modules/$(uname -r)/ad9361_drv.ko ]; then 52 mv /lib/modules/$(uname -r)/ad9361_drv.ko . 53fi 54SUBMODULE=ad9361_drv 55if [ $last_input == "remote" ] 56 then 57 rm $SUBMODULE.ko 58 sync 59 wget ftp://192.168.10.1/driver/ad9361/$SUBMODULE.ko 60 sync 61fi 62rmmod $SUBMODULE 63insmod $SUBMODULE.ko 64 65echo check $SUBMODULE module is loaded or not 66checkModule $SUBMODULE 67if [ $? -eq 1 ] 68then 69 return 70fi 71sleep 1 72lsmod 73 74# mv xilinx dma driver to local folder, to prevent booting issue 75if [ -f /lib/modules/$(uname -r)/xilinx_dma.ko ]; then 76 mv /lib/modules/$(uname -r)/xilinx_dma.ko . 77fi 78SUBMODULE=xilinx_dma 79if [ $last_input == "remote" ] 80 then 81 rm $SUBMODULE.ko 82 sync 83 wget ftp://192.168.10.1/driver/$SUBMODULE/$SUBMODULE.ko 84 sync 85fi 86rmmod $SUBMODULE 87insmod $SUBMODULE.ko 88 89#sleep 1 90 91echo check $SUBMODULE module is loaded or not 92checkModule $SUBMODULE 93if [ $? -eq 1 ] 94then 95 return 96fi 97sleep 1 98lsmod 99 100# before drive ad9361, let's bring up duc and make sure dac is connected to ad9361 dma 101SUBMODULE=tx_intf 102if [ $last_input == "remote" ] 103 then 104 rm $SUBMODULE.ko 105 sync 106 wget ftp://192.168.10.1/driver/$SUBMODULE/$SUBMODULE.ko 107 sync 108fi 109rmmod $SUBMODULE 110insmod $SUBMODULE.ko 111 112echo check $SUBMODULE module is loaded or not 113checkModule $SUBMODULE 114if [ $? -eq 1 ] 115then 116 return 117fi 118sleep 0.5 119 120# SUBMODULE=ad9361_drv 121# if [ $last_input == "remote" ] 122# then 123# rm $SUBMODULE.ko 124# sync 125# wget ftp://192.168.10.1/driver/ad9361/$SUBMODULE.ko 126# sync 127# fi 128# rmmod $SUBMODULE 129# insmod $SUBMODULE.ko 130 131# echo check $SUBMODULE module is loaded or not 132# checkModule $SUBMODULE 133# if [ $? -eq 1 ] 134# then 135# return 136# fi 137# sleep 1 138 139echo "set RF frontend" 140# if [ $last_input == "remote" ] 141# then 142# rm rf_init.sh 143# sync 144# wget ftp://192.168.10.1/user_space/rf_init.sh 145# sync 146# chmod +x rf_init.sh 147# sync 148# fi 149./rf_init.sh 150 151#sleep 1 152 153SUBMODULE=rx_intf 154if [ $last_input == "remote" ] 155 then 156 rm $SUBMODULE.ko 157 sync 158 wget ftp://192.168.10.1/driver/$SUBMODULE/$SUBMODULE.ko 159 sync 160fi 161rmmod $SUBMODULE 162insmod $SUBMODULE.ko 163 164echo check $SUBMODULE module is loaded or not 165checkModule $SUBMODULE 166if [ $? -eq 1 ] 167then 168 return 169fi 170 171SUBMODULE=openofdm_tx 172if [ $last_input == "remote" ] 173 then 174 rm $SUBMODULE.ko 175 sync 176 wget ftp://192.168.10.1/driver/$SUBMODULE/$SUBMODULE.ko 177 sync 178fi 179rmmod $SUBMODULE 180insmod $SUBMODULE.ko 181 182echo check $SUBMODULE module is loaded or not 183checkModule $SUBMODULE 184if [ $? -eq 1 ] 185then 186 return 187fi 188 189SUBMODULE=openofdm_rx 190if [ $last_input == "remote" ] 191 then 192 rm $SUBMODULE.ko 193 sync 194 wget ftp://192.168.10.1/driver/$SUBMODULE/$SUBMODULE.ko 195 sync 196fi 197rmmod $SUBMODULE 198insmod $SUBMODULE.ko 199 200echo check $SUBMODULE module is loaded or not 201checkModule $SUBMODULE 202if [ $? -eq 1 ] 203then 204 return 205fi 206 207SUBMODULE=xpu 208if [ $last_input == "remote" ] 209 then 210 rm $SUBMODULE.ko 211 sync 212 wget ftp://192.168.10.1/driver/$SUBMODULE/$SUBMODULE.ko 213 sync 214fi 215rmmod $SUBMODULE 216insmod $SUBMODULE.ko 217 218echo check $SUBMODULE module is loaded or not 219checkModule $SUBMODULE 220if [ $? -eq 1 ] 221then 222 return 223fi 224sleep 0.5 225 226PROG=sdr 227if [ $last_input == "remote" ] 228 then 229 rm $PROG.ko 230 sync 231 wget ftp://192.168.10.1/driver/$PROG.ko 232 sync 233fi 234 235rmmod $PROG 236echo insert $PROG.ko test_mode=$test_mode 237insmod $PROG.ko test_mode=$test_mode 238 239echo check $PROG module is loaded or not 240checkModule $PROG 241if [ $? -eq 1 ] 242then 243 return 244fi 245 246echo the end 247dmesg 248 249# dmesg -c 250# sleep 0.1 251# ifconfig sdr0 up 252