Coder Social home page Coder Social logo

open-sdr / openwifi Goto Github PK

View Code? Open in Web Editor NEW
3.7K 132.0 626.0 24.07 MB

open-source IEEE 802.11 WiFi baseband FPGA (chip) design: driver, software

License: GNU Affero General Public License v3.0

Makefile 0.56% C 86.71% Shell 9.63% HTML 0.07% Python 1.67% MATLAB 1.37%
fpga ofdm 802-11 zynq linux xilinx analog-devices mac80211 csma dma

openwifi's Introduction

openwifi

openwifi: Linux mac80211 compatible full-stack IEEE802.11/Wi-Fi design based on SDR (Software Defined Radio).

[Download img and Quick start] [Tips for Windows users]

This repository includes Linux driver and software. openwifi-hw repository has the FPGA design. It is YOUR RESPONSIBILITY to follow your LOCAL SPECTRUM REGULATION or use CABLE to avoid potential interference over the air.

[Project document] [Application notes] [Videos] [Publications and How to Cite] [maillist]

Openwifi code has dual licenses. AGPLv3 is the opensource license. For non-opensource and advanced feature license, please contact [email protected]. Openwifi project also leverages some 3rd party modules. It is user's duty to check and follow licenses of those modules according to the purpose/usage. You can find an example explanation from Analog Devices for this compound license conditions. [How to contribute].

Features:

Performance (best case: aggregation/AMPDU on):

  • iperf: TCP 40~50Mbps; UDP 50Mbps
  • EVM -38dB; MCS0 sensitivity -92dBm; MCS7 -73dBm. (FMCOMMS2 2.4GHz; cable and OTA test)

Supported SDR platforms:

board_name Description Vivado license
zc706_fmcs2 Xilinx ZC706 board + FMCOMMS2/3/4 Need
zed_fmcs2 Xilinx zed board + FMCOMMS2/3/4 NO need
adrv9364z7020 ADRV9364-Z7020 + ADRV1CRR-BOB NO need
adrv9361z7035 ADRV9361-Z7035 + ADRV1CRR-BOB/FMC Need
zc702_fmcs2 Xilinx ZC702 board + FMCOMMS2/3/4 NO need
antsdr MicroPhase enhanced ADALM-PLUTO Notes NO need
e310v2 MicroPhase new antsdr Notes NO need
antsdr_e200 MicroPhase enhanced ADALM-PLUTO (smaller/cheaper) Notes NO need
sdrpi HexSDR SDR in Raspberry Pi size Notes NO need
zcu102_fmcs2 Xilinx ZCU102 board + FMCOMMS2/3/4 Need
neptunesdr Low cost Zynq 7020 + AD9361 board NO need
  • Check Porting guide for your new board if it isn't in the list.
  • board_name is used to identify FPGA design in openwifi-hw/boards/ and FPGA image in openwifi-hw-img/boards
  • Don't have any boards? Or you like JTAG boot instead of SD card? Check our test bed w-iLab.t tutorial.

[Download img and Quick start] [Basic operations] [Update FPGA] [Update Driver] [Update sdrctl] [Easy Access and etc]

[Build openwifi Linux img from scratch] [Special note for 11b] [Porting guide] [Project document] [Application notes]

Download img and Quick start

  • Download openwifi img, unzip and burn it into a SD card (>=16GB). After this operation, the SD card should have two partitions: BOOT and rootfs. To flash the SD card, SD card tool software (such as Startup Disk Creator in Ubuntu) or dd command can be used:

    sudo dd bs=512 count=31116288 if=openwifi-xyz.img of=/dev/your_sdcard_dev
    (To have correct count value, better to check the .img file actual situation by "fdisk -l img_filename")
    
  • Config the correct files in the BOOT partition according to the board you have by operation on your computer:

    • Copy files in BOOT/openwifi/board_name to the base directory of BOOT partition.
    • Delete the rootfs/root/kernel_modules directory (if exist).
    • Delete the rootfs/etc/network/interfaces.new directory (if exist).
  • Insert the SD card to the board. Configure the board in SD booting mode. Connect antennas. Power on.

  • Login to the board from your PC (PC Ethernet should have IP 192.168.10.1) with password openwifi.

  • If not successful, check known issue

  • Then, run openwifi AP and the on board webserver

    raspi-config --expand-rootfs (Only needed when your SD card > 16GB. Run and reboot)
    ./openwifi/setup_once.sh (Reboot the board. Only need to run once for new board)
    cd openwifi
    ./wgd.sh
    ./fosdem.sh
    (Use "./wgd.sh 1" to enable experimental AMPDU aggregation on top of 11n)
    (Use "./fosdem-11ag.sh" to force 11a/g mode)
    

    NOTE adrv9361z7035 has ultra low TX power in 5GHz. Move CLOSER when you use that board in 5GHz!!!

  • After you see the "openwifi" SSID on your device (Phone/Laptop/etc), connect it (If not get 192.168.13.* IP automatically, check known issue). Browser to 192.168.13.1 on your device, you should see the webpage hosted by the webserver on board.

    • Note 1: If your device doesn't support 5GHz (ch44), please change the hostapd-openwifi.conf on board and re-run fosdem.sh.
    • Note 2: After ~2 hours, the Viterbi decoder will halt (Xilinx Evaluation License). Just reload FPGA (method) or simply power cycle the board if it happens. (If output of "./sdrctl dev sdr0 get reg rx 20" is always the same, it means the decoder halts)
  • To give the Wi-Fi client internet access, configure routing/NAT on the PC:

    sudo sysctl -w net.ipv4.ip_forward=1
    sudo iptables -t nat -A POSTROUTING -o NICY -j MASQUERADE
    sudo ip route add 192.168.13.0/24 via 192.168.10.122 dev ethX
    

    ethX is the PC NIC name connecting the board ethernet. NICY is the PC NIC name connecting internet (WiFi or another ethernet).

    If you want, uncommenting "net.ipv4.ip_forward=1" in /etc/sysctl.conf to make IP forwarding persistent on PC.

  • To monitor real-time CSI (Chip State Information), such as timestamp, frequency offset, channel state, equalizer, please refer to [CSI notes].

Basic operations

The board actually is an Linux/Ubuntu computer which is running hostapd to offer Wi-Fi AP functionality over the Wi-Fi Network Interface (NIC). The NIC is implemented by openwifi-hw FPGA design. We use the term "On board" to indicate that the commands should be executed after ssh login to the board. "On PC" means the commands should run on PC.

  • Bring up the openwifi NIC sdr0:
    cd ~/openwifi && ./wgd.sh
    (Use "./wgd.sh 1" to enable experimental AMPDU aggregation)
    
  • Use openwifi as client to connect other AP (Change wpa-connect.conf on board firstly):
    route del default gw 192.168.10.1
    wpa_supplicant -i sdr0 -c wpa-connect.conf &
    dhclient sdr0
    
  • Use openwifi in ad-hoc mode: Please check sdr-ad-hoc-up.sh, sdr-ad-hoc-join.sh and this app note.
  • Use openwifi in monitor mode: Please check monitor_ch.sh and this app note.
  • The Linux native Wi-Fi tools/Apps (iwconfig/ifconfig/iwlist/iw/hostapd/wpa_supplicant/etc) can run over openwifi NIC in the same way as commercial Wi-Fi chip.
  • sdrctl is a dedicated tool to access openwifi driver/FPGA, please check project document for more information.

Update FPGA

Since the pre-built SD card image might not have the latest bug-fixes/updates, it is recommended to always copy the latest files in the user_space directory on to the board. Then update the FPGA&Driver according to the Quick start of this app note. Following instructions are doing the same thing with extra info for environment setup.

(Check Driver and FPGA dynamic reloading app note for better understanding of updating FPGA and driver files without rebooting/power-cycle)

  • Install Vivado 2021.1. Make sure install Vitis as well. You should have this directory: your_Xilinx_install_directory/Vitis (NOT Vitis_HLS!)
    • If the Vitis is not installed, you can add it by running "Xilinx Design Tools --> Add Design Tools for Devices 2021.1" from Xilinx program group/menu in your OS start menu.
  • Setup environment variables (use absolute path):
    export XILINX_DIR=your_Xilinx_install_directory
    (Example: export XILINX_DIR=/opt/Xilinx. The Xilinx directory should include sth like: Downloads, Vitis, etc.)
    export OPENWIFI_HW_IMG_DIR=your_openwifi-hw-img_directory
    (The directory where you get the open-sdr/openwifi-hw-img repo via git clone)
    export BOARD_NAME=your_board_name
    
  • Pick the FPGA bitstream from openwifi-hw-img, generate system_top.bit.bin and transfer it on board via ssh channel:
    cd openwifi/user_space; ./boot_bin_gen.sh $XILINX_DIR $BOARD_NAME $OPENWIFI_HW_IMG_DIR/boards/$BOARD_NAME/sdk/system_top.xsa
    scp ./system_top.bit.bin [email protected]:openwifi/
    
  • Now the system_top.bit.bin is onboard in /root/openwifi/ directory. When wgd.sh runs onboard from that directory, it will discover the FPGA img file system_top.bit.bin and load it before loading driver .ko files.

Update Driver

Since the pre-built SD card image might not have the latest bug-fixes/updates, it is recommended to always copy the latest files in the user_space directory on to the board. Then update the FPGA&Driver according to the Quick start of this app note. Following instructions are doing the same thing with extra info for environment setup.

(Check Driver and FPGA dynamic reloading app note for better understanding of updating FPGA and driver files without rebooting/power-cycle)

  • Prepare Analog Devices Linux kernel source code (only need to run once):

    sudo apt install flex bison libssl-dev device-tree-compiler u-boot-tools -y
    cd openwifi/user_space; ./prepare_kernel.sh $XILINX_DIR ARCH_BIT
    (For Zynq 7000, ARCH_BIT should be 32, for Zynq MPSoC, ARCH_BIT should be 64)
    
  • Compile the latest openwifi driver

    cd openwifi/driver; ./make_all.sh $XILINX_DIR ARCH_BIT
    (For Zynq 7000, ARCH_BIT should be 32, for Zynq MPSoC, ARCH_BIT should be 64)
    (More arguments (max 5) beyond above two will be converted to "#define argument" in pre_def.h for conditional compiling)
    
  • Copy the driver files to the board via ssh channel

    cd openwifi/driver; scp `find ./ -name \*.ko` [email protected]:openwifi/
    

    Now you can use wgd.sh on board to load the new openwifi driver. wgd.sh also tries to reload FPGA img if system_top.bit.bin presents in the same directory. Find more information in Driver and FPGA dynamic reloading app note.

    Note: If you have symbol or version error while loadng the driver, it could be because the kernel in the SD card image is too old. In this case, you need put the linux kernel image generated by prepare_kernel.sh (check [Update Driver]) to the BOOT partition of SD card. The kernel image file name: adi-linux/arch/arm/boot/uImage (32bit); adi-linux-64/arch/arm64/boot/Image (64bit).

Update sdrctl

  • Copy the sdrctl source files to the board via ssh channel
    cd openwifi/user_space/sdrctl_src; scp `find ./ -name \*` [email protected]:openwifi/sdrctl_src/
    
  • Compile the sdrctl on board:
    cd ~/openwifi/sdrctl_src/ && make clean && make && cp sdrctl ../ && cd ..
    

Easy Access and etc

  • Check Driver and FPGA dynamic reloading app note for more convenient way of updating FPGA and driver files without rebooting/power-cycle.
  • FPGA and driver on board update scripts
    • Setup ftp server on PC, allow anonymous and change ftp root directory to the openwifi directory.
    • On board:
    ./sdcard_boot_update.sh $BOARD_NAME
    (Above command downloads uImage, BOOT.BIN and devicetree.dtb, then copy them into boot partition. Remember to power cycle)
    ./wgd.sh remote
    (Above command downloads driver files, and brings up sdr0)
    
  • Access the board disk/rootfs like a disk:
    • On PC: "File manager --> Connect to Server...", input: sftp://[email protected]/root
    • Input password "openwifi"

Build openwifi Linux img from scratch

  • For the latest ADI Kuiper image, please check kuiper.md

Special note for 11b

Openwifi only applies OFDM as its modulation scheme and as a result, it is not backward compatible with 802.11b clients or modes of operation. This is usually the case during beacon transmission, connection establishment, and robust communication.

As a solution to this problem, openwifi can be fully controlled only if communicating with APs/clients instantiated using hostapd/wpa_supplicant userspace programs respectively.

For hostapd program, 802.11b rates can be suppressed using configuration commands (i.e. supported_rates, basic_rates) and an example configuration file is provided (i.e. hostapd-openwifi.conf). One small caveat to this one comes from fullMAC Wi-Fi cards as they must implement the NL80211_TXRATE_LEGACY NetLink handler at the device driver level.

On the other hand, the wpa_supplicant program on the client side (commercial Wi-Fi dongle/board) cannot suppress 802.11b rates out of the box in 2.4GHz band, so there will be an issue when connecting openwifi (OFDM only). A patched wpa_supplicant should be used at the client side.

sudo apt-get install libssl1.0-dev
cd openwifi/user_space; ./build_wpa_supplicant_wo11b.sh

Porting guide

This section explains the porting work by showing the differences between openwifi and Analog Devices reference design. openwifi is based on 2021_r1 of HDL Reference Designs.

  • Open the fmcomms2 + zc706 reference design at hdl/projects/fmcomms2/zc706 (Please read Analog Devices help)
  • Open the openwifi design zc706_fmcs2 at openwifi-hw/boards/zc706_fmcs2 (Please read openwifi-hw repository)
  • "Open Block Design", you will see the differences between openwifi and the reference design. Both in "diagram" and in "Address Editor".
  • The address/interrupts of FPGA blocks hooked to the ARM bus should be put/aligned to the devicetree file openwifi/kernel_boot/boards/zc706_fmcs2/devicetree.dts. Linux will parse the devicetree.dtb when booting to know information of attached device (FPGA blocks in our case).
  • We use dtc command to get devicetree.dts converted from devicetree.dtb in Analog Devices Linux image, then do modification according to what we have added/modified to the reference design.
  • Please learn the script in [Build openwifi Linux img from scratch] to understand how we generate devicetree.dtb, BOOT.BIN, Linux kernel and put them together to build the full SD card image.

License

This project is available as open source under the terms of the AGPL 3.0 Or later. However, some elements are being licensed under GPL 2-0 or later and BSD 3 license . For accurate information, please check individual files.

openwifi's People

Contributors

black-pigeon avatar bovi avatar coolshell1024 avatar fklement avatar havingathijs avatar hexsdr avatar imoerman avatar jiaoxianjun avatar lnceballosz avatar luzpaz avatar microphase avatar mmehari avatar mu-aslam avatar redfast00 avatar robgar2001 avatar totalcaesar659 avatar weiliu1011 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openwifi's Issues

zcu102 failed to connect fmcomms3

