12ee67178SXianjun Jiao#!/bin/bash 22ee67178SXianjun Jiao 3*e07d2876SJiao Xianjun# Author: Xianjun Jiao 4*e07d2876SJiao Xianjun# SPDX-FileCopyrightText: 2019 UGent 5a6085186SLina Ceballos# SPDX-License-Identifier: AGPL-3.0-or-later 6a6085186SLina Ceballos 72ee67178SXianjun JiaocheckModule () { 82ee67178SXianjun Jiao MODULE="$1" 92ee67178SXianjun Jiao if lsmod | grep "$MODULE" &> /dev/null ; then 102ee67178SXianjun Jiao echo "$MODULE is loaded!" 112ee67178SXianjun Jiao return 0 122ee67178SXianjun Jiao else 132ee67178SXianjun Jiao echo "$MODULE is not loaded!" 142ee67178SXianjun Jiao return 1 152ee67178SXianjun Jiao fi 162ee67178SXianjun Jiao} 172ee67178SXianjun Jiao 182ee67178SXianjun Jiaonum_arg=$# 192ee67178SXianjun Jiaoecho "num_arg " $num_arg 202ee67178SXianjun Jiao 212ee67178SXianjun Jiaofor input_var in "$@" 222ee67178SXianjun Jiaodo 232ee67178SXianjun Jiao last_input=$input_var 242ee67178SXianjun Jiao# echo $last_input 252ee67178SXianjun Jiaodone 262ee67178SXianjun Jiao 272ee67178SXianjun Jiaoif [ -z $last_input ] 282ee67178SXianjun Jiaothen 292ee67178SXianjun Jiao last_input="xxxxxxxxx" 302ee67178SXianjun Jiao test_mode=0 312ee67178SXianjun Jiaoelse 322ee67178SXianjun Jiao if [ $1 -eq 1 ] 332ee67178SXianjun Jiao then 342ee67178SXianjun Jiao test_mode=1 352ee67178SXianjun Jiao else 362ee67178SXianjun Jiao test_mode=0 372ee67178SXianjun Jiao fi 382ee67178SXianjun Jiaofi 392ee67178SXianjun Jiaoecho last_input $last_input 402ee67178SXianjun Jiaoecho test_mode $test_mode 412ee67178SXianjun Jiao 422ee67178SXianjun Jiaomodprobe mac80211 432ee67178SXianjun Jiao 442ee67178SXianjun Jiao# dmesg -c 452ee67178SXianjun Jiao 462ee67178SXianjun JiaoPROG=sdr 472ee67178SXianjun Jiaormmod $PROG 482ee67178SXianjun Jiao 492ee67178SXianjun JiaoSUBMODULE=xilinx_dma 502ee67178SXianjun Jiaoif [ $last_input == "remote" ] 512ee67178SXianjun Jiao then 522ee67178SXianjun Jiao rm $SUBMODULE.ko 532ee67178SXianjun Jiao sync 542ee67178SXianjun Jiao wget ftp://192.168.10.1/driver/$SUBMODULE/$SUBMODULE.ko 552ee67178SXianjun Jiao sync 562ee67178SXianjun Jiaofi 572ee67178SXianjun Jiaormmod $SUBMODULE 582ee67178SXianjun Jiaoinsmod $SUBMODULE.ko 592ee67178SXianjun Jiao 602ee67178SXianjun Jiao#sleep 1 612ee67178SXianjun Jiao 622ee67178SXianjun Jiaoecho check $SUBMODULE module is loaded or not 632ee67178SXianjun JiaocheckModule $SUBMODULE 642ee67178SXianjun Jiaoif [ $? -eq 1 ] 652ee67178SXianjun Jiaothen 662ee67178SXianjun Jiao return 672ee67178SXianjun Jiaofi 682ee67178SXianjun Jiao 692ee67178SXianjun Jiao# before drive ad9361, let's bring up duc and make sure dac is connected to ad9361 dma 702ee67178SXianjun JiaoSUBMODULE=tx_intf 712ee67178SXianjun Jiaoif [ $last_input == "remote" ] 722ee67178SXianjun Jiao then 732ee67178SXianjun Jiao rm $SUBMODULE.ko 742ee67178SXianjun Jiao sync 752ee67178SXianjun Jiao wget ftp://192.168.10.1/driver/$SUBMODULE/$SUBMODULE.ko 762ee67178SXianjun Jiao sync 772ee67178SXianjun Jiaofi 782ee67178SXianjun Jiaormmod $SUBMODULE 792ee67178SXianjun Jiaoinsmod $SUBMODULE.ko 802ee67178SXianjun Jiao 812ee67178SXianjun Jiaoecho check $SUBMODULE module is loaded or not 822ee67178SXianjun JiaocheckModule $SUBMODULE 832ee67178SXianjun Jiaoif [ $? -eq 1 ] 842ee67178SXianjun Jiaothen 852ee67178SXianjun Jiao return 862ee67178SXianjun Jiaofi 872ee67178SXianjun Jiaosleep 0.5 882ee67178SXianjun Jiao 892ee67178SXianjun JiaoSUBMODULE=ad9361_drv 902ee67178SXianjun Jiaoif [ $last_input == "remote" ] 912ee67178SXianjun Jiao then 922ee67178SXianjun Jiao rm $SUBMODULE.ko 932ee67178SXianjun Jiao sync 942ee67178SXianjun Jiao wget ftp://192.168.10.1/driver/ad9361/$SUBMODULE.ko 952ee67178SXianjun Jiao sync 962ee67178SXianjun Jiaofi 972ee67178SXianjun Jiaormmod $SUBMODULE 982ee67178SXianjun Jiaoinsmod $SUBMODULE.ko 992ee67178SXianjun Jiao 1002ee67178SXianjun Jiaoecho check $SUBMODULE module is loaded or not 1012ee67178SXianjun JiaocheckModule $SUBMODULE 1022ee67178SXianjun Jiaoif [ $? -eq 1 ] 1032ee67178SXianjun Jiaothen 1042ee67178SXianjun Jiao return 1052ee67178SXianjun Jiaofi 1062ee67178SXianjun Jiaosleep 1 1072ee67178SXianjun Jiao 108b73660adSXianjun Jiaoecho "set RF frontend" 109795157abSXianjun Jiao# if [ $last_input == "remote" ] 110795157abSXianjun Jiao# then 111795157abSXianjun Jiao# rm rf_init.sh 112795157abSXianjun Jiao# sync 113795157abSXianjun Jiao# wget ftp://192.168.10.1/user_space/rf_init.sh 114795157abSXianjun Jiao# sync 115795157abSXianjun Jiao# chmod +x rf_init.sh 116795157abSXianjun Jiao# sync 117795157abSXianjun Jiao# fi 1182ee67178SXianjun Jiao./rf_init.sh 1192ee67178SXianjun Jiao 1202ee67178SXianjun Jiao#sleep 1 1212ee67178SXianjun Jiao 1222ee67178SXianjun JiaoSUBMODULE=rx_intf 1232ee67178SXianjun Jiaoif [ $last_input == "remote" ] 1242ee67178SXianjun Jiao then 1252ee67178SXianjun Jiao rm $SUBMODULE.ko 1262ee67178SXianjun Jiao sync 1272ee67178SXianjun Jiao wget ftp://192.168.10.1/driver/$SUBMODULE/$SUBMODULE.ko 1282ee67178SXianjun Jiao sync 1292ee67178SXianjun Jiaofi 1302ee67178SXianjun Jiaormmod $SUBMODULE 1312ee67178SXianjun Jiaoinsmod $SUBMODULE.ko 1322ee67178SXianjun Jiao 1332ee67178SXianjun Jiaoecho check $SUBMODULE module is loaded or not 1342ee67178SXianjun JiaocheckModule $SUBMODULE 1352ee67178SXianjun Jiaoif [ $? -eq 1 ] 1362ee67178SXianjun Jiaothen 1372ee67178SXianjun Jiao return 1382ee67178SXianjun Jiaofi 1392ee67178SXianjun Jiao 1402ee67178SXianjun JiaoSUBMODULE=openofdm_tx 1412ee67178SXianjun Jiaoif [ $last_input == "remote" ] 1422ee67178SXianjun Jiao then 1432ee67178SXianjun Jiao rm $SUBMODULE.ko 1442ee67178SXianjun Jiao sync 1452ee67178SXianjun Jiao wget ftp://192.168.10.1/driver/$SUBMODULE/$SUBMODULE.ko 1462ee67178SXianjun Jiao sync 1472ee67178SXianjun Jiaofi 1482ee67178SXianjun Jiaormmod $SUBMODULE 1492ee67178SXianjun Jiaoinsmod $SUBMODULE.ko 1502ee67178SXianjun Jiao 1512ee67178SXianjun Jiaoecho check $SUBMODULE module is loaded or not 1522ee67178SXianjun JiaocheckModule $SUBMODULE 1532ee67178SXianjun Jiaoif [ $? -eq 1 ] 1542ee67178SXianjun Jiaothen 1552ee67178SXianjun Jiao return 1562ee67178SXianjun Jiaofi 1572ee67178SXianjun Jiao 1582ee67178SXianjun JiaoSUBMODULE=openofdm_rx 1592ee67178SXianjun Jiaoif [ $last_input == "remote" ] 1602ee67178SXianjun Jiao then 1612ee67178SXianjun Jiao rm $SUBMODULE.ko 1622ee67178SXianjun Jiao sync 1632ee67178SXianjun Jiao wget ftp://192.168.10.1/driver/$SUBMODULE/$SUBMODULE.ko 1642ee67178SXianjun Jiao sync 1652ee67178SXianjun Jiaofi 1662ee67178SXianjun Jiaormmod $SUBMODULE 1672ee67178SXianjun Jiaoinsmod $SUBMODULE.ko 1682ee67178SXianjun Jiao 1692ee67178SXianjun Jiaoecho check $SUBMODULE module is loaded or not 1702ee67178SXianjun JiaocheckModule $SUBMODULE 1712ee67178SXianjun Jiaoif [ $? -eq 1 ] 1722ee67178SXianjun Jiaothen 1732ee67178SXianjun Jiao return 1742ee67178SXianjun Jiaofi 1752ee67178SXianjun Jiao 1762ee67178SXianjun JiaoSUBMODULE=xpu 1772ee67178SXianjun Jiaoif [ $last_input == "remote" ] 1782ee67178SXianjun Jiao then 1792ee67178SXianjun Jiao rm $SUBMODULE.ko 1802ee67178SXianjun Jiao sync 1812ee67178SXianjun Jiao wget ftp://192.168.10.1/driver/$SUBMODULE/$SUBMODULE.ko 1822ee67178SXianjun Jiao sync 1832ee67178SXianjun Jiaofi 1842ee67178SXianjun Jiaormmod $SUBMODULE 1852ee67178SXianjun Jiaoinsmod $SUBMODULE.ko 1862ee67178SXianjun Jiao 1872ee67178SXianjun Jiaoecho check $SUBMODULE module is loaded or not 1882ee67178SXianjun JiaocheckModule $SUBMODULE 1892ee67178SXianjun Jiaoif [ $? -eq 1 ] 1902ee67178SXianjun Jiaothen 1912ee67178SXianjun Jiao return 1922ee67178SXianjun Jiaofi 1932ee67178SXianjun Jiaosleep 0.5 1942ee67178SXianjun Jiao 1952ee67178SXianjun JiaoPROG=sdr 1962ee67178SXianjun Jiaoif [ $last_input == "remote" ] 1972ee67178SXianjun Jiao then 1982ee67178SXianjun Jiao rm $PROG.ko 1992ee67178SXianjun Jiao sync 2002ee67178SXianjun Jiao wget ftp://192.168.10.1/driver/$PROG.ko 2012ee67178SXianjun Jiao sync 2022ee67178SXianjun Jiaofi 2032ee67178SXianjun Jiao 2042ee67178SXianjun Jiaormmod $PROG 2052ee67178SXianjun Jiaoecho insert $PROG.ko test_mode=$test_mode 2062ee67178SXianjun Jiaoinsmod $PROG.ko test_mode=$test_mode 2072ee67178SXianjun Jiao 2082ee67178SXianjun Jiaoecho check $PROG module is loaded or not 2092ee67178SXianjun JiaocheckModule $PROG 2102ee67178SXianjun Jiaoif [ $? -eq 1 ] 2112ee67178SXianjun Jiaothen 2122ee67178SXianjun Jiao return 2132ee67178SXianjun Jiaofi 2142ee67178SXianjun Jiao 2152ee67178SXianjun Jiaoecho the end 2162ee67178SXianjun Jiaodmesg 2172ee67178SXianjun Jiao 2182ee67178SXianjun Jiao# dmesg -c 2192ee67178SXianjun Jiao# sleep 0.1 2202ee67178SXianjun Jiao# ifconfig sdr0 up 221