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