xref: /openwifi/user_space/wgd.sh (revision 56fcab20440ce9d4e3ace884ccd9a4ffd50e706f)
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
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 Jiao# before drive ad9361, let's bring up duc and make sure dac is connected to ad9361 dma
502ee67178SXianjun JiaoSUBMODULE=tx_intf
512ee67178SXianjun Jiaoif [ $last_input == "remote" ]
522ee67178SXianjun Jiao  then
532ee67178SXianjun Jiao    rm $SUBMODULE.ko
542ee67178SXianjun Jiao    sync
552ee67178SXianjun Jiao    wget ftp://192.168.10.1/driver/$SUBMODULE/$SUBMODULE.ko
562ee67178SXianjun Jiao    sync
572ee67178SXianjun Jiaofi
582ee67178SXianjun Jiaormmod $SUBMODULE
592ee67178SXianjun Jiaoinsmod $SUBMODULE.ko
602ee67178SXianjun Jiao
612ee67178SXianjun Jiaoecho check $SUBMODULE module is loaded or not
622ee67178SXianjun JiaocheckModule $SUBMODULE
632ee67178SXianjun Jiaoif [ $? -eq 1 ]
642ee67178SXianjun Jiaothen
652ee67178SXianjun Jiao  return
662ee67178SXianjun Jiaofi
672ee67178SXianjun Jiaosleep 0.5
682ee67178SXianjun Jiao
69*56fcab20SXianjun Jiao# SUBMODULE=ad9361_drv
70*56fcab20SXianjun Jiao# if [ $last_input == "remote" ]
71*56fcab20SXianjun Jiao#   then
72*56fcab20SXianjun Jiao#     rm $SUBMODULE.ko
73*56fcab20SXianjun Jiao#     sync
74*56fcab20SXianjun Jiao#     wget ftp://192.168.10.1/driver/ad9361/$SUBMODULE.ko
75*56fcab20SXianjun Jiao#     sync
76*56fcab20SXianjun Jiao# fi
77*56fcab20SXianjun Jiao# rmmod $SUBMODULE
78*56fcab20SXianjun Jiao# insmod $SUBMODULE.ko
792ee67178SXianjun Jiao
80*56fcab20SXianjun Jiao# echo check $SUBMODULE module is loaded or not
81*56fcab20SXianjun Jiao# checkModule $SUBMODULE
82*56fcab20SXianjun Jiao# if [ $? -eq 1 ]
83*56fcab20SXianjun Jiao# then
84*56fcab20SXianjun Jiao#   return
85*56fcab20SXianjun Jiao# fi
86*56fcab20SXianjun Jiao# sleep 1
872ee67178SXianjun Jiao
88b73660adSXianjun Jiaoecho "set RF frontend"
89795157abSXianjun Jiao# if [ $last_input == "remote" ]
90795157abSXianjun Jiao#   then
91795157abSXianjun Jiao#     rm rf_init.sh
92795157abSXianjun Jiao#     sync
93795157abSXianjun Jiao#     wget ftp://192.168.10.1/user_space/rf_init.sh
94795157abSXianjun Jiao#     sync
95795157abSXianjun Jiao#     chmod +x rf_init.sh
96795157abSXianjun Jiao#     sync
97795157abSXianjun Jiao# fi
982ee67178SXianjun Jiao./rf_init.sh
992ee67178SXianjun Jiao
1002ee67178SXianjun Jiao#sleep 1
1012ee67178SXianjun Jiao
1022ee67178SXianjun JiaoSUBMODULE=rx_intf
1032ee67178SXianjun Jiaoif [ $last_input == "remote" ]
1042ee67178SXianjun Jiao  then
1052ee67178SXianjun Jiao    rm $SUBMODULE.ko
1062ee67178SXianjun Jiao    sync
1072ee67178SXianjun Jiao    wget ftp://192.168.10.1/driver/$SUBMODULE/$SUBMODULE.ko
1082ee67178SXianjun Jiao    sync
1092ee67178SXianjun Jiaofi
1102ee67178SXianjun Jiaormmod $SUBMODULE
1112ee67178SXianjun Jiaoinsmod $SUBMODULE.ko
1122ee67178SXianjun Jiao
1132ee67178SXianjun Jiaoecho check $SUBMODULE module is loaded or not
1142ee67178SXianjun JiaocheckModule $SUBMODULE
1152ee67178SXianjun Jiaoif [ $? -eq 1 ]
1162ee67178SXianjun Jiaothen
1172ee67178SXianjun Jiao  return
1182ee67178SXianjun Jiaofi
1192ee67178SXianjun Jiao
1202ee67178SXianjun JiaoSUBMODULE=openofdm_tx
1212ee67178SXianjun Jiaoif [ $last_input == "remote" ]
1222ee67178SXianjun Jiao  then
1232ee67178SXianjun Jiao    rm $SUBMODULE.ko
1242ee67178SXianjun Jiao    sync
1252ee67178SXianjun Jiao    wget ftp://192.168.10.1/driver/$SUBMODULE/$SUBMODULE.ko
1262ee67178SXianjun Jiao    sync
1272ee67178SXianjun Jiaofi
1282ee67178SXianjun Jiaormmod $SUBMODULE
1292ee67178SXianjun Jiaoinsmod $SUBMODULE.ko
1302ee67178SXianjun Jiao
1312ee67178SXianjun Jiaoecho check $SUBMODULE module is loaded or not
1322ee67178SXianjun JiaocheckModule $SUBMODULE
1332ee67178SXianjun Jiaoif [ $? -eq 1 ]
1342ee67178SXianjun Jiaothen
1352ee67178SXianjun Jiao  return
1362ee67178SXianjun Jiaofi
1372ee67178SXianjun Jiao
1382ee67178SXianjun JiaoSUBMODULE=openofdm_rx
1392ee67178SXianjun Jiaoif [ $last_input == "remote" ]
1402ee67178SXianjun Jiao  then
1412ee67178SXianjun Jiao    rm $SUBMODULE.ko
1422ee67178SXianjun Jiao    sync
1432ee67178SXianjun Jiao    wget ftp://192.168.10.1/driver/$SUBMODULE/$SUBMODULE.ko
1442ee67178SXianjun Jiao    sync
1452ee67178SXianjun Jiaofi
1462ee67178SXianjun Jiaormmod $SUBMODULE
1472ee67178SXianjun Jiaoinsmod $SUBMODULE.ko
1482ee67178SXianjun Jiao
1492ee67178SXianjun Jiaoecho check $SUBMODULE module is loaded or not
1502ee67178SXianjun JiaocheckModule $SUBMODULE
1512ee67178SXianjun Jiaoif [ $? -eq 1 ]
1522ee67178SXianjun Jiaothen
1532ee67178SXianjun Jiao  return
1542ee67178SXianjun Jiaofi
1552ee67178SXianjun Jiao
1562ee67178SXianjun JiaoSUBMODULE=xpu
1572ee67178SXianjun Jiaoif [ $last_input == "remote" ]
1582ee67178SXianjun Jiao  then
1592ee67178SXianjun Jiao    rm $SUBMODULE.ko
1602ee67178SXianjun Jiao    sync
1612ee67178SXianjun Jiao    wget ftp://192.168.10.1/driver/$SUBMODULE/$SUBMODULE.ko
1622ee67178SXianjun Jiao    sync
1632ee67178SXianjun Jiaofi
1642ee67178SXianjun Jiaormmod $SUBMODULE
1652ee67178SXianjun Jiaoinsmod $SUBMODULE.ko
1662ee67178SXianjun Jiao
1672ee67178SXianjun Jiaoecho check $SUBMODULE module is loaded or not
1682ee67178SXianjun JiaocheckModule $SUBMODULE
1692ee67178SXianjun Jiaoif [ $? -eq 1 ]
1702ee67178SXianjun Jiaothen
1712ee67178SXianjun Jiao  return
1722ee67178SXianjun Jiaofi
1732ee67178SXianjun Jiaosleep 0.5
1742ee67178SXianjun Jiao
1752ee67178SXianjun JiaoPROG=sdr
1762ee67178SXianjun Jiaoif [ $last_input == "remote" ]
1772ee67178SXianjun Jiao  then
1782ee67178SXianjun Jiao    rm $PROG.ko
1792ee67178SXianjun Jiao    sync
1802ee67178SXianjun Jiao    wget ftp://192.168.10.1/driver/$PROG.ko
1812ee67178SXianjun Jiao    sync
1822ee67178SXianjun Jiaofi
1832ee67178SXianjun Jiao
1842ee67178SXianjun Jiaormmod $PROG
1852ee67178SXianjun Jiaoecho insert $PROG.ko test_mode=$test_mode
1862ee67178SXianjun Jiaoinsmod $PROG.ko test_mode=$test_mode
1872ee67178SXianjun Jiao
1882ee67178SXianjun Jiaoecho check $PROG module is loaded or not
1892ee67178SXianjun JiaocheckModule $PROG
1902ee67178SXianjun Jiaoif [ $? -eq 1 ]
1912ee67178SXianjun Jiaothen
1922ee67178SXianjun Jiao  return
1932ee67178SXianjun Jiaofi
1942ee67178SXianjun Jiao
1952ee67178SXianjun Jiaoecho the end
1962ee67178SXianjun Jiaodmesg
1972ee67178SXianjun Jiao
1982ee67178SXianjun Jiao# dmesg -c
1992ee67178SXianjun Jiao# sleep 0.1
2002ee67178SXianjun Jiao# ifconfig sdr0 up
201