xref: /openwifi/user_space/wgd.sh (revision e07d2876e858295f0a208e9684e60d5c9d79c32f)
12ee67178SXianjun Jiao#!/bin/bash
22ee67178SXianjun Jiao
3*e07d2876SJiao Xianjun# Author: Xianjun Jiao
4*e07d2876SJiao 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
292ee67178SXianjun Jiao	last_input="xxxxxxxxx"
302ee67178SXianjun Jiao  test_mode=0
312ee67178SXianjun Jiaoelse
322ee67178SXianjun Jiao  if [ $1 -eq 1 ]
332ee67178SXianjun Jiao  then
342ee67178SXianjun Jiao    test_mode=1
352ee67178SXianjun Jiao  else
362ee67178SXianjun Jiao    test_mode=0
372ee67178SXianjun Jiao  fi
382ee67178SXianjun Jiaofi
392ee67178SXianjun Jiaoecho last_input $last_input
402ee67178SXianjun Jiaoecho test_mode $test_mode
412ee67178SXianjun Jiao
422ee67178SXianjun Jiaomodprobe mac80211
432ee67178SXianjun Jiao
442ee67178SXianjun Jiao# dmesg -c
452ee67178SXianjun Jiao
462ee67178SXianjun JiaoPROG=sdr
472ee67178SXianjun Jiaormmod $PROG
482ee67178SXianjun Jiao
492ee67178SXianjun JiaoSUBMODULE=xilinx_dma
502ee67178SXianjun Jiaoif [ $last_input == "remote" ]
512ee67178SXianjun Jiao  then
522ee67178SXianjun Jiao    rm $SUBMODULE.ko
532ee67178SXianjun Jiao    sync
542ee67178SXianjun Jiao    wget ftp://192.168.10.1/driver/$SUBMODULE/$SUBMODULE.ko
552ee67178SXianjun Jiao    sync
562ee67178SXianjun Jiaofi
572ee67178SXianjun Jiaormmod $SUBMODULE
582ee67178SXianjun Jiaoinsmod $SUBMODULE.ko
592ee67178SXianjun Jiao
602ee67178SXianjun Jiao#sleep 1
612ee67178SXianjun Jiao
622ee67178SXianjun Jiaoecho check $SUBMODULE module is loaded or not
632ee67178SXianjun JiaocheckModule $SUBMODULE
642ee67178SXianjun Jiaoif [ $? -eq 1 ]
652ee67178SXianjun Jiaothen
662ee67178SXianjun Jiao  return
672ee67178SXianjun Jiaofi
682ee67178SXianjun Jiao
692ee67178SXianjun Jiao# before drive ad9361, let's bring up duc and make sure dac is connected to ad9361 dma
702ee67178SXianjun JiaoSUBMODULE=tx_intf
712ee67178SXianjun Jiaoif [ $last_input == "remote" ]
722ee67178SXianjun Jiao  then
732ee67178SXianjun Jiao    rm $SUBMODULE.ko
742ee67178SXianjun Jiao    sync
752ee67178SXianjun Jiao    wget ftp://192.168.10.1/driver/$SUBMODULE/$SUBMODULE.ko
762ee67178SXianjun Jiao    sync
772ee67178SXianjun Jiaofi
782ee67178SXianjun Jiaormmod $SUBMODULE
792ee67178SXianjun Jiaoinsmod $SUBMODULE.ko
802ee67178SXianjun Jiao
812ee67178SXianjun Jiaoecho check $SUBMODULE module is loaded or not
822ee67178SXianjun JiaocheckModule $SUBMODULE
832ee67178SXianjun Jiaoif [ $? -eq 1 ]
842ee67178SXianjun Jiaothen
852ee67178SXianjun Jiao  return
862ee67178SXianjun Jiaofi
872ee67178SXianjun Jiaosleep 0.5
882ee67178SXianjun Jiao
892ee67178SXianjun JiaoSUBMODULE=ad9361_drv
902ee67178SXianjun Jiaoif [ $last_input == "remote" ]
912ee67178SXianjun Jiao  then
922ee67178SXianjun Jiao    rm $SUBMODULE.ko
932ee67178SXianjun Jiao    sync
942ee67178SXianjun Jiao    wget ftp://192.168.10.1/driver/ad9361/$SUBMODULE.ko
952ee67178SXianjun Jiao    sync
962ee67178SXianjun Jiaofi
972ee67178SXianjun Jiaormmod $SUBMODULE
982ee67178SXianjun Jiaoinsmod $SUBMODULE.ko
992ee67178SXianjun Jiao
1002ee67178SXianjun Jiaoecho check $SUBMODULE module is loaded or not
1012ee67178SXianjun JiaocheckModule $SUBMODULE
1022ee67178SXianjun Jiaoif [ $? -eq 1 ]
1032ee67178SXianjun Jiaothen
1042ee67178SXianjun Jiao  return
1052ee67178SXianjun Jiaofi
1062ee67178SXianjun Jiaosleep 1
1072ee67178SXianjun Jiao
108b73660adSXianjun Jiaoecho "set RF frontend"
109795157abSXianjun Jiao# if [ $last_input == "remote" ]
110795157abSXianjun Jiao#   then
111795157abSXianjun Jiao#     rm rf_init.sh
112795157abSXianjun Jiao#     sync
113795157abSXianjun Jiao#     wget ftp://192.168.10.1/user_space/rf_init.sh
114795157abSXianjun Jiao#     sync
115795157abSXianjun Jiao#     chmod +x rf_init.sh
116795157abSXianjun Jiao#     sync
117795157abSXianjun Jiao# fi
1182ee67178SXianjun Jiao./rf_init.sh
1192ee67178SXianjun Jiao
1202ee67178SXianjun Jiao#sleep 1
1212ee67178SXianjun Jiao
1222ee67178SXianjun JiaoSUBMODULE=rx_intf
1232ee67178SXianjun Jiaoif [ $last_input == "remote" ]
1242ee67178SXianjun Jiao  then
1252ee67178SXianjun Jiao    rm $SUBMODULE.ko
1262ee67178SXianjun Jiao    sync
1272ee67178SXianjun Jiao    wget ftp://192.168.10.1/driver/$SUBMODULE/$SUBMODULE.ko
1282ee67178SXianjun Jiao    sync
1292ee67178SXianjun Jiaofi
1302ee67178SXianjun Jiaormmod $SUBMODULE
1312ee67178SXianjun Jiaoinsmod $SUBMODULE.ko
1322ee67178SXianjun Jiao
1332ee67178SXianjun Jiaoecho check $SUBMODULE module is loaded or not
1342ee67178SXianjun JiaocheckModule $SUBMODULE
1352ee67178SXianjun Jiaoif [ $? -eq 1 ]
1362ee67178SXianjun Jiaothen
1372ee67178SXianjun Jiao  return
1382ee67178SXianjun Jiaofi
1392ee67178SXianjun Jiao
1402ee67178SXianjun JiaoSUBMODULE=openofdm_tx
1412ee67178SXianjun Jiaoif [ $last_input == "remote" ]
1422ee67178SXianjun Jiao  then
1432ee67178SXianjun Jiao    rm $SUBMODULE.ko
1442ee67178SXianjun Jiao    sync
1452ee67178SXianjun Jiao    wget ftp://192.168.10.1/driver/$SUBMODULE/$SUBMODULE.ko
1462ee67178SXianjun Jiao    sync
1472ee67178SXianjun Jiaofi
1482ee67178SXianjun Jiaormmod $SUBMODULE
1492ee67178SXianjun Jiaoinsmod $SUBMODULE.ko
1502ee67178SXianjun Jiao
1512ee67178SXianjun Jiaoecho check $SUBMODULE module is loaded or not
1522ee67178SXianjun JiaocheckModule $SUBMODULE
1532ee67178SXianjun Jiaoif [ $? -eq 1 ]
1542ee67178SXianjun Jiaothen
1552ee67178SXianjun Jiao  return
1562ee67178SXianjun Jiaofi
1572ee67178SXianjun Jiao
1582ee67178SXianjun JiaoSUBMODULE=openofdm_rx
1592ee67178SXianjun Jiaoif [ $last_input == "remote" ]
1602ee67178SXianjun Jiao  then
1612ee67178SXianjun Jiao    rm $SUBMODULE.ko
1622ee67178SXianjun Jiao    sync
1632ee67178SXianjun Jiao    wget ftp://192.168.10.1/driver/$SUBMODULE/$SUBMODULE.ko
1642ee67178SXianjun Jiao    sync
1652ee67178SXianjun Jiaofi
1662ee67178SXianjun Jiaormmod $SUBMODULE
1672ee67178SXianjun Jiaoinsmod $SUBMODULE.ko
1682ee67178SXianjun Jiao
1692ee67178SXianjun Jiaoecho check $SUBMODULE module is loaded or not
1702ee67178SXianjun JiaocheckModule $SUBMODULE
1712ee67178SXianjun Jiaoif [ $? -eq 1 ]
1722ee67178SXianjun Jiaothen
1732ee67178SXianjun Jiao  return
1742ee67178SXianjun Jiaofi
1752ee67178SXianjun Jiao
1762ee67178SXianjun JiaoSUBMODULE=xpu
1772ee67178SXianjun Jiaoif [ $last_input == "remote" ]
1782ee67178SXianjun Jiao  then
1792ee67178SXianjun Jiao    rm $SUBMODULE.ko
1802ee67178SXianjun Jiao    sync
1812ee67178SXianjun Jiao    wget ftp://192.168.10.1/driver/$SUBMODULE/$SUBMODULE.ko
1822ee67178SXianjun Jiao    sync
1832ee67178SXianjun Jiaofi
1842ee67178SXianjun Jiaormmod $SUBMODULE
1852ee67178SXianjun Jiaoinsmod $SUBMODULE.ko
1862ee67178SXianjun Jiao
1872ee67178SXianjun Jiaoecho check $SUBMODULE module is loaded or not
1882ee67178SXianjun JiaocheckModule $SUBMODULE
1892ee67178SXianjun Jiaoif [ $? -eq 1 ]
1902ee67178SXianjun Jiaothen
1912ee67178SXianjun Jiao  return
1922ee67178SXianjun Jiaofi
1932ee67178SXianjun Jiaosleep 0.5
1942ee67178SXianjun Jiao
1952ee67178SXianjun JiaoPROG=sdr
1962ee67178SXianjun Jiaoif [ $last_input == "remote" ]
1972ee67178SXianjun Jiao  then
1982ee67178SXianjun Jiao    rm $PROG.ko
1992ee67178SXianjun Jiao    sync
2002ee67178SXianjun Jiao    wget ftp://192.168.10.1/driver/$PROG.ko
2012ee67178SXianjun Jiao    sync
2022ee67178SXianjun Jiaofi
2032ee67178SXianjun Jiao
2042ee67178SXianjun Jiaormmod $PROG
2052ee67178SXianjun Jiaoecho insert $PROG.ko test_mode=$test_mode
2062ee67178SXianjun Jiaoinsmod $PROG.ko test_mode=$test_mode
2072ee67178SXianjun Jiao
2082ee67178SXianjun Jiaoecho check $PROG module is loaded or not
2092ee67178SXianjun JiaocheckModule $PROG
2102ee67178SXianjun Jiaoif [ $? -eq 1 ]
2112ee67178SXianjun Jiaothen
2122ee67178SXianjun Jiao  return
2132ee67178SXianjun Jiaofi
2142ee67178SXianjun Jiao
2152ee67178SXianjun Jiaoecho the end
2162ee67178SXianjun Jiaodmesg
2172ee67178SXianjun Jiao
2182ee67178SXianjun Jiao# dmesg -c
2192ee67178SXianjun Jiao# sleep 0.1
2202ee67178SXianjun Jiao# ifconfig sdr0 up
221