WARP Project Forums - Wireless Open-Access Research Platform

You are not logged in.

#1 2016-Apr-24 21:07:19

liyize
Member
Registered: 2016-Apr-24
Posts: 4

Why V1.5 mango can not work on Warp V3?

hi,
we have downloaded the v1.5 mango 802.11 project. And the we didn't change any parameter. We used two Warp V3 boards, one is AP and the other is STA. We tested it by using python code"throughput_two_nodes.py", the result is 0 Mbps.
We changed to V1.4 mango, and the result is normal( about 13Mbps,QPSK 3/4). should we change something that the borad can work with the V1.5?
thanks a lot!

Offline

 

#2 2016-Apr-25 11:55:23

murphpo
Administrator
From: Mango Communications
Registered: 2006-Jul-03
Posts: 5159

Re: Why V1.5 mango can not work on Warp V3?

We just successfully re-tested the throughput_two_nodes script using the wlan_exp package and AP/STA bitstreams from the v1.5 reference design archive.

Can you tell us more about your setup? Did you modify the v1.5 throughput_two_nodes.py script or any of the v1.5 wlan_exp package code? Are you using the AP/STA bitstreams from the v1.5 zip file? Does the Python script print any warnings or errors? Do the nodes' UARTs print any warnings or errors?

Offline

 

#3 2016-Apr-27 11:17:16

liyize
Member
Registered: 2016-Apr-24
Posts: 4

Re: Why V1.5 mango can not work on Warp V3?

Thank you for your reply. We have try it again.First we used the bit file that in the zip file which can use without elf file. it can work on the board. but when we changed to use the "system.bit" generating by ISE and the elf file generating by SDK, it can't work. to debug this problem, we connect the board's uart port with computer, then we found that if we use the dcf_mac, it will out put the error like this:

"ERROR (wlan_mac_low_mcs_to_n_dbps): Invalid PHY_MODE (0) or MCS (0)
ERROR (wlan_mac_low_mcs_to_n_dbps): Invalid PHY_MODE (0) or MCS (0)
ERROR (wlan_mac_low_mcs_to_n_dbps): Invalid PHY_MODE (0) or MCS (2)
ERROR (wlan_mac_low_mcs_to_n_dbps): Invalid PHY_MODE (0) or MCS (2)
ERROR (wlan_mac_low_mcs_to_n_dbps): Invalid PHY_MODE (0) or MCS (2)
ERROR (wlan_mac_low_mcs_to_n_dbps): Invalid PHY_MODE (0) or MCS (2) "

when we change the elf file to nomac(which means we use the simplest mac procotol), it can work,but the throughput is very low. I just wonder if the there some bugs in the C codes? Of course i will review the codes too, hope we can keep in touch.

Offline

 

#4 2016-Apr-27 12:31:33

murphpo
Administrator
From: Mango Communications
Registered: 2006-Jul-03
Posts: 5159

Re: Why V1.5 mango can not work on Warp V3?

I don't understand the design flow you're describing.

Did you create an SDK Workspace using the SDK_Workspace folder in the v1.5 design archive as descried in the user guide?

Are you configuring the FPGAs on your boards using the SDK's "Xilinx Tools -> Program FPGA" dialog box?

Offline

 

#5 2016-Apr-29 03:55:42

liyize
Member
Registered: 2016-Apr-24
Posts: 4

Re: Why V1.5 mango can not work on Warp V3?

I am using ISE14.7.
When I try to test v1.5 with the bitstreams from the v1.5 reference design archive, every thing works well.

But when I created SDK workspace under the  SDK_Workspace  and configure the FPGA using the generated elf file, the system failed to work.
One of the node is configured to ap/dcf and the other is configured to sta/dcf.

The v1.4 works well with the procedure decribed above.

The error info from UART low is:
ERROR (wlan_mac_low_mcs_to_n_dbps): Invalid PHY_MODE (0) or MCS (0)

And I debugged the code in wlan_mac_low.c:

                    phy_details.phy_mode = wlan_mac_get_rx_phy_mode();
                    phy_details.length   = wlan_mac_get_rx_phy_length();
                    phy_details.mcs      = wlan_mac_get_rx_phy_mcs();
                    phy_details.N_DBPS   = wlan_mac_low_mcs_to_n_dbps(phy_details.mcs, phy_details.phy_mode);

The phy_mode is 0 and causing error info being printed out in wlan_mac_low_mcs_to_n_dbps.

inline u16 wlan_mac_low_mcs_to_n_dbps(u8 mcs, u8 phy_mode) {

    if(phy_mode == PHY_MODE_NONHT && mcs < (sizeof(mcs_to_n_dbps_nonht_lut)/sizeof(mcs_to_n_dbps_nonht_lut[0]))) {
        return mcs_to_n_dbps_nonht_lut[mcs];
    } else if(phy_mode == PHY_MODE_HTMF && mcs < (sizeof(mcs_to_n_dbps_htmf_lut)/sizeof(mcs_to_n_dbps_htmf_lut[0]))) {
        return mcs_to_n_dbps_htmf_lut[mcs];
    } else {
        xil_printf("ERROR (wlan_mac_low_mcs_to_n_dbps): Invalid PHY_MODE (%d) or MCS (%d)\n", phy_mode, mcs);
        return 1; // N_DBPS used as denominator, so better not return 0
    }
}

Offline

 

#6 2016-Apr-29 09:40:54

murphpo
Administrator
From: Mango Communications
Registered: 2006-Jul-03
Posts: 5159

Re: Why V1.5 mango can not work on Warp V3?

I am using ISE14.7.

This is likely the problem. We use ISE 14.4 for reference designs on WARP v3. We have found that 14.7 introduced no useful features and a few actual bugs relative to 14.4. Try using ISE 14.4 - you can download the installers from Xilinx, and an ISE license for 14.7 will work with 14.4.

Offline

 

#7 2016-Aug-12 11:37:02

warp_user
Member
Registered: 2014-Feb-27
Posts: 70

Re: Why V1.5 mango can not work on Warp V3?

I have tried to use version 1.5 (using 1.5.1 software update as in svn_src folder) of the Mango 802.11 Reference Design on WARP v3 hardware.
For the STA implementation once the WARP board is programmed using the relevant reference design for the STA, the display does not give 0 value as in the normal case. Instead the display presents - - on the board. I have used both nomac and dcfmac design for CPU_LOW without any success.
For the AP design, WARP board presents the normal 0 display. I have used the updated repository for version 1.5.
Can you please provide any insight on resolving this problem?
Thanks in advance

Offline

 

#8 2016-Aug-12 11:43:52

murphpo
Administrator
From: Mango Communications
Registered: 2006-Jul-03
Posts: 5159

Re: Why V1.5 mango can not work on Warp V3?

The hex display shows "- -" when the node is configured with a null BSS (i.e. when the node is not a member of a wireless network). The left-most DIP switch configures whether the node boots with a null BSS (see the user guide). A null BSS can also be configured via wlan_exp with n.configure_bss(None).

Offline

 

Board footer