hello, i run your image on zcu102 , but it cannot connect to my fmcomms3, i have tried the image in two boards and all failed
the failed log is posted below
root@analog:~# /openwifi/fosdm-11ag.sh
-bash: /root/openwifi/fosdm-11ag.sh: No such file or directory
root@analog:
# ~/openwifi/fosdem-11ag.sh
hostapd: no process found
stop: Unknown instance:
num_arg 0
last_input xxxxxxxxx
test_mode 0
check tx_intf module is loaded or not
tx_intf is loaded!
check ad9361_drv module is loaded or not
ad9361_drv is loaded!
set RF frontend
Found openwifi_ad9361_fir.ftr

  • test -f /sys/bus/iio/devices/iio:device0/in_voltage_rf_bandwidth
  • test -f /sys/bus/iio/devices/iio:device1/in_voltage_rf_bandwidth
  • test -f /sys/bus/iio/devices/iio:device2/in_voltage_rf_bandwidth
  • test -f /sys/bus/iio/devices/iio:device3/in_voltage_rf_bandwidth
  • test -f /sys/bus/iio/devices/iio:device4/in_voltage_rf_bandwidth
  • echo Can not find in_voltage_rf_bandwidth!
    Can not find in_voltage_rf_bandwidth!
  • echo Check log to make sure ad9361 driver is loaded!
    Check log to make sure ad9361 driver is loaded!
  • exit 1
    check rx_intf module is loaded or not
    rx_intf is loaded!
    check openofdm_tx module is loaded or not
    openofdm_tx is loaded!
    check openofdm_rx module is loaded or not
    openofdm_rx is loaded!
    check xpu module is loaded or not
    xpu is loaded!
    rmmod: ERROR: Module sdr is not currently loaded
    insert sdr.ko test_mode=0
    check sdr module is loaded or not
    sdr is loaded!
    the end
    [ 0.000000] Booting Linux on physical CPU 0x0
    [ 0.000000] Linux version 4.14.0-gb6e379910a11 (jxj@xps15) (gcc version 7.3.1 20180314 (Linaro GCC 7.3-2018.04-rc3)) #1 SMP Mon Apr 5 14:05:03 CEST 2021
    [ 0.000000] Boot CPU: AArch64 Processor [410fd034]
    [ 0.000000] Machine model: ZynqMP ZCU102 Rev1.0
    [ 0.000000] earlycon: cdns0 at MMIO 0x00000000ff000000 (options '115200n8')
    [ 0.000000] bootconsole [cdns0] enabled
    [ 0.000000] efi: Getting EFI parameters from FDT:
    [ 0.000000] efi: UEFI not found.
    [ 0.000000] cma: Reserved 256 MiB at 0x0000000070000000
    [ 0.000000] On node 0 totalpages: 1048576
    [ 0.000000] DMA zone: 7168 pages used for memmap
    [ 0.000000] DMA zone: 0 pages reserved
    [ 0.000000] DMA zone: 524288 pages, LIFO batch:31
    [ 0.000000] Normal zone: 7168 pages used for memmap
    [ 0.000000] Normal zone: 524288 pages, LIFO batch:31
    [ 0.000000] psci: probing for conduit method from DT.
    [ 0.000000] psci: PSCIv1.1 detected in firmware.
    [ 0.000000] psci: Using standard PSCI v0.2 function IDs
    [ 0.000000] psci: MIGRATE_INFO_TYPE not supported.
    [ 0.000000] random: fast init done
    [ 0.000000] percpu: Embedded 20 pages/cpu @ffffffc87ff61000 s44952 r8192 d28776 u81920
    [ 0.000000] pcpu-alloc: s44952 r8192 d28776 u81920 alloc=20*4096
    [ 0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3
    [ 0.000000] Detected VIPT I-cache on CPU0
    [ 0.000000] CPU features: enabling workaround for ARM erratum 845719
    [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 1034240
    [ 0.000000] Kernel command line: console=ttyPS0,115200 root=/dev/mmcblk0p2 rw earlycon rootfstype=ext4 rootwait cpuidle.off=1 root=/dev/mmcblk0p2 rw rootwait
    [ 0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
    [ 0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes)
    [ 0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes)
    [ 0.000000] software IO TLB [mem 0x6bfff000-0x6ffff000] (64MB) mapped at [ffffffc06bfff000-ffffffc06fffefff]
    [ 0.000000] Memory: 3785964K/4194304K available (9148K kernel code, 702K rwdata, 3504K rodata, 512K init, 2129K bss, 146196K reserved, 262144K cma-reserved)
    [ 0.000000] Virtual kernel memory layout:
    [ 0.000000] modules : 0xffffff8000000000 - 0xffffff8008000000 ( 128 MB)
    [ 0.000000] vmalloc : 0xffffff8008000000 - 0xffffffbebfff0000 ( 250 GB)
    [ 0.000000] .text : 0xffffff8008080000 - 0xffffff8008970000 ( 9152 KB)
    [ 0.000000] .rodata : 0xffffff8008970000 - 0xffffff8008ce0000 ( 3520 KB)
    [ 0.000000] .init : 0xffffff8008ce0000 - 0xffffff8008d60000 ( 512 KB)
    [ 0.000000] .data : 0xffffff8008d60000 - 0xffffff8008e0fa00 ( 703 KB)
    [ 0.000000] .bss : 0xffffff8008e0fa00 - 0xffffff8009024120 ( 2130 KB)
    [ 0.000000] fixed : 0xffffffbefe7fd000 - 0xffffffbefec00000 ( 4108 KB)
    [ 0.000000] PCI I/O : 0xffffffbefee00000 - 0xffffffbeffe00000 ( 16 MB)
    [ 0.000000] vmemmap : 0xffffffbf00000000 - 0xffffffc000000000 ( 4 GB maximum)
    [ 0.000000] 0xffffffbf00000000 - 0xffffffbf1dc00000 ( 476 MB actual)
    [ 0.000000] memory : 0xffffffc000000000 - 0xffffffc880000000 ( 34816 MB)
    [ 0.000000] Hierarchical RCU implementation.
    [ 0.000000] RCU event tracing is enabled.
    [ 0.000000] RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=4.
    [ 0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
    [ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
    [ 0.000000] GIC: Adjusting CPU interface base to 0x00000000f902f000
    [ 0.000000] GIC: Using split EOI/Deactivate mode
    [ 0.000000] arch_timer: cp15 timer(s) running at 99.99MHz (phys).
    [ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x170f8de2d3, max_idle_ns: 440795206112 ns
    [ 0.000003] sched_clock: 56 bits at 99MHz, resolution 10ns, wraps every 4398046511101ns
    [ 0.008307] Console: colour dummy device 80x25
    [ 0.012388] Calibrating delay loop (skipped), value calculated using timer frequency.. 199.98 BogoMIPS (lpj=399960)
    [ 0.022756] pid_max: default: 32768 minimum: 301
    [ 0.027437] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes)
    [ 0.034012] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes)
    [ 0.041657] ASID allocator initialised with 65536 entries
    [ 0.046502] Hierarchical SRCU implementation.
    [ 0.051146] EFI services will not be available.
    [ 0.055311] zynqmp_plat_init Platform Management API v1.1
    [ 0.060648] zynqmp_plat_init Trustzone version v1.0
    [ 0.065580] smp: Bringing up secondary CPUs ...
    [ 0.070233] Detected VIPT I-cache on CPU1
    [ 0.070262] CPU1: Booted secondary processor [410fd034]
    [ 0.070528] Detected VIPT I-cache on CPU2
    [ 0.070546] CPU2: Booted secondary processor [410fd034]
    [ 0.070801] Detected VIPT I-cache on CPU3
    [ 0.070818] CPU3: Booted secondary processor [410fd034]
    [ 0.070861] smp: Brought up 1 node, 4 CPUs
    [ 0.101565] SMP: Total of 4 processors activated.
    [ 0.106238] CPU features: detected feature: 32-bit EL0 Support
    [ 0.112036] CPU: All CPU(s) started at EL2
    [ 0.116108] alternatives: patching kernel code
    [ 0.121247] devtmpfs: initialized
    [ 0.129181] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
    [ 0.133495] futex hash table entries: 1024 (order: 5, 131072 bytes)
    [ 0.145178] xor: measuring software checksum speed
    [ 0.183791] 8regs : 2303.000 MB/sec
    [ 0.223820] 8regs_prefetch: 2052.000 MB/sec
    [ 0.263853] 32regs : 2831.000 MB/sec
    [ 0.303884] 32regs_prefetch: 2379.000 MB/sec
    [ 0.303912] xor: using function: 32regs (2831.000 MB/sec)
    [ 0.308288] pinctrl core: initialized pinctrl subsystem
    [ 0.313876] NET: Registered protocol family 16
    [ 0.319003] vdso: 2 pages (1 code @ ffffff8008976000, 1 data @ ffffff8008d64000)
    [ 0.325190] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
    [ 0.332374] DMA: preallocated 256 KiB pool for atomic allocations
    [ 0.360046] zynqmp-pinctrl pinctrl: zynqmp pinctrl initialized
    [ 0.361036] reset_zynqmp reset-controller: Xilinx zynqmp reset driver probed
    [ 0.367875] ARM CCI_400_r1 PMU driver probed
    [ 0.378391] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
    [ 0.449565] raid6: int64x1 gen() 456 MB/s
    [ 0.517650] raid6: int64x1 xor() 443 MB/s
    [ 0.585688] raid6: int64x2 gen() 689 MB/s
    [ 0.653752] raid6: int64x2 xor() 605 MB/s
    [ 0.721787] raid6: int64x4 gen() 1043 MB/s
    [ 0.789842] raid6: int64x4 xor() 765 MB/s
    [ 0.857880] raid6: int64x8 gen() 982 MB/s
    [ 0.925931] raid6: int64x8 xor() 751 MB/s
    [ 0.994022] raid6: neonx1 gen() 727 MB/s
    [ 1.062044] raid6: neonx1 xor() 851 MB/s
    [ 1.130122] raid6: neonx2 gen() 1169 MB/s
    [ 1.198145] raid6: neonx2 xor() 1207 MB/s
    [ 1.266214] raid6: neonx4 gen() 1505 MB/s
    [ 1.334246] raid6: neonx4 xor() 1441 MB/s
    [ 1.402331] raid6: neonx8 gen() 1665 MB/s
    [ 1.470365] raid6: neonx8 xor() 1533 MB/s
    [ 1.470391] raid6: using algorithm neonx8 gen() 1665 MB/s
    [ 1.474361] raid6: .... xor() 1533 MB/s, rmw enabled
    [ 1.479292] raid6: using neon recovery algorithm
    [ 1.485274] SCSI subsystem initialized
    [ 1.487624] libata version 3.00 loaded.
    [ 1.487756] usbcore: registered new interface driver usbfs
    [ 1.493077] usbcore: registered new interface driver hub
    [ 1.498357] usbcore: registered new device driver usb
    [ 1.503394] media: Linux media interface: v0.10
    [ 1.507859] Linux video capture interface: v2.00
    [ 1.512460] pps_core: LinuxPPS API ver. 1 registered
    [ 1.517357] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti [email protected]
    [ 1.526449] PTP clock support registered
    [ 1.530521] zynqmp-ipi ff9905c0.mailbox: Probed ZynqMP IPI Mailbox driver.
    [ 1.537295] FPGA manager framework
    [ 1.540640] fpga-region fpga-full: FPGA Region probed
    [ 1.545642] Advanced Linux Sound Architecture Driver Initialized.
    [ 1.551847] Bluetooth: Core ver 2.22
    [ 1.555172] NET: Registered protocol family 31
    [ 1.559574] Bluetooth: HCI device and connection manager initialized
    [ 1.565892] Bluetooth: HCI socket layer initialized
    [ 1.570734] Bluetooth: L2CAP socket layer initialized
    [ 1.575764] Bluetooth: SCO socket layer initialized
    [ 1.580947] clocksource: Switched to clocksource arch_sys_counter
    [ 1.586723] VFS: Disk quotas dquot_6.6.0
    [ 1.590582] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
    [ 1.601281] NET: Registered protocol family 2
    [ 1.601977] TCP established hash table entries: 32768 (order: 6, 262144 bytes)
    [ 1.609089] TCP bind hash table entries: 32768 (order: 7, 524288 bytes)
    [ 1.615858] TCP: Hash tables configured (established 32768 bind 32768)
    [ 1.622014] UDP hash table entries: 2048 (order: 4, 65536 bytes)
    [ 1.627984] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes)
    [ 1.634475] NET: Registered protocol family 1
    [ 1.638830] RPC: Registered named UNIX socket transport module.
    [ 1.644531] RPC: Registered udp transport module.
    [ 1.649196] RPC: Registered tcp transport module.
    [ 1.653868] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [ 1.660272] PCI: CLS 0 bytes, default 128
    [ 1.660764] hw perfevents: no interrupt-affinity property for /pmu, guessing.
    [ 1.667790] hw perfevents: enabled with armv8_pmuv3 PMU driver, 7 counters available
    [ 1.675723] audit: initializing netlink subsys (disabled)
    [ 1.680482] audit: type=2000 audit(1.627:1): state=initialized audit_enabled=0 res=1
    [ 1.680776] workingset: timestamp_bits=62 max_order=20 bucket_order=0
    [ 1.695140] NFS: Registering the id_resolver key type
    [ 1.699577] Key type id_resolver registered
    [ 1.703701] Key type id_legacy registered
    [ 1.707686] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
    [ 1.714352] jffs2: version 2.2. (NAND) (SUMMARY) \xffffffc2\xffffffa9\xffffffa9 2001-2006 Red Hat, Inc.
    [ 1.745226] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247)
    [ 1.746966] io scheduler noop registered
    [ 1.750871] io scheduler deadline registered
    [ 1.755114] io scheduler cfq registered (default)
    [ 1.759772] io scheduler mq-deadline registered
    [ 1.764271] io scheduler kyber registered
    [ 1.768832] nwl-pcie fd0e0000.pcie: Link is DOWN
    [ 1.772875] OF: PCI: host bridge /amba/pcie@fd0e0000 ranges:
    [ 1.778473] OF: PCI: MEM 0xe0000000..0xefffffff -> 0xe0000000
    [ 1.784345] OF: PCI: MEM 0x600000000..0x7ffffffff -> 0x600000000
    [ 1.790607] nwl-pcie fd0e0000.pcie: PCI host bridge to bus 0000:00
    [ 1.796631] pci_bus 0000:00: root bus resource [bus 00-ff]
    [ 1.802078] pci_bus 0000:00: root bus resource [mem 0xe0000000-0xefffffff]
    [ 1.808911] pci_bus 0000:00: root bus resource [mem 0x600000000-0x7ffffffff pref]
    [ 1.816368] pci 0000:00:00.0: [10ee:d021] type 01 class 0x060400
    [ 1.816425] pci 0000:00:00.0: PME# supported from D0 D1 D2 D3hot
    [ 1.816607] pci 0000:00:00.0: PCI bridge to [bus 01-0c]
    [ 1.822851] xilinx-dpdma fd4c0000.dma: Xilinx DPDMA engine is probed
    [ 1.828117] xilinx-zynqmp-dma fd500000.dma: ZynqMP DMA driver Probe success
    [ 1.834937] xilinx-zynqmp-dma fd510000.dma: ZynqMP DMA driver Probe success
    [ 1.841859] xilinx-zynqmp-dma fd520000.dma: ZynqMP DMA driver Probe success
    [ 1.848773] xilinx-zynqmp-dma fd530000.dma: ZynqMP DMA driver Probe success
    [ 1.855690] xilinx-zynqmp-dma fd540000.dma: ZynqMP DMA driver Probe success
    [ 1.862615] xilinx-zynqmp-dma fd550000.dma: ZynqMP DMA driver Probe success
    [ 1.869534] xilinx-zynqmp-dma fd560000.dma: ZynqMP DMA driver Probe success
    [ 1.876452] xilinx-zynqmp-dma fd570000.dma: ZynqMP DMA driver Probe success
    [ 1.909210] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
    [ 1.912613] cacheinfo: Unable to detect cache hierarchy for CPU 0
    [ 1.920228] brd: module loaded
    [ 1.923705] loop: module loaded
    [ 1.924455] ahci-ceva fd0c0000.ahci: couldn't get PHY in node ahci: -517
    [ 1.929041] mtdoops: mtd device (mtddev=name/number) must be supplied
    [ 1.936458] m25p80 spi0.0: SPI-NOR-UniqueID 1044000af09700080200060066abc30abc
    [ 1.942378] m25p80 spi0.0: found n25q512a, expected m25p80
    [ 1.947994] m25p80 spi0.0: n25q512a (131072 Kbytes)
    [ 1.952681] 4 ofpart partitions found on MTD device spi0.0
    [ 1.958117] Creating 4 MTD partitions on "spi0.0":
    [ 1.962874] 0x000000000000-0x000000100000 : "qspi-fsbl-uboot"
    [ 1.969010] 0x000000100000-0x000000600000 : "qspi-linux"
    [ 1.974227] 0x000000600000-0x000000620000 : "qspi-device-tree"
    [ 1.980052] 0x000000620000-0x000000c00000 : "qspi-rootfs"
    [ 1.986295] libphy: Fixed MDIO Bus: probed
    [ 1.990123] tun: Universal TUN/TAP device driver, 1.6
    [ 1.994202] CAN device driver interface
    [ 1.999937] macb ff0e0000.ethernet: Not enabling partial store and forward
    [ 2.005129] libphy: MACB_mii_bus: probed
    [ 2.009120] macb ff0e0000.ethernet eth0: Cadence GEM rev 0x50070106 at 0xff0e0000 irq 23 (92:96:15:98:69:d6)
    [ 2.018413] TI DP83867 ff0e0000.ethernet-ffffffff:0c: attached PHY driver [TI DP83867] (mii_bus:phy_addr=ff0e0000.ethernet-ffffffff:0c, irq=POLL)
    [ 2.031887] usbcore: registered new interface driver asix
    [ 2.036784] usbcore: registered new interface driver ax88179_178a
    [ 2.042824] usbcore: registered new interface driver cdc_ether
    [ 2.048618] usbcore: registered new interface driver net1080
    [ 2.054244] usbcore: registered new interface driver cdc_subset
    [ 2.060125] usbcore: registered new interface driver zaurus
    [ 2.065670] usbcore: registered new interface driver cdc_ncm
    [ 2.071510] xilinx-axipmon ffa00000.perf-monitor: Probed Xilinx APM
    [ 2.078973] usbcore: registered new interface driver uas
    [ 2.082801] usbcore: registered new interface driver usb-storage
    [ 2.089221] rtc_zynqmp ffa60000.rtc: rtc core: registered ffa60000.rtc as rtc0
    [ 2.095972] i2c /dev entries driver
    [ 2.100341] IR NEC protocol handler initialized
    [ 2.103879] IR RC5(x/sz) protocol handler initialized
    [ 2.108894] IR RC6 protocol handler initialized
    [ 2.113393] IR JVC protocol handler initialized
    [ 2.117890] IR Sony protocol handler initialized
    [ 2.122476] IR SANYO protocol handler initialized
    [ 2.127147] IR Sharp protocol handler initialized
    [ 2.131818] IR MCE Keyboard/mouse protocol handler initialized
    [ 2.137617] IR XMP protocol handler initialized
    [ 2.142828] usbcore: registered new interface driver uvcvideo
    [ 2.147824] USB Video Class driver (1.1.1)
    [ 2.152389] cdns-wdt fd4d0000.watchdog: Xilinx Watchdog Timer at ffffff8009095000 with timeout 60s
    [ 2.161095] Bluetooth: HCI UART driver ver 2.3
    [ 2.165218] Bluetooth: HCI UART protocol H4 registered
    [ 2.170329] Bluetooth: HCI UART protocol BCSP registered
    [ 2.175594] Bluetooth: HCI UART protocol ATH3K registered
    [ 2.180957] Bluetooth: HCI UART protocol Three-wire (H5) registered
    [ 2.187220] Bluetooth: HCI UART protocol Intel registered
    [ 2.192550] Bluetooth: HCI UART protocol QCA registered
    [ 2.197771] usbcore: registered new interface driver bcm203x
    [ 2.203389] usbcore: registered new interface driver bpa10x
    [ 2.208926] usbcore: registered new interface driver bfusb
    [ 2.214375] usbcore: registered new interface driver btusb
    [ 2.219800] Bluetooth: Generic Bluetooth SDIO driver ver 0.1
    [ 2.225465] usbcore: registered new interface driver ath3k
    [ 2.231359] CPUidle arm: Failed to register cpuidle driver
    [ 2.236464] sdhci: Secure Digital Host Controller Interface driver
    [ 2.242465] sdhci: Copyright(c) Pierre Ossman
    [ 2.246789] sdhci-pltfm: SDHCI platform and OF driver helper
    [ 2.253616] ledtrig-cpu: registered to indicate activity on CPUs
    [ 2.258502] usbcore: registered new interface driver usbhid
    [ 2.263929] usbhid: USB HID core driver
    [ 2.272003] fpga_manager fpga0: Xilinx ZynqMP FPGA Manager registered
    [ 2.274913] pktgen: Packet Generator for packet performance testing. Version: 2.75
    [ 2.281825] Netfilter messages via NETLINK v0.30.
    [ 2.286422] ipip: IPv4 and MPLS over IPv4 tunneling driver
    [ 2.292051] ip_tables: (C) 2000-2006 Netfilter Core Team
    [ 2.297163] Initializing XFRM netlink socket
    [ 2.301302] NET: Registered protocol family 17
    [ 2.305712] NET: Registered protocol family 15
    [ 2.310114] can: controller area network core (rev 20170425 abi 9)
    [ 2.316287] NET: Registered protocol family 29
    [ 2.320676] can: raw protocol (rev 20170425)
    [ 2.324907] can: broadcast manager protocol (rev 20170425 t)
    [ 2.330533] can: netlink gateway (rev 20170425) max_hops=1
    [ 2.336037] Bluetooth: RFCOMM TTY layer initialized
    [ 2.340829] Bluetooth: RFCOMM socket layer initialized
    [ 2.345935] Bluetooth: RFCOMM ver 1.11
    [ 2.349651] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
    [ 2.354924] Bluetooth: BNEP filters: protocol multicast
    [ 2.360117] Bluetooth: BNEP socket layer initialized
    [ 2.365047] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
    [ 2.370930] Bluetooth: HIDP socket layer initialized
    [ 2.375952] 9pnet: Installing 9P2000 support
    [ 2.380114] Key type dns_resolver registered
    [ 2.384753] registered taskstats version 1
    [ 2.388727] Btrfs loaded, crc32c=crc32c-generic
    [ 2.397375] ff000000.serial: ttyPS0 at MMIO 0xff000000 (irq = 40, base_baud = 6249999) is a xuartps
    [ 2.407452] console [ttyPS0] enabled
    [ 2.411041] bootconsole [cdns0] disabled
    [ 2.419018] ff010000.serial: ttyPS1 at MMIO 0xff010000 (irq = 41, base_baud = 6249999) is a xuartps
    [ 2.432993] xilinx-psgtr fd400000.zynqmp_phy: Lane:1 type:8 protocol:4 pll_locked:yes
    [ 2.441162] PLL: shutdown
    [ 2.445461] zynqmp_clk_divider_set_rate() set divider failed for spi1_ref_div1, ret = -13
    [ 2.453993] xilinx-dp-snd-codec fd4a0000.zynqmp-display:zynqmp_dp_snd_codec0: Xilinx DisplayPort Sound Codec probed
    [ 2.464647] xilinx-dp-snd-pcm zynqmp_dp_snd_pcm0: Xilinx DisplayPort Sound PCM probed
    [ 2.472669] xilinx-dp-snd-pcm zynqmp_dp_snd_pcm1: Xilinx DisplayPort Sound PCM probed
    [ 2.480974] xilinx-dp-snd-card fd4a0000.zynqmp-display:zynqmp_dp_snd_card: xilinx-dp-snd-codec-dai <-> xilinx-dp-snd-codec-dai mapping ok
    [ 2.493403] xilinx-dp-snd-card fd4a0000.zynqmp-display:zynqmp_dp_snd_card: xilinx-dp-snd-codec-dai <-> xilinx-dp-snd-codec-dai mapping ok
    [ 2.506040] xilinx-dp-snd-card fd4a0000.zynqmp-display:zynqmp_dp_snd_card: Xilinx DisplayPort Sound Card probed
    [ 2.516213] OF: graph: no port node found in /amba/zynqmp-display@fd4a0000
    [ 2.523153] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
    [ 2.529760] [drm] No driver support for vblank timestamp query.
    [ 2.535719] xlnx-drm xlnx-drm.0: bound fd4a0000.zynqmp-display (ops 0xffffff8008a22030)
    [ 3.620958] [drm] Cannot find any crtc or sizes
    [ 3.625665] [drm] Initialized xlnx 1.0.0 20130509 for fd4a0000.zynqmp-display on minor 0
    [ 3.633768] zynqmp-display fd4a0000.zynqmp-display: ZynqMP DisplayPort Subsystem driver probed
    [ 3.642702] xilinx-psgtr fd400000.zynqmp_phy: Lane:3 type:3 protocol:2 pll_locked:yes
    [ 3.650579] ahci-ceva fd0c0000.ahci: AHCI 0001.0301 32 slots 2 ports 6 Gbps 0x3 impl platform mode
    [ 3.659537] ahci-ceva fd0c0000.ahci: flags: 64bit ncq sntf pm clo only pmp fbs pio slum part ccc sds apst
    [ 3.669882] scsi host0: ahci-ceva
    [ 3.673372] scsi host1: ahci-ceva
    [ 3.676772] ata1: SATA max UDMA/133 mmio [mem 0xfd0c0000-0xfd0c1fff] port 0x100 irq 37
    [ 3.684684] ata2: SATA max UDMA/133 mmio [mem 0xfd0c0000-0xfd0c1fff] port 0x180 irq 37
    [ 3.694342] xilinx-psgtr fd400000.zynqmp_phy: Lane:2 type:0 protocol:3 pll_locked:yes
    [ 3.702323] dwc3 fe200000.dwc3: stop_host(): INFO: Host already stopped
    [ 3.709257] dwc3 fe200000.dwc3: stop_peripheral(): INFO: Peripheral already stopped
    [ 3.753525] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
    [ 3.759018] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 1
    [ 3.766885] xhci-hcd xhci-hcd.0.auto: hcc params 0x0238f625 hci version 0x100 quirks 0x22010810
    [ 3.775602] xhci-hcd xhci-hcd.0.auto: irq 56, io mem 0xfe200000
    [ 3.781630] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
    [ 3.788412] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [ 3.795623] usb usb1: Product: xHCI Host Controller
    [ 3.800492] usb usb1: Manufacturer: Linux 4.14.0-gb6e379910a11 xhci-hcd
    [ 3.807097] usb usb1: SerialNumber: xhci-hcd.0.auto
    [ 3.812236] hub 1-0:1.0: USB hub found
    [ 3.815998] hub 1-0:1.0: 1 port detected
    [ 3.820080] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
    [ 3.825570] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 2
    [ 3.833327] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003
    [ 3.840107] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [ 3.847317] usb usb2: Product: xHCI Host Controller
    [ 3.852186] usb usb2: Manufacturer: Linux 4.14.0-gb6e379910a11 xhci-hcd
    [ 3.858797] usb usb2: SerialNumber: xhci-hcd.0.auto
    [ 3.863887] hub 2-0:1.0: USB hub found
    [ 3.867647] hub 2-0:1.0: 1 port detected
    [ 3.872692] pca953x 0-0020: 0-0020 supply vcc not found, using dummy regulator
    [ 3.882892] GPIO line 496 (sel0) hogged as output/low
    [ 3.888270] GPIO line 497 (sel1) hogged as output/high
    [ 3.893736] GPIO line 498 (sel2) hogged as output/high
    [ 3.899196] GPIO line 499 (sel3) hogged as output/high
    [ 3.904430] pca953x 0-0020: interrupt support not compiled in
    [ 3.910260] pca953x 0-0021: 0-0021 supply vcc not found, using dummy regulator
    [ 3.920183] pca953x 0-0021: interrupt support not compiled in
    [ 3.926723] ina2xx 3-0040: power monitor ina226 (Rshunt = 5000 uOhm)
    [ 3.933491] ina2xx 3-0041: power monitor ina226 (Rshunt = 5000 uOhm)
    [ 3.940256] ina2xx 3-0042: power monitor ina226 (Rshunt = 5000 uOhm)
    [ 3.947027] ina2xx 3-0043: power monitor ina226 (Rshunt = 5000 uOhm)
    [ 3.953793] ina2xx 3-0044: power monitor ina226 (Rshunt = 5000 uOhm)
    [ 3.960566] ina2xx 3-0045: power monitor ina226 (Rshunt = 5000 uOhm)
    [ 3.967334] ina2xx 3-0046: power monitor ina226 (Rshunt = 5000 uOhm)
    [ 3.974108] ina2xx 3-0047: power monitor ina226 (Rshunt = 5000 uOhm)
    [ 3.976957] xhci-hcd xhci-hcd.0.auto: remove, state 4
    [ 3.976971] usb usb2: USB disconnect, device number 1
    [ 3.977345] xhci-hcd xhci-hcd.0.auto: USB bus 2 deregistered
    [ 3.977355] xhci-hcd xhci-hcd.0.auto: remove, state 4
    [ 3.977365] usb usb1: USB disconnect, device number 1
    [ 3.977792] xhci-hcd xhci-hcd.0.auto: USB bus 1 deregistered
    [ 3.977804] dwc3 fe200000.dwc3: stop_peripheral(): INFO: Peripheral already stopped
    [ 4.011147] ata2: SATA link down (SStatus 0 SControl 330)
    [ 4.011171] ata1: SATA link down (SStatus 0 SControl 330)
    [ 4.030743] ina2xx 3-004a: power monitor ina226 (Rshunt = 5000 uOhm)
    [ 4.037505] ina2xx 3-004b: power monitor ina226 (Rshunt = 5000 uOhm)
    [ 4.043887] i2c i2c-0: Added multiplexed i2c bus 3
    [ 4.049274] ina2xx 4-0040: power monitor ina226 (Rshunt = 2000 uOhm)
    [ 4.056046] ina2xx 4-0041: power monitor ina226 (Rshunt = 5000 uOhm)
    [ 4.062814] ina2xx 4-0042: power monitor ina226 (Rshunt = 5000 uOhm)
    [ 4.069580] ina2xx 4-0043: power monitor ina226 (Rshunt = 5000 uOhm)
    [ 4.076350] ina2xx 4-0044: power monitor ina226 (Rshunt = 5000 uOhm)
    [ 4.083121] ina2xx 4-0045: power monitor ina226 (Rshunt = 5000 uOhm)
    [ 4.089891] ina2xx 4-0046: power monitor ina226 (Rshunt = 5000 uOhm)
    [ 4.096663] ina2xx 4-0047: power monitor ina226 (Rshunt = 5000 uOhm)
    [ 4.103046] i2c i2c-0: Added multiplexed i2c bus 4
    [ 4.148854] i2c i2c-0: Added multiplexed i2c bus 5
    [ 4.153769] i2c i2c-0: Added multiplexed i2c bus 6
    [ 4.158556] pca954x 0-0075: registered 4 multiplexed busses for I2C mux pca9544
    [ 4.165879] cdns-i2c ff020000.i2c: 400 kHz mmio ff020000 irq 25
    [ 4.173433] at24 7-0054: 1024 byte 24c08 EEPROM, writable, 1 bytes/write
    [ 4.180153] i2c i2c-1: Added multiplexed i2c bus 7
    [ 4.185137] i2c i2c-1: Added multiplexed i2c bus 8
    [ 4.191982] si570 9-005d: registered, current frequency 300000000 Hz
    [ 4.198358] i2c i2c-1: Added multiplexed i2c bus 9
    [ 4.217114] si570 10-005d: registered, current frequency 148500000 Hz
    [ 4.223577] i2c i2c-1: Added multiplexed i2c bus 10
    [ 4.228657] i2c i2c-1: Added multiplexed i2c bus 11
    [ 4.233651] i2c i2c-1: Added multiplexed i2c bus 12
    [ 4.238645] i2c i2c-1: Added multiplexed i2c bus 13
    [ 4.243638] i2c i2c-1: Added multiplexed i2c bus 14
    [ 4.248519] pca954x 1-0074: registered 8 multiplexed busses for I2C switch pca9548
    [ 4.257530] at24 15-0050: 256 byte 24c02 EEPROM, writable, 1 bytes/write
    [ 4.264253] i2c i2c-1: Added multiplexed i2c bus 15
    [ 4.269251] i2c i2c-1: Added multiplexed i2c bus 16
    [ 4.274247] i2c i2c-1: Added multiplexed i2c bus 17
    [ 4.279250] i2c i2c-1: Added multiplexed i2c bus 18
    [ 4.284251] i2c i2c-1: Added multiplexed i2c bus 19
    [ 4.289257] i2c i2c-1: Added multiplexed i2c bus 20
    [ 4.294258] i2c i2c-1: Added multiplexed i2c bus 21
    [ 4.299262] i2c i2c-1: Added multiplexed i2c bus 22
    [ 4.304133] pca954x 1-0075: registered 8 multiplexed busses for I2C switch pca9548
    [ 4.311714] cdns-i2c ff030000.i2c: 400 kHz mmio ff030000 irq 26
    [ 4.360965] mmc0: SDHCI controller on ff170000.mmc [ff170000.mmc] using ADMA 64-bit
    [ 4.375678] input: gpio-keys as /devices/platform/gpio-keys/input/input0
    [ 4.382588] rtc_zynqmp ffa60000.rtc: setting system clock to 1974-07-15 04:26:47 UTC (143094407)
    [ 4.391545] PLL: shutdown
    [ 4.394164] zynqmp_pll_disable() clock disable failed for dpll_int, ret = -13
    [ 4.402180] ALSA device list:
    [ 4.405140] #0: DisplayPort monitor
    [ 4.412592] Waiting for root device /dev/mmcblk0p2...
    [ 4.451383] mmc0: new SDHC card at address aaaa
    [ 4.456085] mmcblk0: mmc0:aaaa SC16G 14.8 GiB
    [ 4.464844] mmcblk0: p1 p2 p3
    [ 4.792963] [drm] Cannot find any crtc or sizes
    [ 4.858156] EXT4-fs (mmcblk0p2): recovery complete
    [ 4.864233] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
    [ 4.872339] VFS: Mounted root (ext4 filesystem) on device 179:2.
    [ 4.889363] devtmpfs: mounted
    [ 4.892427] Freeing unused kernel memory: 512K
    [ 6.372816] systemd-udevd[1975]: starting version 204
    [ 7.133595] systemd-udevd[2975]: could not open builtin file '/lib/modules/4.14.0-gb6e379910a11/modules.builtin.bin'
    [ 7.283814] xilinx-vdma a0000000.dma: Xilinx AXI DMA Engine Driver Probed!!
    [ 7.284249] xilinx-vdma a0001000.dma: Xilinx AXI DMA Engine Driver Probed!!
    [ 9.207301] pps pps0: new PPS source ptp0
    [ 9.207313] macb ff0e0000.ethernet: gem-ptp-timer ptp clock registered.
    [ 10.221083] macb ff0e0000.ethernet eth0: link up (1000/Full)
    [ 11.315991] NET: Registered protocol family 10
    [ 11.316578] Segment Routing with IPv6
    [ 11.500806] init: failsafe main process (3062) killed by TERM signal
    [ 11.757838] init: udev-fallback-graphics main process (3242) terminated with status 1
    [ 14.321219] init: samba-ad-dc main process (3306) terminated with status 1
    [ 14.552117] init: isc-dhcp-server main process (3435) terminated with status 1
    [ 14.552145] init: isc-dhcp-server main process ended, respawning
    [ 14.874027] init: isc-dhcp-server main process (3447) terminated with status 1
    [ 14.874055] init: isc-dhcp-server main process ended, respawning
    [ 14.975334] init: isc-dhcp-server main process (3501) terminated with status 1
    [ 14.975368] init: isc-dhcp-server main process ended, respawning
    [ 15.181062] init: isc-dhcp-server main process (3516) terminated with status 1
    [ 15.181092] init: isc-dhcp-server main process ended, respawning
    [ 15.271089] init: isc-dhcp-server main process (3527) terminated with status 1
    [ 15.271118] init: isc-dhcp-server main process ended, respawning
    [ 15.317097] file system registered
    [ 15.345469] init: isc-dhcp-server main process (3545) terminated with status 1
    [ 15.345497] init: isc-dhcp-server main process ended, respawning
    [ 15.433432] init: isc-dhcp-server main process (3579) terminated with status 1
    [ 15.433461] init: isc-dhcp-server main process ended, respawning
    [ 15.439380] read descriptors
    [ 15.439394] read strings
    [ 15.499991] init: isc-dhcp-server main process (3595) terminated with status 1
    [ 15.500019] init: isc-dhcp-server main process ended, respawning
    [ 15.573397] init: isc-dhcp-server main process (3603) terminated with status 1
    [ 15.573426] init: isc-dhcp-server main process ended, respawning
    [ 15.713539] init: isc-dhcp-server main process (3611) terminated with status 1
    [ 15.713567] init: isc-dhcp-server main process ended, respawning
    [ 15.789032] init: isc-dhcp-server main process (3619) terminated with status 1
    [ 15.789062] init: isc-dhcp-server respawning too fast, stopped
    [ 16.505812] init: tty1 main process (3650) killed by TERM signal
    [ 46.598664] random: crng init done
    [ 50.503187] tx_intf: loading out-of-tree module taints kernel.
    [ 50.503717]
    [ 50.503720] sdr,tx_intf dev_probe match!
    [ 50.503736] sdr,tx_intf dev_probe io start 0xa0005000 end 0xa0005fff name /fpga-axi@0/tx_intf@a0005000 flags 0x00000200 desc 0x00000000
    [ 50.503739] sdr,tx_intf dev_probe base_addr 0xffffff8008061000
    [ 50.503741] sdr,tx_intf dev_probe tx_intf_driver_api_inst 0xffffff8000972408
    [ 50.503743] sdr,tx_intf dev_probe tx_intf_api 0xffffff8000972408
    [ 50.503744] sdr,tx_intf dev_probe succeed!
    [ 50.503746] sdr,tx_intf hw_init mode 6
    [ 50.503755] sdr,tx_intf hw_init mode TX_INTF_BW_20MHZ_AT_N_10MHZ_ANT1
    [ 50.503760] sdr,tx_intf hw_init err 0
    [ 51.167702] ad9361 spi1.0: ad9361_probe : enter (ad9361)
    [ 51.170639] ad9361 spi1.0: ad9361_probe : Unsupported PRODUCT_ID 0xFF
    [ 52.230503]
    [ 52.230508] sdr,rx_intf dev_probe match!
    [ 52.230528] sdr,rx_intf dev_probe io start 0xa0004000 end 0xa0004fff name /fpga-axi@0/rx_intf@a0004000 flags 0x00000200 desc 0x00000000
    [ 52.230530] sdr,rx_intf dev_probe base_addr 0x0906a000
    [ 52.230532] sdr,rx_intf dev_probe rx_intf_driver_api_inst 0x009b1408
    [ 52.230537] sdr,rx_intf dev_probe rx_intf_api 0x009b1408
    [ 52.230538] sdr,rx_intf dev_probe succeed!
    [ 52.230540] sdr,rx_intf hw_init mode 2
    [ 52.230549] sdr,rx_intf hw_init mode DDC_BW_20MHZ_AT_0MHZ
    [ 52.230554] sdr,rx_intf hw_init err 0
    [ 52.273306]
    [ 52.273311] sdr,openofdm_tx dev_probe match!
    [ 52.273326] sdr,openofdm_tx dev_probe io start 0xa0003000 end 0xa0003fff name /fpga-axi@0/openofdm_tx@a0003000 flags 0x00000200 desc 0x00000000
    [ 52.273328] sdr,openofdm_tx dev_probe base_addr 0x090b5000
    [ 52.273330] sdr,openofdm_tx dev_probe openofdm_tx_driver_api_inst 0x009c7408
    [ 52.273332] sdr,openofdm_tx dev_probe openofdm_tx_api 0x009c7408
    [ 52.273334] sdr,openofdm_tx dev_probe succeed!
    [ 52.273336] sdr,openofdm_tx hw_init mode 1
    [ 52.273337] sdr,openofdm_tx hw_init mode OPENOFDM_TX_NORMAL
    [ 52.273346] sdr,openofdm_tx hw_init err 0
    [ 52.318473]
    [ 52.318478] sdr,openofdm_rx dev_probe match!
    [ 52.318506] sdr,openofdm_rx dev_probe io start 0xa0002000 end 0xa0002fff name /fpga-axi@0/openofdm_rx@a0002000 flags 0x00000200 desc 0x00000000
    [ 52.318508] sdr,openofdm_rx dev_probe base_addr 0x09175000
    [ 52.318510] sdr,openofdm_rx dev_probe openofdm_rx_driver_api_inst 0x009cc408
    [ 52.318512] sdr,openofdm_rx dev_probe openofdm_rx_api 0x009cc408
    [ 52.318513] sdr,openofdm_rx dev_probe succeed!
    [ 52.318515] sdr,openofdm_rx hw_init mode 1
    [ 52.318517] sdr,openofdm_rx hw_init mode OPENOFDM_RX_NORMAL
    [ 52.318520] sdr,openofdm_rx hw_init input:
    [ 52.318520] power_thres 0
    [ 52.318520] min_plateau 100
    [ 52.318529] sdr,openofdm_rx hw_init err 0
    [ 52.392365]
    [ 52.392371] sdr,xpu dev_probe match!
    [ 52.392400] sdr,xpu dev_probe io start 0xa0006000 end 0xa0006fff name /fpga-axi@0/xpu@a0006000 flags 0x00000200 desc 0x00000000
    [ 52.392402] sdr,xpu dev_probe base_addr 0x09185000
    [ 52.392403] sdr,xpu dev_probe xpu_driver_api_inst 0x00a39408
    [ 52.392405] sdr,xpu dev_probe xpu_api 0x00a39408
    [ 52.392407] sdr,xpu dev_probe reset tsf timer
    [ 52.492419] sdr,xpu dev_probe XPU_REG_TSF_RUNTIME_VAL_LOW_read 1 33000 99998us
    [ 52.492422] sdr,xpu dev_probe succeed!
    [ 52.492423] sdr,xpu hw_init mode 1
    [ 52.492435] sdr,xpu hw_init mode XPU_NORMAL
    [ 52.492439] sdr,xpu hw_init err 0
    [ 53.103219]
    [ 53.103224] sdr,sdr openwifi_dev_probe: match!
    [ 53.103256] sdr,sdr custom_match_spi_dev ad9361-phy ad9361-phy 1
    [ 53.103260] sdr,sdr bus_find_device ad9361-phy: ad9361. driver_data pointer (null)
    [ 53.103262] sdr,sdr find_dev ad9361-phy failed. dev.driver_data == NULL
    [ 53.109904] sdr,sdr: probe of fpga-axi@0:sdr failed with error -12
    [ 53.293664] init: isc-dhcp-server main process (4427) terminated with status 1
    [ 53.293692] init: isc-dhcp-server main process ended, respawning
    [ 53.354443] init: isc-dhcp-server main process (4440) terminated with status 1
    [ 53.354472] init: isc-dhcp-server main process ended, respawning
    [ 53.412590] init: isc-dhcp-server main process (4451) terminated with status 1
    [ 53.412621] init: isc-dhcp-server main process ended, respawning
    [ 53.471957] init: isc-dhcp-server main process (4459) terminated with status 1
    [ 53.471988] init: isc-dhcp-server main process ended, respawning
    [ 53.528854] init: isc-dhcp-server main process (4467) terminated with status 1
    [ 53.528882] init: isc-dhcp-server main process ended, respawning
    [ 53.589691] init: isc-dhcp-server main process (4475) terminated with status 1
    [ 53.589722] init: isc-dhcp-server main process ended, respawning
    [ 53.646930] init: isc-dhcp-server main process (4483) terminated with status 1
    [ 53.646961] init: isc-dhcp-server main process ended, respawning
    [ 53.704880] init: isc-dhcp-server main process (4491) terminated with status 1
    [ 53.704909] init: isc-dhcp-server main process ended, respawning
    [ 53.762838] init: isc-dhcp-server main process (4499) terminated with status 1
    [ 53.762867] init: isc-dhcp-server main process ended, respawning
    [ 53.820479] init: isc-dhcp-server main process (4507) terminated with status 1
    [ 53.820508] init: isc-dhcp-server main process ended, respawning
    [ 53.878283] init: isc-dhcp-server main process (4515) terminated with status 1
    [ 53.878310] init: isc-dhcp-server respawning too fast, stopped
    [ 213.535061]
    [ 213.535067] sdr,tx_intf dev_remove base_addr 0xffffff8008061000
    [ 213.535070] sdr,tx_intf dev_remove tx_intf_driver_api_inst 0xffffff8000972408
    [ 213.535072] sdr,tx_intf dev_remove tx_intf_api 0xffffff8000972408
    [ 213.535073] sdr,tx_intf dev_remove succeed!
    [ 213.563669]
    [ 213.563675] sdr,tx_intf dev_probe match!
    [ 213.563695] sdr,tx_intf dev_probe io start 0xa0005000 end 0xa0005fff name /fpga-axi@0/tx_intf@a0005000 flags 0x00000200 desc 0x00000000
    [ 213.563697] sdr,tx_intf dev_probe base_addr 0xffffff80091d6000
    [ 213.563699] sdr,tx_intf dev_probe tx_intf_driver_api_inst 0xffffff8000aa4408
    [ 213.563701] sdr,tx_intf dev_probe tx_intf_api 0xffffff8000aa4408
    [ 213.563703] sdr,tx_intf dev_probe succeed!
    [ 213.563705] sdr,tx_intf hw_init mode 6
    [ 213.563714] sdr,tx_intf hw_init mode TX_INTF_BW_20MHZ_AT_N_10MHZ_ANT1
    [ 213.563718] sdr,tx_intf hw_init err 0
    [ 214.100983] ad9361 spi1.0: ad9361_probe : enter (ad9361)
    [ 214.103934] ad9361 spi1.0: ad9361_probe : Unsupported PRODUCT_ID 0xFF
    [ 215.121353]
    [ 215.121359] sdr,rx_intf dev_remove base_addr 0x0906a000
    [ 215.121361] sdr,rx_intf dev_remove rx_intf_driver_api_inst 0x009b1408
    [ 215.121363] sdr,rx_intf dev_remove rx_intf_api 0x009b1408
    [ 215.121365] sdr,rx_intf dev_remove succeed!
    [ 215.143588]
    [ 215.143594] sdr,rx_intf dev_probe match!
    [ 215.143624] sdr,rx_intf dev_probe io start 0xa0004000 end 0xa0004fff name /fpga-axi@0/rx_intf@a0004000 flags 0x00000200 desc 0x00000000
    [ 215.143626] sdr,rx_intf dev_probe base_addr 0x09205000
    [ 215.143628] sdr,rx_intf dev_probe rx_intf_driver_api_inst 0x00b8b408
    [ 215.143630] sdr,rx_intf dev_probe rx_intf_api 0x00b8b408
    [ 215.143631] sdr,rx_intf dev_probe succeed!
    [ 215.143633] sdr,rx_intf hw_init mode 2
    [ 215.143642] sdr,rx_intf hw_init mode DDC_BW_20MHZ_AT_0MHZ
    [ 215.143647] sdr,rx_intf hw_init err 0
    [ 215.151052]
    [ 215.151058] sdr,openofdm_tx dev_remove base_addr 0x090b5000
    [ 215.151060] sdr,openofdm_tx dev_remove openofdm_tx_driver_api_inst 0x009c7408
    [ 215.151062] sdr,openofdm_tx dev_remove openofdm_tx_api 0x009c7408
    [ 215.151063] sdr,openofdm_tx dev_remove succeed!
    [ 215.175528]
    [ 215.175535] sdr,openofdm_tx dev_probe match!
    [ 215.175567] sdr,openofdm_tx dev_probe io start 0xa0003000 end 0xa0003fff name /fpga-axi@0/openofdm_tx@a0003000 flags 0x00000200 desc 0x00000000
    [ 215.175569] sdr,openofdm_tx dev_probe base_addr 0x09216000
    [ 215.175571] sdr,openofdm_tx dev_probe openofdm_tx_driver_api_inst 0x00b95408
    [ 215.175573] sdr,openofdm_tx dev_probe openofdm_tx_api 0x00b95408
    [ 215.175575] sdr,openofdm_tx dev_probe succeed!
    [ 215.175576] sdr,openofdm_tx hw_init mode 1
    [ 215.175578] sdr,openofdm_tx hw_init mode OPENOFDM_TX_NORMAL
    [ 215.175587] sdr,openofdm_tx hw_init err 0
    [ 215.182656]
    [ 215.182663] sdr,openofdm_rx dev_remove base_addr 0x09175000
    [ 215.182665] sdr,openofdm_rx dev_remove openofdm_rx_driver_api_inst 0x009cc408
    [ 215.182667] sdr,openofdm_rx dev_remove openofdm_rx_api 0x009cc408
    [ 215.182668] sdr,openofdm_rx dev_remove succeed!
    [ 215.219509]
    [ 215.219515] sdr,openofdm_rx dev_probe match!
    [ 215.219534] sdr,openofdm_rx dev_probe io start 0xa0002000 end 0xa0002fff name /fpga-axi@0/openofdm_rx@a0002000 flags 0x00000200 desc 0x00000000
    [ 215.219536] sdr,openofdm_rx dev_probe base_addr 0x0922d000
    [ 215.219538] sdr,openofdm_rx dev_probe openofdm_rx_driver_api_inst 0x00b9d408
    [ 215.219540] sdr,openofdm_rx dev_probe openofdm_rx_api 0x00b9d408
    [ 215.219541] sdr,openofdm_rx dev_probe succeed!
    [ 215.219543] sdr,openofdm_rx hw_init mode 1
    [ 215.219545] sdr,openofdm_rx hw_init mode OPENOFDM_RX_NORMAL
    [ 215.219547] sdr,openofdm_rx hw_init input:
    [ 215.219547] power_thres 0
    [ 215.219547] min_plateau 100
    [ 215.219557] sdr,openofdm_rx hw_init err 0
    [ 215.226083]
    [ 215.226090] sdr,xpu dev_remove base_addr 0x09185000
    [ 215.226092] sdr,xpu dev_remove xpu_driver_api_inst 0x00a39408
    [ 215.226094] sdr,xpu dev_remove xpu_api 0x00a39408
    [ 215.226095] sdr,xpu dev_remove succeed!
    [ 215.247758]
    [ 215.247763] sdr,xpu dev_probe match!
    [ 215.247800] sdr,xpu dev_probe io start 0xa0006000 end 0xa0006fff name /fpga-axi@0/xpu@a0006000 flags 0x00000200 desc 0x00000000
    [ 215.247802] sdr,xpu dev_probe base_addr 0x0926d000
    [ 215.247804] sdr,xpu dev_probe xpu_driver_api_inst 0x00ba7408
    [ 215.247806] sdr,xpu dev_probe xpu_api 0x00ba7408
    [ 215.247807] sdr,xpu dev_probe reset tsf timer
    [ 215.347819] sdr,xpu dev_probe XPU_REG_TSF_RUNTIME_VAL_LOW_read 1 33000 99998us
    [ 215.347822] sdr,xpu dev_probe succeed!
    [ 215.347823] sdr,xpu hw_init mode 1
    [ 215.347835] sdr,xpu hw_init mode XPU_NORMAL
    [ 215.347839] sdr,xpu hw_init err 0
    [ 215.860604]
    [ 215.860610] sdr,sdr openwifi_dev_probe: match!
    [ 215.860643] sdr,sdr custom_match_spi_dev ad9361-phy ad9361-phy 1
    [ 215.860647] sdr,sdr bus_find_device ad9361-phy: ad9361. driver_data pointer (null)
    [ 215.860649] sdr,sdr find_dev ad9361-phy failed. dev.driver_data == NULL
    [ 215.867291] sdr,sdr: probe of fpga-axi@0:sdr failed with error -12
    SIOCSIFADDR: No such device
    sdr0: ERROR while getting interface flags: No such device
    SIOCADDRT: File exists
    stop: Unknown instance:
    isc-dhcp-server start/running, process 4664
    Configuration file: hostapd-openwifi-11ag.conf
    Could not read interface sdr0 flags: No such device
    nl80211: Driver does not support authentication/association or connect commands
    Could not read interface sdr0 flags: No such device
    nl80211 driver initialization failed.
    hostapd_free_hapd_data: Interface sdr0 wasn't started

error in running openwifi ap with country_code=CN

Hi, Xianjun
'openwifi' AP runs well on my zed board + FMCOMMS3 when i operate according to Section Quick start of README.md.
But after changing the country_code from BE to CN, I found the following errors:
"
155.617286: 155.617291: sdr0: IEEE 802.11 Configured channel (44) not found from the channel list of current mode (2) IEEE 802.11a
155.617592: 155.617601: sdr0: IEEE 802.11 Hardware does not support configured channel
"
The modified hostapd-openwifi_5G_try.txt and entire log are given in attachment.
Serial_11-28-145518.log
hostapd-openwifi_5G_try.txt

Recompiled sdr.ko won't load

I am using the default SD card image for openwifi 64 bit (board zcu102).
I have recompiled the driver sdr.ko and loaded it into the board, but when I execute wgd.sh I get the following:

[  342.566942] sdr: version magic '4.14.0-gb6e379910a11-dirty SMP mod_unload aarch64' should be '4.14.0-gb6e379910a11 SMP mod_unload aarch64'

Any hint?

2 hours running time related with viterbi

Hi, Xianjun

I have zynq706-fmcomms3. It is working well as AP
But the running time is 2 hours only, because of the Viterbi license as your below comment.
("Note 2: After ~2 hours, the Viterbi decoder will halt (Xilinx Evaluation License). Just power cycle the board if it happens. (If the output of "./sdrctl dev sdr0 get reg rx 20" is always the same, it means the decoder halts")

I want to know what am I fix for 24 running times without a power cycle if I have the Viterbi license (not evaluation).
Just new compiling after adopting Viterbi license in VIVADO?

use openwifi_tx() to send a custom packet

hello,
excuse me ,recently I read the openwifi document ,sdr.c and learn about linux mac80211 subsystem. I learn the packet transmission between mac80211 and sdr driver,but I do not know how to use openwifi_tx() to send a custom packet(I konw APIS such as ieee80211_subif_start_xmit,drv_tx()... but I have no idea about where to encapsulate data and use mac80211 to send a packet)?
Our company wants to use openwifi in TSN.

thanks

QoS support

Hi,
Really thank you for this project, it is amazing!

I have a question please:
Are EDCA and HCCA supported?

Thanks,
Tommy

5Ghz frequency

Hello,
I checked the frequency and there are 25 channels until now.
sdr0 25 channels in total; available frequencies :
Channel 01 : 2.412 GHz
Channel 02 : 2.417 GHz
Channel 03 : 2.422 GHz
Channel 04 : 2.427 GHz
Channel 05 : 2.432 GHz
Channel 06 : 2.437 GHz
Channel 07 : 2.442 GHz
Channel 08 : 2.447 GHz
Channel 09 : 2.452 GHz
Channel 10 : 2.457 GHz
Channel 11 : 2.462 GHz
Channel 12 : 2.467 GHz
Channel 13 : 2.472 GHz
Channel 14 : 2.484 GHz
Channel 36 : 5.18 GHz
Channel 38 : 5.19 GHz
Channel 40 : 5.2 GHz
Channel 42 : 5.21 GHz
Channel 44 : 5.22 GHz
Channel 46 : 5.23 GHz
Channel 48 : 5.24 GHz
Channel 52 : 5.26 GHz
Channel 56 : 5.28 GHz
Channel 60 : 5.3 GHz
Channel 64 : 5.32 GHz
Current Frequency:5.22 GHz (Channel 44)

How can i add more frequencies to the 5Ghz?

What is the approximate max-disance of openwifi that packages do not loss?

When I put my laptop(with Linux) 100cm away from the sender (board : zcu102_fmcs2), no package loss.
ori_100cm

200cm away from the sender (board : zcu102_fmcs2)๏ผš
ori_200cm

300cm away from the sender (board : zcu102_fmcs2)๏ผš
ori_300cm_sec

I don't know if there is something wrong with my experimental environment or that's the way it should be.

Thanks๏ผ

802.11ax roadmap

Hello,
in the README of your amazing project it was mentioned that 802.11ax is on the roadmap. I wonder if you could share more details on the planed feature set and in particular on the time line.
Best regards

adrv9375

hello, how difficult is it to transfer this project to the hardware platform zc706 + adrv9371 / adrv9375, in the list of supported SDR platforms there is Xilinx ZCU102 + ADRV9371, is there any work in this direction and when can you see the finished image?

1.1.0้•œๅƒ zc706 kernel panic

ๅˆฉ็”จๅšๅฅฝ็š„้•œๅƒๆ–‡ไปถ็”จzc706+fmcomms3่ฟ›่กŒๅฎž้ชŒๆ—ถ๏ผŒๅทฅไฝœๅœจapๆจกๅผ๏ผŒ็ปˆ็ซฏ้“พๆŽฅไผšๅ‡บ็Žฐkernel panicใ€‚้‡ๆ–ฐ็ผ–่ฏ‘kernel๏ผŒๆ— ๆณ•ๅปบ็ซ‹sdr0็ฝ‘ๅกใ€‚

No 'associated' message in host PC terminal and 'no internet' in the phone after copy .BIN file (made myself)

Hi.
After making BOOT.BIN file, I've got some error when the device connect to the openwifi board.

The openwifi board transmission the beacon frame for over 2hours and I saw the SSID on the phone too.
But, the phone couldn't connect to the openwifi AP.

When I try to connect to the openwifi board using phone, the host PC terminal doesn't show any response message such as a starting account session, authenticated and association messages.
Few socond later, It is connect I think because "No internet conncetion" notice under openwifi SSID in the phone.
(before ssh, I set the ethernet forwarding to board and confirmed the phone using internet when I using default boot.bin file)

When I turn off the wifi in the phone while trying to connect or after connected, then the host pc terminal shown the disassociated and the unauthenticated message.

Just before, I made the Boot.bin file again. But still same. No associated message in PC, No internet in Phone

802.11 packet injection

hello,
I ssh to the board and setup internet connection,when I input make,
root@analog:~/openwifi/inject_80211# make
gcc -Wall -Werror inject_80211.c -o inject_80211 -lpcap
In file included from inject_80211.c:22:0:
inject_80211.h:6:18: fatal error: pcap.h: No such file or directory
#include <pcap.h>
^
compilation terminated.
make: *** [inject_80211] Error 1

How can you define the SW/driver clock is 10 MHz

Hi all,
In board_def.v, I see a definition:

define ASSUMED_COUNTER_CLK_MHZ 10 // 10MHz is assumed in SW/driver for sub us resolutuion FPGA counters

Why is 10 MHz ? Could you please give me the explanation of this value ?

Thank you very much !
Best Regards,
Dat Phung The

sdr: no symbol version for openofdm_rx_api

Hello,

First I want to say thank you so much for all the effort and time you have put into this project! It is truly (at least in my eyes) a major milestone, and you should be proud of yourself... It isn't easy... I know. (at least dsp; fpga; digitial comms; etc; isn't easy for me..., but I am trying to learn :) )

I have a Xilinx ZC706 dev board + FMCOMMS2/3/4. I setup the SD-card as stated in your quick-install section. I can ssh into the system. When I try to run ~/openwifi/fosdem.sh the following output occurs:

root@analog:~# ~/openwifi/fosdem.sh
hostapd: no process found
network-manager stop/waiting
num_arg 0
last_input xxxxxxxxx
test_mode 0
rmmod: ERROR: Module sdr is not currently loaded
rmmod: ERROR: Module xilinx_dma is not currently loaded
check xilinx_dma module is loaded or not
xilinx_dma is loaded!
rmmod: ERROR: Module tx_intf is not currently loaded
check tx_intf module is loaded or not
tx_intf is loaded!
rmmod: ERROR: Module ad9361_drv is not currently loaded
check ad9361_drv module is loaded or not
ad9361_drv is loaded!
set RF frontend
Found openwifi_ad9361_fir.ftr

  • test -f /sys/bus/iio/devices/iio:device0/in_voltage_rf_bandwidth
  • test -f /sys/bus/iio/devices/iio:device1/in_voltage_rf_bandwidth
  • test -f /sys/bus/iio/devices/iio:device2/in_voltage_rf_bandwidth
  • cd /sys/bus/iio/devices/iio:device2/
  • set +x
    FIR Rx: 32,1 Tx: 32,1
    1
    0
    rx0 agc fast_attack
    slow_attack
    fast_attack
    rx1 agc fast_attack
    slow_attack
    fast_attack
    40000000
    17500000
    40000000
    37500000
    rssi
    117.00 dB
    112.50 dB
    rx0 gain to 70
    56.000000 dB
    sh: echo: I/O error
    56.000000 dB
    rx1 gain to 70
    50.000000 dB
    sh: echo: I/O error
    50.000000 dB
    tx0 gain -89dB
    -10.000000 dB
    -89.000000 dB
    tx1 gain 0dB
    -10.000000 dB
    0.000000 dB
    rmmod: ERROR: Module rx_intf is not currently loaded
    check rx_intf module is loaded or not
    rx_intf is loaded!
    rmmod: ERROR: Module openofdm_tx is not currently loaded
    check openofdm_tx module is loaded or not
    openofdm_tx is loaded!
    rmmod: ERROR: Module openofdm_rx is not currently loaded
    check openofdm_rx module is loaded or not
    openofdm_rx is loaded!
    rmmod: ERROR: Module xpu is not currently loaded
    check xpu module is loaded or not
    xpu is loaded!
    rmmod: ERROR: Module sdr is not currently loaded
    insert sdr.ko test_mode=0
    check sdr module is loaded or not
    sdr is loaded!
    the end
    Booting Linux on physical CPU 0x0
    Linux version 4.14.0-g4fea7c58ad92-dirty (jxj@jxj-xps) (gcc version 7.3.1 20180314 (Linaro GCC 7.3-2018.04-rc3)) #1 SMP PREEMPT Thu Apr 23 21:41:40 CEST 2020
    CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d
    CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
    OF: fdt: Machine model: Xilinx Zynq ZC706
    OF: fdt: earlycon: stdout-path /amba@0/uart@E0001000 not found
    Memory policy: Data cache writealloc
    cma: Reserved 128 MiB at 0x38000000
    On node 0 totalpages: 262144
    free_area_init_node: node 0, pgdat c0c54000, node_mem_map ef7f7000
    Normal zone: 1536 pages used for memmap
    Normal zone: 0 pages reserved
    Normal zone: 196608 pages, LIFO batch:31
    HighMem zone: 65536 pages, LIFO batch:15
    random: fast init done
    percpu: Embedded 16 pages/cpu @ef7c7000 s33036 r8192 d24308 u65536
    pcpu-alloc: s33036 r8192 d24308 u65536 alloc=16*4096
    pcpu-alloc: [0] 0 [0] 1
    Built 1 zonelists, mobility grouping on. Total pages: 260608
    Kernel command line: console=ttyPS0,115200 root=/dev/mmcblk0p2 rw earlycon rootfstype=ext4 rootwait cpuidle.off=1
    PID hash table entries: 4096 (order: 2, 16384 bytes)
    Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
    Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
    Memory: 895980K/1048576K available (7168K kernel code, 339K rwdata, 2388K rodata, 1024K init, 165K bss, 21524K reserved, 131072K cma-reserved, 131072K highmem)
    Virtual kernel memory layout:
    vector : 0xffff0000 - 0xffff1000 ( 4 kB)
    fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
    vmalloc : 0xf0800000 - 0xff800000 ( 240 MB)
    lowmem : 0xc0000000 - 0xf0000000 ( 768 MB)
    pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
    modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
    .text : 0xc0008000 - 0xc0800000 (8160 kB)
    .init : 0xc0b00000 - 0xc0c00000 (1024 kB)
    .data : 0xc0c00000 - 0xc0c54ea0 ( 340 kB)
    .bss : 0xc0c5a894 - 0xc0c83f7c ( 166 kB)
    Preemptible hierarchical RCU implementation.
    RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
    Tasks RCU enabled.
    RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
    NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
    efuse mapped to f0802000
    slcr mapped to f0804000
    L2C: platform modifies aux control register: 0x72360000 -> 0x72760000
    L2C: DT/platform modifies aux control register: 0x72360000 -> 0x72760000
    L2C-310 erratum 769419 enabled
    L2C-310 enabling early BRESP for Cortex-A9
    L2C-310 full line of zeros enabled for Cortex-A9
    L2C-310 ID prefetch enabled, offset 1 lines
    L2C-310 dynamic clock gating enabled, standby mode enabled
    L2C-310 cache controller enabled, 8 ways, 512 kB
    L2C-310: CACHE_ID 0x410000c8, AUX_CTRL 0x76760001
    zynq_clock_init: clkc starts at f0804100
    Zynq clock init
    sched_clock: 64 bits at 333MHz, resolution 3ns, wraps every 4398046511103ns
    clocksource: arm_global_timer: mask: 0xffffffffffffffff max_cycles: 0x4ce07af025, max_idle_ns: 440795209040 ns
    Switching to timer-based delay loop, resolution 3ns
    clocksource: ttc_clocksource: mask: 0xffff max_cycles: 0xffff, max_idle_ns: 537538477 ns
    timer #0 at f080c000, irq=17
    Console: colour dummy device 80x30
    Calibrating delay loop (skipped), value calculated using timer frequency.. 666.66 BogoMIPS (lpj=3333333)
    pid_max: default: 32768 minimum: 301
    Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
    Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
    CPU: Testing write buffer coherency: ok
    CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
    Setting up static identity map for 0x100000 - 0x100060
    Hierarchical SRCU implementation.
    smp: Bringing up secondary CPUs ...
    CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
    smp: Brought up 1 node, 2 CPUs
    SMP: Total of 2 processors activated (1333.33 BogoMIPS).
    CPU: All CPU(s) started in SVC mode.
    devtmpfs: initialized
    VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
    clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    futex hash table entries: 512 (order: 3, 32768 bytes)
    pinctrl core: initialized pinctrl subsystem
    NET: Registered protocol family 16
    DMA: preallocated 256 KiB pool for atomic coherent allocations
    hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
    hw-breakpoint: maximum watchpoint size is 4 bytes.
    zynq-ocm f800c000.ocmc: ZYNQ OCM pool: 256 KiB @ 0xf0880000
    zynq-pinctrl 700.pinctrl: zynq pinctrl initialized
    e0001000.serial: ttyPS0 at MMIO 0xe0001000 (irq = 25, base_baud = 3125000) is a xuartps
    console [ttyPS0] enabled
    SCSI subsystem initialized
    usbcore: registered new interface driver usbfs
    usbcore: registered new interface driver hub
    usbcore: registered new device driver usb
    media: Linux media interface: v0.10
    Linux video capture interface: v2.00
    pps_core: LinuxPPS API ver. 1 registered
    pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti [email protected]
    PTP clock support registered
    FPGA manager framework
    Advanced Linux Sound Architecture Driver Initialized.
    clocksource: Switched to clocksource arm_global_timer
    NET: Registered protocol family 2
    TCP established hash table entries: 8192 (order: 3, 32768 bytes)
    TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
    TCP: Hash tables configured (established 8192 bind 8192)
    UDP hash table entries: 512 (order: 2, 16384 bytes)
    UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
    NET: Registered protocol family 1
    hw perfevents: no interrupt-affinity property for /pmu@f8891000, guessing.
    hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available
    workingset: timestamp_bits=30 max_order=18 bucket_order=0
    bounce: pool size: 64 pages
    io scheduler noop registered
    io scheduler deadline registered
    io scheduler cfq registered (default)
    io scheduler mq-deadline registered
    io scheduler kyber registered
    dma-pl330 f8003000.dmac: Loaded driver for PL330 DMAC-241330
    dma-pl330 f8003000.dmac: DBUFF-128x8bytes Num_Chans-8 Num_Peri-4 Num_Events-16
    brd: module loaded
    loop: module loaded
    m25p80 spi2.0: found s25fl128s, expected n25q128a11
    m25p80 spi2.0: s25fl128s (32768 Kbytes)
    5 ofpart partitions found on MTD device spi2.0
    Creating 5 MTD partitions on "spi2.0":
    0x000000000000-0x000000500000 : "boot"
    0x000000500000-0x000000520000 : "bootenv"
    0x000000520000-0x000000540000 : "config"
    0x000000540000-0x000000fc0000 : "image"
    0x000000fc0000-0x000002000000 : "spare"
    MACsec IEEE 802.1AE
    libphy: Fixed MDIO Bus: probed
    tun: Universal TUN/TAP device driver, 1.6
    libphy: MACB_mii_bus: probed
    macb e000b000.ethernet eth0: Cadence GEM rev 0x00020118 at 0xe000b000 irq 29 (00:0a:35:00:01:22)
    Marvell 88E1116R e000b000.ethernet-ffffffff:07: attached PHY driver [Marvell 88E1116R] (mii_bus:phy_addr=e000b000.ethernet-ffffffff:07, irq=POLL)
    ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
    usbcore: registered new interface driver usb-storage
    usbcore: registered new interface driver usbserial
    usbcore: registered new interface driver usbserial_generic
    usbserial: USB Serial support registered for generic
    usbcore: registered new interface driver ftdi_sio
    usbserial: USB Serial support registered for FTDI USB Serial Device
    chipidea-usb2 e0002000.usb: e0002000.usb supply vbus not found, using dummy regulator
    ULPI transceiver vendor/product ID 0x0424/0x0007
    Found SMSC USB3320 ULPI transceiver.
    ULPI integrity check: passed.
    ci_hdrc ci_hdrc.0: EHCI Host Controller
    ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 1
    ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00
    hub 1-0:1.0: USB hub found
    hub 1-0:1.0: 1 port detected
    i2c /dev entries driver
    si570 1-005d: registered, current frequency 156250000 Hz
    i2c i2c-0: Added multiplexed i2c bus 1
    adv7511 2-0039: 2-0039 supply avdd not found, using dummy regulator
    adv7511 2-0039: 2-0039 supply dvdd not found, using dummy regulator
    adv7511 2-0039: 2-0039 supply pvdd not found, using dummy regulator
    adv7511 2-0039: 2-0039 supply bgvdd not found, using dummy regulator
    adv7511 2-0039: 2-0039 supply dvdd-3v not found, using dummy regulator
    i2c i2c-0: Added multiplexed i2c bus 2
    at24 3-0054: 1024 byte 24c08 EEPROM, writable, 1 bytes/write
    i2c i2c-0: Added multiplexed i2c bus 3
    pca953x 4-0021: 4-0021 supply vcc not found, using dummy regulator
    pca953x 4-0021: interrupt support not compiled in
    i2c i2c-0: Added multiplexed i2c bus 4
    rtc-pcf8563 5-0051: low voltage detected, date/time is not reliable.
    rtc-pcf8563 5-0051: rtc core: registered rtc-pcf8563 as rtc0
    i2c i2c-0: Added multiplexed i2c bus 5
    i2c i2c-0: Added multiplexed i2c bus 6
    at24 7-0050: 256 byte 24c02 EEPROM, writable, 1 bytes/write
    i2c i2c-0: Added multiplexed i2c bus 7
    i2c i2c-0: Added multiplexed i2c bus 8
    pca954x 0-0074: registered 8 multiplexed busses for I2C switch pca9548
    IR NEC protocol handler initialized
    IR RC5(x/sz) protocol handler initialized
    IR RC6 protocol handler initialized
    IR JVC protocol handler initialized
    IR Sony protocol handler initialized
    IR SANYO protocol handler initialized
    IR Sharp protocol handler initialized
    IR MCE Keyboard/mouse protocol handler initialized
    IR XMP protocol handler initialized
    usbcore: registered new interface driver uvcvideo
    USB Video Class driver (1.1.1)
    gspca_main: v2.14.0 registered
    cdns-wdt f8005000.watchdog: Xilinx Watchdog Timer at f090a000 with timeout 10s
    Xilinx Zynq CpuIdle Driver started
    failed to register cpuidle driver
    sdhci: Secure Digital Host Controller Interface driver
    sdhci: Copyright(c) Pierre Ossman
    sdhci-pltfm: SDHCI platform and OF driver helper
    mmc0: SDHCI controller on e0100000.mmc [e0100000.mmc] using ADMA
    ledtrig-cpu: registered to indicate activity on CPUs
    hidraw: raw HID events driver (C) Jiri Kosina
    usbcore: registered new interface driver usbhid
    usbhid: USB HID core driver
    adf4350 spi1.0: spi1.0 supply vcc not found, using dummy regulator
    adf4350 spi1.0: Probe failed (muxout)
    adf4350 spi1.1: spi1.1 supply vcc not found, using dummy regulator
    adf4350 spi1.1: Probe failed (muxout)
    fpga_manager fpga0: Xilinx Zynq FPGA Manager registered
    Netfilter messages via NETLINK v0.30.
    nfnl_acct: registering with nfnetlink.
    nf_conntrack version 0.5.0 (16384 buckets, 65536 max)
    mmc0: new high speed SDHC card at address 59b4
    ctnetlink v0.93: registering with nfnetlink.
    mmcblk0: mmc0:59b4 SDU1 14.7 GiB
    nf_tables: (c) 2007-2009 Patrick McHardy [email protected]
    nf_tables_compat: (c) 2012 Pablo Neira Ayuso [email protected]
    xt_time: kernel timezone is -0000
    ip_tables: (C) 2000-2006 Netfilter Core Team
    ipt_CLUSTERIP: ClusterIP Version 0.8 loaded successfully
    arp_tables: arp_tables: (C) 2002 David S. Miller
    mmcblk0: p1 p2 p3
    NET: Registered protocol family 17
    Registering SWP/SWPB emulation handler
    asoc-simple-card adv7511_hdmi_snd: spdif-hifi <-> 75c00000.axi-spdif-tx mapping ok
    input: gpio_keys as /devices/soc0/gpio_keys/input/input0
    rtc-pcf8563 5-0051: low voltage detected, date/time is not reliable.
    rtc-pcf8563 5-0051: hctosys: unable to read the hardware clock
    ALSA device list:
    #0: HDMI monitor
    EXT4-fs (mmcblk0p2): recovery complete
    EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
    VFS: Mounted root (ext4 filesystem) on device 179:2.
    devtmpfs: mounted
    Freeing unused kernel memory: 1024K
    init: hwclock main process (976) terminated with status 1
    systemd-udevd[1065]: starting version 204
    Registered mathworks_ip class
    mwipcore 43c00000.mwipcore: Dev memory resource found at 43c00000 0000FFFF.
    mwipcore 43c00000.mwipcore: 'mwipcore' device not found, creating
    mwipcore 43c00000.mwipcore: Char dev region registered: major num:242
    mwipcore 43c00000.mwipcore: 'mwipcore' device created
    init: udev-fallback-graphics main process (1519) terminated with status 1
    init: samba-ad-dc main process (1753) terminated with status 1
    init: isc-dhcp-server main process (1837) terminated with status 1
    init: isc-dhcp-server main process ended, respawning
    macb e000b000.ethernet eth0: link up (100/Full)
    init: isc-dhcp-server main process (1969) terminated with status 1
    init: isc-dhcp-server main process ended, respawning
    init: lightdm main process (1788) terminated with status 1
    init: tty1 main process (2010) killed by TERM signal
    init: isc-dhcp-server main process (2021) terminated with status 1
    init: isc-dhcp-server main process ended, respawning
    init: isc-dhcp-server main process (2049) terminated with status 1
    init: isc-dhcp-server main process ended, respawning
    init: isc-dhcp-server main process (2087) terminated with status 1
    init: isc-dhcp-server main process ended, respawning
    init: isc-dhcp-server main process (2101) terminated with status 1
    init: isc-dhcp-server main process ended, respawning
    init: isc-dhcp-server main process (2111) terminated with status 1
    init: isc-dhcp-server main process ended, respawning
    init: isc-dhcp-server main process (2121) terminated with status 1
    init: isc-dhcp-server main process ended, respawning
    init: isc-dhcp-server main process (2131) terminated with status 1
    init: isc-dhcp-server main process ended, respawning
    init: isc-dhcp-server main process (2141) terminated with status 1
    init: isc-dhcp-server main process ended, respawning
    init: isc-dhcp-server main process (2151) terminated with status 1
    init: isc-dhcp-server respawning too fast, stopped
    tx_intf: loading out-of-tree module taints kernel.
    ad9361 spi0.0: ad9361_probe : enter (ad9361)
    ad9361 spi0.0: ad9361_probe : AD936x Rev 2 successfully initialized
    cf_axi_adc 79020000.cf-ad9361-lpc: ADI AIM (10.01.b) at 0x79020000 mapped to 0xf2868000, probed ADC AD9361 as MASTER
    cf_axi_dds 79024000.cf-ad9361-dds-core-lpc: Analog Devices CF_AXI_DDS_DDS MASTER (9.01.b) at 0x79024000 mapped to 0xf2862000, probed DDS AD9361
    random: crng init done
    sdr: no symbol version for openofdm_rx_api
    SIOCSIFADDR: No such device
    sdr0: ERROR while getting interface flags: No such device
    stop: Unknown instance:
    isc-dhcp-server start/running, process 2343
    Configuration file: hostapd-openwifi.conf
    Could not read interface sdr0 flags: No such device
    nl80211: Driver does not support authentication/association or connect commands
    Could not read interface sdr0 flags: No such device
    nl80211 driver initialization failed.
    hostapd_free_hapd_data: Interface sdr0 wasn't started_

