FlexQoS FlexQoS 1.2.4 - Flexible QoS Enhancement Script for Adaptive QoS

  • ATTENTION! You'll notice a Prefix dropdown when you create a thread. If your post applies to one of the topics listed, please use that Prefix for your post. When browsing the thread list you can use the Prefix to filter the view.
  • ATTENTION! As of November 1, 2020, you are not able to reply to threads 6 months after the thread is opened if there are more than 500 posts in the thread.
    Threads will not be locked, so posts may still be edited by their authors.
    Just start a new thread on the topic to post if you get an error message when trying to reply to a thread.

sentinelvdx

Very Senior Member
386.1 + FQoS Dev 1.1.1 FQ_Codel working just perfect, even with gaming... can't complain
 

randomName

Very Senior Member
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
 

randomName

Very Senior Member
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
 

kapekohicafe

Occasional Visitor
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.
 

BoostOver

Occasional Visitor
Bandwidth Limiter is not part of FlexQoS.
IMG_20210203_071510.jpg
 

dave14305

Part of the Furniture

kapekohicafe

Occasional Visitor

BoostOver

Occasional Visitor
Forum 1000 characters limit.
I have attached debug file
Sorry for my bad english ;-)
test1.jpg
 

Attachments

  • Debug.txt
    12.8 KB · Views: 20

bluzfanmr1

Senior Member
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!
 

DanNuke86

Regular Contributor
@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:

New2This

Senior Member
Is there a way I can hide all those DNS port #53 ??
 

DanNuke86

Regular Contributor
@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
 

randomName

Very Senior Member
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."
 

dave14305

Part of the Furniture
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:

dave14305

Part of the Furniture
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.
 

DanNuke86

Regular Contributor
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?
 

Similar threads

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