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