Closed gauthamikosanam closed 1 year ago
Send us setup image.
Please go through https://github.com/espressif/esp-hosted/blob/master/esp_hosted_fg/docs/Linux_based_host/porting_guide.md to understand things required while porting sdio for FG software.
Is the NG worked earlier and FG only is not working?
Yes NG worked earlier now I want softap mode so I moved to FG.
did you try to tune sdio timing https://github.com/espressif/esp-hosted/blob/master/esp_hosted_fg/docs/Linux_based_host/porting_guide.md#242-sdio?
Can you please send the patch for esp hosted fg sdio timing -SDIO_SLAVE_TIMING_NSEND_PSAMPLE. Beacuse I am only flashing the bin files to board.Not having the idea of the source code, please let me know that process.
Hello @gauthamikosanam
We used to provide the binaries as ESP side code was not open sourced. Now you should not face issue doing that. We have added simple scripts to setup environment & make the flashing as easy as possible.
SDIO setup document is at https://github.com/espressif/esp-hosted/blob/master/esp_hosted_fg/docs/Linux_based_host/SDIO_setup.md
Anyway, Please check the full FG documentation at https://github.com/espressif/esp-hosted/tree/master/esp_hosted_fg with keeping SDIO_only mode in mind. Some of the earlier reported GitHub issues would have automatically resolved if the documentation was followed step wise and correctly.
We try to keep documentation as small as possible and up to date.
I have flashed the sdio only binary files to esp32 module and can you set the sdio timing to SDIO_SLAVE_TIMING_NSEND_PSAMPLE and send the patch,because previous also for NG you have send the patch for sdio timing.Then I can able to communicate between host and esp module.
Hello @gauthamikosanam , This time I am providing you patch. gh_242_fg_sdio_np_timing.patch
Base Hosted git commit is expected to be 11e90f185a5a9922343e73e44032816a0e3ddedb Please use same codebase & same git commit at both host and ESP.
please help close this issue.
Hi Yogesh, I could not able to compile the source code,getting errors.Could you please send the bin files with respect to sdio timing ,will flash to the esp32 target board. Attaching the error log. CMakeOutput.log CMakeError.log gauthami@gauthami-Latitude-3420:~/esp-hosted-release-fg-v0.0.5/esp_hosted_fg/esp/esp_driver/network_adapter$ cmake .
Building ESP-Hosted-FG Firmware version :: 0.0.5
-- Project is not inside a git repository, or git repository has no commits; will not use 'git describe' to determine PROJECT_VER. -- Building ESP-IDF components for target esp32 -- Checking Python dependencies... CMake Error at /home/gauthami/esp-idf/tools/cmake/build.cmake:365 (message): Failed to run Python dependency check. Python: python, Error: No such file or directory Call Stack (most recent call first): /home/gauthami/esp-idf/tools/cmake/build.cmake:500 (__build_check_python) /home/gauthami/esp-idf/tools/cmake/project.cmake:447 (idf_build_process) CMakeLists.txt:14 (project)
-- Configuring incomplete, errors occurred!
As my earlier comment I had mentioned, please use base commit as https://github.com/espressif/esp-hosted/commit/11e90f185a5a9922343e73e44032816a0e3ddedb
Can you show output of
$ cd
Also, I see your current folder is <esp_hosted_fg/esp/esp_driver/network_adapter> which is not matched as per documentation. should have followed the exact steps.
also make sure you have C compiler installed where you are trying to build.
Hi Yogesh, I have taken the esp hosted fg 0.0.5 version firmware. I have flashed the bin files to board-esp hosted fg 0.0.5.tgz I have taken the source code.tar.gz for esp32 driver. is this process correct? I am unable to understand how to take same git base 11e90f1 for host and esp.
ESP-Hosted-FG building procedure. This is all well documented. I am repeating here.
Hi yogesh, I have taken the git checkout of 11e90f1 and tried to compile the driver of fg esp32 getting error. /home/wifi/esp_slave_hosted/esp_hosted_fg/host/linux/host_driver/esp32/sdio/esp_sdio.c:457:22: error: passing argument 1 of 'sdio_release_host' from incompatible pointer type [-Werror=incompatible-pointer-types] RELEASE_SDIO_HOST(context); ^ /home/wifi/esp_slave_hosted/esp_hosted_fg/host/linux/host_driver/esp32/sdio/esp_sdio.c:54:50: note: in definition of macro 'RELEASE_SDIO_HOST'
^
In file included from /home/wifi/esp_slave_hosted/esp_hosted_fg/host/linux/host_driver/esp32/sdio/esp_sdio.c:22:0: /home/yocto/build/tmp/work-shared/rugged-board-a5d2x-sd1/kernel-source/include/linux/mmc/sdio_func.h:118:13: note: expected 'struct sdio_func ' but argument is of type 'struct esp_sdio_context ' extern void sdio_release_host(struct sdio_func *func);
Any suggestion for this error?
This is fixed on master, please do git pull
Done with git pull,still I am getting the errors. /home/wifi/esp_slave_hosted/esp_hosted_fg/host/linux/host_driver/esp32/sdio/esp_sdio.c:76:31: error: 'ESP_DEVICE_ID_2' undeclared here (not in a function); did you mean 'ESP_DEVICE_ID_1'? { SDIO_DEVICE(ESP_VENDOR_ID, ESP_DEVICE_ID_2) }, ^ /home/yocto/build/tmp/work-shared/rugged-board-a5d2x-sd1/kernel-source/include/linux/mmc/sdio_func.h:97:31: note: in definition of macro 'SDIO_DEVICE' .vendor = (vend), .device = (dev) I included the header file esp_sdio_decl.h still getting error.
Have you taken https://github.com/espressif/esp-hosted/blob/0702eda3ceca996e094641bfdf402e2f5453f3e3/esp_hosted_fg/host/linux/host_control/rpi_init.sh#L248-L251 into consideration from rpi_init.sh?
Ignore above comment.
I am surprised how one symbol is visible and other is not. Are there any local changes?
No local changes , I am compiling the host_driver/esp32/Makefile In Makefile I am using, CR_C := arm-linux-gnueabihf- all: make ARCH=arm CROSS_COMPILE=$(CROSS_COMPILE) -C /home/yocto/build/tmp/work/rugged_board_a5d2x_sd1-poky-linux-musleabi/linux-rba5d2x/4.9-r0/build M=$(PWD) modules
Question remains the same,
https://github.com/espressif/esp-hosted/blob/0702eda3ceca996e094641bfdf402e2f5453f3e3/esp_hosted_fg/host/linux/host_driver/esp32/sdio/esp_sdio.c#L73-L75 In above code, how ESP_VENDOR_ID and ESP_DEVICE_ID_1 is visible and ESP_DEVICE_ID_2 is not visible?
please post your rpi_init.sh output
Use
$ bash -x rpi_init.sh
Getting ESP_VENDOR_ID,ESP_DEVICE_ID_1 and ESP_DEVICE_ID_2 errors /home/wifi/esp_slave_hosted/esp_hosted_fg/host/linux/host_driver/esp32/sdio/esp_sdio_decl.h:91:2: error: #error "SDIO not supported for selected ESP device"
root@0d4c4bb56531:/home/wifi/esp_slave_hosted/esp_hosted_fg/host/linux/host_control# bash -x rpi_init.sh
In rpi_init.sh file kept esp slave chipset to esp32 and run the command bash -x rpi_init.sh Attaching the output. fg log.txt
https://github.com/espressif/esp-hosted/issues/242#issuecomment-1653224486 Is the error self explanatory?
**** Err: Please set expected ESP slave chipset ****
in rpi_init.sh.
Apart from that, make[3]: /usr/bin/arm-linux-gnueabihf-gcc: Command not found make[3]: /usr/bin/arm-linux-gnueabihf-gcc: Command not found make[3]: /usr/bin/arm-linux-gnueabihf-gcc: Command not found make[3]: /usr/bin/arm-linux-gnueabihf-gcc: Command not found make[3]: /usr/bin/arm-linux-gnueabihf-gcc: Command not found
etc errors are reported, take care of them, to choose correct paths for cross comiplation. https://github.com/espressif/esp-hosted/blob/master/esp_hosted_fg/docs/Linux_based_host/porting_guide.md#23-cross-compilation -> there are two parts, please check the documentation again.
Hi Yogesh, Compiled the driver but not inserting the driver getting error. esp_sdio: probe of mmc0:0001:1 failed with error -110 esp_sdio: probe of mmc0:0001:2 failed with error -110 Attaching the logs of both host and esp. esp fg.txt host_log.txt
Check suggestions in old bug of yours and try again. Specially wrt timings
How can I change the sdio timings?
Have you checked this comment: https://github.com/espressif/esp-hosted/issues/242#issuecomment-1633738540? Let us know once followed porting guide. your answers should lie in there.
Hi Yogesh, root@0d4c4bb56531:/home/wifi/esp_slave_hosted/esp_hosted_fg/esp/esp_driver/network_adapter/main# git branch
-- Configuring done -- Generating done -- Build files have been written to: /home/wifi/esp_slave_hosted/esp_hosted_fg/esp/esp_driver Then again whatever changes i made in main/sdio_slave_api.c file, that line is not there. After cmake how to flash the bin files of sdio only to board. Where is the path?
Alternatively, if you plan to reuse existing IDF, you can change the sdio file with changed timing. And in existing IDF environment, $ idf.py flash monitor
We will take this input to improve to allow changed files in cmake.
Hi @mantriyogesh ,
Is your development machine internet connected?
--> it is connected internet. not sure what is the dependency. Cmake cleans all changed file as it is said in the documentation. You can change and git add and commit locally to save the changes. --> i am simply given "Cmake", after that local changes not found.
Alternatively, if you plan to reuse existing IDF, you can change the sdio file with changed timing. And in existing IDF environment, $ idf.py flash monitor Getting this error. gauthami@gauthami-Latitude-3420:~/esp_slave_hosted/esp_hosted_fg/esp/esp_driver/esp-idf$ . ./export.sh Detecting the Python interpreter Checking "python3" ... Python 3.8.10 "python3" has been detected Checking Python compatibility Checking other ESP-IDF version. Using a supported version of tool cmake found in PATH: 3.16.3. However the recommended version is 3.24.0. Adding ESP-IDF tools to PATH... Using a supported version of tool cmake found in PATH: 3.16.3. However the recommended version is 3.24.0. Checking if Python packages are up to date... Constraint file: /home/gauthami/.espressif/espidf.constraints.v5.2.txt Requirement files:
Done with git add and commit root@0d4c4bb56531:/home/wifi/esp_slave_hosted/esp_hosted_fg/esp/esp_driver/network_adapter/main# git add sdio_slave_api.c root@0d4c4bb56531:/home/wifi/esp_slave_hosted/esp_hosted_fg/esp/esp_driver/network_adapter/main# git commit -m "Modified SDIO timing" [detached HEAD 1c3009c] Modified SDIO timing 1 file changed, 4 insertions(+), 4 deletions(-)
.timing = SDIO_SLAVE_TIMING_NSEND_PSAMPLE,
This is not the earlier IDF. this is new one from Hosted repo. if you want to use this, Please do
$ rm -rf ~/.espressif
$ cd ~/esp_slave_hosted
$ git clean -f -x && git clean -xffd && git submodule foreach --recursive git clean -xffd
$ git submodule update --init --recursive
$ git status # should show clean
$ cd ~/esp_slave_hosted/esp_hosted_fg/esp/esp_driver/esp-idf
$ git clean -f -x && git clean -xffd && git submodule foreach --recursive git clean -xffd
$ git submodule update --init --recursive
$ ./install.sh
$ . ./export.sh
$ cd ~/esp_slave_hosted/esp_hosted_fg/esp/esp_driver/network_adapter
$ rm -rf sdkconfig build
<Do your changes if not already present for sdio timing>
$ idf.py flash monitor
Hi,
git status
root@0d4c4bb56531:/home/wifi/esp_slave_hosted# git status
HEAD detached from 11e90f1
Changes not staged for commit:
(use "git add
modified: esp_hosted_fg/esp/esp_driver/esp-idf (new commits, modified content)
modified: esp_hosted_ng/esp/esp_driver/esp-idf (new commits)
no changes added to commit (use "git add" and/or "git commit -a")
root@0d4c4bb56531:/home/wifi/esp_slave_hosted/esp_hosted_fg/esp/esp_driver/esp-idf# ./install.sh
Detecting the Python interpreter
Checking "python3" ...
Checking "python" ...
"python" has been detected
Checking Python compatibility
Traceback (most recent call last):
File "/home/wifi/esp_slave_hosted/esp_hosted_fg/esp/esp_driver/esp-idf/tools/python_version_checker.py", line 45, in
install.sh would not be useful unless your 'modified goes away'
share output for all: $ cd ~/esp_slave_hosted/esp_hosted_fg/esp/esp_driver/esp-idf $ git clean -f -x && git clean -xffd && git submodule foreach --recursive git clean -xffd $ git submodule update --init --recursive $ cd ~/esp_slave_hosted/esp_hosted_ng/esp/esp_driver/esp-idf $ git clean -f -x && git clean -xffd && git submodule foreach --recursive git clean -xffd $ git submodule update --init --recursive
$ git status
By the way, this falls under ESP-IDF.
If you face issue, last line is self explanatory: RuntimeError: ESP-IDF supports Python 3.7 or newer but you are using Python 2.7.12. Please upgrade your installation as described in the documentation
Hi , Please find the log of each command. log.txt
Hi, Meanwhile I am testing with raspberry Pi 3 Model B+ as target. Please find the logs. [ 77.877892] Features supported are: [ 77.877901] WLAN [ 77.877906] BT/BLE [ 77.877911] - HCI over SDIO [ 77.877916] - BT/BLE dual mode These are not getting. esp.txt rasp_host.txt
root@0d4c4bb56531:/home/wifi/esp_slave_hosted/esp_hosted_fg/esp/esp_driver/esp-idf# git submodule update --init --recursive fatal: reference is not a tree: d037ec89546fad14b5c4d5456c2e23a71e554966 fatal: reference is not a tree: ddd61e9a276926496437665dd217cba2850db6b9 fatal: reference is not a tree: b207a7da7a9758dbccea0dba1023fd36c47b3e65 fatal: reference is not a tree: 9478bc510fa9fc792d98efbc80dc547b97a13b99 fatal: reference is not a tree: eeecc49ce8af123cf8ad40efdb9673e37b56230f fatal: reference is not a tree: 998e05636344949ba219e8ac56feb733e27bf5d2 fatal: reference is not a tree: da0306da9b882c4bbd4c6ed5ee497c5c0e9945c4 fatal: reference is not a tree: d348621ca93571343a56862df7de4ff3bc9b5667 fatal: reference is not a tree: 269a58f18597aedec31c439e34cdaea47229dda3 fatal: reference is not a tree: 65b3c0857c9f207dcb0b646f2b4ebd8e5edf83c1 fatal: reference is not a tree: dffabb067fb3c39f486033d2e47eb4b1416f0c82 fatal: reference is not a tree: 785e946222f6c6ab453d7d47c15c551d4a181f79 fatal: reference is not a tree: 5beae143700db54c6e9bd4b15a568abe2f305723 fatal: reference is not a tree: 0dbb3f71c5f6fae3747a9d935372773762baf852 fatal: reference is not a tree: 7d2bf62b7e6afaf38153041a9d53c21aeeca9a25 Unable to checkout 'd037ec89546fad14b5c4d5456c2e23a71e554966' in submodule path 'components/bootloader/subproject/components/micro-ecc/micro-ecc' Unable to checkout 'ddd61e9a276926496437665dd217cba2850db6b9' in submodule path 'components/bt/controller/lib_esp32c6/esp32c6-bt-lib' Unable to checkout 'b207a7da7a9758dbccea0dba1023fd36c47b3e65' in submodule path 'components/bt/controller/lib_esp32h2/esp32h2-bt-lib' Unable to checkout '9478bc510fa9fc792d98efbc80dc547b97a13b99' in submodule path 'components/bt/host/nimble/nimble' Unable to checkout 'eeecc49ce8af123cf8ad40efdb9673e37b56230f' in submodule path 'components/cmock/CMock' Unable to checkout '998e05636344949ba219e8ac56feb733e27bf5d2' in submodule path 'components/esp_phy/lib' Unable to checkout 'da0306da9b882c4bbd4c6ed5ee497c5c0e9945c4' in submodule path 'components/esp_wifi/lib' Unable to checkout 'd348621ca93571343a56862df7de4ff3bc9b5667' in submodule path 'components/json/cJSON' Unable to checkout '269a58f18597aedec31c439e34cdaea47229dda3' in submodule path 'components/lwip/lwip' Unable to checkout '65b3c0857c9f207dcb0b646f2b4ebd8e5edf83c1' in submodule path 'components/mbedtls/mbedtls' Unable to checkout 'dffabb067fb3c39f486033d2e47eb4b1416f0c82' in submodule path 'components/mqtt/esp-mqtt' Unable to checkout '785e946222f6c6ab453d7d47c15c551d4a181f79' in submodule path 'components/openthread/lib' Unable to checkout '5beae143700db54c6e9bd4b15a568abe2f305723' in submodule path 'components/openthread/openthread' Unable to checkout '0dbb3f71c5f6fae3747a9d935372773762baf852' in submodule path 'components/spiffs/spiffs' Unable to checkout '7d2bf62b7e6afaf38153041a9d53c21aeeca9a25' in submodule path 'components/unity/unity'
I don't understand 'unable to checkout' errors. checkout IDF with branch 'release/v5.1' make sure there are no 'modified' and repo is clean in 'git status'
you will have to check git by yourself. once idf is clean,
$ ./install.sh $ . ./export.sh $ cd ~/esp_slave_hosted/esp_hosted_fg/esp/esp_driver/network_adapter $ rm -rf sdkconfig build =>Do your changes if not already present for sdio timing $ idf.py flash monitor
Hi, 1.yes mentioned in porting guide for esp32. 2.I took the release fg 0.0.5 version and flashed the binaries to board. 3.Master branch
3 is wrong. You need to use source code matching to the FG 0.0.5 (this was even mentioned in earlier bug also)
https://github.com/espressif/esp-hosted/issues/198#issuecomment-1506386072
Sorry to say, but going ahead, it will be difficult for us to repeat the same answers.
Please check your old bug thoroughly, you will find a lot of information to proceed at this point.
Hi , Used FG 0.0.5 version but still getting read error at esp side. rasp_host.txt
Hi Yogesh, when I do idf.py flash monitor, getting error.Attaching the log,please let me know the solution.Could not able to tune the sdio timing. esp .txt .
https://github.com/espressif/esp-hosted/issues/242#issuecomment-1663809513
Please check with ESP-IDF team if you have any troubles setting up IDF. Without IDF correctly setup, ESP-Hosted firmware cannot be built.
Hi Yogesh, can you please provide the binary files w.r.t sdio timing to flash into esp32 board.
.timing = SDIO_SLAVE_TIMING_NSEND_PSAMPLE,
Hi Yogesh, I have compiled the esp-idf but if i do idf.py build in network adaptor path getting cmake error.Attaching the log, please let me know the solution.
diff --git a/esp_hosted_fg/esp/esp_driver/network_adapter/main/sdio_slave_api.c b/esp_hosted_fg/esp/esp_driver/network_adapter/main/sdio_slave_api.c
index 5087d15..96b9f02 100644
--- a/esp_hosted_fg/esp/esp_driver/network_adapter/main/sdio_slave_api.c
+++ b/esp_hosted_fg/esp/esp_driver/network_adapter/main/sdio_slave_api.c
@@ -202,9 +202,7 @@ static interface_handle_t * sdio_init(void)
* In these cases, Please tune timing below using value from
* https://github.com/espressif/esp-idf/blob/release/v5.0/components/hal/include/hal/sdio_slave_types.h#L26-L38
* */
-#if defined(CONFIG_IDF_TARGET_ESP32C6)
.timing = SDIO_SLAVE_TIMING_NSEND_PSAMPLE,
-#endif
};
config.flags |= SDIO_SLAVE_FLAG_DEFAULT_SPEED;
2023.08.08_gh242_sdio_timingchange_ESP32_sdio.tgz
IDF: 79b1379662b547f6eb0e5fed33df70587b03d99c ESP-Hosted: 8cb1ccb4da87da952b3b28e5544c849c1dcd7b67
Host side git commit must be 8cb1ccb4da87da952b3b28e5544c849c1dcd7b67
Hi Yogesh, I have git commited 8cb1ccb in both host and esp board. In raspberry pi 3 model B+ as host and esp32 as slave it is working . This is the log. rasp_log.txt Same setup configured in arm processor as host ,esp32 as slave it is not going into esp probe function.This is the log. root@rugged-board-a5d2x-sd1:~# modprobe esp32_sdio.ko resetpin=101 esp_sdio: probe of mmc0:0001:1 failed with error -110 esp_sdio: probe of mmc0:0001:2 failed with error -110 CIS tuple is happening mmc0: queuing unknown CIS tuple 0x01 (3 bytes) mmc0: queuing unknown CIS tuple 0x1a (5 bytes) mmc0: queuing unknown CIS tuple 0x1b (8 bytes) mmc1: SDHCI controller on b0000000.sdio-host [b0000000.sdio-host] using ADMA ledtrig-cpu: registered to indicate activity on CPUs atmel_aes f002c000.aes: version: 0x500 mmc0: queuing unknown CIS tuple 0x80 (1 bytes) mmc0: queuing unknown CIS tuple 0x81 (1 bytes) mmc0: queuing unknown CIS tuple 0x82 (1 bytes) mmc0: queuing unknown CIS tuple 0x80 (1 bytes) atmel_aes f002c000.aes: Atmel AES - Using dma0chan0, dma0chan1 for DMA transfers atmel_sha f0028000.sha: version: 0x510 atmel_sha f0028000.sha: using dma0chan2 for DMA transfers mmc0: queuing unknown CIS tuple 0x81 (1 bytes) mmc0: queuing unknown CIS tuple 0x82 (1 bytes) mmc0: new SDIO card at address 0001
Reset also hapenning esp_reset, ESP32: Resetpin of Host is 101 esp_reset, ESP32: Triggering ESP reset.
Can you please suggest on this issue.
But you had ng working on the same setup earlier. Correct?
Yes,NG driver is working with the same setup. I want soft ap mode support so shifted to FG dirver.
Can you please try the ng again? There is no difference in transport later for fg and ng.
Hi I am using arm cortex a5d2x microprocessor as host and esp32 module as slave. In between this communication I am getting error. I have used fg 0.0.5 version and compiled in kernel and flashed the respective binaries in esp 32 module. Attaching the logs for both host and esp ,please let me know the solution. host_fg.txt esp_fg.txt esp_sdio: probe of mmc0:0001:1 failed with error -84