12ee67178SXianjun Jiao#!/bin/bash 22ee67178SXianjun Jiao 3e07d2876SJiao Xianjun# Author: Xianjun Jiao 4e07d2876SJiao 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 Jiao# before drive ad9361, let's bring up duc and make sure dac is connected to ad9361 dma 502ee67178SXianjun JiaoSUBMODULE=tx_intf 512ee67178SXianjun Jiaoif [ $last_input == "remote" ] 522ee67178SXianjun Jiao then 532ee67178SXianjun Jiao rm $SUBMODULE.ko 542ee67178SXianjun Jiao sync 552ee67178SXianjun Jiao wget ftp://192.168.10.1/driver/$SUBMODULE/$SUBMODULE.ko 562ee67178SXianjun Jiao sync 572ee67178SXianjun Jiaofi 582ee67178SXianjun Jiaormmod $SUBMODULE 592ee67178SXianjun Jiaoinsmod $SUBMODULE.ko 602ee67178SXianjun Jiao 612ee67178SXianjun Jiaoecho check $SUBMODULE module is loaded or not 622ee67178SXianjun JiaocheckModule $SUBMODULE 632ee67178SXianjun Jiaoif [ $? -eq 1 ] 642ee67178SXianjun Jiaothen 652ee67178SXianjun Jiao return 662ee67178SXianjun Jiaofi 672ee67178SXianjun Jiaosleep 0.5 682ee67178SXianjun Jiao 69*56fcab20SXianjun Jiao# SUBMODULE=ad9361_drv 70*56fcab20SXianjun Jiao# if [ $last_input == "remote" ] 71*56fcab20SXianjun Jiao# then 72*56fcab20SXianjun Jiao# rm $SUBMODULE.ko 73*56fcab20SXianjun Jiao# sync 74*56fcab20SXianjun Jiao# wget ftp://192.168.10.1/driver/ad9361/$SUBMODULE.ko 75*56fcab20SXianjun Jiao# sync 76*56fcab20SXianjun Jiao# fi 77*56fcab20SXianjun Jiao# rmmod $SUBMODULE 78*56fcab20SXianjun Jiao# insmod $SUBMODULE.ko 792ee67178SXianjun Jiao 80*56fcab20SXianjun Jiao# echo check $SUBMODULE module is loaded or not 81*56fcab20SXianjun Jiao# checkModule $SUBMODULE 82*56fcab20SXianjun Jiao# if [ $? -eq 1 ] 83*56fcab20SXianjun Jiao# then 84*56fcab20SXianjun Jiao# return 85*56fcab20SXianjun Jiao# fi 86*56fcab20SXianjun Jiao# sleep 1 872ee67178SXianjun Jiao 88b73660adSXianjun Jiaoecho "set RF frontend" 89795157abSXianjun Jiao# if [ $last_input == "remote" ] 90795157abSXianjun Jiao# then 91795157abSXianjun Jiao# rm rf_init.sh 92795157abSXianjun Jiao# sync 93795157abSXianjun Jiao# wget ftp://192.168.10.1/user_space/rf_init.sh 94795157abSXianjun Jiao# sync 95795157abSXianjun Jiao# chmod +x rf_init.sh 96795157abSXianjun Jiao# sync 97795157abSXianjun Jiao# fi 982ee67178SXianjun Jiao./rf_init.sh 992ee67178SXianjun Jiao 1002ee67178SXianjun Jiao#sleep 1 1012ee67178SXianjun Jiao 1022ee67178SXianjun JiaoSUBMODULE=rx_intf 1032ee67178SXianjun Jiaoif [ $last_input == "remote" ] 1042ee67178SXianjun Jiao then 1052ee67178SXianjun Jiao rm $SUBMODULE.ko 1062ee67178SXianjun Jiao sync 1072ee67178SXianjun Jiao wget ftp://192.168.10.1/driver/$SUBMODULE/$SUBMODULE.ko 1082ee67178SXianjun Jiao sync 1092ee67178SXianjun Jiaofi 1102ee67178SXianjun Jiaormmod $SUBMODULE 1112ee67178SXianjun Jiaoinsmod $SUBMODULE.ko 1122ee67178SXianjun Jiao 1132ee67178SXianjun Jiaoecho check $SUBMODULE module is loaded or not 1142ee67178SXianjun JiaocheckModule $SUBMODULE 1152ee67178SXianjun Jiaoif [ $? -eq 1 ] 1162ee67178SXianjun Jiaothen 1172ee67178SXianjun Jiao return 1182ee67178SXianjun Jiaofi 1192ee67178SXianjun Jiao 1202ee67178SXianjun JiaoSUBMODULE=openofdm_tx 1212ee67178SXianjun Jiaoif [ $last_input == "remote" ] 1222ee67178SXianjun Jiao then 1232ee67178SXianjun Jiao rm $SUBMODULE.ko 1242ee67178SXianjun Jiao sync 1252ee67178SXianjun Jiao wget ftp://192.168.10.1/driver/$SUBMODULE/$SUBMODULE.ko 1262ee67178SXianjun Jiao sync 1272ee67178SXianjun Jiaofi 1282ee67178SXianjun Jiaormmod $SUBMODULE 1292ee67178SXianjun Jiaoinsmod $SUBMODULE.ko 1302ee67178SXianjun Jiao 1312ee67178SXianjun Jiaoecho check $SUBMODULE module is loaded or not 1322ee67178SXianjun JiaocheckModule $SUBMODULE 1332ee67178SXianjun Jiaoif [ $? -eq 1 ] 1342ee67178SXianjun Jiaothen 1352ee67178SXianjun Jiao return 1362ee67178SXianjun Jiaofi 1372ee67178SXianjun Jiao 1382ee67178SXianjun JiaoSUBMODULE=openofdm_rx 1392ee67178SXianjun Jiaoif [ $last_input == "remote" ] 1402ee67178SXianjun Jiao then 1412ee67178SXianjun Jiao rm $SUBMODULE.ko 1422ee67178SXianjun Jiao sync 1432ee67178SXianjun Jiao wget ftp://192.168.10.1/driver/$SUBMODULE/$SUBMODULE.ko 1442ee67178SXianjun Jiao sync 1452ee67178SXianjun Jiaofi 1462ee67178SXianjun Jiaormmod $SUBMODULE 1472ee67178SXianjun Jiaoinsmod $SUBMODULE.ko 1482ee67178SXianjun Jiao 1492ee67178SXianjun Jiaoecho check $SUBMODULE module is loaded or not 1502ee67178SXianjun JiaocheckModule $SUBMODULE 1512ee67178SXianjun Jiaoif [ $? -eq 1 ] 1522ee67178SXianjun Jiaothen 1532ee67178SXianjun Jiao return 1542ee67178SXianjun Jiaofi 1552ee67178SXianjun Jiao 1562ee67178SXianjun JiaoSUBMODULE=xpu 1572ee67178SXianjun Jiaoif [ $last_input == "remote" ] 1582ee67178SXianjun Jiao then 1592ee67178SXianjun Jiao rm $SUBMODULE.ko 1602ee67178SXianjun Jiao sync 1612ee67178SXianjun Jiao wget ftp://192.168.10.1/driver/$SUBMODULE/$SUBMODULE.ko 1622ee67178SXianjun Jiao sync 1632ee67178SXianjun Jiaofi 1642ee67178SXianjun Jiaormmod $SUBMODULE 1652ee67178SXianjun Jiaoinsmod $SUBMODULE.ko 1662ee67178SXianjun Jiao 1672ee67178SXianjun Jiaoecho check $SUBMODULE module is loaded or not 1682ee67178SXianjun JiaocheckModule $SUBMODULE 1692ee67178SXianjun Jiaoif [ $? -eq 1 ] 1702ee67178SXianjun Jiaothen 1712ee67178SXianjun Jiao return 1722ee67178SXianjun Jiaofi 1732ee67178SXianjun Jiaosleep 0.5 1742ee67178SXianjun Jiao 1752ee67178SXianjun JiaoPROG=sdr 1762ee67178SXianjun Jiaoif [ $last_input == "remote" ] 1772ee67178SXianjun Jiao then 1782ee67178SXianjun Jiao rm $PROG.ko 1792ee67178SXianjun Jiao sync 1802ee67178SXianjun Jiao wget ftp://192.168.10.1/driver/$PROG.ko 1812ee67178SXianjun Jiao sync 1822ee67178SXianjun Jiaofi 1832ee67178SXianjun Jiao 1842ee67178SXianjun Jiaormmod $PROG 1852ee67178SXianjun Jiaoecho insert $PROG.ko test_mode=$test_mode 1862ee67178SXianjun Jiaoinsmod $PROG.ko test_mode=$test_mode 1872ee67178SXianjun Jiao 1882ee67178SXianjun Jiaoecho check $PROG module is loaded or not 1892ee67178SXianjun JiaocheckModule $PROG 1902ee67178SXianjun Jiaoif [ $? -eq 1 ] 1912ee67178SXianjun Jiaothen 1922ee67178SXianjun Jiao return 1932ee67178SXianjun Jiaofi 1942ee67178SXianjun Jiao 1952ee67178SXianjun Jiaoecho the end 1962ee67178SXianjun Jiaodmesg 1972ee67178SXianjun Jiao 1982ee67178SXianjun Jiao# dmesg -c 1992ee67178SXianjun Jiao# sleep 0.1 2002ee67178SXianjun Jiao# ifconfig sdr0 up 201