I believe the error has to do with the "sdr: no symbol version for openofdm_rx_api" print output, but I am not for certain. It appears the ad9361 is loading successfully. But it appears to me the openofdm_rx_api driver is having issues which is causing the sdr device driver to not function properly (that is my interpretation).

Any help you can provide would be greatly appreciated.
Thank you for your time and for making this project possible.

Best,
-matt

AIFS

Hello,
first, thank you for this project,it provided me with a good platform to learn๏ผ

My questions are:
ยท Whether the time slice written is TXOP๏ผŸ๏ผˆtxop=๏ผˆend-start๏ผ‰๏ผŸ๏ผ‰
ยท According to the EDCA๏ผŒthere has 4 queue for different business๏ผŒand there should be 4 AIFS to backoff meanwhile๏ผŒI would
like to know how to do the 4 queue backoff ๏ผŸ

Thanks๏ผŒ
Yang

monitor mode

Hi
I'm trying to set monitor mode.
I used the 'user_space' monitor_ch.sh but without success.

thanks

Questions about AD9361/4 work modes

Hello,

This is great project, I've got a few questions about some settings for AD9361/4.

  1. How many radio channels are used for transmit and receive by default? I guess it's only one radio channel since the project also supports AD9364.
  2. What's the working mode for AD936x by default, FDD or TDD?
  3. Is TDD controller being used? If so, where is TDD_ENABLE (from REG_TDD_CONTROL_0) programmed? And what signals trigger tx_intf and rx_intf to start transmit and receive packet respectively through TDD controller's control ENABLE and TXNRX pins
  4. Is AD936x initialized into ALERT state when the driver is loaded and enabled?

