cancel
Showing results for 
Search instead for 
Did you mean: 

Problem with the stm32cubeExpansion wifi demo with the x-cube-wifi1

kerry liu
Associate II
Posted on April 21, 2017 at 02:43

Hello ST community,sorry,maybe I should post my problem here.

Now I am working on the wifi module

X-NUCLEO-IDW01M1

,I found some problem.

Hardware

:NUCLEO-F401RE,X-NUCLEO-IDW01M1

Software

:STM32CubeExpansion_WIFI1_V3.0.1

IDE

: iar arm 7.1

From the example project I found two types one is SPWF01 another is SPWF04, I found the exampleBinary is the SPW

I change the config to SPWF01,but it still not work.

1)en.x-cube-wifi1_firmware (1)\STM32CubeExpansion_WIFI1_V3.0.1\Projects\Multi\Applications\

WiFi_VCOM

From the Tera term I found the print message,but when I input 'AT+S.STS',nothing output.

2)en.x-cube-wifi1_firmware (1)\STM32CubeExpansion_WIFI1_V3.0.1\Projects\Multi\Applications\HTTP_Request

From this example it will always run at the wifi init.

file

wifi_module.c line 294

and can not run out this function.It seems to wait for the state.

I only changed one thing in wifi_conf.h

the old one is #define SPWF04,I change to

#define SPWF01

/**********************************/

while(IO_status_flag.WiFi_WIND_State != WiFiHWStarted)

{

__NOP(); //nothing to do

}

//always in this function

/*******************************/

If I press the SW1 button,only the LED2 and LED4 from on to off then on,the code can not exit the loop.

Is there anyone can tell me what is wrong ? Thank you very much.

Note: this post was migrated and contained many threaded conversations, some content may be missing.
1 ACCEPTED SOLUTION

Accepted Solutions
kerry liu
Associate II
Posted on June 06, 2017 at 14:51

Gallucci.Gerardo

Das.Mridupawan

Thanks a lot for your help.

The board is OK now, the FAE help me update the firmware of the WIFI module.

It work fine now,

View solution in original post

12 REPLIES 12
Robert Kwan
Associate II
Posted on April 28, 2017 at 04:11

I also have the same WiFi_VCOM issue even though I already rebuilt for my F411RE board.

I tried to see if I could upgrade the firmware of X-NUCLEO-IDW01M1 board

but the sample tool has only the FW_Update_UART_Nucleo-F401RE.bin, 

no corresponding F411RE.bin and no way to build this bin myself?!

I wonder if you have already tried to use this Utilities\PC_Software\FW_Update_UART to upgrade the firmware of 

X-NUCLEO-IDW01M1 board to verify if the 'AT+S.STS' would then work please?!

In my case, it would not allow me to even upgrade the firmware because Flash_Loader_Demonstrator cannot detect my target board and it is probably because I don't have the right FW_Update_UART_Nucleo-F411RE.bin?!

And I have no idea how to get the FW_Update_UART_Nucleo-F411RE.bin now?!

Thanks & Best Regards,

Robert

Posted on April 28, 2017 at 05:17

Hi Robert,

I feel so sadly,

I try to update the firmware of the SPWF01S, but the Flash loader demostrator : FAIL:unable to erase flash.

Now I am waiting for the FAE of ST come to solve my problem.

The demo project is for SPWF04 and I do not know where is the problem hardware or software.

The best way is using the default hardware for the demo.

If we can not run the demo, update the WIFI module is more difficult.

Robert Kwan
Associate II
Posted on April 29, 2017 at 01:38

Hi Kerry,

I can understand your frustration totally

as I am struggling with it too but I am still a bit surprised because you are using F401RE directly already,

so it should work better than my case.

Anyway, if you want, you may try

/external-link.jspa?url=https%3A%2F%2Fdeveloper.mbed.org%2Fteams%2FST%2Fcode%2FHelloWorld_IDW01M1v2%2F

I found that it would work if I import their sample code to the online mbed compiler to compile for F411RE.

(You will need to compile it for F401RE then.)

It will just work fine when I flash the .bin from the online mbed compiled output.

However, thissample app does not have the mini AP capability I need

and so it is just good to prove that my hardware should work but just the XCube Wifi codes somehow cannot work well with my setup!

Hope that it helps.

Thanks & Best Regards,

Robert

Posted on April 29, 2017 at 14:34

Hi Robert,

Thanks a lot for your suggestion,I try the mbed example but still not work,I use the

oscilloscope to monitor the RX and TX lines and find nothing receive from the RX line.Maybe the WIFI module is broken.

Posted on April 29, 2017 at 15:10

Hi Kerry,

about the module, it should give something on its TX line after reset or poweron (WIND:1, typically). Moreover, you can monitor GPIOs 10 or 13 or 14 (they should go high, or blinking). If none of two options are in place:

- module is broken -> I don't think is broken, since you get '

unable to erase flash

', that is after initial Flasher handshake

- module was erased (fully, or initial page containing bootloader) -> do not never erase addresses before 0x08002800

- module is in boot mode (boot pin is high)

Can you check internal flash by 'Flash loader demonstrator' tool using a UART2USB device connected to TX and RX module's lines?

http://www.st.com/content/st_com/en/products/evaluation-tools/solution-evaluation-tools/communication-and-connectivity-solution-eval-boards/steval-pcc018v1.html

 is the one I use.
Posted on April 29, 2017 at 15:55

Thank you very much for your reply.

I do not have 

UART2USB device.

I use the mbed example get nothing from the RX

(PA10 F401RE)

line but almost 400ms frames on the TX(PA9 F401RE) line

.

You suggest me to  monitor the 

GPIOs 10 or 13 or 14,does these pins belong to the F401RE or WIFI module ?

Thanks.

Posted on April 29, 2017 at 17:44

WiFi module. After reset should go high, if module is sane

Posted on April 30, 2017 at 16:43

Hi, I just connect the 

GPIOs 10 or 13 or 14 to the oscilloscope 

GPIO 10 ->keep low

GPIO 13 ->high and frames on it

GPIO 14 ->high.

Is this right?

I connect to the CN7 of the WIFI module.GPIO 10(NC),GPIO 13(PA13),GPIO 14(RESET),I am not sure I connect the right PIN.

Posted on April 30, 2017 at 19:23

- GPIO10 is the blinking LED, if blink_led variable is set to 1. Default variable value is 0, so, GPIO10 must be low.

- GPIO13 is the status LED, low when connected to an access point, high if not connected

- GPIO14 is the console LED, low when AT-commands can be sent, high at startup

Your module is sane, since GPIOs10 and 13 are ok. I expect GPIO14 goes down after boot.

I only know a reason to keep GPIO14 high: hw flow control was set on SPWF via configuration variable, and external MCU is not controlling it. This also could explain why your module is not transmitting anything. Is this your case?

Recovery: to erase configuration variables, and perform a factory reset, keep GPIO0 high at boot time.

BR

j

ps: since GPIOs 10,13 and 14 are output, be sure that your MCU is configuring these pins as input floating. Why is GPIO14 connected to MCU RESET line?