What's new

FlexQoS FlexQoS 1.2.4 - Flexible QoS Enhancement Script for Adaptive QoS

  • SNBForums Code of Conduct

    SNBForums is a community for everyone, no matter what their level of experience.

    Please be tolerant and patient of others, especially newcomers. We are all here to share and learn!

    The rules are simple: Be patient, be nice, be helpful or be gone!

386.1 + FQoS Dev 1.1.1 FQ_Codel working just perfect, even with gaming... can't complain
 
Installed 386.1, did a hard reset/initialize. Installed Flex_Qos, entered both 90-95% of my speeds 50/3 and I'm getting horrible bufferbloat, my grade B, D, A My upload is the issue.

EDIT: oh, Skynet was also reinstalled ... this is with the AC86U
 
Enabled developer mode. Don't see the option for fq_codel. I've rebooted several times. Gonna try a hard reboot.

EDIT: Ah, it's not in the usual place. Need to go to Flex_qos/Customize to see queue discipline.

Testing now
 
You have to A) be on the development branch and B) click 'customize' on the FlexQOS tab. That will allow the queue discipline to be checked between 'default' and 'fq_codel'.
thanks man! i didn't know about the dev branch. i'll check on how to install that.
 
Bandwidth Limiter is not part of FlexQoS.
IMG_20210203_071510.jpg
 
Forum 1000 characters limit.
I have attached debug file
Sorry for my bad english ;-)
test1.jpg
 

Attachments

  • Debug.txt
    12.8 KB · Views: 94
Running the develop branch and switched to fq_codel and getting all A+'s for bufferbloat and the lowest latency numbers (unloaded and loaded) I've ever had on fast.com. Thanks for your work on this!
 
@dave14305 Just wanted to report a possible issue with the develop branch.

I had an issue last night where the latency on gaming didn't seem right, given it had been consistently good recently. Tried to do a speedtest on cloud flare before and something didn't seem right with the test. I had a look in the syslog and noticed the info of 'htb10 work is non-conserving?' and 'htb too many events'.

Went in to SSH and used the tc -s qdisc command and found packet loss on htb10 and htb11


Used the tc qdisc command and despite having the fq_codel option selected in FlexQoS customise tab, fq_codel was not being used.

I've set it back to default and then back to fq_codel, turned off QoS and back on and haven't managed to replicate whatever happened, but it's back working again.

One thing I can say for certain, the implementation of fq_codel is clearly superior to the default!

EDIT - Fq_codel has disappeared again, I only noticed because I got the htb messages in the syslog. Hadn't rebooted this time either.
 
Last edited:
Is there a way I can hide all those DNS port #53 ??
 
@dave14305 Just wanted to report a possible issue with the develop branch.

I had an issue last night where the latency on gaming didn't seem right, given it had been consistently good recently. Tried to do a speedtest on cloud flare before and something didn't seem right with the test. I had a look in the syslog and noticed the info of 'htb10 work is non-conserving?' and 'htb too many events'.

Went in to SSH and used the tc -s qdisc command and found packet loss on htb10 and htb11


Used the tc qdisc command and despite having the fq_codel option selected in FlexQoS customise tab, fq_codel was not being used.

I've set it back to default and then back to fq_codel, turned off QoS and back on and haven't managed to replicate whatever happened, but it's back working again.

One thing I can say for certain, the implementation of fq_codel is clearly superior to the default!

EDIT - Fq_codel has disappeared again, I only noticed because I got the htb messages in the syslog. Hadn't rebooted this time either.

It seems the restart of QoS from Spdmerlin is causing the values to reset to default. Right after Spdmerlin had run, I checked tc qdisc again and it had reverted back (but fq_codel option still selected in customise tab).


