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