Thank you,

ohf

Unable to connect to WiFi

Use openwifi as client to connect other AP ๏ผŒAfter following the steps๏ผŒRepeat output๏ผšโ€œ sdr0: CTRL-EVENT-SCAN-STARTED
โ€ ใ€‚And the WiFi scan was fruitlessใ€‚

openwifi's boot processing

Hi,

I am walking through the code in ./net/mac80211, I want to know:
1)Whether the boot process, is: after board is powered up, we run openwifi AP and the on board webserver,the system starts to initialize,the High Mac operations goes on in this process,and then after the sta0 access, the driver start to write register to support low mac?
2)How is the process of scan-auth-asso(high mac) started, I guess automatically after the system initialized?or there has a trigger?
3)how can I change the beacon interval?

Thank you very much!

How to utilize ad9361 in the new version?

Hi, I am not sure I understand how we can utilize ad9361 driver in the new version. I am running wgd.sh and getting the following:

[  931.095708] sdr,xpu dev_probe match!
[  931.095729] sdr,xpu dev_probe io start 0xa0006000 end 0xa0006fff name /fpga-axi@0/xpu@a0006000 flags 0x00000200 desc 0x00000000
[  931.095731] sdr,xpu dev_probe base_addr 0x09275000
[  931.095732] sdr,xpu dev_probe xpu_driver_api_inst 0x00c12408
[  931.095734] sdr,xpu dev_probe             xpu_api 0x00c12408
[  931.095736] sdr,xpu dev_probe reset tsf timer
[  931.195748] sdr,xpu dev_probe XPU_REG_TSF_RUNTIME_VAL_LOW_read 1 33000 99998us
[  931.195750] sdr,xpu dev_probe succeed!
[  931.195752] sdr,xpu hw_init mode 1
[  931.195763] sdr,xpu hw_init mode XPU_NORMAL
[  931.195767] sdr,xpu hw_init err 0
[  931.706562] sdr: Unknown symbol ad9361_spi_to_phy (err 0)
[  931.706602] sdr: Unknown symbol ad9361_set_tx_atten (err 0)
[  931.706614] sdr: Unknown symbol ad9361_spi_read (err 0)
[  931.706685] sdr: Unknown symbol ad9361_tx_mute (err 0)
[  931.706745] sdr: Unknown symbol ad9361_get_tx_atten (err 0)
[  931.706813] sdr: Unknown symbol ad9361_ctrl_outs_setup (err 0)

Any suggestion? Thanks!

Is simulation still possible? (Icarus or otherwise)

Commit 10ff8da3d71d for openOfdm_rx submodule changed the Viterbi and FFT modules from older IP cores to AXI ip cores. After this change - is it possible to simulate the _rx or _tx ip cores with Icarus (or something else?)

Management Entity

Hello,
IEEE 802.11 standard shows that the MAC and PHY Layers contains 2 management entities which are:

  • MLME (MAC Layer Management Entity)
  • PLME (Physical Layer Management Entity).

And 1 layer-independent entity which is the SME (Station Management Entity).

Entities interact via 3 SAPs (Service Access Point) which are:

  • SME-MLME SAP
  • SME-PLME SAP
  • MLME-PLME SAP

SAPs include defined primitives which are exchanged. This definition includes the GET and SET operations between MLME, PLME, and SME as well as other individually defined service primitives.

Are those Entities and SAPs supported? If yes, would you please guide me where to find them in the Repo?
Appreciate your help.

Thanks,
Tommy

Screenshot from 2021-06-08 14-27-43

Detail document of register

I am walking through the code in ./driver/sdr.c, and I encounter some registers and I cannot figure out the meaning of each bit.
e.g., the register read by tx_intf_api->TX_INTF_REG_PKT_INFO_read().
Although I notice that there are a few registers that have been explained in the README in ./doc folder, I am wondering where I can get the more detailed explanation of other registers.

Setting ACK interval

Hi,
first, thank you for this project, it is really amazing! I am experimenting with a ZC706 board plus FMCOMM2 and I would
like to change the ACK threshold time (SIFS interval).
I don't know verilog, but from the sources in the IP directory, it seems to me that SIFS is read from a register (e.g., "input wire [0:6] sifs_time").

In the driver sources (sdr.c:932, tx_intf.c:280) I think you set the SIFS register through a call to TX_INTF_REG_CTS_TOSELF_WAIT_SIFS_TOP_write which results in a 10 us SIFS time.

My questions are:

  • Can I change the ACK (SIFS) interval by simply changing the value in the driver files (sdr.c, tx_intf.c)?
  • why this interval is set both during initialization (tx_intf.c) and during each transmission (sdr.c)?
  • Would you be interested in extending the sdrctl tool to tweak the SIFS interval?

Thanks,
Luca

DSSS Support

Is there a plan to add DSSS / 802.11b support, and if so, what is the timeline? How difficult would this be?

About the error of "Run Linux and do some post-config"

   when I do the process of "Run Linux and do some post-config", I meet with a problem about the command of "modprobe mac80211".
   modprobe: ERROR: ../libkmod/libkmod.c:556 kmod_search_moddep() could not open moddep file 'lib/modules/4.14.0/modules.dep.bin'

fail to run fosdem.sh

