Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add SDIO Support to solve the speed bottleneck #3

Open
whstudio123 opened this issue Feb 2, 2023 · 2 comments
Open

Add SDIO Support to solve the speed bottleneck #3

whstudio123 opened this issue Feb 2, 2023 · 2 comments

Comments

@whstudio123
Copy link

whstudio123 commented Feb 2, 2023

ESP32 has an SDIO slave which is quite fast , And The Pi also has an SDIO Master in its 40Pin Header.
Could we add a new experimental branch which use SDIO? I think it could solve the speed bottleneck problems.
To achieve this , we need to write an simple linux driver to just gule the CMD and block w/r to standard linux ioctl and read/write.
It seems that linux doesn‘t support userspace sdio opration.(If i am wrong ,plz tell me below.)

I also notice that there is ESP-Hosted project .Howerver they are not fully opensourced (esp side closesource) ,don't support our featuers and not for high rate.
There are some refs:
esp-hosted
esp-idf SDIO Example
sdio_linux_fpga
nysa-sdio-linux-driver

Do you like it , jeanlemotan ? Or any others like it ? Let's build this weekend project together?!

@whstudio123
Copy link
Author

BTW: As far as i know ,almost all the cards which has monitor mode doesn't meet 35Mbps dada transfer speed.
There is also a paper to compare some cards' injection rate :
Analysis of Injection Capabilities and Media Access of IEEE 802.11 Hardware in Monitor Mode
However the paper was written in 2014 and may be outdated for some new rtl and intel cards.
Anyone knows what is the speed SOTA in 2023?If they do have a poor rate .It’s time for ESP32.
The ESP32 allows us to do better ,cheaper and more freedom.

@jeanlemotan
Copy link
Owner

This is something I played with a few years ago, but honestly I don't remember the reason I abandoned it. In the end - for another project - I went with SPI as it was fast enough to keep up with the video rates I needed.
So air unit had an esp32 sending with packet injection and on the receiving side I used another esp32 connected through SPI to the PI.
Check my other repo for this, including a user-space library to drive the RX esp32: https://github.com/jeanlemotan/esp32_bridge_broadcast

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants