-
Notifications
You must be signed in to change notification settings - Fork 103
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
WiFi Radio Optimizations #54
Comments
Nice -- do you have any before and after results to share? E.g. any noticeable improvements? |
Not yet, I am still testing a few more things to try and figure out what causes the intermittent audio breakouts before I change these. It could be related, but I am not entirely convinced that this is the root cause. |
What's the original hostapd.conf? I still believe the USB to be the bottleneck in terms of bandwidth... |
OK, found original hostapd.conf:
|
Just some additional info on 802.11n vs. 802.11ac. On the Carlinkit/CPLAY2air dongles, we have a 2x2 antenna configuration. On 40MHz wide channels, this means up to 300mbps on N and 400mbps on AC (net speed is around half of that). For 80MHz wide channels, |
Have you tested these changes on the device yet? I'm willing to do it on a dev dongle I have, but want to make sure it doesn't brick the unit due to WiFi not working after making the modifications. |
I am not on a custom FW. I am just familiar with Wi-Fi and hostapd. Replacing hostapd.conf shouldn't be much of a problem though when using custom FW. It can be done via USB stick and U2W.sh. If the config doesn't work, the original hostapd.conf can be restored. |
@CiNcH83 can you look over the following and check if it looks good to you? Just want to make sure I'm not missing anything from the discussion above 😀
|
Yup -- looks good to me... however @CiNcH83 & @hassankhan, I can try it out on my dev Carlinkit 2 dongle running latest CFW if you'd like. |
Here are some changes and additions from my side:
The |
It looks like Realtek isn't really a good choice for a Linux AP, see here. hostapd-rtl871xdrv seems to be really old sh** which probably doesn't allow for AC/VHT. That's probably why Carlinkit is considering switching to Broadcom. There are however also newer nl80211 based drivers around for RTL8822BS. |
@dmavromatis Awesome, please do post back if it works, definitely would be interesting if there is a noticeable improvement. |
I just realized that they are trying to enable 802.11ac and WMM for BCM4354 based models:
So they might be abandoning Realtek because of the bad Linux soft AP driver. |
Did anyone get chance to test this out? Device works fairly well but any improvement on latency particularly phone calls would be most welcome! |
Seems hostapd compiled without AC support: |
Can it be replaced when using the original firmware? I have a Carlinkit A2A (AndroidAuto) dongle and I need to change the default 5Ghz wifi channel because at channel 36 I get occasional stuttering especially in highly populated areas. Carlinkit support also confirmed that's the issue but their way of changing the wifi channel did not work. They told me to flash the firmware with a file named default_wifi_channel and the channel number inside, but that doesn't work the device gets flashed but the channel stays at 36. So I am trying to unpack the img file to change this setting directly on the firmware. But can't figure out how, the img file cannot be mounted or extracted, it shows a "corrputed file" error. What am I missing? |
Several WiFi optimizations can be done to relieve some of the performance issues due to interference or lack of bandwidth.
According to Apple's development notes, 5GHz 802.11ac is recommended for wireless CarPlay:
https://developer.apple.com/videos/play/wwdc2017/717
The transceiver contained in this module is 802.11ac compliant, and is more than capable of doing it. Security is also that we should be able to modify by using WPA2-AES instead of WPA.
/etc/hostapd.conf contains a fairly basic config, I recommend the following changes:
driver=rtl871xdrv
ieee80211ac=1
hw_mode=a
channel=36
beacon_int=100
dtim_period=1
wmm_enabled=1
wmm_ac_bk_cwmin=4
wmm_ac_bk_cwmax=10
wmm_ac_bk_aifs=7
wmm_ac_bk_txop_limit=0
wmm_ac_bk_acm=0
wmm_ac_be_aifs=3
wmm_ac_be_cwmin=4
wmm_ac_be_cwmax=10
wmm_ac_be_txop_limit=0
wmm_ac_be_acm=0
wmm_ac_vi_aifs=2
wmm_ac_vi_cwmin=3
wmm_ac_vi_cwmax=4
wmm_ac_vi_txop_limit=94
wmm_ac_vi_acm=0
wmm_ac_vo_aifs=2
wmm_ac_vo_cwmin=2
wmm_ac_vo_cwmax=3
wmm_ac_vo_txop_limit=47
wmm_ac_vo_acm=0
The WMM parameters may need a bit more work, but WMM is required for a working AC configuration.
The text was updated successfully, but these errors were encountered: