xref: /openwifi/user_space/wgd.sh (revision 8a2eaff38f6fc86612b299931e933da9dd5f8fb5)
12ee67178SXianjun Jiao#!/bin/bash
22ee67178SXianjun Jiao
3e07d2876SJiao Xianjun# Author: Xianjun Jiao
4e07d2876SJiao Xianjun# SPDX-FileCopyrightText: 2019 UGent
5a6085186SLina Ceballos# SPDX-License-Identifier: AGPL-3.0-or-later
6a6085186SLina Ceballos
72ee67178SXianjun JiaocheckModule () {
82ee67178SXianjun Jiao  MODULE="$1"
92ee67178SXianjun Jiao  if lsmod | grep "$MODULE" &> /dev/null ; then
102ee67178SXianjun Jiao    echo "$MODULE is loaded!"
112ee67178SXianjun Jiao    return 0
122ee67178SXianjun Jiao  else
132ee67178SXianjun Jiao    echo "$MODULE is not loaded!"
142ee67178SXianjun Jiao    return 1
152ee67178SXianjun Jiao  fi
162ee67178SXianjun Jiao}
172ee67178SXianjun Jiao
182ee67178SXianjun Jiaonum_arg=$#
192ee67178SXianjun Jiaoecho "num_arg " $num_arg
202ee67178SXianjun Jiao
212ee67178SXianjun Jiaofor input_var in "$@"
222ee67178SXianjun Jiaodo
232ee67178SXianjun Jiao    last_input=$input_var
242ee67178SXianjun Jiao#    echo $last_input
252ee67178SXianjun Jiaodone
262ee67178SXianjun Jiao
272ee67178SXianjun Jiaoif [ -z $last_input ]
282ee67178SXianjun Jiaothen
294a12fa04SXianjun Jiao	last_input="unset"
302ee67178SXianjun Jiao  test_mode=0
312ee67178SXianjun Jiaoelse
322ee67178SXianjun Jiao  if [ $1 -eq 1 ]
332ee67178SXianjun Jiao  then
342ee67178SXianjun Jiao    test_mode=1
354a12fa04SXianjun Jiao  elif [ $1 -eq 2 ]
364a12fa04SXianjun Jiao  then
374a12fa04SXianjun Jiao    test_mode=2
384a12fa04SXianjun Jiao  elif [ $1 -eq 3 ]
394a12fa04SXianjun Jiao  then
404a12fa04SXianjun Jiao    test_mode=3
414a12fa04SXianjun Jiao  elif [ $1 -eq 4 ]
424a12fa04SXianjun Jiao  then
434a12fa04SXianjun Jiao    test_mode=4
444a12fa04SXianjun Jiao  elif [ $1 -eq 5 ]
454a12fa04SXianjun Jiao  then
464a12fa04SXianjun Jiao    test_mode=5
474a12fa04SXianjun Jiao  elif [ $1 -eq 6 ]
484a12fa04SXianjun Jiao  then
494a12fa04SXianjun Jiao    test_mode=6
504a12fa04SXianjun Jiao  elif [ $1 -eq 7 ]
514a12fa04SXianjun Jiao  then
524a12fa04SXianjun Jiao    test_mode=7
532ee67178SXianjun Jiao  else
542ee67178SXianjun Jiao    test_mode=0
552ee67178SXianjun Jiao  fi
562ee67178SXianjun Jiaofi
574a12fa04SXianjun Jiao
584a12fa04SXianjun Jiao#if ((($test_mode & 0x2) != 0)); then
594a12fa04SXianjun Jiao  tx_offset_tuning_enable=0
604a12fa04SXianjun Jiao#else
614a12fa04SXianjun Jiao#  tx_offset_tuning_enable=1
624a12fa04SXianjun Jiao#fi
634a12fa04SXianjun Jiao
642ee67178SXianjun Jiaoecho last_input $last_input
652ee67178SXianjun Jiaoecho test_mode $test_mode
664a12fa04SXianjun Jiaoecho tx_offset_tuning_enable $tx_offset_tuning_enable
674a12fa04SXianjun Jiao
684a12fa04SXianjun Jiaoservice network-manager stop
694a12fa04SXianjun Jiao
707e3e6749Sweiliudepmod
712ee67178SXianjun Jiaomodprobe mac80211
727e3e6749Sweiliulsmod
732ee67178SXianjun Jiao# dmesg -c
742ee67178SXianjun Jiao
752ee67178SXianjun JiaoPROG=sdr
762ee67178SXianjun Jiaormmod $PROG
772ee67178SXianjun Jiao
787e3e6749Sweiliu
797e3e6749Sweiliu# mv ad9361 driver to local folder, to prevent booting issue
807e3e6749Sweiliuif [ -f /lib/modules/$(uname -r)/ad9361_drv.ko ]; then
817e3e6749Sweiliu   mv /lib/modules/$(uname -r)/ad9361_drv.ko .
827e3e6749Sweiliufi
837e3e6749SweiliuSUBMODULE=ad9361_drv
847e3e6749Sweiliurmmod $SUBMODULE
857e3e6749Sweiliuinsmod $SUBMODULE.ko
867e3e6749Sweiliu
877e3e6749Sweiliuecho check $SUBMODULE module is loaded or not
887e3e6749SweiliucheckModule $SUBMODULE
897e3e6749Sweiliuif [ $? -eq 1 ]
907e3e6749Sweiliuthen
917e3e6749Sweiliu  return
927e3e6749Sweiliufi
937e3e6749Sweiliusleep 1
947e3e6749Sweiliulsmod
957e3e6749Sweiliu
967e3e6749Sweiliu# mv xilinx dma driver to local folder, to prevent booting issue
977e3e6749Sweiliuif [ -f /lib/modules/$(uname -r)/xilinx_dma.ko ]; then
987e3e6749Sweiliu   mv /lib/modules/$(uname -r)/xilinx_dma.ko .
997e3e6749Sweiliufi
1007e3e6749SweiliuSUBMODULE=xilinx_dma
1017e3e6749Sweiliurmmod $SUBMODULE
1027e3e6749Sweiliuinsmod $SUBMODULE.ko
1037e3e6749Sweiliu
1047e3e6749Sweiliu#sleep 1
1057e3e6749Sweiliu
1067e3e6749Sweiliuecho check $SUBMODULE module is loaded or not
1077e3e6749SweiliucheckModule $SUBMODULE
1087e3e6749Sweiliuif [ $? -eq 1 ]
1097e3e6749Sweiliuthen
1107e3e6749Sweiliu  return
1117e3e6749Sweiliufi
1127e3e6749Sweiliusleep 1
1137e3e6749Sweiliulsmod
1147e3e6749Sweiliu
1152ee67178SXianjun Jiao# before drive ad9361, let's bring up duc and make sure dac is connected to ad9361 dma
1162ee67178SXianjun JiaoSUBMODULE=tx_intf
1172ee67178SXianjun Jiaoif [ $last_input == "remote" ]
1182ee67178SXianjun Jiao  then
1192ee67178SXianjun Jiao    rm $SUBMODULE.ko
1202ee67178SXianjun Jiao    sync
1212ee67178SXianjun Jiao    wget ftp://192.168.10.1/driver/$SUBMODULE/$SUBMODULE.ko
1222ee67178SXianjun Jiao    sync
1232ee67178SXianjun Jiaofi
1242ee67178SXianjun Jiaormmod $SUBMODULE
1252ee67178SXianjun Jiaoinsmod $SUBMODULE.ko
1262ee67178SXianjun Jiao
1272ee67178SXianjun Jiaoecho check $SUBMODULE module is loaded or not
1282ee67178SXianjun JiaocheckModule $SUBMODULE
1292ee67178SXianjun Jiaoif [ $? -eq 1 ]
1302ee67178SXianjun Jiaothen
1312ee67178SXianjun Jiao  return
1322ee67178SXianjun Jiaofi
1332ee67178SXianjun Jiaosleep 0.5
1342ee67178SXianjun Jiao
1352ee67178SXianjun Jiao
1362ee67178SXianjun Jiao
137b73660adSXianjun Jiaoecho "set RF frontend"
138795157abSXianjun Jiao# if [ $last_input == "remote" ]
139795157abSXianjun Jiao#   then
140795157abSXianjun Jiao#     rm rf_init.sh
141795157abSXianjun Jiao#     sync
142795157abSXianjun Jiao#     wget ftp://192.168.10.1/user_space/rf_init.sh
143795157abSXianjun Jiao#     sync
144795157abSXianjun Jiao#     chmod +x rf_init.sh
145795157abSXianjun Jiao#     sync
146795157abSXianjun Jiao# fi
1474a12fa04SXianjun Jiao
1484a12fa04SXianjun Jiao# if [ $tx_offset_tuning_enable = "1" ]
1494a12fa04SXianjun Jiao# then
1504a12fa04SXianjun Jiao  ./rf_init_11n.sh
1514a12fa04SXianjun Jiao# else
1524a12fa04SXianjun Jiao#   ./rf_init.sh tx_offset_tuning_disable
1534a12fa04SXianjun Jiao# fi
1542ee67178SXianjun Jiao
1552ee67178SXianjun Jiao#sleep 1
1562ee67178SXianjun Jiao
1572ee67178SXianjun JiaoSUBMODULE=rx_intf
1582ee67178SXianjun Jiaoif [ $last_input == "remote" ]
1592ee67178SXianjun Jiao  then
1602ee67178SXianjun Jiao    rm $SUBMODULE.ko
1612ee67178SXianjun Jiao    sync
1622ee67178SXianjun Jiao    wget ftp://192.168.10.1/driver/$SUBMODULE/$SUBMODULE.ko
1632ee67178SXianjun Jiao    sync
1642ee67178SXianjun Jiaofi
1652ee67178SXianjun Jiaormmod $SUBMODULE
1662ee67178SXianjun Jiaoinsmod $SUBMODULE.ko
1672ee67178SXianjun Jiao
1682ee67178SXianjun Jiaoecho check $SUBMODULE module is loaded or not
1692ee67178SXianjun JiaocheckModule $SUBMODULE
1702ee67178SXianjun Jiaoif [ $? -eq 1 ]
1712ee67178SXianjun Jiaothen
1722ee67178SXianjun Jiao  return
1732ee67178SXianjun Jiaofi
1742ee67178SXianjun Jiao
1752ee67178SXianjun JiaoSUBMODULE=openofdm_tx
1762ee67178SXianjun Jiaoif [ $last_input == "remote" ]
1772ee67178SXianjun Jiao  then
1782ee67178SXianjun Jiao    rm $SUBMODULE.ko
1792ee67178SXianjun Jiao    sync
1802ee67178SXianjun Jiao    wget ftp://192.168.10.1/driver/$SUBMODULE/$SUBMODULE.ko
1812ee67178SXianjun Jiao    sync
1822ee67178SXianjun Jiaofi
1832ee67178SXianjun Jiaormmod $SUBMODULE
1842ee67178SXianjun Jiaoinsmod $SUBMODULE.ko
1852ee67178SXianjun Jiao
1862ee67178SXianjun Jiaoecho check $SUBMODULE module is loaded or not
1872ee67178SXianjun JiaocheckModule $SUBMODULE
1882ee67178SXianjun Jiaoif [ $? -eq 1 ]
1892ee67178SXianjun Jiaothen
1902ee67178SXianjun Jiao  return
1912ee67178SXianjun Jiaofi
1922ee67178SXianjun Jiao
1932ee67178SXianjun JiaoSUBMODULE=openofdm_rx
1942ee67178SXianjun Jiaoif [ $last_input == "remote" ]
1952ee67178SXianjun Jiao  then
1962ee67178SXianjun Jiao    rm $SUBMODULE.ko
1972ee67178SXianjun Jiao    sync
1982ee67178SXianjun Jiao    wget ftp://192.168.10.1/driver/$SUBMODULE/$SUBMODULE.ko
1992ee67178SXianjun Jiao    sync
2002ee67178SXianjun Jiaofi
2012ee67178SXianjun Jiaormmod $SUBMODULE
2022ee67178SXianjun Jiaoinsmod $SUBMODULE.ko
2032ee67178SXianjun Jiao
2042ee67178SXianjun Jiaoecho check $SUBMODULE module is loaded or not
2052ee67178SXianjun JiaocheckModule $SUBMODULE
2062ee67178SXianjun Jiaoif [ $? -eq 1 ]
2072ee67178SXianjun Jiaothen
2082ee67178SXianjun Jiao  return
2092ee67178SXianjun Jiaofi
2102ee67178SXianjun Jiao
2112ee67178SXianjun JiaoSUBMODULE=xpu
2122ee67178SXianjun Jiaoif [ $last_input == "remote" ]
2132ee67178SXianjun Jiao  then
2142ee67178SXianjun Jiao    rm $SUBMODULE.ko
2152ee67178SXianjun Jiao    sync
2162ee67178SXianjun Jiao    wget ftp://192.168.10.1/driver/$SUBMODULE/$SUBMODULE.ko
2172ee67178SXianjun Jiao    sync
2182ee67178SXianjun Jiaofi
2192ee67178SXianjun Jiaormmod $SUBMODULE
2202ee67178SXianjun Jiaoinsmod $SUBMODULE.ko
2212ee67178SXianjun Jiao
2222ee67178SXianjun Jiaoecho check $SUBMODULE module is loaded or not
2232ee67178SXianjun JiaocheckModule $SUBMODULE
2242ee67178SXianjun Jiaoif [ $? -eq 1 ]
2252ee67178SXianjun Jiaothen
2262ee67178SXianjun Jiao  return
2272ee67178SXianjun Jiaofi
2282ee67178SXianjun Jiaosleep 0.5
2292ee67178SXianjun Jiao
2302ee67178SXianjun JiaoPROG=sdr
2312ee67178SXianjun Jiaoif [ $last_input == "remote" ]
2322ee67178SXianjun Jiao  then
2332ee67178SXianjun Jiao    rm $PROG.ko
2342ee67178SXianjun Jiao    sync
2352ee67178SXianjun Jiao    wget ftp://192.168.10.1/driver/$PROG.ko
2362ee67178SXianjun Jiao    sync
2372ee67178SXianjun Jiaofi
2382ee67178SXianjun Jiao
2392ee67178SXianjun Jiaormmod $PROG
2402ee67178SXianjun Jiaoecho insert $PROG.ko test_mode=$test_mode
2412ee67178SXianjun Jiaoinsmod $PROG.ko test_mode=$test_mode
2422ee67178SXianjun Jiao
2432ee67178SXianjun Jiaoecho check $PROG module is loaded or not
2442ee67178SXianjun JiaocheckModule $PROG
2452ee67178SXianjun Jiaoif [ $? -eq 1 ]
2462ee67178SXianjun Jiaothen
2472ee67178SXianjun Jiao  return
2482ee67178SXianjun Jiaofi
2492ee67178SXianjun Jiao
250*8a2eaff3Sthavingaif ps -p $(</tmp/check_calib_inf.pid) > /dev/null
251*8a2eaff3Sthavingathen
252*8a2eaff3Sthavinga   kill $(</tmp/check_calib_inf.pid)
253*8a2eaff3Sthavingafi
254*8a2eaff3Sthavinga./check_calib_inf.sh
255*8a2eaff3Sthavinga
2562ee67178SXianjun Jiaoecho the end
2572ee67178SXianjun Jiaodmesg
2582ee67178SXianjun Jiao
2592ee67178SXianjun Jiao# dmesg -c
2602ee67178SXianjun Jiao# sleep 0.1
2612ee67178SXianjun Jiao# ifconfig sdr0 up
262