mfg_test changing stdio_uart

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
JoSt_3481606
Level 4
Level 4
First like received

We are using the 1GC.  We are trying to use the mfg_test app with our design but our stdio_uart is set to WICED_UART_3 per our design.   I have compared the results with the cyw949307aeval1f board.

wl43909B0.exe --serial 16 ver  fails with our board.

What is also interesting to note is that even with stdio_uart set to uart 3, the cyw943907aeval1f still works.

I am speculating that    wiced_wlu_server_serial_start( STDIO_UART ); in mfg_test_init.c does not do anything.

I also suspect that is possible that WIFI_FIRMWARE_BIN := firmware/$(WLAN_CHIP)/$(WLAN_CHIP)$(WLAN_CHIP_REVISION)-mfgtest.bin

43909B0-mfgtest.bin may be hard coded to only use WICED_UART_1.

Is that the case?  Is there a way to run mfg_Test using a different uart?

Thanks

0 Likes
1 Solution

Here is the solution as given to me directly from cypress.  There is in fact a bug in the code.

Please open this file: libraries\test\wl_tool\43909B0\wl\exe\wlu_server_shared.c

From line 151, you can find the codes below. Please find 2 modification marked in yellow.

#if defined (RWL_SERIAL)

       remote_type = REMOTE_SERIAL;

       if (argc < 2) {

             DPRINT_ERR(ERR, "Port name is required from the command line\n");

       } else {

//           (void)*argv++;

             DPRINT_DBG(OUTPUT, "Port name is %s\n", *argv);

             transport_descriptor = (long) rwl_open_transport(remote_type, *argv, 0, 0);

       }

#endif  /* RWL_SERIAL */

View solution in original post

0 Likes
6 Replies
Zhengbao_Zhang
Moderator
Moderator
Moderator
250 sign-ins First comment on KBA 10 questions asked

hello:

what is the return message after the failure of the command?

0 Likes

c:\WICED-Studio-6.4\43xxx_Wi-Fi\libraries\test\wl_tool>wl43909B0.exe --serial 16 ver

rwl_read_serial_port failed: reached max retry limit.

remote_CDC_rx_hdr: Header Read failed

query_info_fe: Reading CDC header failed

Wifi adapter unsupported

0 Likes

I just have a try , if you input a command unsupported, the result  is :

query_info_fe: remote cdc header return error code -23

your return failure seems issue is happening on the uart hardware part:

1. please compile to see if the uart can run well .

test.console-CYW943907AEVAL1F download download_apps run

2.  check the code in the libraries\test\wl_tool\43909

enable DEBUG_SERIAL to confirm if the issue is on UART hardware.

0 Likes

I don't believe that is the case but I did your tests nonetheless.  This was done with my board which uses the same ftdi setup as the dev board except we are using wiced_uart_3 for the ftdi.

I changed the following lines in platform.h for the cyw943907aeval1f to force stdio to WICED_UART_3 for our board.

#ifdef PLATFORM_WL_UART_ENABLED

#define STDIO_UART  ( WICED_UART_3 )

#else

#define STDIO_UART  ( WICED_UART_3 )

#endif /* PLATFORM_WL_UART_ENABLED */

test.console-CYW943907AEVAL1F download download_apps run

I open the console and test.console works with my board fine.

I then build test.mfg_test-CYW943907AEVAL1F download run on my board and run

c:\WICED-Studio-6.4\43xxx_Wi-Fi\libraries\test\wl_tool>wl43909B0.exe --serial 14 ver

rwl_read_serial_port failed: reached max retry limit.

remote_CDC_rx_hdr: Header Read failed

query_info_fe: Reading CDC header failed

Wifi adapter unsupported

Any thoughts? Is it possible that this is the issue?

WIFI_FIRMWARE_BIN := firmware/$(WLAN_CHIP)/$(WLAN_CHIP)$(WLAN_CHIP_REVISION)-mfgtest.bin

Is that firmware hard coded in someway?

0 Likes

Here is the solution as given to me directly from cypress.  There is in fact a bug in the code.

Please open this file: libraries\test\wl_tool\43909B0\wl\exe\wlu_server_shared.c

From line 151, you can find the codes below. Please find 2 modification marked in yellow.

#if defined (RWL_SERIAL)

       remote_type = REMOTE_SERIAL;

       if (argc < 2) {

             DPRINT_ERR(ERR, "Port name is required from the command line\n");

       } else {

//           (void)*argv++;

             DPRINT_DBG(OUTPUT, "Port name is %s\n", *argv);

             transport_descriptor = (long) rwl_open_transport(remote_type, *argv, 0, 0);

       }

#endif  /* RWL_SERIAL */

0 Likes

thanks a lot, I will take a look at the patch.

0 Likes