Code:
Feb  3 17:15:00 spdMerlin: Starting speedtest using Virgin Media (****, United Kingdom) for WAN interface
Feb  3 17:15:23 spdMerlin: Speedtest results - Download: 491.31 Mbps (data used: 810.9 MB) - Upload: 34.96 Mbps (data used: 18.8 MB)
Feb  3 17:15:23 spdMerlin: Connection quality - Latency: 9.17 ms (6.13 ms jitter) - Packet Loss: Not available.
Feb  3 17:15:25 spdMerlin: Calculated Download speed (474888) Kbps does not exceed 5% threshold of existing value (492421.12 Kbps)
Feb  3 17:15:25 spdMerlin: Setting QoS Upload Speed to 26719 Kbps (was 31303.68 Kbps)
Feb  3 17:15:25 rc_service: service 13304:notify_rc restart_qos
Feb  3 17:15:25 custom_script: Running /jffs/scripts/service-event (args: restart qos)
Feb  3 17:15:27 kernel: Cpuidle Host Clock divider is enabled
Feb  3 17:15:29 BWDPI: fun bitmap = 83
Feb  3 17:15:29 A.QoS: qos_count=0, qos_check=0
Feb  3 17:15:32 custom_script: Running /jffs/scripts/service-event-end (args: restart qos)
Feb  3 17:15:56 kernel: CFG80211-ERROR) wl_cfg80211_change_station : WLC_SCB_AUTHORIZE sta_flags_mask not set
Feb  3 17:15:56 wlceventd: wlceventd_proc_event(534): eth7: Assoc 3A:6D:47:1A:80:04, status: Successful (0)
Feb  3 17:15:56 hostapd: eth7: STA 3a:6d:47:1a:80:04 IEEE 802.11: associated (aid 2)
Feb  3 17:15:56 kernel: CFG80211-ERROR) wl_cfg80211_change_station : WLC_SCB_AUTHORIZE sta_flags_mask not set
Feb  3 17:15:56 hostapd: eth7: STA 3a:6d:47:1a:80:04 IEEE 802.11: associated
Feb  3 17:15:56 hostapd: eth7: STA 3a:6d:47:1a:80:04 RADIUS: starting accounting session 56B5799AC30E959C
Feb  3 17:15:56 hostapd: eth7: STA 3a:6d:47:1a:80:04 WPA: pairwise key handshake completed (RSN)
Feb  3 17:15:56 dnsmasq-dhcp[7765]: DHCPREQUEST(br0) 192.168.0.159 3a:6d:47:1a:80:04
Feb  3 17:15:56 dnsmasq-dhcp[7765]: DHCPACK(br0) 192.168.0.159 3a:6d:47:1a:80:04 iPhone
Feb  3 17:15:56 kernel: CONSOLE: 139369.700 wlc_ap_authresp: status 0
Feb  3 17:15:56 kernel: CONSOLE: 139369.741 wlc_ap_authresp: status 0
Feb  3 17:15:56 kernel: CONSOLE: 139369.745 wl1: turn sta MFP setting on with sha256
Feb  3 17:15:56 kernel: CONSOLE: 139369.746 wlc_ap_process_assocreq_done status 0
Feb  3 17:15:56 kernel: CONSOLE: 139369.751 iov:SCB_DEAUTH
Feb  3 17:15:56 kernel: CONSOLE: 139369.752 tx:prep:802.1x
Feb  3 17:15:56 kernel: CONSOLE: 139369.756 tx:prep:802.1x
Feb  3 17:15:56 kernel: CONSOLE: 139369.759 wl1: wlc_rrm_recv_nrreq: Unsupported
Feb  3 17:15:56 kernel: CONSOLE: 139369.759 iov:SCB_AUTH
Feb  3 17:15:56 kernel: CONSOLE: 139369.879 wl1.0: wlc_send_bar: for 3a:6d:47:1a:80:04 seq 0x1 tid 0
Feb  3 17:15:56 kernel: CONSOLE: 139369.898 wl1.0: wlc_send_bar: for 3a:6d:47:1a:80:04 seq 0x1 tid 6
Feb  3 17:15:56 kernel: CONSOLE: 139370.224 wl1.0: wlc_send_bar: for 3a:6d:47:1a:80:04 seq 0x1 tid 3
Feb  3 17:15:57 kernel: CONSOLE: 139370.551 wl1: 3a:6d:47:1a:80:04: addba timed out 0
Feb  3 17:15:57 kernel: CONSOLE: 139370.551 wl1.0: wlc_send_bar: for 3a:6d:47:1a:80:04 seq 0x1 tid 2
Feb  3 17:15:57 kernel: CONSOLE: 139370.552 wl1.0: wlc_send_bar: for 3a:6d:47:1a:80:04 seq 0x2 tid 5
Feb  3 17:16:03 modmon: Cable modem stats successfully retrieved
Feb  3 17:16:19 kernel: CONSOLE: 139392.412 wl1.0: wlc_send_bar: for 3a:6d:47:1a:80:04 seq 0x1 tid 7
Feb  3 17:16:20 kernel: CONSOLE: 139393.667 wl1.0: wlc_send_bar: for 3a:6d:47:1a:80:04 seq 0x2 tid 1
Feb  3 17:16:21 kernel: CONSOLE: 139394.786 wl1.0: wlc_send_bar: for 3a:6d:47:1a:80:04 seq 0x1 tid 4
 
