1*2ee67178SXianjun Jiao#!/bin/bash 2*2ee67178SXianjun Jiao 3*2ee67178SXianjun JiaocheckModule () { 4*2ee67178SXianjun Jiao MODULE="$1" 5*2ee67178SXianjun Jiao if lsmod | grep "$MODULE" &> /dev/null ; then 6*2ee67178SXianjun Jiao echo "$MODULE is loaded!" 7*2ee67178SXianjun Jiao return 0 8*2ee67178SXianjun Jiao else 9*2ee67178SXianjun Jiao echo "$MODULE is not loaded!" 10*2ee67178SXianjun Jiao return 1 11*2ee67178SXianjun Jiao fi 12*2ee67178SXianjun Jiao} 13*2ee67178SXianjun Jiao 14*2ee67178SXianjun Jiaonum_arg=$# 15*2ee67178SXianjun Jiaoecho "num_arg " $num_arg 16*2ee67178SXianjun Jiao 17*2ee67178SXianjun Jiaofor input_var in "$@" 18*2ee67178SXianjun Jiaodo 19*2ee67178SXianjun Jiao last_input=$input_var 20*2ee67178SXianjun Jiao# echo $last_input 21*2ee67178SXianjun Jiaodone 22*2ee67178SXianjun Jiao 23*2ee67178SXianjun Jiaoif [ -z $last_input ] 24*2ee67178SXianjun Jiaothen 25*2ee67178SXianjun Jiao last_input="xxxxxxxxx" 26*2ee67178SXianjun Jiao test_mode=0 27*2ee67178SXianjun Jiaoelse 28*2ee67178SXianjun Jiao if [ $1 -eq 1 ] 29*2ee67178SXianjun Jiao then 30*2ee67178SXianjun Jiao test_mode=1 31*2ee67178SXianjun Jiao else 32*2ee67178SXianjun Jiao test_mode=0 33*2ee67178SXianjun Jiao fi 34*2ee67178SXianjun Jiaofi 35*2ee67178SXianjun Jiaoecho last_input $last_input 36*2ee67178SXianjun Jiaoecho test_mode $test_mode 37*2ee67178SXianjun Jiao 38*2ee67178SXianjun Jiaomodprobe mac80211 39*2ee67178SXianjun Jiao 40*2ee67178SXianjun Jiao# dmesg -c 41*2ee67178SXianjun Jiao 42*2ee67178SXianjun JiaoPROG=sdr 43*2ee67178SXianjun Jiaormmod $PROG 44*2ee67178SXianjun Jiao 45*2ee67178SXianjun JiaoSUBMODULE=xilinx_dma 46*2ee67178SXianjun Jiaoif [ $last_input == "remote" ] 47*2ee67178SXianjun Jiao then 48*2ee67178SXianjun Jiao rm $SUBMODULE.ko 49*2ee67178SXianjun Jiao sync 50*2ee67178SXianjun Jiao wget ftp://192.168.10.1/driver/$SUBMODULE/$SUBMODULE.ko 51*2ee67178SXianjun Jiao sync 52*2ee67178SXianjun Jiaofi 53*2ee67178SXianjun Jiaormmod $SUBMODULE 54*2ee67178SXianjun Jiaoinsmod $SUBMODULE.ko 55*2ee67178SXianjun Jiao 56*2ee67178SXianjun Jiao#sleep 1 57*2ee67178SXianjun Jiao 58*2ee67178SXianjun Jiaoecho check $SUBMODULE module is loaded or not 59*2ee67178SXianjun JiaocheckModule $SUBMODULE 60*2ee67178SXianjun Jiaoif [ $? -eq 1 ] 61*2ee67178SXianjun Jiaothen 62*2ee67178SXianjun Jiao return 63*2ee67178SXianjun Jiaofi 64*2ee67178SXianjun Jiao 65*2ee67178SXianjun Jiao# before drive ad9361, let's bring up duc and make sure dac is connected to ad9361 dma 66*2ee67178SXianjun JiaoSUBMODULE=tx_intf 67*2ee67178SXianjun Jiaoif [ $last_input == "remote" ] 68*2ee67178SXianjun Jiao then 69*2ee67178SXianjun Jiao rm $SUBMODULE.ko 70*2ee67178SXianjun Jiao sync 71*2ee67178SXianjun Jiao wget ftp://192.168.10.1/driver/$SUBMODULE/$SUBMODULE.ko 72*2ee67178SXianjun Jiao sync 73*2ee67178SXianjun Jiaofi 74*2ee67178SXianjun Jiaormmod $SUBMODULE 75*2ee67178SXianjun Jiaoinsmod $SUBMODULE.ko 76*2ee67178SXianjun Jiao 77*2ee67178SXianjun Jiaoecho check $SUBMODULE module is loaded or not 78*2ee67178SXianjun JiaocheckModule $SUBMODULE 79*2ee67178SXianjun Jiaoif [ $? -eq 1 ] 80*2ee67178SXianjun Jiaothen 81*2ee67178SXianjun Jiao return 82*2ee67178SXianjun Jiaofi 83*2ee67178SXianjun Jiaosleep 0.5 84*2ee67178SXianjun Jiao 85*2ee67178SXianjun JiaoSUBMODULE=ad9361_drv 86*2ee67178SXianjun Jiaoif [ $last_input == "remote" ] 87*2ee67178SXianjun Jiao then 88*2ee67178SXianjun Jiao rm $SUBMODULE.ko 89*2ee67178SXianjun Jiao sync 90*2ee67178SXianjun Jiao wget ftp://192.168.10.1/driver/ad9361/$SUBMODULE.ko 91*2ee67178SXianjun Jiao sync 92*2ee67178SXianjun Jiaofi 93*2ee67178SXianjun Jiaormmod $SUBMODULE 94*2ee67178SXianjun Jiaoinsmod $SUBMODULE.ko 95*2ee67178SXianjun Jiao 96*2ee67178SXianjun Jiaoecho check $SUBMODULE module is loaded or not 97*2ee67178SXianjun JiaocheckModule $SUBMODULE 98*2ee67178SXianjun Jiaoif [ $? -eq 1 ] 99*2ee67178SXianjun Jiaothen 100*2ee67178SXianjun Jiao return 101*2ee67178SXianjun Jiaofi 102*2ee67178SXianjun Jiaosleep 1 103*2ee67178SXianjun Jiao 104*2ee67178SXianjun Jiaoecho "set RF frontend: ant0 rx, ant1 tx" 105*2ee67178SXianjun Jiaoif [ $last_input == "remote" ] 106*2ee67178SXianjun Jiao then 107*2ee67178SXianjun Jiao rm rf_init.sh 108*2ee67178SXianjun Jiao sync 109*2ee67178SXianjun Jiao wget ftp://192.168.10.1/user_space/rf_init.sh 110*2ee67178SXianjun Jiao sync 111*2ee67178SXianjun Jiao chmod +x rf_init.sh 112*2ee67178SXianjun Jiao sync 113*2ee67178SXianjun Jiaofi 114*2ee67178SXianjun Jiao./rf_init.sh 115*2ee67178SXianjun Jiao 116*2ee67178SXianjun Jiao#sleep 1 117*2ee67178SXianjun Jiao 118*2ee67178SXianjun JiaoSUBMODULE=rx_intf 119*2ee67178SXianjun Jiaoif [ $last_input == "remote" ] 120*2ee67178SXianjun Jiao then 121*2ee67178SXianjun Jiao rm $SUBMODULE.ko 122*2ee67178SXianjun Jiao sync 123*2ee67178SXianjun Jiao wget ftp://192.168.10.1/driver/$SUBMODULE/$SUBMODULE.ko 124*2ee67178SXianjun Jiao sync 125*2ee67178SXianjun Jiaofi 126*2ee67178SXianjun Jiaormmod $SUBMODULE 127*2ee67178SXianjun Jiaoinsmod $SUBMODULE.ko 128*2ee67178SXianjun Jiao 129*2ee67178SXianjun Jiaoecho check $SUBMODULE module is loaded or not 130*2ee67178SXianjun JiaocheckModule $SUBMODULE 131*2ee67178SXianjun Jiaoif [ $? -eq 1 ] 132*2ee67178SXianjun Jiaothen 133*2ee67178SXianjun Jiao return 134*2ee67178SXianjun Jiaofi 135*2ee67178SXianjun Jiao 136*2ee67178SXianjun JiaoSUBMODULE=openofdm_tx 137*2ee67178SXianjun Jiaoif [ $last_input == "remote" ] 138*2ee67178SXianjun Jiao then 139*2ee67178SXianjun Jiao rm $SUBMODULE.ko 140*2ee67178SXianjun Jiao sync 141*2ee67178SXianjun Jiao wget ftp://192.168.10.1/driver/$SUBMODULE/$SUBMODULE.ko 142*2ee67178SXianjun Jiao sync 143*2ee67178SXianjun Jiaofi 144*2ee67178SXianjun Jiaormmod $SUBMODULE 145*2ee67178SXianjun Jiaoinsmod $SUBMODULE.ko 146*2ee67178SXianjun Jiao 147*2ee67178SXianjun Jiaoecho check $SUBMODULE module is loaded or not 148*2ee67178SXianjun JiaocheckModule $SUBMODULE 149*2ee67178SXianjun Jiaoif [ $? -eq 1 ] 150*2ee67178SXianjun Jiaothen 151*2ee67178SXianjun Jiao return 152*2ee67178SXianjun Jiaofi 153*2ee67178SXianjun Jiao 154*2ee67178SXianjun JiaoSUBMODULE=openofdm_rx 155*2ee67178SXianjun Jiaoif [ $last_input == "remote" ] 156*2ee67178SXianjun Jiao then 157*2ee67178SXianjun Jiao rm $SUBMODULE.ko 158*2ee67178SXianjun Jiao sync 159*2ee67178SXianjun Jiao wget ftp://192.168.10.1/driver/$SUBMODULE/$SUBMODULE.ko 160*2ee67178SXianjun Jiao sync 161*2ee67178SXianjun Jiaofi 162*2ee67178SXianjun Jiaormmod $SUBMODULE 163*2ee67178SXianjun Jiaoinsmod $SUBMODULE.ko 164*2ee67178SXianjun Jiao 165*2ee67178SXianjun Jiaoecho check $SUBMODULE module is loaded or not 166*2ee67178SXianjun JiaocheckModule $SUBMODULE 167*2ee67178SXianjun Jiaoif [ $? -eq 1 ] 168*2ee67178SXianjun Jiaothen 169*2ee67178SXianjun Jiao return 170*2ee67178SXianjun Jiaofi 171*2ee67178SXianjun Jiao 172*2ee67178SXianjun JiaoSUBMODULE=xpu 173*2ee67178SXianjun Jiaoif [ $last_input == "remote" ] 174*2ee67178SXianjun Jiao then 175*2ee67178SXianjun Jiao rm $SUBMODULE.ko 176*2ee67178SXianjun Jiao sync 177*2ee67178SXianjun Jiao wget ftp://192.168.10.1/driver/$SUBMODULE/$SUBMODULE.ko 178*2ee67178SXianjun Jiao sync 179*2ee67178SXianjun Jiaofi 180*2ee67178SXianjun Jiaormmod $SUBMODULE 181*2ee67178SXianjun Jiaoinsmod $SUBMODULE.ko 182*2ee67178SXianjun Jiao 183*2ee67178SXianjun Jiaoecho check $SUBMODULE module is loaded or not 184*2ee67178SXianjun JiaocheckModule $SUBMODULE 185*2ee67178SXianjun Jiaoif [ $? -eq 1 ] 186*2ee67178SXianjun Jiaothen 187*2ee67178SXianjun Jiao return 188*2ee67178SXianjun Jiaofi 189*2ee67178SXianjun Jiaosleep 0.5 190*2ee67178SXianjun Jiao 191*2ee67178SXianjun JiaoPROG=sdr 192*2ee67178SXianjun Jiaoif [ $last_input == "remote" ] 193*2ee67178SXianjun Jiao then 194*2ee67178SXianjun Jiao rm $PROG.ko 195*2ee67178SXianjun Jiao sync 196*2ee67178SXianjun Jiao wget ftp://192.168.10.1/driver/$PROG.ko 197*2ee67178SXianjun Jiao sync 198*2ee67178SXianjun Jiaofi 199*2ee67178SXianjun Jiao 200*2ee67178SXianjun Jiaormmod $PROG 201*2ee67178SXianjun Jiaoecho insert $PROG.ko test_mode=$test_mode 202*2ee67178SXianjun Jiaoinsmod $PROG.ko test_mode=$test_mode 203*2ee67178SXianjun Jiao 204*2ee67178SXianjun Jiaoecho check $PROG module is loaded or not 205*2ee67178SXianjun JiaocheckModule $PROG 206*2ee67178SXianjun Jiaoif [ $? -eq 1 ] 207*2ee67178SXianjun Jiaothen 208*2ee67178SXianjun Jiao return 209*2ee67178SXianjun Jiaofi 210*2ee67178SXianjun Jiao 211*2ee67178SXianjun Jiaoecho the end 212*2ee67178SXianjun Jiaodmesg 213*2ee67178SXianjun Jiao 214*2ee67178SXianjun Jiao# dmesg -c 215*2ee67178SXianjun Jiao# sleep 0.1 216*2ee67178SXianjun Jiao# ifconfig sdr0 up 217*2ee67178SXianjun Jiao 218*2ee67178SXianjun Jiao 219*2ee67178SXianjun Jiao 220