hello:
I'm want to use "Update FPGA" function, but I'm following the quick start and meet the error shown as below when running ./fosdem.sh
root@analog:~/openwifi# hostapd -dd hostapd-openwifi.conf &sleep 5
[1] 2239
random: Trying to read entropy from /dev/random
Configuration file: hostapd-openwifi.conf
rfkill: initial event: idx=0 type=1 op=0 soft=0 hard=0
nl80211: Supported cipher 00-0f-ac:1
nl80211: Supported cipher 00-0f-ac:5
nl80211: Supported cipher 00-0f-ac:2
nl80211: Supported cipher 00-0f-ac:4
nl80211: Supported cipher 00-0f-ac:10
nl80211: Supported cipher 00-0f-ac:8
nl80211: Supported cipher 00-0f-ac:9
nl80211: Using driver-based off-channel TX
nl80211: interface sdr0 in phy phy0
nl80211: Set mode ifindex 3 iftype 3 (AP)
nl80211: Failed to set interface 3 to mode 3: -16 (Device or resource busy)
nl80211: Try mode change after setting interface down
nl80211: Set mode ifindex 3 iftype 3 (AP)
nl80211: Mode change succeeded while interface is down
nl80211: Setup AP(sdr0) - device_ap_sme=0 use_monitor=0
nl80211: Subscribe to mgmt frames with AP handle 0xb3dc0
nl80211: Register frame type=0xb0 nl_handle=0xb3dc0 match=
nl80211: Register frame type=0x0 nl_handle=0xb3dc0 match=
nl80211: Register frame type=0x20 nl_handle=0xb3dc0 match=
nl80211: Register frame type=0xa0 nl_handle=0xb3dc0 match=
nl80211: Register frame type=0xc0 nl_handle=0xb3dc0 match=
nl80211: Register frame type=0xd0 nl_handle=0xb3dc0 match=
nl80211: Register frame type=0x40 nl_handle=0xb3dc0 match=
nl80211: Add own interface ifindex 3
phy: phy0
BSS count 1, BSSID mask 00:00:00:00:00:00 (0 bits)
sdr0: interface state UNINITIALIZED->COUNTRY_UPDATE
Previous country code 00, new country code BE
Continue interface setup after channel list update
ctrl_iface not configured!
RTM_NEWLINK: ifi_index=3 ifname=sdr0 operstate=2 linkmode=0 ifi_flags=0x1002 ()
nl80211: Ignore interface down event since interface sdr0 is up
RTM_NEWLINK: ifi_index=3 ifname=sdr0 operstate=2 linkmode=0 ifi_flags=0x1003 ([UP])
nl80211: Event message available
nl80211: Drv Event 36 (NL80211_CMD_REG_CHANGE) received for sdr0
nl80211: Regulatory domain change
sdr0: Event CHANNEL_LIST_CHANGED (30) received
Channel list updated - continue setup
nl80211: Regulatory information - country=BE
nl80211: 2402-2482 @ 40 MHz 20 mBm
nl80211: 5170-5250 @ 40 MHz 20 mBm
nl80211: 5250-5330 @ 40 MHz 20 mBm
nl80211: 5490-5710 @ 40 MHz 27 mBm
nl80211: 57240-65880 @ 2160 MHz 40 mBm
nl80211: Added 802.11b mode based on 802.11g information
Allowed channel: mode=1 chan=1 freq=2412 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=2 freq=2417 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=3 freq=2422 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=4 freq=2427 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=5 freq=2432 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=6 freq=2437 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=7 freq=2442 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=8 freq=2447 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=9 freq=2452 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=10 freq=2457 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=11 freq=2462 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=12 freq=2467 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=13 freq=2472 MHz max_tx_power=20 dBm
Allowed channel: mode=2 chan=36 freq=5180 MHz max_tx_power=20 dBm
Allowed channel: mode=2 chan=38 freq=5190 MHz max_tx_power=20 dBm
Allowed channel: mode=2 chan=40 freq=5200 MHz max_tx_power=20 dBm
Allowed channel: mode=2 chan=42 freq=5210 MHz max_tx_power=20 dBm
Allowed channel: mode=2 chan=44 freq=5220 MHz max_tx_power=20 dBm
Allowed channel: mode=2 chan=46 freq=5230 MHz max_tx_power=20 dBm
Allowed channel: mode=2 chan=48 freq=5240 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=1 freq=2412 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=2 freq=2417 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=3 freq=2422 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=4 freq=2427 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=5 freq=2432 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=6 freq=2437 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=7 freq=2442 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=8 freq=2447 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=9 freq=2452 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=10 freq=2457 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=11 freq=2462 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=12 freq=2467 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=13 freq=2472 MHz max_tx_power=20 dBm
Completing interface initialization
Mode: IEEE 802.11a Channel: 44 Frequency: 5220 MHz
DFS 0 channels required radar detection
nl80211: Set freq 5220 (ht_enabled=1, vht_enabled=0, bandwidth=20 MHz, cf1=5220 MHz, cf2=0 MHz)
RATE[0] rate=60 flags=0x1
RATE[1] rate=90 flags=0x1
RATE[2] rate=120 flags=0x1
RATE[3] rate=180 flags=0x1
RATE[4] rate=240 flags=0x0
RATE[5] rate=360 flags=0x0
RATE[6] rate=480 flags=0x0
RATE[7] rate=540 flags=0x0
hostapd_setup_bss(hapd=0xb3320 Unable to handle kernel paging request at virtual address 00001ff8
pgd = c0004000
[00001ff8] *pgd=00000000
Internal error: Oops: 17 [#1] PREEMPT SMP ARM
Modules linked in: 8021q arc4 sdr(O) xpu(O) openofdm_rx(O) openofdm_tx(O) rx_intf(O) ad9361_drv(O) tx_intf(O) xilinx_dma mac80211 cfg80211 ipv6 mwipcore mwipcore_iio_streaming mwipcore_dma_streaming mathworks_ip_common
CPU: 0 PID: 905 Comm: kworker/0:2 Tainted: G O 4.14.0-gb6e379910a11-dirty #1
Hardware name: Xilinx Zynq Platform
Workqueue: events linkwatch_event
task: ef3620c0 task.stack: ee8e8000
PC is at openwifi_tx_interrupt+0xd8/0x344 [sdr]
LR is at openwifi_tx_interrupt+0x94/0x344 [sdr]
pc : [] lr : [] psr: a00f0193
sp : ee8e9ab0 ip : 00000001 fp : 00000001
r10: 0007ffff r9 : eeacce40 r8 : bf187004
r7 : eeb4ce30 r6 : 00000000 r5 : ffffffff r4 : eeb10480
r3 : 00001ff8 r2 : 000003ff r1 : ee46d418 r0 : ef163410
Flags: NzCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment none
Control: 18c5387d Table: 2f2b804a DAC: 00000051
Process kworker/0:2 (pid: 905, stack limit = 0xee8e8210)
Stack: (0xee8e9ab0 to 0xee8ea000)
9aa0: 00000000 ffffffff ffffffff ffffffff
9ac0: ffffffff ffffffff eeacc460 00007fff 0007fff0 c0801438 eeacd638 bf1e0000
9ae0: ffffffff ee5a7840 ef166a00 00000000 ee8e9b44 00000035 c0c54fae c0995e28
9b00: c0995e00 c015c36c c0c54340 0000001e efdcfb54 ef166a00 c0b4b10c ef166a00
9b20: ef166a00 c0c0534c 00000000 ef003600 f8f01100 00000000 00000600 c015c454
9b40: 20000013 00000000 ef7d2128 ef166a00 ef166a64 c015c4c8 ef166a00 ef166a64
9b60: c0c0534c c015fa38 c0b48280 00000035 00000000 c015b700 c0b48280 c015bc04
9b80: c0c05344 c0c1a194 f8f0010c f8f00100 ee8e9bb8 c0101424 c06f0490 000f0013
9ba0: ffffffff ee8e9bec 00000000 ee8e8000 00000000 c010c20c ee5a8430 eea63990
9bc0: fffffff0 eea63980 eea63900 eeb9c000 000080fe 00000000 00000000 c0c4e680
9be0: 00000000 00000600 00000010 ee8e9c0c 00000000 c06f0490 000f0013 ffffffff
9c00: 00000051 00000000 ee8e9c40 eeb9c000 ee8e9c40 ee5a8400 00000000 ee5a8428
9c20: eea63900 c0313b8c eea63900 bf037fc0 0000000c 00000600 00000001 ef3a6000
9c40: 000000fe c01e7c30 ee8e9c7f 01080020 00000000 c05e65c8 00000240 c05e6514
9c60: eeb9c000 0000014c 00000000 ef000100 01080020 c05e6638 ee8e9d7c 0036f000
9c80: ee8e9df0 014000c0 ffffe000 01080020 c0c4e680 eea63900 eeb9c000 bf03afe8
9ca0: 00000000 00000018 00000000 00000000 00000600 c013a500 00000000 00000018
9cc0: ee8e9df0 ee8e9df0 eeaa3d80 00000000 00000200 eeaa3d8c 00000000 eea63900
9ce0: 00000001 bf03d480 00000000 00000005 ee8e9df0 ee8e9d58 00000001 eeaa3d80
9d00: 00000000 00000080 00000001 ee45880c eea63900 ee458800 ee8e9df0 ee8e9d58
9d20: 00000000 ef36f000 ef7cf2c0 bf035f60 00000000 ee5b1cc0 ef36f000 eea63900
9d40: 00000000 ee8e9d7c 00000000 00000000 00000040 bf03a6b4 00000000 00000000
9d60: 00000001 ee5b1cc0 ef36f000 00000000 00000003 bf02ce18 00000000 000000fe
9d80: 00000100 00000040 00000000 00000003 00000001 00000002 00000000 000080fe
9da0: 00000000 ff445564 a72233fe 00000000 00000000 00000000 00000000 00000000
9dc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
9de0: 00000000 00000000 00000000 00000000 00000000 c0c4e680 00000000 00000000
9e00: 00000000 00000000 ee9bfe00 ee5b1cc0 ee9bfe00 00000001 00000000 00000004
9e20: 00000000 bf030ba4 00000000 00000080 ffffffff ffffffff ee9bfe00 ee9bfe00
9e40: ee9bfe00 bf030cac 000080fe 00000000 ff445564 a72233fe ef36f000 bf0344d4
9e60: 00000000 ef7cf6c0 eea35c40 ef36f000 c0c4e680 00000000 00000000 00000000
9e80: eebb9800 c06e70bc c06e700c ffffffef bf06c9ec ee8e9ed8 00000004 00000000
9ea0: 00000000 ef36f000 ef7cf2c0 c013a270 ef36f000 00000000 ee8e9ef8 c0c4f7e0
9ec0: c0c4f810 c013a3e4 00000000 00000000 ee8e9ef8 c05f721c ef36f000 00000000
9ee0: c0c4f810 ef36f000 c0c7d1a8 c0610fb0 ef36f284 c06111f0 ee8e9ef8 ee8e9ef8
9f00: c0c4f7e0 eea35900 ef7cf2c0 ef7d2300 00000000 00000000 00000008 c061128c
9f20: c0c4f7e0 c0133358 c0c02d00 ef7cf2d8 eea35900 ef7cf2c0 eea35918 c0c02d00
9f40: ef7cf2d8 ffffe000 00000008 c0134064 ffffe000 c0c54f60 c099404c 00000000
9f60: ffffe000 ef23bb40 ef23b380 00000000 ee8e8000 eea35900 c0134018 ef045ed8
9f80: ef23bb5c c0138de0 00000000 ef23b380 c0138c94 00000000 00000000 00000000
9fa0: 00000000 00000000 00000000 c0107a30 00000000 00000000 00000000 00000000
9fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
9fe0: 00000000 00000000 00000000 00000000 00000013 00000000 ffffffff ffffffff
[] (openwifi_tx_interrupt [sdr]) from [] (__handle_irq_event_percpu+0x50/0x11c)
[] (__handle_irq_event_percpu) from [] (handle_irq_event_percpu+0x1c/0x58)
[] (handle_irq_event_percpu) from [] (handle_irq_event+0x38/0x5c)
[] (handle_irq_event) from [] (handle_fasteoi_irq+0xa4/0x158)
[] (handle_fasteoi_irq) from [] (generic_handle_irq+0x24/0x34)
[] (generic_handle_irq) from [] (__handle_domain_irq+0x5c/0xb4)
[] (__handle_domain_irq) from [] (gic_handle_irq+0x4c/0x90)
[] (gic_handle_irq) from [] (__irq_svc+0x6c/0xa8)
Exception stack(0xee8e9bb8 to 0xee8e9c00)
9ba0: ee5a8430 eea63990
9bc0: fffffff0 eea63980 eea63900 eeb9c000 000080fe 00000000 00000000 c0c4e680
9be0: 00000000 00000600 00000010 ee8e9c0c 00000000 c06f0490 000f0013 ffffffff
[] (__irq_svc) from [] (memcpy+0xb0/0x330)
[] (memcpy) from [] (nla_put+0x30/0x40)
[] (nla_put) from [] (rt6_fill_node.constprop.10+0x474/0x4c0 [ipv6])
[] (rt6_fill_node.constprop.10 [ipv6]) from [] (inet6_rt_notify+0xc0/0x148 [ipv6])
[] (inet6_rt_notify [ipv6]) from [] (fib6_add+0xaf0/0xc78 [ipv6])
[] (fib6_add [ipv6]) from [] (__ip6_ins_rt+0x40/0x58 [ipv6])
[] (__ip6_ins_rt [ipv6]) from [] (ip6_route_add+0x74/0x8c [ipv6])
[] (ip6_route_add [ipv6]) from [] (addrconf_prefix_route+0xa0/0xa8 [ipv6])
[] (addrconf_prefix_route [ipv6]) from [] (addrconf_add_linklocal+0x58/0xa4 [ipv6])
[] (addrconf_add_linklocal [ipv6]) from [] (addrconf_addr_gen.constprop.9+0xbc/0xc0 [ipv6])
[] (addrconf_addr_gen.constprop.9 [ipv6]) from [] (addrconf_notify+0x4dc/0x840 [ipv6])
[] (addrconf_notify [ipv6]) from [] (notifier_call_chain+0x48/0x84)
[] (notifier_call_chain) from [] (raw_notifier_call_chain+0x18/0x20)
[] (raw_notifier_call_chain) from [] (netdev_state_change+0x30/0x50)
[] (netdev_state_change) from [] (linkwatch_do_dev+0x48/0x74)
[] (linkwatch_do_dev) from [] (__linkwatch_run_queue+0xe4/0x154)
[] (__linkwatch_run_queue) from [] (linkwatch_event+0x2c/0x34)
[] (linkwatch_event) from [] (process_one_work+0x1d8/0x410)
[] (process_one_work) from [] (worker_thread+0x4c/0x598)
[] (worker_thread) from [] (kthread+0x14c/0x154)
[] (kthread) from [] (ret_from_fork+0x14/0x24)
Code: e597371c e5911000 e0833182 e5910040 (e5934000)
---[ end trace e23cc7b0cfa0c6e2 ]---
Kernel panic - not syncing: Fatal exception in interrupt
CPU1: stopping
CPU: 1 PID: 0 Comm: swapper/1 Tainted: G D O 4.14.0-gb6e379910a11-dirty #1
Hardware name: Xilinx Zynq Platform
[] (unwind_backtrace) from [] (show_stack+0x10/0x14)
[] (show_stack) from [] (dump_stack+0x8c/0xa0)
[] (dump_stack) from [] (ipi_cpu_stop+0x64/0x74)
[] (ipi_cpu_stop) from [] (handle_IPI+0x6c/0x7c)
[] (handle_IPI) from [] (gic_handle_irq+0x8c/0x90)
[] (gic_handle_irq) from [] (__irq_svc+0x6c/0xa8)
Exception stack(0xef05ff78 to 0xef05ffc0)
ff60: 00000001 00000000
ff80: 00000001 c01179e0 ffffe000 c0c050f4 c0c050a8 c0b47a48 c0c54fa0 00000000
ffa0: 00000000 00000000 2ec97000 ef05ffc8 c0108480 c0108484 60040013 ffffffff
[] (__irq_svc) from [] (arch_cpu_idle+0x38/0x3c)
[] (arch_cpu_idle) from [] (do_idle+0x16c/0x1f8)
[] (do_idle) from [] (cpu_startup_entry+0x18/0x1c)
[] (cpu_startup_entry) from [<0010174c>] (0x10174c)
---[ end Kernel panic - not syncing: Fatal exception in interrupt

fail to run fosdem.sh

I'm following the quick start and meet the error shown as below when running ./fosdem.sh

xilinx-vdma 43000000.axivdma: failed to get axi_aclk (-2)
xilinx-vdma: probe of 43000000.axivdma failed with error -2
SIOCSIFADDR: No such device
sdr0: ERROR while getting interface flags: No such device
SIOCADDRT: File exists
stop: Unknown instance:
isc-dhcp-server start/running, process 3319
Configuration file: hostapd-openwifi.conf
Could not read interface sdr0 flags: No such device
nl80211: Driver does not support authentication/association or connect commands
Could not read interface sdr0 flags: No such device
nl80211 driver initialization failed.
hostapd_free_hapd_data: Interface sdr0 wasn't started

Also, I meet some "error message" when running dmesg command:

Booting Linux on physical CPU 0x0
Linux version 4.14.0-g4220d5d24c6c (jxj@jxj-xps) (gcc version 6.2.1 20161114 (Linaro GCC Snapshot 6.2-2016.11)) #1 SMP PREEMPT Mon Mar 2 19:20:30 CET 2020
CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
OF: fdt: Machine model: Xilinx Zynq ZC706
bootconsole [earlycon0] enabled
Memory policy: Data cache writealloc
cma: Reserved 128 MiB at 0x38000000
On node 0 totalpages: 262144
free_area_init_node: node 0, pgdat c0c4fd80, node_mem_map ef7f7000
Normal zone: 1536 pages used for memmap
Normal zone: 0 pages reserved
Normal zone: 196608 pages, LIFO batch:31
HighMem zone: 65536 pages, LIFO batch:15
random: fast init done
percpu: Embedded 16 pages/cpu @ef7c7000 s33036 r8192 d24308 u65536
pcpu-alloc: s33036 r8192 d24308 u65536 alloc=16*4096
pcpu-alloc: [0] 0 [0] 1
Built 1 zonelists, mobility grouping on. Total pages: 260608
Kernel command line: console=ttyPS0,115200 root=/dev/mmcblk0p2 rw earlyprintk rootfstype=ext4 rootwait
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 895996K/1048576K available (7168K kernel code, 323K rwdata, 2364K rodata, 1024K init, 166K bss, 21508K reserved, 131072K cma-reserved, 131072K highmem)
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
vmalloc : 0xf0800000 - 0xff800000 ( 240 MB)
lowmem : 0xc0000000 - 0xf0000000 ( 768 MB)
pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
.text : 0xc0008000 - 0xc0800000 (8160 kB)
.init : 0xc0b00000 - 0xc0c00000 (1024 kB)
.data : 0xc0c00000 - 0xc0c50c20 ( 324 kB)
.bss : 0xc0c56668 - 0xc0c7ff3c ( 167 kB)
Preemptible hierarchical RCU implementation.
RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
Tasks RCU enabled.
RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
efuse mapped to f0802000
slcr mapped to f0804000
L2C: platform modifies aux control register: 0x72360000 -> 0x72760000
L2C: DT/platform modifies aux control register: 0x72360000 -> 0x72760000
L2C-310 erratum 769419 enabled
L2C-310 enabling early BRESP for Cortex-A9
L2C-310 full line of zeros enabled for Cortex-A9
L2C-310 ID prefetch enabled, offset 1 lines
L2C-310 dynamic clock gating enabled, standby mode enabled
L2C-310 cache controller enabled, 8 ways, 512 kB
L2C-310: CACHE_ID 0x410000c8, AUX_CTRL 0x76760001
zynq_clock_init: clkc starts at f0804100
Zynq clock init
sched_clock: 64 bits at 333MHz, resolution 3ns, wraps every 4398046511103ns
clocksource: arm_global_timer: mask: 0xffffffffffffffff max_cycles: 0x4ce07af025, max_idle_ns: 440795209040 ns
Switching to timer-based delay loop, resolution 3ns
clocksource: ttc_clocksource: mask: 0xffff max_cycles: 0xffff, max_idle_ns: 537538477 ns
timer #0 at f080c000, irq=17
Console: colour dummy device 80x30
Calibrating delay loop (skipped), value calculated using timer frequency.. 666.66 BogoMIPS (lpj=3333333)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
CPU: Testing write buffer coherency: ok
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
Setting up static identity map for 0x100000 - 0x100060
Hierarchical SRCU implementation.
smp: Bringing up secondary CPUs ...
CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
smp: Brought up 1 node, 2 CPUs
SMP: Total of 2 processors activated (1333.33 BogoMIPS).
CPU: All CPU(s) started in SVC mode.
devtmpfs: initialized
VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
futex hash table entries: 512 (order: 3, 32768 bytes)
pinctrl core: initialized pinctrl subsystem
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
cpuidle: using governor ladder
hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
hw-breakpoint: maximum watchpoint size is 4 bytes.
zynq-ocm f800c000.ocmc: ZYNQ OCM pool: 256 KiB @ 0xf0880000
zynq-pinctrl 700.pinctrl: zynq pinctrl initialized
e0001000.serial: ttyPS0 at MMIO 0xe0001000 (irq = 25, base_baud = 3125000) is a xuartps
console [ttyPS0] enabled
bootconsole [earlycon0] disabled
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
media: Linux media interface: v0.10
Linux video capture interface: v2.00
pps_core: LinuxPPS API ver. 1 registered
pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti [email protected]
PTP clock support registered
FPGA manager framework
Advanced Linux Sound Architecture Driver Initialized.
clocksource: Switched to clocksource arm_global_timer
NET: Registered protocol family 2
TCP established hash table entries: 8192 (order: 3, 32768 bytes)
TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
UDP hash table entries: 512 (order: 2, 16384 bytes)
UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
NET: Registered protocol family 1
hw perfevents: no interrupt-affinity property for /pmu@f8891000, guessing.
hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available
workingset: timestamp_bits=30 max_order=18 bucket_order=0
bounce: pool size: 64 pages
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
io scheduler mq-deadline registered
io scheduler kyber registered
dma-pl330 f8003000.dmac: Loaded driver for PL330 DMAC-241330
dma-pl330 f8003000.dmac: DBUFF-128x8bytes Num_Chans-8 Num_Peri-4 Num_Events-16
brd: module loaded
loop: module loaded
m25p80 spi2.0: found s25fl128s, expected n25q128a11
m25p80 spi2.0: s25fl128s (32768 Kbytes)
5 ofpart partitions found on MTD device spi2.0
Creating 5 MTD partitions on "spi2.0":
0x000000000000-0x000000500000 : "boot"
0x000000500000-0x000000520000 : "bootenv"
0x000000520000-0x000000540000 : "config"
0x000000540000-0x000000fc0000 : "image"
0x000000fc0000-0x000002000000 : "spare"
MACsec IEEE 802.1AE
libphy: Fixed MDIO Bus: probed
tun: Universal TUN/TAP device driver, 1.6
libphy: MACB_mii_bus: probed
macb e000b000.ethernet eth0: Cadence GEM rev 0x00020118 at 0xe000b000 irq 29 (00:0a:35:00:01:22)
Marvell 88E1116R e000b000.ethernet-ffffffff:07: attached PHY driver [Marvell 88E1116R] (mii_bus:phy_addr=e000b000.ethernet-ffffffff:07, irq=POLL)
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
usbcore: registered new interface driver usb-storage
usbcore: registered new interface driver usbserial
usbcore: registered new interface driver usbserial_generic
usbserial: USB Serial support registered for generic
usbcore: registered new interface driver ftdi_sio
usbserial: USB Serial support registered for FTDI USB Serial Device
chipidea-usb2 e0002000.usb: e0002000.usb supply vbus not found, using dummy regulator
ULPI transceiver vendor/product ID 0x0424/0x0007
Found SMSC USB3320 ULPI transceiver.
ULPI integrity check: passed.
ci_hdrc ci_hdrc.0: EHCI Host Controller
ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 1
ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
i2c /dev entries driver
si570: probe of 1-005d failed with error -5
i2c i2c-0: Added multiplexed i2c bus 1
adv7511 2-0039: 2-0039 supply avdd not found, using dummy regulator
adv7511 2-0039: 2-0039 supply dvdd not found, using dummy regulator
adv7511 2-0039: 2-0039 supply pvdd not found, using dummy regulator
adv7511 2-0039: 2-0039 supply bgvdd not found, using dummy regulator
adv7511 2-0039: 2-0039 supply dvdd-3v not found, using dummy regulator
i2c i2c-0: Added multiplexed i2c bus 2
at24 3-0054: 1024 byte 24c08 EEPROM, writable, 1 bytes/write
i2c i2c-0: Added multiplexed i2c bus 3
pca953x 4-0021: 4-0021 supply vcc not found, using dummy regulator
pca953x 4-0021: interrupt support not compiled in
i2c i2c-0: Added multiplexed i2c bus 4
rtc-pcf8563 5-0051: rtc core: registered rtc-pcf8563 as rtc0
i2c i2c-0: Added multiplexed i2c bus 5
i2c i2c-0: Added multiplexed i2c bus 6
at24 7-0050: 256 byte 24c02 EEPROM, writable, 1 bytes/write
i2c i2c-0: Added multiplexed i2c bus 7
i2c i2c-0: Added multiplexed i2c bus 8
pca954x 0-0074: registered 8 multiplexed busses for I2C switch pca9548
IR NEC protocol handler initialized
IR RC5(x/sz) protocol handler initialized
IR RC6 protocol handler initialized
IR JVC protocol handler initialized
IR Sony protocol handler initialized
IR SANYO protocol handler initialized
IR Sharp protocol handler initialized
IR MCE Keyboard/mouse protocol handler initialized
IR XMP protocol handler initialized
usbcore: registered new interface driver uvcvideo
USB Video Class driver (1.1.1)
gspca_main: v2.14.0 registered
cdns-wdt f8005000.watchdog: Xilinx Watchdog Timer at f0976000 with timeout 10s
Xilinx Zynq CpuIdle Driver started
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
sdhci-pltfm: SDHCI platform and OF driver helper
mmc0: SDHCI controller on e0100000.sdhci [e0100000.sdhci] using ADMA
ledtrig-cpu: registered to indicate activity on CPUs
hidraw: raw HID events driver (C) Jiri Kosina
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
adf4350 spi1.0: spi1.0 supply vcc not found, using dummy regulator
adf4350 spi1.0: Probe failed (muxout)
adf4350 spi1.1: spi1.1 supply vcc not found, using dummy regulator
mmc0: new high speed SDHC card at address aaaa
mmcblk0: mmc0:aaaa SS08G 7.40 GiB
mmcblk0: p1 p2 p3
adf4350 spi1.1: Probe failed (muxout)
fpga_manager fpga0: Xilinx Zynq FPGA Manager registered
Netfilter messages via NETLINK v0.30.
nfnl_acct: registering with nfnetlink.
nf_conntrack version 0.5.0 (16384 buckets, 65536 max)
ctnetlink v0.93: registering with nfnetlink.
nf_tables: (c) 2007-2009 Patrick McHardy [email protected]
nf_tables_compat: (c) 2012 Pablo Neira Ayuso [email protected]
xt_time: kernel timezone is -0000
ip_tables: (C) 2000-2006 Netfilter Core Team
ipt_CLUSTERIP: ClusterIP Version 0.8 loaded successfully
arp_tables: arp_tables: (C) 2002 David S. Miller
NET: Registered protocol family 17
Registering SWP/SWPB emulation handler
asoc-simple-card adv7511_hdmi_snd: spdif-hifi <-> 75c00000.axi-spdif-tx mapping ok
input: gpio_keys as /devices/soc0/gpio_keys/input/input0
rtc-pcf8563 5-0051: setting system clock to 1970-05-29 19:09:13 UTC (12856153)
ALSA device list:
#0: HDMI monitor
EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
VFS: Mounted root (ext4 filesystem) on device 179:2.
devtmpfs: mounted
Freeing unused kernel memory: 1024K
systemd-udevd[1063]: starting version 204
init: udev-fallback-graphics main process (1488) terminated with status 1
init: failsafe main process (1677) killed by TERM signal
init: samba-ad-dc main process (1732) terminated with status 1
macb e000b000.ethernet eth0: link up (1000/Full)
init: tty1 main process (1921) killed by TERM signal
init: lightdm main process (1752) terminated with status 1
random: crng init done
init: isc-dhcp-server main process (2750) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (2761) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (2795) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (2813) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (2831) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (2841) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (2851) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (2861) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (2873) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (2885) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (2895) terminated with status 1
init: isc-dhcp-server respawning too fast, stopped
xilinx-vdma 43000000.axivdma: failed to get axi_aclk (-2)
xilinx-vdma: probe of 43000000.axivdma failed with error -2
tx_intf: loading out-of-tree module taints kernel.
ad9361 spi0.0: ad9361_probe : enter (ad9361)
ad9361 spi0.0: ad9361_probe : AD936x Rev 2 successfully initialized
cf_axi_adc 79020000.cf-ad9361-lpc: ADI AIM (10.00.b) at 0x79020000 mapped to 0xf27c0000, probed ADC AD9361 as MASTER
cf_axi_dds 79024000.cf-ad9361-dds-core-lpc: Analog Devices CF_AXI_DDS_DDS MASTER (9.00.b) at 0x79024000 mapped to 0xf097e000, probed DDS AD9361
sdr: no symbol version for openofdm_rx_api
init: isc-dhcp-server main process (3468) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (3486) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (3496) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (3506) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (3516) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (3526) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (3536) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (3546) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (3556) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (3566) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (3577) terminated with status 1
init: isc-dhcp-server respawning too fast, stopped
xilinx-vdma 43000000.axivdma: failed to get axi_aclk (-2)
xilinx-vdma: probe of 43000000.axivdma failed with error -2
init: isc-dhcp-server main process (3723) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (3741) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (3751) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (3761) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (3771) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (3781) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (3791) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (3801) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (3811) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (3821) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (3831) terminated with status 1
init: isc-dhcp-server respawning too fast, stopped
xilinx-vdma 43000000.axivdma: failed to get axi_aclk (-2)
xilinx-vdma: probe of 43000000.axivdma failed with error -2
xilinx-vdma 43000000.axivdma: failed to get axi_aclk (-2)
xilinx-vdma: probe of 43000000.axivdma failed with error -2
xilinx-vdma 43000000.axivdma: failed to get axi_aclk (-2)
xilinx-vdma: probe of 43000000.axivdma failed with error -2
init: isc-dhcp-server main process (4217) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (4235) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (4245) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (4255) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (4265) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (4275) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (4285) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (4295) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (4305) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (4315) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (4325) terminated with status 1
init: isc-dhcp-server respawning too fast, stopped
xilinx-vdma 43000000.axivdma: failed to get axi_aclk (-2)
xilinx-vdma: probe of 43000000.axivdma failed with error -2
init: isc-dhcp-server main process (4473) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (4491) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (4501) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (4511) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (4521) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (4531) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (4541) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (4551) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (4561) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (4571) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (4581) terminated with status 1
init: isc-dhcp-server respawning too fast, stopped
xilinx-vdma 43000000.axivdma: failed to get axi_aclk (-2)
xilinx-vdma: probe of 43000000.axivdma failed with error -2
xilinx-vdma 43000000.axivdma: failed to get axi_aclk (-2)
xilinx-vdma: probe of 43000000.axivdma failed with error -2

Is auto acknowledgements enabled in monitor mode?

Dear all, It appears acknowledgments are enabled by default and never changed again even when using monitor mode:

openwifi/driver/sdr.c

Lines 1024 to 1025 in 266e956

xpu_api->XPU_REG_RECV_ACK_COUNT_TOP0_write( (1<<31) | (((45+2+2)*10 + 15)<<16) | 10 );//2.4GHz. extra 300 clocks are needed when rx core fall into fake ht detection phase (rx mcs 6M)
xpu_api->XPU_REG_RECV_ACK_COUNT_TOP1_write( (1<<31) | (((51+2+2)*10 + 15)<<16) | 10 );//5GHz. extra 300 clocks are needed when rx core fall into fake ht detection phase (rx mcs 6M)

When packets are injected in monitor mode, will the SDR wait for acknowledgments and retransmit if necessary based on the target MAC address?

IEEE 802.11: did not acknowledge authentication response. Fail to let an Zynq-Client connect to an Zynq-AP on 5GHz band

Xianjun, could you help me solve this problem?

I set an Zynq as an AP by hostapd, the hostapd-openwifi.conf is as follows:
///////////////////////////////////////////////////////
interface=sdr0
driver=nl80211
country_code=BE
ssid=openwifi
hw_mode=a
channel=44
supported_rates=60 90 120 180 240 360 480 540
basic_rates=60 90 120 180

#logger_syslog=-1
#logger_syslog_level=2

#macaddr_acl=0
#auth_algs=1
#ignore_broadcast_ssid=1
wpa=2
wpa_passphrase=mytestpwd
wpa_key_mgmt=WPA-PSK
#wpa_pairwise=TKIP
#rsn_pairwise=CCMP
//////////////////////////////////////////////////
And on another Zynq, I use wpa_supplicant -i sdr0 -c wpa-connect.conf to connect the "openwifi"
wpa-connect.conf is as bellow:
network={
ssid="openwifi"
psk="mytestpwd"
#psk=11f68e99e79769d14354714c7f23d6a7bc3de8360f6f7965e949561f399a174d
}
////////////////////////////////////////////////
But in the client's terminal, something wrong during the authentication:

root@analog:~/openwifi# wpa_supplicant -i sdr0 -c wpa-connect.conf
Successfully initialized wpa_supplicant
sdr0: CTRL-EVENT-SCAN-STARTED
sdr0: CTRL-EVENT-SCAN-STARTED
sdr0: SME: Trying to authenticate with 66:55:44:33:22:8c (SSID='openwifi' freq=5220 MHz)
sdr0: CTRL-EVENT-SCAN-STARTED
sdr0: CTRL-EVENT-SCAN-STARTED
sdr0: CTRL-EVENT-SCAN-STARTED
sdr0: CTRL-EVENT-SCAN-STARTED
sdr0: SME: Trying to authenticate with 66:55:44:33:22:8c (SSID='openwifi' freq=5220 MHz)
sdr0: CTRL-EVENT-SCAN-STARTED
sdr0: CTRL-EVENT-SCAN-STARTED
sdr0: CTRL-EVENT-SCAN-STARTED
sdr0: SME: Trying to authenticate with 66:55:44:33:22:8c (SSID='openwifi' freq=5220 MHz)
sdr0: CTRL-EVENT-SCAN-STARTED
sdr0: SME: Trying to authenticate with 66:55:44:33:22:8c (SSID='openwifi' freq=5220 MHz)
sdr0: CTRL-EVENT-SSID-TEMP-DISABLED id=0 ssid="openwifi" auth_failures=1 duration=10
sdr0: CTRL-EVENT-SCAN-STARTED
sdr0: CTRL-EVENT-SCAN-STARTED
sdr0: CTRL-EVENT-SSID-REENABLED id=0 ssid="openwifi"
sdr0: CTRL-EVENT-SCAN-STARTED
sdr0: CTRL-EVENT-SCAN-STARTED
sdr0: SME: Trying to authenticate with 66:55:44:33:22:8c (SSID='openwifi' freq=5220 MHz)
sdr0: CTRL-EVENT-SSID-TEMP-DISABLED id=0 ssid="openwifi" auth_failures=2 duration=20
sdr0: CTRL-EVENT-SCAN-STARTED
sdr0: CTRL-EVENT-SCAN-STARTED
sdr0: CTRL-EVENT-SSID-REENABLED id=0 ssid="openwifi"
sdr0: SME: Trying to authenticate with 66:55:44:33:22:8c (SSID='openwifi' freq=5220 MHz)
sdr0: CTRL-EVENT-SSID-TEMP-DISABLED id=0 ssid="openwifi" auth_failures=3 duration=20

Will a folder be created and IQ be saved automatically when the IQ is being streammed to PC?

    ๆ‚จๅฅฝ๏ผŒๆˆ‘ๅœจ็”จ"insmod side_ch.ko" and "./side_ch_ctl g"ๅผ€ๅง‹่ฟ›่กŒIQ้‡‡ๆ ท๏ผŒๅฏไปฅๅœจ็ปˆ็ซฏ็œ‹ๅˆฐ่งฆๅ‘ๆกไปถ่ขซๆปก่ถณ๏ผŒๅฏนIQ่ฟ›่กŒไบ†้‡‡ๆ ทใ€‚ไฝ†ๆ˜ฏๆ‰“ๅผ€ๅฆไธ€ไธช็ปˆ็ซฏ๏ผŒๆ‰พไธๅˆฐ้‡‡ๆ ทไฟกๆฏไฟๅญ˜็š„ๆ–‡ไปถๅคน๏ผŒๆ˜พ็คบๆ–‡ไปถๅคนไธๅญ˜ๅœจใ€‚ๆƒณๅ’จ่ฏขๆ‚จIQ้‡‡ๆ ทไฟกๆฏๆตๅ…ฅPCๆ˜ฏไผš่‡ชๅŠจๅˆ›ๅปบๆ–‡ไปถๅคนไฟๅญ˜ๅ—๏ผŸ
  ๆœŸๅพ…ๆ‚จ็š„ๅ›žๅค๏ผ

Error when building drivers

Getting this error when compiling the linux drivers:

frank@frank:~/Documents/xilinx_projects/openwifi/driver$ ./make_all.sh .. /opt/Xilinx/ 32
$OPENWIFI_DIR is found!
$XILINX_DIR is found!
$ARCH_OPTION is valid!
 setup linux kernel path ../adi-linux/
++ pwd
+ home_dir=/home/frank/Documents/xilinx_projects/openwifi/driver
+ cd ../driver/
+ make KDIR=../adi-linux/ ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
make -C ../adi-linux/ M=/home/frank/Documents/xilinx_projects/openwifi/driver modules
make[1]: Entering directory '/home/frank/Documents/xilinx_projects/openwifi/adi-linux'
  CC [M]  /home/frank/Documents/xilinx_projects/openwifi/driver/sdr.o
In file included from ./include/linux/notifier.h:16:0,
                 from ./include/linux/memory_hotplug.h:7,
                 from ./include/linux/mmzone.h:780,
                 from ./include/linux/gfp.h:6,
                 from ./include/linux/mm.h:10,
                 from ./include/linux/scatterlist.h:8,
                 from ./include/linux/dmapool.h:14,
                 from /home/frank/Documents/xilinx_projects/openwifi/driver/sdr.c:4:
./include/linux/srcu.h:64:2: error: #error "Unknown SRCU implementation specified to kernel configuration"
 #error "Unknown SRCU implementation specified to kernel configuration"
  ^~~~~
In file included from ./include/linux/memory_hotplug.h:7:0,
                 from ./include/linux/mmzone.h:780,
                 from ./include/linux/gfp.h:6,
                 from ./include/linux/mm.h:10,
                 from ./include/linux/scatterlist.h:8,
                 from ./include/linux/dmapool.h:14,
                 from /home/frank/Documents/xilinx_projects/openwifi/driver/sdr.c:4:
./include/linux/notifier.h:78:21: error: field โ€˜srcuโ€™ has incomplete type
  struct srcu_struct srcu;
                     ^~~~
In file included from ./arch/arm/include/asm/unistd.h:16:0,
                 from ./include/uapi/linux/unistd.h:8,
                 from ./include/asm-generic/seccomp.h:14,
                 from ./arch/arm/include/generated/asm/seccomp.h:1,
                 from ./include/linux/seccomp.h:13,
                 from ./include/linux/sched.h:21,
                 from ./arch/arm/include/asm/tlbflush.h:208,
                 from ./arch/arm/include/asm/pgtable.h:29,
                 from ./include/linux/memremap.h:8,
                 from ./include/linux/mm.h:27,
                 from ./include/linux/scatterlist.h:8,
                 from ./include/linux/dmapool.h:14,
                 from /home/frank/Documents/xilinx_projects/openwifi/driver/sdr.c:4:
./arch/arm/include/uapi/asm/unistd.h:21:10: fatal error: asm/unistd-eabi.h: No such file or directory
 #include <asm/unistd-eabi.h>
          ^~~~~~~~~~~~~~~~~~~
compilation terminated.
[...]

Build Vivado Project

Hello,
after some time I decided to rebuild openwifi for new boards (zynq7020 mostly) but discover I'm not able now.

What should be the process to rebuild the Vivado project?.

I tried to compile it running the openwifi.tcl inside board projects but have some errors in project generation not able to run some commands(set properties and reading the bd for now).

I have to do anything else?.

I see the Vivado version is the 2018.3 but I have the 2018.2 so expect minor changes, maybe not.

Thanks.

Cost-related questions

Hi. I am a begining self learner in telecom. I have read relative articles and found this project interesting. However, I'm concerned about a few points.

  1. 802.11n and the future ax with 40 Mhz is difficult or impossible to achieve on ad9361/3/4 as they only allow 61.44 MSPS of sampling rate, is this correct?
  2. Will 802.11ax be fully implemented on XC7Z020? I wonder because of the FPGA size.
  3. Will 802.11ax be supported on ad9361/3/4? If I understand the specs correctly the maximun data rate is 122.88 MHz per channel which may not be enough with 1024 QAM.
    All questions are related to the estimate cost of an 802.11ax openwifi dev board.

failed to Build openwifi Linux img from scratch

After compiling adi-linux and openwifi with zc706 project, I follow the step in Build openwifi Linux img from scratch. However, I can't run Linux successfully when burning it in SD card

Openwifi-Client cannot see some commercial APs

Hello Xianjun,

Thank you very much for your great project. It is really useful for me.
I've read, researched and run your project. And I met some problems. So I've got the following questions. Please instruct me to solve it, and understand your project more clearly.

  1. When I run Openwifi as Client STA in Zedboard, Openwifi-Client only finds APs operating at channel 1 (2.412 GHz) and channel 11 (2.462 GHz). Openwifi-Client cannot see the other commercial APs. I'm sure that the other APs are operating because I can scan and see it in a Linux PC by the command: "iwlist scan".

I set Openwifi-Client in Zedboard as follows:

cd ~/openwifi/
./wgd.sh
iwlist sdr0 scan

And the output of "iwlist sdr0 scan" is :
Cell 01 - Address: xx:xx:xx:xx:xx:xx
Channel:11
Frequency:2.462 GHz (Channel 11)
...................................
Cell 02 - Address: xx:xx:xx:xx:xx:xx
Channel:1
Frequency:2.412 GHz (Channel 1)

Meanwhile, in the Linux PC, the output of "iwlist wlp2s0 scan" is:
Cell 01 - Address:xx:xx:xx:xx:xx:xx
Channel:6
Frequency:2.437 GHz (Channel 6)
...................................

Cell 02 - Address: xx:xx:xx:xx:xx:xx
Channel:1
Frequency:2.412 GHz (Channel 1)
.............................
Cell 03 - Address: xx:xx:xx:xx:xx:xx
Channel:4
Frequency:2.427 GHz (Channel 4)
.............................
Cell 04 - Address: xx:xx:xx:xx:xx:xx
Channel:4
Frequency:2.427 GHz (Channel 4)
.............................
Cell 05 - Address: xx:xx:xx:xx:xx:xx
Channel:6
Frequency:2.437 GHz (Channel 6)
.............................
Cell 06 - Address: xx:xx:xx:xx:xx:xx
Channel:6
Frequency:2.437 GHz (Channel 6)
.............................
Cell 11 - Address: xx:xx:xx:xx:xx:xx
Channel:11
Frequency:2.462 GHz (Channel 11)
...................................

(*) Why do not Openwifi-Client see Channel 4, Channel 6, Channel 9,..., same as Linux PC?
Please help me to explain about it and resolve it !!

  1. In the Verilog source code files: "short_preamble_rom.v", "long_preamble_rom.v", and "dot11_tx.v" (belong to ofdm_tx module), I see that you describe the value of complex numbers.
    Examples:
    32'h40000000 = 1 + 0j
    32'hC0000000 = -1 + 0j
    32'h05E305E3 = 0.046 + 0.046j
    32'h0BC70000 = 0.092 + 0j

I can only understand : MSB bit is sign bit, the upper 16 bits are real part, and the lower 16 bits are image part.
Is that right ??
How do you convert float numbers into hexadecimal number ? What is standard used here ?

Kernel Version may mismatch

When running the file post_config.sh in my board, the shell yields

++ uname -r
+ '[' -d /lib/modules/4.9.0-g0fa1a63 ']'
++ uname -r
+ echo '/lib/modules/4.9.0-g0fa1a63 already exists.'
/lib/modules/4.9.0-g0fa1a63 already exists.
+ depmod
depmod: WARNING: could not open /lib/modules/4.9.0-g0fa1a63/modules.order: No such file or directory
depmod: WARNING: could not open /lib/modules/4.9.0-g0fa1a63/modules.builtin: No such file or directory
+ modprobe mac80211
modprobe: ERROR: could not insert 'mac80211': Exec format error

So I check the kernel verison by typing uname -r:

4.9.0-g0fa1a63

Then I switch to the /lib/modules/4.9.0-g0fa1a63, and check the modinfo mac80211 :

filename:       /lib/modules/4.9.0-g0fa1a63/8021q.ko
version:        1.8
license:        GPL
alias:          rtnl-link-vlan
srcversion:     8F7369A60FF4BAC87D0D0DF
depends:        
intree:         Y
name:           8021q
vermagic:       4.14.0-g4220d5d24c6c-dirty SMP preempt mod_unload modversions ARMv7 p2v8 
root@analog:/lib/modules/4.9.0-g0fa1a63# modinfo cfg80211.ko
filename:       /lib/modules/4.9.0-g0fa1a63/cfg80211.ko
alias:          net-pf-16-proto-16-family-nl80211
description:    wireless configuration support
license:        GPL
author:         Johannes Berg
depends:        
intree:         Y
name:           cfg80211
vermagic:       4.14.0-g4220d5d24c6c-dirty SMP preempt mod_unload modversions ARMv7 p2v8 
parm:           bss_entries_limit:limit to number of scan BSS entries (per wiphy, default 1000) (int)
parm:           ieee80211_regdom:IEEE 802.11 regulatory domain code (charp)
parm:           cfg80211_disable_40mhz_24ghz:Disable 40MHz support in the 2.4GHz band (bool)

The vermagic above indicates that the module mac80211.ko is complied with the 4.14.0-g4220d5d24c6c-dirty version of kernel, which is mismatch with the current version 4.9.0-g0fa1a63.

I believe that I stick to the README, and I have tried two ways to burn my SD-Card, using the pre-build image and self-compiled image, and both failed. So I doubt there is something wrong with the kernel version.

Kernel panic when connecting to AP

Hi,
I am getting a kernel panic when I am trying to associate to the AP after launching fosdem.sh.
It happens with both the default BOOT/devicetree and the ones compiled from scratch:

root@analog:~/openwifi# sdr0: STA 1c:36:bb:8e:9b:06 IEEE 802.11: did not acknowledge authentication response
sdr0: STA 1c:36:bb:8e:9b:06 IEEE 802.11: associated (aid 1)
sdr0: AP-STA-CONNECTED 1c:36:bb:8e:9b:06
sdr0: STA 1c:36:bb:8e:9b:06 RADIUS: starting accounting session 5EBC28FE-00000000
Unable to handle kernel NULL pointer dereference at virtual address 00000004
pgd = c0004000
[00000004] *pgd=00000000
Internal error: Oops: 817 [#1] PREEMPT SMP ARM
Modules linked in: 8021q arc4 sdr(O) xpu(O) openofdm_rx(O) openofdm_tx(O) rx_intf(O) ad9361_drv(O) tx_intf(O) xilinx_dma mac80211 cfg80211 mwipcore mwipcore_iio_streaming mwipcore_dma_streaming mathworks_ip_common
CPU: 0 PID: 0 Comm: swapper/0 Tainted: G        W  O    4.14.0-g4fea7c58ad92-dirty #1
Hardware name: Xilinx Zynq Platform
task: c0c0da80 task.stack: c0c00000
PC is at skb_dequeue+0x54/0x6c
LR is at skb_dequeue+0x14/0x6c
pc : [<c05e337c>]    lr : [<c05e333c>]    psr: 200b0193
sp : c0c01e60  ip : 00000000  fp : 40000006
r10: c0c02080  r9 : ee07a898  r8 : bf0cd990
r7 : bf0cd938  r6 : ee07a894  r5 : ee07a888  r4 : eeabfc00
r3 : 00000000  r2 : 00000000  r1 : 600b0113  r0 : 600b0113
Flags: nzCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment none
Control: 18c5387d  Table: 2ebe804a  DAC: 00000051
Process swapper/0 (pid: 0, stack limit = 0xc0c00210)
Stack: (0xc0c01e60 to 0xc0c02000)
1e60: eeabfc00 ee07a888 ee07a460 bf074610 ee07a874 ee07a878 00000000 c0c5b200
1e80: c0b41294 ffffe000 c0c02080 c0120fb4 00000000 00000006 ffffe000 c0c02098
1ea0: c0c02080 00000101 c0c02080 c0101548 c0c0534c 00000000 ef003600 c0b412f8
1ec0: c0c5b200 0000000a ffff9a7f c0c02d00 c0801860 00200102 ef162364 c0b48280
1ee0: 00000035 00000000 00000000 ef003600 f8f01100 00000000 00000000 c01213cc
1f00: c0b48280 c015bc08 c0c05344 c0c1a114 f8f0010c f8f00100 c0c01f40 c0101424
1f20: c0108484 600b0013 ffffffff c0c01f74 c0c54c60 c0c00000 00000000 c010c20c
1f40: 00000001 00000000 00000001 c01179e0 ffffe000 c0c050f4 c0c050a8 c0b47a48
1f60: c0c54c60 00000000 00000000 00000000 2ec85000 c0c01f90 c0108480 c0108484
1f80: 600b0013 ffffffff 00000051 00000000 ffffe000 c0150e14 000000be c0c5a8c0
1fa0: c0c05080 ffffffff c0c5a8c0 efffcd40 c0b35a30 c0151148 c0c5a90c c0b00c6c
1fc0: ffffffff ffffffff 00000000 c0b00680 00000000 c0b35a30 c0c5ab54 c0c05098
1fe0: c0b35a2c c0c0ed04 0000406a 413fc090 00000000 0000807c 00000000 00000000
[<c05e337c>] (skb_dequeue) from [<bf074610>] (ieee80211_tasklet_handler+0x30/0xd4 [mac80211])
[<bf074610>] (ieee80211_tasklet_handler [mac80211]) from [<c0120fb4>] (tasklet_action+0x7c/0x118)
[<c0120fb4>] (tasklet_action) from [<c0101548>] (__do_softirq+0xe0/0x248)
[<c0101548>] (__do_softirq) from [<c01213cc>] (irq_exit+0xd0/0xd4)
[<c01213cc>] (irq_exit) from [<c015bc08>] (__handle_domain_irq+0x60/0xb4)
[<c015bc08>] (__handle_domain_irq) from [<c0101424>] (gic_handle_irq+0x4c/0x90)
[<c0101424>] (gic_handle_irq) from [<c010c20c>] (__irq_svc+0x6c/0xa8)
Exception stack(0xc0c01f40 to 0xc0c01f88)
1f40: 00000001 00000000 00000001 c01179e0 ffffe000 c0c050f4 c0c050a8 c0b47a48
1f60: c0c54c60 00000000 00000000 00000000 2ec85000 c0c01f90 c0108480 c0108484
1f80: 600b0013 ffffffff
[<c010c20c>] (__irq_svc) from [<c0108484>] (arch_cpu_idle+0x38/0x3c)
[<c0108484>] (arch_cpu_idle) from [<c0150e14>] (do_idle+0x16c/0x1f8)
[<c0150e14>] (do_idle) from [<c0151148>] (cpu_startup_entry+0x18/0x1c)
[<c0151148>] (cpu_startup_entry) from [<c0b00c6c>] (start_kernel+0x394/0x3a0)
Code: e5853008 e1c420d0 e584c000 e584c004 (e5823004) 
---[ end trace fc63c07a424ba159 ]---
Kernel panic - not syncing: Fatal exception in interrupt
CPU1: stopping
CPU: 1 PID: 0 Comm: swapper/1 Tainted: G      D W  O    4.14.0-g4fea7c58ad92-dirty #1
Hardware name: Xilinx Zynq Platform
[<c010edbc>] (unwind_backtrace) from [<c010b6f4>] (show_stack+0x10/0x14)
[<c010b6f4>] (show_stack) from [<c06edd44>] (dump_stack+0x8c/0xa0)
[<c06edd44>] (dump_stack) from [<c010d4dc>] (ipi_cpu_stop+0x64/0x74)
[<c010d4dc>] (ipi_cpu_stop) from [<c010dc1c>] (handle_IPI+0x6c/0x7c)
[<c010dc1c>] (handle_IPI) from [<c0101464>] (gic_handle_irq+0x8c/0x90)
[<c0101464>] (gic_handle_irq) from [<c010c20c>] (__irq_svc+0x6c/0xa8)
Exception stack(0xef05ff78 to 0xef05ffc0)
ff60:                                                       00000001 00000000
ff80: 00000001 c01179e0 ffffe000 c0c050f4 c0c050a8 c0b47a48 c0c54c60 00000000
ffa0: 00000000 00000000 2ec95000 ef05ffc8 c0108480 c0108484 60000013 ffffffff
[<c010c20c>] (__irq_svc) from [<c0108484>] (arch_cpu_idle+0x38/0x3c)
[<c0108484>] (arch_cpu_idle) from [<c0150e14>] (do_idle+0x16c/0x1f8)
[<c0150e14>] (do_idle) from [<c0151148>] (cpu_startup_entry+0x18/0x1c)
[<c0151148>] (cpu_startup_entry) from [<0010174c>] (0x10174c)
---[ end Kernel panic - not syncing: Fatal exception in interrupt
sdr,sdr openwifi_rx_interrupt:  84bytes ht0 54M FC0108 DI002c addr1/2/3:665544332236/1c36bb8e9b06/333300000002 SCa9d0 fcs1 sn29 i29 -56dBm

pre-built image openwifi-1.0.0-ghent.img on zc706 with AD-FMCOMMS3-EBZ

Problem to start pre-built image from https://users.ugent.be/~xjiao/openwifi-1.0.0-ghent.zip
SDCARD is created using
sudo dd bs=4M if=openwifi-1.0.0-ghent.img of=/dev/sdc

console out is:

root@analog:#
root@analog:
#
root@analog:#
root@analog:
# cd openwifi/
root@analog:/openwifi# service network-manager stop
network-manager stop/waiting
root@analog:
/openwifi# ./wgd.sh
num_arg 0
last_input xxxxxxxxx
test_mode 0
rmmod: ERROR: Module sdr is not currently loaded
rmmod: ERROR: Module xilinx_dma is not currently loaded
check xilinx_dma module is loaded or not
xilinx_dma is loaded!
rmmod: ERROR: Module tx_intf is not currently loaded
check tx_intf module is loaded or not
tx_intf is loaded!
rmmod: ERROR: Module ad9361_drv is not currently loaded
ad9361 spi0.0: Calibration TIMEOUT (0x5E, 0x80)
check ad9361_drv module is loaded or not
ad9361_drv is loaded!
ad9361 spi0.0: Calibration TIMEOUT (0x5E, 0x80)
set RF frontend: ant0 rx, ant1 tx
rx bw
18000000
ad9361 spi0.0: Calibration TIMEOUT (0x5E, 0x80)
ad9361 spi0.0: Calibration TIMEOUT (0x5E, 0x80)
ad9361 spi0.0: ad9361_dig_tune_delay: Tuning RX FAILED!
ad9361 spi0.0: Calibration TIMEOUT (0x16, 0x10)
ad9361 spi0.0: Calibration TIMEOUT (0x16, 0x10)
ad9361 spi0.0: Calibration TIMEOUT (0x16, 0x10)
sh: echo: I/O error
17500000
tx_bw
18000000
37500000
rx rate
61440000
ad9361 spi0.0: Calibration TIMEOUT (0x5E, 0x80)
40000000
tx rate
40000000
40000000
rx lo
2400000000
5240000000
tx lo
2450000000
5249999998
rx0 agc fast_attack
slow_attack
fast_attack
rx1 agc fast_attack
slow_attack
fast_attack
rx0 gain to 70
59.000000 dB
sh: echo: I/O error
59.000000 dB
rx1 gain to 70
45.000000 dB
sh: echo: I/O error
45.000000 dB
tx0 gain -89dB
-10.000000 dB
-89.000000 dB
tx1 gain 0dB
-10.000000 dB
0.000000 dB
rssi
111.75 dB
100.75 dB
rmmod: ERROR: Module rx_intf is not currently loaded
check rx_intf module is loaded or not
rx_intf is loaded!
rmmod: ERROR: Module openofdm_tx is not currently loaded
check openofdm_tx module is loaded or not
openofdm_tx is loaded!
rmmod: ERROR: Module openofdm_rx is not currently loaded
check openofdm_rx module is loaded or not
openofdm_rx is loaded!
rmmod: ERROR: Module xpu is not currently loaded
check xpu module is loaded or not
xpu is loaded!
rmmod: ERROR: Module sdr is not currently loaded
insert sdr.ko test_mode=0
Unable to handle kernel NULL pointer dereference at virtual address 00000018
pgd = ee0ec000
[00000018] pgd=00000000
Internal error: Oops: 5 [#1] PREEMPT SMP ARM
Modules linked in: sdr(O+) xpu(O) openofdm_rx(O) openofdm_tx(O) rx_intf(O) ad9361_drv(O) tx_intf(O) xilinx_dma mac80211 cfg80211 mwipcore mwipcore_iio_streaming mwipcore_dma_streaming mathworks_ip_common
CPU: 1 PID: 2303 Comm: insmod Tainted: G O 4.14.0-g4220d5d #2
Hardware name: Xilinx Zynq Platform
task: ef18ad40 task.stack: ef1f2000
PC is at ad9361_spi_to_phy+0x4/0xc [ad9361_drv]
LR is at openwifi_dev_probe+0xb8/0x718 [sdr]
pc : [] lr : [] psr: a0070013
sp : ef1f3d20 ip : 00000007 fp : 00000124
r10: 00000011 r9 : 00000000 r8 : eea9a460
r7 : eea9ae40 r6 : ef174e00 r5 : bf16d000 r4 : bf16a198
r3 : 00000000 r2 : 00000000 r1 : 00000000 r0 : ee8e4c00
Flags: NzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none
Control: 18c5387d Table: 2e0ec04a DAC: 00000051
Process insmod (pid: 2303, stack limit = 0xef1f2210)
Stack: (0xef1f3d20 to 0xef1f4000)
3d20: 00000000 00000011 ef175aa8 ef024c60 00000000 ef175aa8 c0a06ee0 00000001
3d40: ef024bb0 ef174e10 ffffffed bf16d01c fffffdfb 00000000 00000000 00000011
3d60: 00000124 c03b2880 ef174e10 c0c75c98 c0c75c9c bf16d01c 00000000 c03b0fc4
3d80: ef174e10 bf16d01c ef174e44 00000000 ef131ac0 ef131ae4 f29b1000 c03b1130
3da0: 00000000 bf16d01c c03b1078 c03af52c ef075f58 ef1685b4 bf16d01c eea77d00
3dc0: c0c1f458 c03b0484 bf16c7c8 bf170000 00000000 bf16d01c bf170000 00000000
3de0: ef0aea00 c03b19f4 ffffe000 bf170000 00000000 c0101a20 00187961 c0c6b104
3e00: c0c4fd80 c0c503c0 c0c4fc2c 00000007 c0b4a140 00000007 00000001 c0c50100
3e20: 2ec96000 00000000 80070013 c01aec2c 00000001 a0070013 ef0aea00 f29b1000
3e40: bf16d0c0 00000001 bf16d0c0 ef131ac0 ef131ae4 c0188708 00000001 ef131ac0
3e60: ef131ae4 ef1f3f50 00000001 bf16d0c0 00000001 c01875a8 bf16d0cc 00007fff
3e80: bf16d0c0 c01846a8 00000000 bf16d108 bf16d0c0 ee561c8c ef1f3f50 bf16d1f0
3ea0: c0805304 c0a0b718 c09971a8 c0997150 bf16d27c 00000000 ffffe000 bf000000
3ec0: 0006efdc 00000000 ef1f3f48 00000000 00000000 00000000 00000000 00000000
3ee0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
3f00: 00000000 00000000 7fffffff 00000000 00000003 0045d008 0000017b c0107b04
3f20: ef1f2000 00000000 bed90848 c0187dcc 7fffffff 00000000 00000003 00000000
3f40: 00000000 f29b1000 0006efdc 00000000 f29b5b66 f29b1000 0006efdc f2a1f794
3f60: f2a1f58c f2a051a4 00008000 00008330 00000000 00000000 00000000 00003600
3f80: 00000033 00000034 0000001e 00000018 00000014 00000000 b6e961e8 0000000b
3fa0: 0c05e300 c0107940 b6e961e8 0000000b 00000003 0045d008 00000000 bed90848
3fc0: b6e961e8 0000000b 0c05e300 0000017b 0045dda8 00000000 0045d008 bed90848
3fe0: bed90670 bed90660 00448177 b6f1f2b2 80070030 00000003 00000000 00000000
[] (ad9361_spi_to_phy [ad9361_drv]) from [] (openwifi_dev_probe+0xb8/0x718 [sdr])
[] (openwifi_dev_probe [sdr]) from [] (platform_drv_probe+0x50/0xb0)
[] (platform_drv_probe) from [] (driver_probe_device+0x234/0x2e8)
[] (driver_probe_device) from [] (__driver_attach+0xb8/0xbc)
[] (__driver_attach) from [] (bus_for_each_dev+0x68/0x9c)
[] (bus_for_each_dev) from [] (bus_add_driver+0x100/0x20c)
[] (bus_add_driver) from [] (driver_register+0x78/0xf4)
[] (driver_register) from [] (do_one_initcall+0x44/0x168)
[] (do_one_initcall) from [] (do_init_module+0x60/0x1f0)
[] (do_init_module) from [] (load_module+0x1de8/0x23fc)
[] (load_module) from [] (SyS_finit_module+0xa8/0xb8)
[] (SyS_finit_module) from [] (ret_fast_syscall+0x0/0x48)
Code: e58d3040 e300123a eafffed9 e5903054 (e5930018)
---[ end trace dad18458bfe54443 ]---
./wgd.sh: line 202: 2303 Segmentation fault insmod $PROG.ko test_mode=$test_mode
check sdr module is loaded or not
sdr is loaded!
the end
Booting Linux on physical CPU 0x0
Linux version 4.14.0-g4220d5d (jxj@jxj-pc) (gcc version 6.2.1 20161114 (Linaro GCC Snapshot 6.2-2016.11)) #2 SMP PREEMPT Mon Dec 2 09:43:29 CET 2019
CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
OF: fdt: Machine model: Xilinx Zynq ZC706
bootconsole [earlycon0] enabled
Memory policy: Data cache writealloc
cma: Reserved 128 MiB at 0x38000000
On node 0 totalpages: 262144
free_area_init_node: node 0, pgdat c0c4fd80, node_mem_map ef7f7000
Normal zone: 1536 pages used for memmap
Normal zone: 0 pages reserved
Normal zone: 196608 pages, LIFO batch:31
HighMem zone: 65536 pages, LIFO batch:15
random: fast init done
percpu: Embedded 16 pages/cpu @ef7c6000 s33036 r8192 d24308 u65536
pcpu-alloc: s33036 r8192 d24308 u65536 alloc=16
4096
pcpu-alloc: [0] 0 [0] 1
Built 1 zonelists, mobility grouping on. Total pages: 260608
Kernel command line: console=ttyPS0,115200 root=/dev/mmcblk0p2 rw earlyprintk rootfstype=ext4 rootwait
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 895992K/1048576K available (7168K kernel code, 323K rwdata, 2364K rodata, 1024K init, 166K bss, 21512K reserved, 131072K cma-reserved, 131072K highmem)
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
vmalloc : 0xf0800000 - 0xff800000 ( 240 MB)
lowmem : 0xc0000000 - 0xf0000000 ( 768 MB)
pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
.text : 0xc0008000 - 0xc0800000 (8160 kB)
.init : 0xc0b00000 - 0xc0c00000 (1024 kB)
.data : 0xc0c00000 - 0xc0c50c20 ( 324 kB)
.bss : 0xc0c56668 - 0xc0c7ff3c ( 167 kB)
Preemptible hierarchical RCU implementation.
RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
Tasks RCU enabled.
RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
efuse mapped to f0802000
slcr mapped to f0804000
L2C: platform modifies aux control register: 0x72360000 -> 0x72760000
L2C: DT/platform modifies aux control register: 0x72360000 -> 0x72760000
L2C-310 erratum 769419 enabled
L2C-310 enabling early BRESP for Cortex-A9
L2C-310 full line of zeros enabled for Cortex-A9
L2C-310 ID prefetch enabled, offset 1 lines
L2C-310 dynamic clock gating enabled, standby mode enabled
L2C-310 cache controller enabled, 8 ways, 512 kB
L2C-310: CACHE_ID 0x410000c8, AUX_CTRL 0x76760001
zynq_clock_init: clkc starts at f0804100
Zynq clock init
sched_clock: 64 bits at 399MHz, resolution 2ns, wraps every 4398046511103ns
clocksource: arm_global_timer: mask: 0xffffffffffffffff max_cycles: 0x5c4093a7d1, max_idle_ns: 440795210635 ns
Switching to timer-based delay loop, resolution 2ns
clocksource: ttc_clocksource: mask: 0xffff max_cycles: 0xffff, max_idle_ns: 447945978 ns
timer #0 at f080c000, irq=17
Console: colour dummy device 80x30
Calibrating delay loop (skipped), value calculated using timer frequency.. 799.99 BogoMIPS (lpj=3999999)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
CPU: Testing write buffer coherency: ok
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
Setting up static identity map for 0x100000 - 0x100060
Hierarchical SRCU implementation.
smp: Bringing up secondary CPUs ...
CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
smp: Brought up 1 node, 2 CPUs
SMP: Total of 2 processors activated (1599.99 BogoMIPS).
CPU: All CPU(s) started in SVC mode.
devtmpfs: initialized
VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
futex hash table entries: 512 (order: 3, 32768 bytes)
pinctrl core: initialized pinctrl subsystem
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
cpuidle: using governor ladder
hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
hw-breakpoint: maximum watchpoint size is 4 bytes.
zynq-ocm f800c000.ocmc: ZYNQ OCM pool: 256 KiB @ 0xf0880000
zynq-pinctrl 700.pinctrl: zynq pinctrl initialized
e0001000.serial: ttyPS0 at MMIO 0xe0001000 (irq = 25, base_baud = 3125000) is a xuartps
console [ttyPS0] enabled
bootconsole [earlycon0] disabled
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
media: Linux media interface: v0.10
Linux video capture interface: v2.00
pps_core: LinuxPPS API ver. 1 registered
pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti [email protected]
PTP clock support registered
FPGA manager framework
Advanced Linux Sound Architecture Driver Initialized.
clocksource: Switched to clocksource arm_global_timer
NET: Registered protocol family 2
TCP established hash table entries: 8192 (order: 3, 32768 bytes)
TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
UDP hash table entries: 512 (order: 2, 16384 bytes)
UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
NET: Registered protocol family 1
hw perfevents: no interrupt-affinity property for /pmu@f8891000, guessing.
hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available
workingset: timestamp_bits=30 max_order=18 bucket_order=0
bounce: pool size: 64 pages
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
io scheduler mq-deadline registered
io scheduler kyber registered
dma-pl330 f8003000.dmac: Loaded driver for PL330 DMAC-241330
dma-pl330 f8003000.dmac: DBUFF-128x8bytes Num_Chans-8 Num_Peri-4 Num_Events-16
brd: module loaded
loop: module loaded
m25p80 spi2.0: found s25fl128s, expected n25q128a11
m25p80 spi2.0: s25fl128s (32768 Kbytes)
5 ofpart partitions found on MTD device spi2.0
Creating 5 MTD partitions on "spi2.0":
0x000000000000-0x000000500000 : "boot"
0x000000500000-0x000000520000 : "bootenv"
0x000000520000-0x000000540000 : "config"
0x000000540000-0x000000fc0000 : "image"
0x000000fc0000-0x000002000000 : "spare"
MACsec IEEE 802.1AE
libphy: Fixed MDIO Bus: probed
tun: Universal TUN/TAP device driver, 1.6
libphy: MACB_mii_bus: probed
macb e000b000.ethernet eth0: Cadence GEM rev 0x00020118 at 0xe000b000 irq 29 (00:0a:35:00:01:22)
Marvell 88E1116R e000b000.ethernet-ffffffff:07: attached PHY driver [Marvell 88E1116R] (mii_bus:phy_addr=e000b000.ethernet-ffffffff:07, irq=POLL)
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
usbcore: registered new interface driver usb-storage
usbcore: registered new interface driver usbserial
usbcore: registered new interface driver usbserial_generic
usbserial: USB Serial support registered for generic
usbcore: registered new interface driver ftdi_sio
usbserial: USB Serial support registered for FTDI USB Serial Device
chipidea-usb2 e0002000.usb: e0002000.usb supply vbus not found, using dummy regulator
ULPI transceiver vendor/product ID 0x0424/0x0007
Found SMSC USB3320 ULPI transceiver.
ULPI integrity check: passed.
ci_hdrc ci_hdrc.0: EHCI Host Controller
ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 1
ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
i2c /dev entries driver
si570 1-005d: registered, current frequency 156250000 Hz
i2c i2c-0: Added multiplexed i2c bus 1
adv7511 2-0039: 2-0039 supply avdd not found, using dummy regulator
adv7511 2-0039: 2-0039 supply dvdd not found, using dummy regulator
adv7511 2-0039: 2-0039 supply pvdd not found, using dummy regulator
adv7511 2-0039: 2-0039 supply bgvdd not found, using dummy regulator
adv7511 2-0039: 2-0039 supply dvdd-3v not found, using dummy regulator
i2c i2c-0: Added multiplexed i2c bus 2
at24 3-0054: 1024 byte 24c08 EEPROM, writable, 1 bytes/write
i2c i2c-0: Added multiplexed i2c bus 3
pca953x 4-0021: 4-0021 supply vcc not found, using dummy regulator
pca953x 4-0021: interrupt support not compiled in
i2c i2c-0: Added multiplexed i2c bus 4
rtc rtc0: invalid alarm value: 2020-1-22 13:77:0
rtc-pcf8563 5-0051: rtc core: registered rtc-pcf8563 as rtc0
i2c i2c-0: Added multiplexed i2c bus 5
i2c i2c-0: Added multiplexed i2c bus 6
at24 7-0050: 256 byte 24c02 EEPROM, writable, 1 bytes/write
i2c i2c-0: Added multiplexed i2c bus 7
i2c i2c-0: Added multiplexed i2c bus 8
pca954x 0-0074: registered 8 multiplexed busses for I2C switch pca9548
IR NEC protocol handler initialized
IR RC5(x/sz) protocol handler initialized
IR RC6 protocol handler initialized
IR JVC protocol handler initialized
IR Sony protocol handler initialized
IR SANYO protocol handler initialized
IR Sharp protocol handler initialized
IR MCE Keyboard/mouse protocol handler initialized
IR XMP protocol handler initialized
usbcore: registered new interface driver uvcvideo
USB Video Class driver (1.1.1)
gspca_main: v2.14.0 registered
cdns-wdt f8005000.watchdog: Xilinx Watchdog Timer at f0976000 with timeout 10s
Xilinx Zynq CpuIdle Driver started
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
sdhci-pltfm: SDHCI platform and OF driver helper
mmc0: SDHCI controller on e0100000.sdhci [e0100000.sdhci] using ADMA
ledtrig-cpu: registered to indicate activity on CPUs
hidraw: raw HID events driver (C) Jiri Kosina
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
adf4350 spi1.0: spi1.0 supply vcc not found, using dummy regulator
adf4350 spi1.0: Probe failed (muxout)
adf4350 spi1.1: spi1.1 supply vcc not found, using dummy regulator
adf4350 spi1.1: Probe failed (muxout)
fpga_manager fpga0: Xilinx Zynq FPGA Manager registered
Netfilter messages via NETLINK v0.30.
nfnl_acct: registering with nfnetlink.
nf_conntrack version 0.5.0 (16384 buckets, 65536 max)
mmc0: new high speed SDHC card at address 1234
ctnetlink v0.93: registering with nfnetlink.
mmcblk0: mmc0:1234 SA16G 14.6 GiB
nf_tables: (c) 2007-2009 Patrick McHardy [email protected]
nf_tables_compat: (c) 2012 Pablo Neira Ayuso [email protected]
xt_time: kernel timezone is -0000
ip_tables: (C) 2000-2006 Netfilter Core Team
ipt_CLUSTERIP: ClusterIP Version 0.8 loaded successfully
arp_tables: arp_tables: (C) 2002 David S. Miller
NET: Registered protocol family 17
Registering SWP/SWPB emulation handler
asoc-simple-card adv7511_hdmi_snd: spdif-hifi <-> 75c00000.axi-spdif-tx mapping ok
input: gpio_keys as /devices/soc0/gpio_keys/input/input0
rtc-pcf8563 5-0051: setting system clock to 2020-01-08 23:07:12 UTC (1578524832)
ALSA device list:
#0: HDMI monitor
usb 1-1: new high-speed USB device number 2 using ci_hdrc
mmcblk0: p1 p2 p3
hub 1-1:1.0: USB hub found
hub 1-1:1.0: 4 ports detected
EXT4-fs (mmcblk0p2): recovery complete
EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
VFS: Mounted root (ext4 filesystem) on device 179:2.
devtmpfs: mounted
Freeing unused kernel memory: 1024K
systemd-udevd[1079]: starting version 204
systemd-udevd[1117]: could not open builtin file '/lib/modules/4.14.0-g4220d5d/modules.builtin.bin'
systemd-udevd[1117]: could not open builtin file '/lib/modules/4.14.0-g4220d5d/modules.builtin.bin'
Registered mathworks_ip class
systemd-udevd[1117]: could not open builtin file '/lib/modules/4.14.0-g4220d5d/modules.builtin.bin'
mwipcore 43c00000.mwipcore: Dev memory resource found at 43c00000 0000FFFF.
mwipcore 43c00000.mwipcore: 'mwipcore' device not found, creating
mwipcore 43c00000.mwipcore: Char dev region registered: major num:242
mwipcore 43c00000.mwipcore: 'mwipcore' device created
init: udev-fallback-graphics main process (1544) terminated with status 1
init: samba-ad-dc main process (1765) terminated with status 1
init: isc-dhcp-server main process (1867) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (1945) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (1971) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (1993) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (2028) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: lightdm main process (1809) terminated with status 1
init: tty1 main process (2043) killed by TERM signal
init: isc-dhcp-server main process (2070) terminated with status 1
init: isc-dhcp-server main process ended, respawning
random: crng init done
init: isc-dhcp-server main process (2109) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (2127) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (2137) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (2147) terminated with status 1
init: isc-dhcp-server main process ended, respawning
init: isc-dhcp-server main process (2157) terminated with status 1
init: isc-dhcp-server respawning too fast, stopped
macb e000b000.ethernet eth0: link up (100/Full)
xilinx-vdma 43000000.axivdma: Xilinx AXI VDMA Engine Driver Probed!!
xilinx-vdma 80400000.dma: Xilinx AXI DMA Engine Driver Probed!!
xilinx-vdma 80410000.dma: Xilinx AXI DMA Engine Driver Probed!!
tx_intf: loading out-of-tree module taints kernel.

sdr,tx_intf dev_probe match!
sdr,tx_intf dev_probe io start 0x83c00000 end 0x83c0ffff name /fpga-axi@0/tx_intf@83c00000 flags 0x00000200 desc 0x00000000
sdr,tx_intf dev_probe base_addr 0xf27d0000
sdr,tx_intf dev_probe tx_intf_driver_api_inst 0xbf116284
sdr,tx_intf dev_probe tx_intf_api 0xbf116284
sdr,tx_intf dev_probe succeed!
sdr,tx_intf hw_init mode 6
sdr,tx_intf hw_init mode TX_INTF_BW_20MHZ_AT_N_10MHZ_ANT1
sdr,tx_intf hw_init err 0
ad9361 spi0.0: ad9361_probe : enter (ad9361)
ad9361 spi0.0: Calibration TIMEOUT (0x5E, 0x80)
ad9361 spi0.0: ad9361_probe : AD936x Rev 2 successfully initialized
ad9361 spi0.0: Calibration TIMEOUT (0x5E, 0x80)
ad9361 spi0.0: Calibration TIMEOUT (0x5E, 0x80)
ad9361 spi0.0: Calibration TIMEOUT (0x5E, 0x80)
SAMPL CLK: 61440000 tuning: RX
0:1:2:3:4:5:6:7:8:9:a:b:c:d:e:f:
0:# # # # # # # # # # # # # # # #
1:# # # # # # # # # # # # # # # #
ad9361 spi0.0: ad9361_dig_tune_delay: Tuning RX FAILED!
cf_axi_adc: probe of 79020000.cf-ad9361-lpc failed with error -5
cf_axi_dds 79024000.cf-ad9361-dds-core-lpc: Analog Devices CF_AXI_DDS_DDS MASTER (9.00.b) at 0x79024000 mapped to 0xf2781000, probed DDS AD9361
ad9361 spi0.0: Calibration TIMEOUT (0x16, 0x10)
ad9361 spi0.0: Calibration TIMEOUT (0x16, 0x10)
ad9361 spi0.0: Calibration TIMEOUT (0x16, 0x10)
ad9361 spi0.0: Calibration TIMEOUT (0x5E, 0x80)

sdr,rx_intf dev_probe match!
sdr,rx_intf dev_probe io start 0x83c20000 end 0x83c2ffff name /fpga-axi@0/rx_intf@83c20000 flags 0x00000200 desc 0x00000000
sdr,rx_intf dev_probe base_addr 0xf28c0000
sdr,rx_intf dev_probe rx_intf_driver_api_inst 0xbf145284
sdr,rx_intf dev_probe rx_intf_api 0xbf145284
sdr,rx_intf dev_probe succeed!
sdr,rx_intf hw_init mode 2
sdr,rx_intf hw_init mode DDC_BW_20MHZ_AT_0MHZ
sdr,rx_intf hw_init err 0

sdr,openofdm_tx dev_probe match!
sdr,openofdm_tx dev_probe io start 0x83c10000 end 0x83c1ffff name /fpga-axi@0/openofdm_tx@83c10000 flags 0x00000200 desc 0x00000000
sdr,openofdm_tx dev_probe base_addr 0xf2900000
sdr,openofdm_tx dev_probe openofdm_tx_driver_api_inst 0xbf14e284
sdr,openofdm_tx dev_probe openofdm_tx_api 0xbf14e284
sdr,openofdm_tx dev_probe succeed!
sdr,openofdm_tx hw_init mode 1
sdr,openofdm_tx hw_init mode OPENOFDM_TX_NORMAL
sdr,openofdm_tx hw_init err 0

sdr,openofdm_rx dev_probe match!
sdr,openofdm_rx dev_probe io start 0x83c30000 end 0x83c3ffff name /fpga-axi@0/openofdm_rx@83c30000 flags 0x00000200 desc 0x00000000
sdr,openofdm_rx dev_probe base_addr 0xf2940000
sdr,openofdm_rx dev_probe openofdm_rx_driver_api_inst 0xbf156284
sdr,openofdm_rx dev_probe openofdm_rx_api 0xbf156284
sdr,openofdm_rx dev_probe succeed!
sdr,openofdm_rx hw_init mode 1
sdr,openofdm_rx hw_init mode OPENOFDM_RX_NORMAL
sdr,openofdm_rx hw_init input:
power_thres 0
min_plateau 100
sdr,openofdm_rx hw_init err 0

sdr,xpu dev_probe match!
sdr,xpu dev_probe io start 0x83c40000 end 0x83c4ffff name /fpga-axi@0/xpu@83c40000 flags 0x00000200 desc 0x00000000
sdr,xpu dev_probe base_addr 0xf29a0000
sdr,xpu dev_probe xpu_driver_api_inst 0xbf15f284
sdr,xpu dev_probe xpu_api 0xbf15f284
sdr,xpu dev_probe reset tsf timer
sdr,xpu dev_probe XPU_REG_TSF_RUNTIME_VAL_LOW_read 1 33195 100203us
sdr,xpu dev_probe succeed!
sdr,xpu hw_init mode 1
sdr,xpu hw_init mode XPU_NORMAL
sdr,xpu hw_init err 0
sdr: no symbol version for openofdm_rx_api

sdr,sdr openwifi_dev_probe: match!
sdr,sdr custom_match_spi_dev ad9361-phy ad9361-phy 1
Unable to handle kernel NULL pointer dereference at virtual address 00000018
pgd = ee0ec000
[00000018] *pgd=00000000
Internal error: Oops: 5 [#1] PREEMPT SMP ARM
Modules linked in: sdr(O+) xpu(O) openofdm_rx(O) openofdm_tx(O) rx_intf(O) ad9361_drv(O) tx_intf(O) xilinx_dma mac80211 cfg80211 mwipcore mwipcore_iio_streaming mwipcore_dma_streaming mathworks_ip_common
CPU: 1 PID: 2303 Comm: insmod Tainted: G O 4.14.0-g4220d5d #2
Hardware name: Xilinx Zynq Platform
task: ef18ad40 task.stack: ef1f2000
PC is at ad9361_spi_to_phy+0x4/0xc [ad9361_drv]
LR is at openwifi_dev_probe+0xb8/0x718 [sdr]
pc : [] lr : [] psr: a0070013
sp : ef1f3d20 ip : 00000007 fp : 00000124
r10: 00000011 r9 : 00000000 r8 : eea9a460
r7 : eea9ae40 r6 : ef174e00 r5 : bf16d000 r4 : bf16a198
r3 : 00000000 r2 : 00000000 r1 : 00000000 r0 : ee8e4c00
Flags: NzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none
Control: 18c5387d Table: 2e0ec04a DAC: 00000051
Process insmod (pid: 2303, stack limit = 0xef1f2210)
Stack: (0xef1f3d20 to 0xef1f4000)
3d20: 00000000 00000011 ef175aa8 ef024c60 00000000 ef175aa8 c0a06ee0 00000001
3d40: ef024bb0 ef174e10 ffffffed bf16d01c fffffdfb 00000000 00000000 00000011
3d60: 00000124 c03b2880 ef174e10 c0c75c98 c0c75c9c bf16d01c 00000000 c03b0fc4
3d80: ef174e10 bf16d01c ef174e44 00000000 ef131ac0 ef131ae4 f29b1000 c03b1130
3da0: 00000000 bf16d01c c03b1078 c03af52c ef075f58 ef1685b4 bf16d01c eea77d00
3dc0: c0c1f458 c03b0484 bf16c7c8 bf170000 00000000 bf16d01c bf170000 00000000
3de0: ef0aea00 c03b19f4 ffffe000 bf170000 00000000 c0101a20 00187961 c0c6b104
3e00: c0c4fd80 c0c503c0 c0c4fc2c 00000007 c0b4a140 00000007 00000001 c0c50100
3e20: 2ec96000 00000000 80070013 c01aec2c 00000001 a0070013 ef0aea00 f29b1000
3e40: bf16d0c0 00000001 bf16d0c0 ef131ac0 ef131ae4 c0188708 00000001 ef131ac0
3e60: ef131ae4 ef1f3f50 00000001 bf16d0c0 00000001 c01875a8 bf16d0cc 00007fff
3e80: bf16d0c0 c01846a8 00000000 bf16d108 bf16d0c0 ee561c8c ef1f3f50 bf16d1f0
3ea0: c0805304 c0a0b718 c09971a8 c0997150 bf16d27c 00000000 ffffe000 bf000000
3ec0: 0006efdc 00000000 ef1f3f48 00000000 00000000 00000000 00000000 00000000
3ee0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
3f00: 00000000 00000000 7fffffff 00000000 00000003 0045d008 0000017b c0107b04
3f20: ef1f2000 00000000 bed90848 c0187dcc 7fffffff 00000000 00000003 00000000
3f40: 00000000 f29b1000 0006efdc 00000000 f29b5b66 f29b1000 0006efdc f2a1f794
3f60: f2a1f58c f2a051a4 00008000 00008330 00000000 00000000 00000000 00003600
3f80: 00000033 00000034 0000001e 00000018 00000014 00000000 b6e961e8 0000000b
3fa0: 0c05e300 c0107940 b6e961e8 0000000b 00000003 0045d008 00000000 bed90848
3fc0: b6e961e8 0000000b 0c05e300 0000017b 0045dda8 00000000 0045d008 bed90848
3fe0: bed90670 bed90660 00448177 b6f1f2b2 80070030 00000003 00000000 00000000
[] (ad9361_spi_to_phy [ad9361_drv]) from [] (openwifi_dev_probe+0xb8/0x718 [sdr])
[] (openwifi_dev_probe [sdr]) from [] (platform_drv_probe+0x50/0xb0)
[] (platform_drv_probe) from [] (driver_probe_device+0x234/0x2e8)
[] (driver_probe_device) from [] (__driver_attach+0xb8/0xbc)
[] (__driver_attach) from [] (bus_for_each_dev+0x68/0x9c)
[] (bus_for_each_dev) from [] (bus_add_driver+0x100/0x20c)
[] (bus_add_driver) from [] (driver_register+0x78/0xf4)
[] (driver_register) from [] (do_one_initcall+0x44/0x168)
[] (do_one_initcall) from [] (do_init_module+0x60/0x1f0)
[] (do_init_module) from [] (load_module+0x1de8/0x23fc)
[] (load_module) from [] (SyS_finit_module+0xa8/0xb8)
[] (SyS_finit_module) from [] (ret_fast_syscall+0x0/0x48)
Code: e58d3040 e300123a eafffed9 e5903054 (e5930018)
---[ end trace dad18458bfe54443 ]---
root@analog:~/openwifi#

Is it possible to support consumer level SDR devices

Is it possible to support consumer level SDR devices? Such as BladeRF, LimeSDR, etc.

Of course there's no way to implement hardware CSMA/CA on those devices. But that shouldn't be a big deal with faster computers / realtime scheduling.

mac80211 questions

That's a great project indeed ! Thanks for your effort.

There are some questions around mac80211 in my mind.

  1. Did you ever modify mac80211 source code in order to fit some features with your FPGS? If so, is it possible to share with us?
  2. How did you investigate the works between UMAC (upper mac) and LMAC that have to be done in mac80211 or in FPGA? Because it's kinda harder to make sure which of works related 802.11 has been implemented in mac80211 in my opinion.

Thanks in advance.

Support for USRP boards

Hello,

Are USRP devices (e.g. B210) supported or is there any plan to support it in the future? Following the conversation in issue #14, I guess that B210 would also not be supported but I am not clear.

Thanks!

Where do you set AD9361 trx_clock_chain_freq and update_rf_bandwidth

Hi all,

I was wondering where you set the RF bandwidth of the A9361?
I see that you commented out the lines where you can configure the AD9361 for 40MHz of bandwidth:

err = ad9361_set_trx_clock_chain_freq(priv->ad9361_phy,priv->rf_bw);

err = ad9361_update_rf_bandwidth(priv->ad9361_phy,priv->rf_bw,priv->rf_bw);

So I was wondering where you set that -- I couldn't find it anywhere in the code...

Thanks,
Francesco

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.