Wifi initialisation fails nrf7002-nrf5340

In our custom board we checked WIFI, facing below issues,

1. We flashed sta sample project to our custom board facing the issue below. Is there any configuration needed to address in the config file? Please provide debugging steps to resolve this issue?


2. Also tried provisioning samples in our custom board, no log response detected from the device. 
For both samples, 1.build configuration is set as nrf7002dk_nrf5340_cpuapp and 
                               2.include clock config CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=y in the proj.conf file 
For sta we are able to get log but no log response for provisioning samples. How to resolve this issue?
And we can't build the samples with the nrf7002dk_nrf5340_cpuapp_ns configuration facing the issue .Why?

Parents
  • Hi,

    I have tried wi-fi station sample in NCS v2.6.0 and could not reproduce your issue on nrf7002dk even after adding CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=y to the prj.conf file.

    Which NCS version do you use?

    Could you provide a full log of the station sample from the moment you restart the device after flashing?

    Best regards,
    Dejan

  • Hi,

    The first line in provided log shows Jedec ID mismatch. This could happen for a number of reasons ranging from configuration to hardware. You could start checking by using jedec SPI-NOR flash sample to test your external flash. If this works fine, you could compare the contents of .config and zephyr.dts files of your custom board with the ones provided for nrf7002-dk. For other possible causes, you could look at this jedec-id discussion.

    Best regards,
    Dejan

  • I am experiencing the same problem in my custom board. By any chance, can you share what are the changes you made in the custom board?

  • Hi dejans,

    In our custom board, we don't have external flash. We suspect this could be the reason for the provisioning issue.

    Now we can able to get terminal log. In that wifi error ocurring but ble is able to pair with mobile. here i share log

    After resolving the Wi-Fi issue, we noticed that we can no longer retrieve terminal logs for the provisioning code.

    During debugging, we found that the pointer does not exit from the z_sys_init_run_level(INIT_LEVEL_POST_KERNEL) function, which prevents it from entering our main application. Consequently, no debug logs appear in the terminal. Please see the attached image for more details.



    Since we are not using external flash, is there any specific configuration we need for internal flash to address this issue?

  • Hi dario,

    1.Please check voltage in below points.
    1. Buck En
    2. Host IRQ
    3. IOVDD En

    2.Then check the QSPI configuration and pin for above mentioned in dts file.

    Can you please explain the issue little bit more? 

  • The whole custom board is powered at 3.3V

    - Buck en fails to go to VDD

    - I can' access directly IOVDD EN, but I can access the VDDIO pin of nRF7002 and it stays weirldy at 1.1V (IOVDD EN and VDDIO are related by the same Load Switch of the nRF7002DK)

    In the dts:

    &qspi {
        status = "okay";
        pinctrl-0 = <&qspi_default>;
        nrf700x: nrf7002@1 {
            status = "okay";
            compatible = "nordic,nrf700x-qspi";
            reg = <1>;
            sck-frequency = <24000000>;
            quad-mode;
            iovdd-ctrl-gpios = <&gpio0 26
                                GPIO_ACTIVE_HIGH>;
            bucken-gpios = <&gpio0 27
                            GPIO_ACTIVE_HIGH>;
            host-irq-gpios = <&gpio0 28
                              GPIO_ACTIVE_HIGH>;
        };
    };
    
    
    &nrf_radio_coex{
        status = "okay";
        compatible = "nordic,nrf700x-coex";
        req-gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>;
        status0-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
        grant-gpios = <&gpio1 9 (GPIO_PULL_DOWN | GPIO_ACTIVE_LOW)>;
        swctrl1-gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
        btrf-switch-gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
    };
    
    
    
    &pinctrl {
        qspi_default: qspi_default {
    		group1 {
    			psels = <NRF_PSEL(QSPI_SCK, 0, 17)>,
    				<NRF_PSEL(QSPI_IO0, 0, 13)>,
    				<NRF_PSEL(QSPI_IO1, 0, 14)>,
    				<NRF_PSEL(QSPI_IO2, 0, 15)>,
    				<NRF_PSEL(QSPI_IO3, 0, 16)>,
    				<NRF_PSEL(QSPI_CSN, 0, 18)>;
    		};
    	};
    };
    

Reply
  • The whole custom board is powered at 3.3V

    - Buck en fails to go to VDD

    - I can' access directly IOVDD EN, but I can access the VDDIO pin of nRF7002 and it stays weirldy at 1.1V (IOVDD EN and VDDIO are related by the same Load Switch of the nRF7002DK)

    In the dts:

    &qspi {
        status = "okay";
        pinctrl-0 = <&qspi_default>;
        nrf700x: nrf7002@1 {
            status = "okay";
            compatible = "nordic,nrf700x-qspi";
            reg = <1>;
            sck-frequency = <24000000>;
            quad-mode;
            iovdd-ctrl-gpios = <&gpio0 26
                                GPIO_ACTIVE_HIGH>;
            bucken-gpios = <&gpio0 27
                            GPIO_ACTIVE_HIGH>;
            host-irq-gpios = <&gpio0 28
                              GPIO_ACTIVE_HIGH>;
        };
    };
    
    
    &nrf_radio_coex{
        status = "okay";
        compatible = "nordic,nrf700x-coex";
        req-gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>;
        status0-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
        grant-gpios = <&gpio1 9 (GPIO_PULL_DOWN | GPIO_ACTIVE_LOW)>;
        swctrl1-gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
        btrf-switch-gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
    };
    
    
    
    &pinctrl {
        qspi_default: qspi_default {
    		group1 {
    			psels = <NRF_PSEL(QSPI_SCK, 0, 17)>,
    				<NRF_PSEL(QSPI_IO0, 0, 13)>,
    				<NRF_PSEL(QSPI_IO1, 0, 14)>,
    				<NRF_PSEL(QSPI_IO2, 0, 15)>,
    				<NRF_PSEL(QSPI_IO3, 0, 16)>,
    				<NRF_PSEL(QSPI_CSN, 0, 18)>;
    		};
    	};
    };
    

Children
  • Hi dario

    1. If posible, Please chcek your board host + nrf7002ek. (isolate custom board nrf7002).
     
    2. And check above(nrf7002dk schmatics) showing IC session in your board.(A1 and A2).

  • Hi  ,

    Did you make any progress regarding the reported issue?

    Your problem does not seem to happen due to shared antenna.
    Can you please confirm that scan and station samples in NCS v2.6.1 work on your custom board as expected?

    Best regards,
    Dejan

  • Can you please confirm that scan and station samples in NCS v2.6.1 work on your custom board as expected?

    These all working fine.

    During debugging, we found that the pointer does not exit from the z_sys_init_run_level(INIT_LEVEL_POST_KERNEL) function, which prevents it from entering our main application. Consequently, no debug logs appear in the terminal. Please see the attached image for more details.

    Please check into this. 
    Why the pointer not exit from z_sys_init_run? Are we missing any configuration? 
    Is Ble provisioning using external flash for storing WiFi credentials? 

    Furthermore debugging, it stuck into spi_nor_wait_untill_ready function. Please see the attached image for more details.


    Hence we check the zephyr/spi_flash sample (nrf5340DK configuration). Got below output
    *** Booting nRF Connect SDK v3.5.99-ncs1-1 ***
    mx25r6435f@0: device not ready.

    While build with nrf7002dk-nrf5340dk facing issue


    Are we missing SPI/Flash related configuration?Please provide your suggestion on this. 

    FYI, In our board we don't have external flash.

  • Hi,

    Lavanya_Manohar said:
    Furthermore debugging, it stuck into spi_nor_wait_untill_ready function. Please see the attached image for more details.
    Lavanya_Manohar said:
    Hence we check the zephyr/spi_flash sample (nrf5340DK configuration). Got below output
    *** Booting nRF Connect SDK v3.5.99-ncs1-1 ***
    mx25r6435f@0: device not ready.

    mx25r6435f is external flash but since you do not have external flash your device never gets ready, and you get devicetree errors.

    Regarding your issue with provisioning, can you verify that you used correct COM port/ttyACM device? In addition, can you provide build command which you used? Please note that according to requirements, on the nrf7002-dk sample should be built for nrf7002_nrf5340_cpuapp (no _ns) build target.

    Best regards,
    Dejan

  • mx25r6435f is external flash but since you do not have external flash your device never gets ready, and you get devicetree errors.

    Ok Thank you. 

    In this sample, before main application, it initialise all the kernal config in  z_sys_init_run function, It is working in DK board because all configuration satisfy but In our custom board we don't have SPI - external flash(mx25r6435f) connection, so it is stuck in configuring SPI. Hence we Disable mx25r6435f device. After that ble provisioning is working fine in our custom board.

Related