Is it possible to implement the CAKE queue discipline rather than fq_codel? From the tc-cake(8) page:
"CAKE (Common Applications Kept Enhanced) is a shaping-capable
queue discipline which uses both AQM and FQ. It combines COBALT,
which is an AQM algorithm combining Codel and BLUE, a shaper
which operates in deficit mode, and a variant of DRR++ for flow
isolation."
 
It seems the restart of QoS from Spdmerlin is causing the values to reset to default, even though the fq_codel option remains selected.


Code:
Feb  3 17:15:00 spdMerlin: Starting speedtest using Virgin Media (****, United Kingdom) for WAN interface
Feb  3 17:15:23 spdMerlin: Speedtest results - Download: 491.31 Mbps (data used: 810.9 MB) - Upload: 34.96 Mbps (data used: 18.8 MB)
Feb  3 17:15:23 spdMerlin: Connection quality - Latency: 9.17 ms (6.13 ms jitter) - Packet Loss: Not available.
Feb  3 17:15:25 spdMerlin: Calculated Download speed (474888) Kbps does not exceed 5% threshold of existing value (492421.12 Kbps)
Feb  3 17:15:25 spdMerlin: Setting QoS Upload Speed to 26719 Kbps (was 31303.68 Kbps)
Feb  3 17:15:25 rc_service: service 13304:notify_rc restart_qos
Feb  3 17:15:25 custom_script: Running /jffs/scripts/service-event (args: restart qos)
Feb  3 17:15:27 kernel: Cpuidle Host Clock divider is enabled
Feb  3 17:15:29 BWDPI: fun bitmap = 83
Feb  3 17:15:29 A.QoS: qos_count=0, qos_check=0
Feb  3 17:15:32 custom_script: Running /jffs/scripts/service-event-end (args: restart qos)
Feb  3 17:15:56 kernel: CFG80211-ERROR) wl_cfg80211_change_station : WLC_SCB_AUTHORIZE sta_flags_mask not set
Feb  3 17:15:56 wlceventd: wlceventd_proc_event(534): eth7: Assoc 3A:6D:47:1A:80:04, status: Successful (0)
Feb  3 17:15:56 hostapd: eth7: STA 3a:6d:47:1a:80:04 IEEE 802.11: associated (aid 2)
Feb  3 17:15:56 kernel: CFG80211-ERROR) wl_cfg80211_change_station : WLC_SCB_AUTHORIZE sta_flags_mask not set
Feb  3 17:15:56 hostapd: eth7: STA 3a:6d:47:1a:80:04 IEEE 802.11: associated
Feb  3 17:15:56 hostapd: eth7: STA 3a:6d:47:1a:80:04 RADIUS: starting accounting session 56B5799AC30E959C
Feb  3 17:15:56 hostapd: eth7: STA 3a:6d:47:1a:80:04 WPA: pairwise key handshake completed (RSN)
Feb  3 17:15:56 dnsmasq-dhcp[7765]: DHCPREQUEST(br0) 192.168.0.159 3a:6d:47:1a:80:04
Feb  3 17:15:56 dnsmasq-dhcp[7765]: DHCPACK(br0) 192.168.0.159 3a:6d:47:1a:80:04 iPhone
Feb  3 17:15:56 kernel: CONSOLE: 139369.700 wlc_ap_authresp: status 0
Feb  3 17:15:56 kernel: CONSOLE: 139369.741 wlc_ap_authresp: status 0
Feb  3 17:15:56 kernel: CONSOLE: 139369.745 wl1: turn sta MFP setting on with sha256
Feb  3 17:15:56 kernel: CONSOLE: 139369.746 wlc_ap_process_assocreq_done status 0
Feb  3 17:15:56 kernel: CONSOLE: 139369.751 iov:SCB_DEAUTH
Feb  3 17:15:56 kernel: CONSOLE: 139369.752 tx:prep:802.1x
Feb  3 17:15:56 kernel: CONSOLE: 139369.756 tx:prep:802.1x
Feb  3 17:15:56 kernel: CONSOLE: 139369.759 wl1: wlc_rrm_recv_nrreq: Unsupported
Feb  3 17:15:56 kernel: CONSOLE: 139369.759 iov:SCB_AUTH
Feb  3 17:15:56 kernel: CONSOLE: 139369.879 wl1.0: wlc_send_bar: for 3a:6d:47:1a:80:04 seq 0x1 tid 0
Feb  3 17:15:56 kernel: CONSOLE: 139369.898 wl1.0: wlc_send_bar: for 3a:6d:47:1a:80:04 seq 0x1 tid 6
Feb  3 17:15:56 kernel: CONSOLE: 139370.224 wl1.0: wlc_send_bar: for 3a:6d:47:1a:80:04 seq 0x1 tid 3
Feb  3 17:15:57 kernel: CONSOLE: 139370.551 wl1: 3a:6d:47:1a:80:04: addba timed out 0
Feb  3 17:15:57 kernel: CONSOLE: 139370.551 wl1.0: wlc_send_bar: for 3a:6d:47:1a:80:04 seq 0x1 tid 2
Feb  3 17:15:57 kernel: CONSOLE: 139370.552 wl1.0: wlc_send_bar: for 3a:6d:47:1a:80:04 seq 0x2 tid 5
Feb  3 17:16:03 modmon: Cable modem stats successfully retrieved
Feb  3 17:16:19 kernel: CONSOLE: 139392.412 wl1.0: wlc_send_bar: for 3a:6d:47:1a:80:04 seq 0x1 tid 7
Feb  3 17:16:20 kernel: CONSOLE: 139393.667 wl1.0: wlc_send_bar: for 3a:6d:47:1a:80:04 seq 0x2 tid 1
Feb  3 17:16:21 kernel: CONSOLE: 139394.786 wl1.0: wlc_send_bar: for 3a:6d:47:1a:80:04 seq 0x1 tid 4
Makes sense since I’ve changed the logic in develop so I only startup FlexQoS during a firewall restart due to incompatibility with VPN clients otherwise. Run service restart_firewall while we wait for Jack’s next round of updates to spdMerlin. Or hack it into your local copy of spdMerlin if you’re daring.

