xref: /openwifi/user_space/wgd.sh (revision 2ee67178825ee52f380c2f72b7135d15ddadca60)
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