-
Notifications
You must be signed in to change notification settings - Fork 75
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
latest code(9610792) no video on RPI Window #22
Comments
two wifi cards, still nothing.
|
Much more stable with 4.3 (56ee43ec5ea813809fc1a9da1cc644559b4ea975) still no video.
NOT stable with 4.4 (9ee3c8337d3c4f7914f62527e7f7c78d7167be95 ) still no video.
|
OK, might be RF signal issue. Just focused on black screen issue. Any idea?
|
I struggled with these codes all day and I have some new findings: When gl_flush() in PI_HAL.cpp is turned on, it can "work normally". Then I read the code of the official demo of imgui and our code line by line. Are there any bugs nearby? (Because I noticed there are some location differences with the official demo) BTW:In order to facilitate debugging and modification, I changed it to window mode.The program can only transmit at very low resolution and frame rate.Anyone know why?I guess there is something about the maxrate of monitor mode of my card.Now with tcpdump,i can see esp32 sending,but all the rate is 1.0Mbps.(But according to our code , the rate is 54Mbps.)I also curious about how a 1.0Mbps card could recieve the 54Mbps packet? |
The good news is that there is an image with glFlush(), although not 30 FPS at 800x600. :) session004_segment000.mp4 |
And I found that the card type is soooo important. Because i setup two different cards in two computers and tcpdump them .One is RTL8812AU (TP-LINK T4U).The other is EDUP EP-N8508GS. |
Well, That's @jeanlemotan 's test video. I have the same video quality as you do. |
You need to install a special driver for these RTL chipsets. For example https://github.com/morrownr/8812au or https://github.com/aircrack-ng/rtl8812au The in-kernel driver barely works. |
Actually,i do have installed a special driver.And i have some progress now .However it is not for this issue.I will open another issue if we wanna to share and interact. |
We need to back to the gl_flush() code and the window fresh process. Why could this magic happen?(I am a beginner to opengl and imgui.) |
How about following wifi card?It has monitor mode, but I'm NOT sure if it'll casue performance issue? 08:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 03) Actually: daniel@daniel-ThinkPad-SL410:~/Work/inav$ lspci |grep Realtek
08:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 03)
$ lsmod |grep rtl
rtl8xxxu 151552 0
rtl8192cu 110592 0
rtl_usb 20480 1 rtl8192cu
rtl8192c_common 81920 1 rtl8192cu
rtlwifi 114688 3 rtl8192c_common,rtl_usb,rtl8192cu
mac80211 1249280 5 iwldvm,rtl_usb,rtl8192cu,rtlwifi,rtl8xxxu
btrtl 24576 1 btusb
bluetooth 688128 27 btrtl,btintel,btbcm,bnep,btusb,rfcomm
cfg80211 970752 5 iwldvm,rtlwifi,iwlwifi,mac80211,rtl8xxxu
$ dmesg |tail
[19061.302086] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[19061.302091] usb 2-2: Product: 802.11n WLAN Adapter
[19061.302096] usb 2-2: Manufacturer: Realtek
[19061.302100] usb 2-2: SerialNumber: 00e04c000001
[19061.302788] rtl8192cu: Chip version 0x10
[19061.379285] rtl8192cu: Board Type 0
[19061.379534] rtl_usb: rx_max_size 15360, rx_urb_num 8, in_ep 1
[19061.379579] rtl8192cu: Loading firmware rtlwifi/rtl8192cufw_TMSC.bin
[19061.379626] ieee80211 phy2: Selected rate control algorithm 'rtl_rc'
[19061.600418] rtl8192cu 2-2:1.0 wlx14cf920bea04: renamed from wlan0 |
Hello ! |
NO |
No, I can't move the slides either. |
New progress. Now i get about 10fps with low but affordable (for me) video. First,tcpdump do shows the real data rate. That means when it shows 1.0Mbps .The packet is 1.0Mbps modulation. To get affordable video, you must increase data rate.( I increased them to 24Mbps) Must double check them. Second,the maximum data rate do has a relationship with card type and driver. Make an experiment for example, my EDUP card can only allow 1.0Mbps monitor. So when i send 24Mbps packet , The card still shows other packets in 1.0Mbps and capture nothing of my 24Mbps packet. Third,data rate is NOT higher is better because it maybe over the card maximum monitor rate.I make another experiment to explain this. My t4u card could receive 54Mbps esp32 packets but it drops some packets.When it comes to 24Mbps ,it works well.And i learned from a paper that monitor speed is almost all quite low . Card above 20Mbps is a quite good card for monitor.( If anyone find some cards which have a super fast injection rate (above 30Mbit data per second ) pls tell me.) The rate adjustment API in air_firmware may have bugs. I change IDF version , write something hardcoded and successfully adjust rate( can be really seen and dump in 24Mbps). Things get better step by step. I will post some procedures after I entirely figure out the api .:) |
I am going to work on those issues today, can you share some of your progress ? (especially where you changed the data rate in the air firmware). |
I will make an detail experiment about the api in two hours, double check and post the result. |
The experiment comes.I use IDF-4.4.3. use esp_wifi_config_80211_tx_rate() API: The result: IDF-4.4.1 and below says: I also find something in ESP-FAQ about the internal api: So, Maybe ESP-FAQ is a little bit of confusing."To set and fix the Wi-Fi sending rate" may only just about "wifi"(we normally heared from) but not 802.11 raw packet. |
Hummm.... @jeanlemotan 's video use esp-idf-v4.3-beta1. It seems IDF version depends. Anyway, it has been made a great progress :) |
Yes.In todays' v4.3.1 doc ,rate adjustment is officially not support. |
whstudio123, can you try
My memory might be wrong. I thought that the bitrate was adjusted automatically. But I could not find the code in main.cpp. |
All right,i will try it now. |
interesting. It seems to work without changes then. Still don't understand why it did not work in my own software. maybe there is a hidden firmware difference between ESP32 and ESP32-S3 too |
Maybe.I am using ESP32. |
Finally I managed to get some free time and compile the GS & Air firmware and test. As for the GS, I didn't get anything rendered except for the imgui window borders. I tested in X11 and there is clearly an issue with the rendering, but I'll have to debug tomorrow more. It should be trivial to fix though. |
Yes.DO NOT DEL the sdkconfg !!!! There are serval settings especially about IRAM and wifi stacks. |
Actually, I didn't find anything special between sdkconfig(auto generated) and git version. If this project is truely sensitvie to some default settings, please try "sdkconfig.defaults" |
My bad, I messed up the initial commit. Fixed in 29fd749 |
latest code(9610792)+ ESP_IDF 4.3 beta 1 + AI Thinker Module (2MB PSRAM)==> build OK
latest code(9610792)+ RPI 3B+ minor OPENGL 2.0 and on wlan1 for TxRx ==> build OK
no video on RPI Window, all black. It seems that ESP32 didn't send any data packet out. Any idea about this?
GS log
WLAN1 channel is 11, which is the same as esp32. And tcpdump, there is data monitored.
The text was updated successfully, but these errors were encountered: