xref: /openwifi/user_space/setup_once.sh (revision c288129e5d9640e96a0b099d449e41bcb5ba16d3)
1b72abc17SXianjun Jiao#!/bin/bash
25a69caf8SXianjun Jiao
35a69caf8SXianjun Jiao# Author: Xianjun Jiao
45a69caf8SXianjun Jiao# SPDX-FileCopyrightText: 2023 UGent
55a69caf8SXianjun Jiao# SPDX-License-Identifier: AGPL-3.0-or-later
65a69caf8SXianjun Jiao
75a69caf8SXianjun Jiaoset -ex
85a69caf8SXianjun Jiao
95a69caf8SXianjun Jiaocd /root/
105a69caf8SXianjun Jiao
115a69caf8SXianjun JiaoMACHINE_TYPE=`uname -m`
125a69caf8SXianjun Jiao
135a69caf8SXianjun Jiaorm -rf kernel_modules
145a69caf8SXianjun Jiaomkdir -p kernel_modules
155a69caf8SXianjun Jiao
165a69caf8SXianjun Jiao# mkdir -p /lib/modules/$(uname -r)
175a69caf8SXianjun Jiao# rm -rf /lib/modules/$(uname -r)
185a69caf8SXianjun Jiaoif [ ${MACHINE_TYPE} == 'aarch64' ]; then
19b72abc17SXianjun Jiao  cp /root/kernel_modules64/* /root/kernel_modules/
20b72abc17SXianjun Jiao  cp /root/openwifi64/* /root/openwifi/
215a69caf8SXianjun Jiao    # cp ./kernel_modules64/* /lib/modules/$(uname -r)/
225a69caf8SXianjun Jiaoelse
23b72abc17SXianjun Jiao  cp /root/kernel_modules32/* /root/kernel_modules/
24b72abc17SXianjun Jiao  cp /root/openwifi32/* /root/openwifi/
255a69caf8SXianjun Jiao    # cp ./kernel_modules32/* /lib/modules/$(uname -r)/
265a69caf8SXianjun Jiaofi
275a69caf8SXianjun Jiao
28*c288129eSXianjun Jiao# Decide board name
29*c288129eSXianjun JiaoDEVICE_TREE_MODEL_STRING=$(cat /proc/device-tree/model)
30*c288129eSXianjun Jiaoif [[ $DEVICE_TREE_MODEL_STRING == *"ADRV9361-Z7035"* ]]; then
31*c288129eSXianjun Jiao  BOARD_NAME=adrv9361z7035
32*c288129eSXianjun Jiaoelif [[ $DEVICE_TREE_MODEL_STRING == *"ADRV9364-Z7020"* ]]; then
33*c288129eSXianjun Jiao  BOARD_NAME=adrv9364z7020
34*c288129eSXianjun Jiaoelif [[ $DEVICE_TREE_MODEL_STRING == *"ANTSDR-E310"* ]]; then
35*c288129eSXianjun Jiao  BOARD_NAME=antsdr
36*c288129eSXianjun Jiaoelif [[ $DEVICE_TREE_MODEL_STRING == *"ANTSDR-E200"* ]]; then
37*c288129eSXianjun Jiao  BOARD_NAME=antsdr_e200
38*c288129eSXianjun Jiaoelif [[ $DEVICE_TREE_MODEL_STRING == *"neptunesdr"* ]]; then
39*c288129eSXianjun Jiao  BOARD_NAME=neptunesdr
40*c288129eSXianjun Jiaoelif [[ $DEVICE_TREE_MODEL_STRING == *"sdrpi"* ]]; then
41*c288129eSXianjun Jiao  BOARD_NAME=sdrpi
42*c288129eSXianjun Jiaoelif [[ $DEVICE_TREE_MODEL_STRING == *"ZC702"* ]]; then
43*c288129eSXianjun Jiao  BOARD_NAME=zc702_fmcs2
44*c288129eSXianjun Jiaoelif [[ $DEVICE_TREE_MODEL_STRING == *"ZC706"* ]]; then
45*c288129eSXianjun Jiao  BOARD_NAME=zc706_fmcs2
46*c288129eSXianjun Jiaoelif [[ $DEVICE_TREE_MODEL_STRING == *"ZCU102"* ]]; then
47*c288129eSXianjun Jiao  BOARD_NAME=zcu102_fmcs2
48*c288129eSXianjun Jiaoelif [[ $DEVICE_TREE_MODEL_STRING == *"ZED"* ]]; then
49*c288129eSXianjun Jiao  BOARD_NAME=zed_fmcs2
50*c288129eSXianjun Jiaoelse
51*c288129eSXianjun Jiao  echo $DEVICE_TREE_MODEL_STRING " NOT recognized!"
52*c288129eSXianjun Jiao  exit 1
53*c288129eSXianjun Jiaofi
54*c288129eSXianjun Jiao
55b72abc17SXianjun Jiaomv /root/kernel_modules/ad9361_drv.ko /root/openwifi/ -f || true
56b72abc17SXianjun Jiaomv /root/kernel_modules/adi_axi_hdmi.ko /root/openwifi/ -f || true
57b72abc17SXianjun Jiaomv /root/kernel_modules/axidmatest.ko /root/openwifi/ -f || true
58b72abc17SXianjun Jiaomv /root/kernel_modules/lcd.ko /root/openwifi/ -f || true
59b72abc17SXianjun Jiaomv /root/kernel_modules/xilinx_dma.ko /root/openwifi/ -f || true
60b72abc17SXianjun Jiao
615a69caf8SXianjun Jiaorm -rf /lib/modules/$(uname -r)
625a69caf8SXianjun Jiaoln -s /root/kernel_modules /lib/modules/$(uname -r)
635a69caf8SXianjun Jiaosync
645a69caf8SXianjun Jiaodepmod
655a69caf8SXianjun Jiao
66*c288129eSXianjun Jiaoecho $BOARD_NAME
67*c288129eSXianjun Jiaocp /root/openwifi_BOOT/$BOARD_NAME/system_top.bit.bin /root/openwifi/ -f || true
68*c288129eSXianjun Jiao
69b72abc17SXianjun Jiaocd /root/openwifi/sdrctl_src
705a69caf8SXianjun Jiaomake clean
715a69caf8SXianjun Jiaomake
72b72abc17SXianjun Jiaocp sdrctl /root/openwifi/
73b72abc17SXianjun Jiaocd /root/openwifi/side_ch_ctl_src/
745a69caf8SXianjun Jiaogcc -o side_ch_ctl side_ch_ctl.c
75b72abc17SXianjun Jiaocp side_ch_ctl /root/openwifi/
76b72abc17SXianjun Jiaocd /root/openwifi/inject_80211/
775a69caf8SXianjun Jiaomake clean
785a69caf8SXianjun Jiaomake
795a69caf8SXianjun Jiaocd ..
805a69caf8SXianjun Jiaosync
815a69caf8SXianjun Jiao
825a69caf8SXianjun Jiao# reboot now
83