EDIT: change service restart_qos to service "restart_qos;restart_firewall" at this point in the script if you want to:
 
Last edited:
Is it possible to implement the CAKE queue discipline rather than fq_codel? From the tc-cake(8) page:
"CAKE (Common Applications Kept Enhanced) is a shaping-capable
queue discipline which uses both AQM and FQ. It combines COBALT,
which is an AQM algorithm combining Codel and BLUE, a shaper
which operates in deficit mode, and a variant of DRR++ for flow
isolation."
I don’t think it makes a lot of sense in this scenario because by the time traffic would reach the qdisc, it’s already segregated by application categories. At that point I feel it’d be no better than fq_codel. I don’t see many people using htb+cake out there.
 
Makes sense since I’ve changed the logic in develop so I only startup FlexQoS during a firewall restart due to incompatibility with VPN clients otherwise. Run service restart_firewall while we wait for Jack’s next round of updates to spdMerlin. Or hack it into your local copy of spdMerlin if you’re daring.

EDIT: change service restart_qos to service "restart_qos;restart_firewall" at this point in the script if you want to:
I'm keen to learn and will have a stab at anything, but I wouldn't know where to start with editing the file.

What does the restart_firewall do in relation to the issue and how/where do I execute the command?
 

Latest threads

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!
Top