Is there something wrong with my network ? online games unplayable

According to https://www.reddit.com/r/openwrt/comments/oe43kb/tplink_archer_c7_v2_openwrt_nat_sqm_offloading/ and the requirement of just a 80mbps connection, using SQM on Archer C7 should be fine.

BTW, @isslam unless some other people tells you that the software offloading bug is fixed, do not enable software offloading.

1 Like

Exactly use c7 with sqm and not hwo or sfo

I did not see any bug report about hardware offloading, so you can try it. What I discussed is software offloading anyway.

The others who contributed to this thread should be more qualified than me to discuss the details anyway.

I say that because sfo hwo not fully compatible with qos

In vdsl2 you have need qos simply

Software flow offload works with SQM enabled.

Hardware flow offload ignores the SQM settings.

If you're using IPv6, hardware flow offloading can cause unstable connections.

1 Like

the fastest connection is vdsl2 and fast test without sqm gave me these result

and i set the sqm to 85% of this result

and waveform bufferbloat test with sqm

Did that improve your gaming issue?

no, the g.dmt connection is little better than vdsl2

That seriously points to upstream carrier issues on your vdsl service.

Report it to your isp or change providers

Does your modem give error stats?

1 Like

now i know it has nothing to do with openwrt, it's modem matter, does anyone knows a tool to monitor dsl connection ?

That depends a bit of the modem (i.e. broadcom or infineon/lantiq/intel/maxlinear) and the modem's operating system. Here are a few I tried more or less successfully in the past:

  1. DSLStats: http://dslstats.me.uk; for Linux, Windows, Raspian; Broadcom only
  2. Go-DSL: https://github.com/janh/go-dsl; for anything that allows go, tested on Linux, Macos; Broadcom & Lantiq & MediaTek
  3. DSL-Modemtool (DMT): https://www.heise.de/download/product/dsl-modem-tool-dmt-56562; Windows only, application in German; tested under wine on Macos; no idea which SoCs are supported (Project has beed abandoned ages ago)
  4. lantiq_dsl_parser : https://github.com/moeller0/lantiq_dsl_parser; Matlab/Octave code to extract data from OpenWrt lantiq modems; not a real monitoring solution.
  5. openwrt-collectd-exec-dslstats: https://github.com/sqrwf/openwrt-collectd-exec-dslstats; OpenWrt; lantiq only?

Personally I have used 1) and @takimata's great collectd scripts (5)) for OpenWrt in recent years, supplemented with an occasional run of 4) to see SNR and bitloading spectra (but I switched to 2 for that purpose, faster and better maintained). But honestly with @janh's recent fixes for vdsl-vectoring my xrx200 modem got so stable that I rarely look at the stats anymore :wink: (I still record some monitoring data with 5) for post-hoc analysis should problem crop up again).

EDIT: fixed (and tested) links, thanks to @janh for noticing that they original links failed.

2 Likes

i will try all of them my modem with open telnet is zte H168n i think is broadcom

do you know how i can tweak DSL connection using These commands

usage: wan hwdmt afe set txfc <value> 
usage: wan hwdmt afe set vld <BIAS> <CPP> <CPN>
usage: wan hwdmt afe set vld <REG> <DATA>
usage: wan hwdmt afe set ldv_gain <value: 0/6/12
usage: wan hwdmt afe set rxlpf 0(Bypass)/1(8M)/2(4M)/3(2M)
usage: wan hwdmt afe set rxlpf 0(27M)/1(17M)/2(8.5M)
usage: wan hwdmt afe set rxgain  1(ADSL Mode)  <eclna_atten> <eclna_gain> <lnhpf_gain> <aaf_gain> <sf_onoff> <hpf bypass>
usage: wan hwdmt afe set rxgain  2(VDSL Mode)  <lna_atten> <lna_gain> <aaf_atten> <aaf_gain>
usage: wan hwdmt afe set rxgain  value(value not 1 and 2 means cancel rxgain setting) !
usage: wan hwdmt afe set txgain <value: 0~7>. Correspond value[-12 -6 -2 -1 0 1 2 3] 
usage: wan hwdmt afe set iampgain <value N(0~4) G1(1~4) G2(1~6) G3(1~6)>
usage: wan hwdmt afe set iampgain N <value 0~4>)
usage: wan hwdmt afe set iampgain G1 <value 1~4>)
usage: wan hwdmt afe set iampgain G2 <value 1~6>)
usage: wan hwdmt afe set iampgain G3 <value 1~6>)
#####################################################
w tcif set int [period] 
wan tcif set ctlab [on|off] 
wan tcif set lb_mode [fltr_lb|afe_lb]
wan tcif set g.vector [on|off] 
w tcif set sef <on> <0~100>
w tcif set sef <on/off> <0~100>
wan tcif set hw_board [A|B]
wan tcif set ginp [on|off] 
wan tcif set LEMstatus [on|off] 
wan tcif set psdtest [on|off] 
w tcif set afeedge [edge_value] 
w tcif set ginp param 
###################################
usage: wan vdsl2 set olr_timing [timing][sos_x][sos_y][sos_z]
usage: wan vdsl2 set ginp_sra [on/off/go]
usage: wan vdsl2 set ginp_sos [go/off]
usage: wan vdsl2 set gsd [value]
new gvt_sync_offset = %d
usage: wan vdsl2 set gso [value]
usage: wan vdsl2 set gvt_mode [value]
usage: wan vdsl2 set hrt_delay [tx sym] [tx dtu] [rx sym] [rx dtu]
usage: wan vdsl2 set sync_sym [val]
usage: wan vdsl2 set ginp_test [on|off]
usage: wan vdsl2 set tr115 [on|off]
usage: wan vdsl2 set cd_us_band_adj [on|off|auto]
usage: wan vdsl2 set ds_est_new [on|off]
usage: wan vdsl2 set ds_est_new min [x] ,X = (0.1 * x) dB 
usage: wan vdsl2 set ds_est_new adsl [y], Y = (1/1000 * y) 
usage: wan vdsl2 set ds_est_new echo [z], Z = z dB(>=0) 
usage: wan vdsl2 set cd_us_comp_value [value]
usage: wan vdsl2 set usbp_check [on|off]
usage: wan vdsl2 set kikp [0~13][0~11]
usage: wan vdsl2 set rtslog_from [rtslog_state_from]
usage: wan vdsl2 set v_noise [on|off]
usage: w vdsl2 set pilot tone [num: 1|2|3|4] [tone1]...
usage: w vdsl2 set pilot band [idx: 0|1|2|3] [start] [stop]
usage: w vdsl2 set pilot method [method: 0|1|2|3|4|5]
usage: w vdsl2 set pilot start [on|off]
usage: wan vdsl2 set tx_cp_len [val]
new_tx_comp_offset = %2d,%2d
usage: wan vdsl2 set tx_comp on/off 
usage: wan vdsl2 tx_comp offsetrelay_tone_psd_comp_offset_non_upbo relay_tone_psd_comp_offset_upbo
usage: wan vdsl2 set txgain_deploy [0|1|2]
usage: wan vdsl2 set txpsd_drop_check [on|off]
usage: wan vdsl2 set txpsd_drop_limit [val]
usage: wan vdsl2 set txpwr_diff [val]
usage: wan vdsl2 set txpwr_limit [on/off] [value/none] 
usage: wan vdsl2 set mode_select [on|off]
usage: wan vdsl2 set rxpcb [on|off][rxpcb_mask]
new detect_tone_offset = %d 
usage: wan vdsl2 set detect_tone_offset [detect_tone_offset] 
usage: wan vdsl2 set ds_tone [ds_lowest_tone] [ds_highest_tone] 
usage: wan vdsl2 set us_tone [us_lowest_tone] [us_highest_tone] 
usage: wan vdsl2 set tx_pcb [on|off] [pcb_mask]
usage: wan vdsl2 set rfi_cancel [on|off]
usage: wan vdsl2 set rx_win [on/off]
usage: wan vdsl2 set tx_win [on/off][win_len]
usage: wan vdsl2 set rxfltr_gain [val]
usage: wan vdsl2 set rxfltr_ref [val]
new ta_offset = %d 
usage: wan vdsl2 set ta_offset [val]
usage: wan vdsl2 set byte_med[R_MED 1|2][O_MED 1|2]
usage: wan vdsl2 set kl0 [val:0~1280]
new kl0_calc_offset = %d 
usage: wan vdsl2 set kl0_offset [val]
usage: wan vdsl2 set kl0_method [0|1]
usage: wan vdsl2 set upbo [on|off]
usage: wan vdsl2 set rx_blackout 0 : ds blackout off
wan vdsl2 set rx_blackout [blackout_num][start_t1][stop_t1]...
usage: wan vdsl2 set teq_fir_coeff [a2] [a3] [a4]
usage: wan vdsl2 set rx_fltr_type [fltr_for_cd_phase] [fltr_for_training_phase] 
usage: wan vdsl2 set tx_fltr_type [fltr_for_cd_phase] [fltr_for_training_phase] 
new_tx_gain_offset = %lx
usage: wan vdsl2 set tx_fltr_gain [tx_fltr_gain] [tx_fltr_dout_scale] [tx_upshift_bit]
new_tx_gain_offset = %d
usage: wan vdsl2 set tx_gain_offset [value]
usage: wan vdsl2 set st_period [period(sec)]
usage: wan vdsl2 set st_task [on/off]
usage: wan vdsl2 set st_dbg [on/off/olr]
usage: wan vdsl2 set tpstc_type [0(ptm only)/1(ptm+atm)]
usage: wan vdsl2 set gvector [1|2]
usage: wan vdsl2 set amd [0|1|2|3]
usage: wan vdsl2 set sync_check [on/off]
usage: wan vdsl2 set one_bit [on|off]
usage: wan vdsl2 set st_target_snrm [snrm]
usage: wan vdsl2 set target_snrm [snrm_dB]
usage: wan vdsl2 set manual_pms [on|off]
new roc_inp_min = %d (symbols) roc_snrm_offset = %d (dB*512)
usage: wan vdsl2 set inp_snrm_roc [inp_min(symbol)] [snrm_offset(dB)]
usage: wan vdsl2 set roc [on/off]
usage: wan vdsl2 set dual_lp [on|off]
usage: wan vdsl2 set fake_pms [on|off]
usage: wan vdsl2 set search_time_pms [time (# symbols)]
usage: wan vdsl2 set rscg_pms [on|off]
usage: wan vdsl2 set largedelay_pms [on|off]
usage: wan vdsl2 set inpdelay_pms [inp_min0] [inp_min1] [delay_max0] [delay_max1]
usage: wan vdsl2 set ndr_pms [msg_min] [ndr_min0] [ndr_min1] [ndr_max0] [ndr_max1]
usage: wan vdsl2 set ins_inp [on/off]
new ins/inp (init = %s)(st = %s)(offset = %d)
usage: wan vdsl2 set sos [on/off/go]
usage: wan vdsl2 set sra_trans_method [0(non-seg)/1(seg)]
usage: wan vdsl2 set sra_l_target off/[bits]
usage: wan vdsl2 set sra_step [on|off]
usage: wan vdsl2 set sra [on|off]
usage: wan vdsl2 set bs_param [snrm] [trigger] [scan_tone_num] [wait_cnt] [scan_start_idx] [scan_end_idx]
usage: wan vdsl2 set bs_1bit_change [on|off]
usage: wan vdsl2 set autobs [on|off]
usage: wan vdsl2 set bs_tx [on|off]
usage: wan vdsl2 set bs [on|off]
usage: wan vdsl2 set mgcnt_ovhd_test [on|off]
usage: wan vdsl2 set agc_vref [val1] [val2] [val3] [val4]
usage: wan vdsl2 set tcm [on|off]
#############################################

unfortunately i can't monitor with these programs

Sorry no idea, far outside of my personal cone of experience.

1 Like

Did you try my tool, as it should work with MediaTek devices (and it looks like this is one)? It is the second one in the list by @moeller0 above (but the semicolon at the end of the URL needs to be removed). If it doesn't work, you can open an issue on GitHub.

2 Likes

i tired, it give me an error no prompt detected my router support these commands

i noticed major improvement when i used this command on my modem

wan vdsl2 set us_tone -80000  1404
wan vdsl2 set ds_tone -80000  1404

does anyone knows another commands from this list that can improve connection:

usage: wan hwdmt afe set txfc <value> 
usage: wan hwdmt afe set vld <BIAS> <CPP> <CPN>
usage: wan hwdmt afe set vld <REG> <DATA>
usage: wan hwdmt afe set ldv_gain <value: 0/6/12
usage: wan hwdmt afe set rxlpf 0(Bypass)/1(8M)/2(4M)/3(2M)
usage: wan hwdmt afe set rxlpf 0(27M)/1(17M)/2(8.5M)
usage: wan hwdmt afe set rxgain  1(ADSL Mode)  <eclna_atten> <eclna_gain> <lnhpf_gain> <aaf_gain> <sf_onoff> <hpf bypass>
usage: wan hwdmt afe set rxgain  2(VDSL Mode)  <lna_atten> <lna_gain> <aaf_atten> <aaf_gain>
usage: wan hwdmt afe set rxgain  value(value not 1 and 2 means cancel rxgain setting) !
usage: wan hwdmt afe set txgain <value: 0~7>. Correspond value[-12 -6 -2 -1 0 1 2 3] 
usage: wan hwdmt afe set iampgain <value N(0~4) G1(1~4) G2(1~6) G3(1~6)>
usage: wan hwdmt afe set iampgain N <value 0~4>)
usage: wan hwdmt afe set iampgain G1 <value 1~4>)
usage: wan hwdmt afe set iampgain G2 <value 1~6>)
usage: wan hwdmt afe set iampgain G3 <value 1~6>)
#####################################################
w tcif set int [period] 
wan tcif set ctlab [on|off] 
wan tcif set lb_mode [fltr_lb|afe_lb]
wan tcif set g.vector [on|off] 
w tcif set sef <on> <0~100>
w tcif set sef <on/off> <0~100>
wan tcif set hw_board [A|B]
wan tcif set ginp [on|off] 
wan tcif set LEMstatus [on|off] 
wan tcif set psdtest [on|off] 
w tcif set afeedge [edge_value] 
w tcif set ginp param 
###################################
usage: wan vdsl2 set olr_timing [timing][sos_x][sos_y][sos_z]
usage: wan vdsl2 set ginp_sra [on/off/go]
usage: wan vdsl2 set ginp_sos [go/off]
usage: wan vdsl2 set gsd [value]
new gvt_sync_offset = %d
usage: wan vdsl2 set gso [value]
usage: wan vdsl2 set gvt_mode [value]
usage: wan vdsl2 set hrt_delay [tx sym] [tx dtu] [rx sym] [rx dtu]
usage: wan vdsl2 set sync_sym [val]
usage: wan vdsl2 set ginp_test [on|off]
usage: wan vdsl2 set tr115 [on|off]
usage: wan vdsl2 set cd_us_band_adj [on|off|auto]
usage: wan vdsl2 set ds_est_new [on|off]
usage: wan vdsl2 set ds_est_new min [x] ,X = (0.1 * x) dB 
usage: wan vdsl2 set ds_est_new adsl [y], Y = (1/1000 * y) 
usage: wan vdsl2 set ds_est_new echo [z], Z = z dB(>=0) 
usage: wan vdsl2 set cd_us_comp_value [value]
usage: wan vdsl2 set usbp_check [on|off]
usage: wan vdsl2 set kikp [0~13][0~11]
usage: wan vdsl2 set rtslog_from [rtslog_state_from]
usage: wan vdsl2 set v_noise [on|off]
usage: w vdsl2 set pilot tone [num: 1|2|3|4] [tone1]...
usage: w vdsl2 set pilot band [idx: 0|1|2|3] [start] [stop]
usage: w vdsl2 set pilot method [method: 0|1|2|3|4|5]
usage: w vdsl2 set pilot start [on|off]
usage: wan vdsl2 set tx_cp_len [val]
new_tx_comp_offset = %2d,%2d
usage: wan vdsl2 set tx_comp on/off 
usage: wan vdsl2 tx_comp offsetrelay_tone_psd_comp_offset_non_upbo relay_tone_psd_comp_offset_upbo
usage: wan vdsl2 set txgain_deploy [0|1|2]
usage: wan vdsl2 set txpsd_drop_check [on|off]
usage: wan vdsl2 set txpsd_drop_limit [val]
usage: wan vdsl2 set txpwr_diff [val]
usage: wan vdsl2 set txpwr_limit [on/off] [value/none] 
usage: wan vdsl2 set mode_select [on|off]
usage: wan vdsl2 set rxpcb [on|off][rxpcb_mask]
new detect_tone_offset = %d 
usage: wan vdsl2 set detect_tone_offset [detect_tone_offset] 
usage: wan vdsl2 set ds_tone [ds_lowest_tone] [ds_highest_tone] 
usage: wan vdsl2 set us_tone [us_lowest_tone] [us_highest_tone] 
usage: wan vdsl2 set tx_pcb [on|off] [pcb_mask]
usage: wan vdsl2 set rfi_cancel [on|off]
usage: wan vdsl2 set rx_win [on/off]
usage: wan vdsl2 set tx_win [on/off][win_len]
usage: wan vdsl2 set rxfltr_gain [val]
usage: wan vdsl2 set rxfltr_ref [val]
new ta_offset = %d 
usage: wan vdsl2 set ta_offset [val]
usage: wan vdsl2 set byte_med[R_MED 1|2][O_MED 1|2]
usage: wan vdsl2 set kl0 [val:0~1280]
new kl0_calc_offset = %d 
usage: wan vdsl2 set kl0_offset [val]
usage: wan vdsl2 set kl0_method [0|1]
usage: wan vdsl2 set upbo [on|off]
usage: wan vdsl2 set rx_blackout 0 : ds blackout off
wan vdsl2 set rx_blackout [blackout_num][start_t1][stop_t1]...
usage: wan vdsl2 set teq_fir_coeff [a2] [a3] [a4]
usage: wan vdsl2 set rx_fltr_type [fltr_for_cd_phase] [fltr_for_training_phase] 
usage: wan vdsl2 set tx_fltr_type [fltr_for_cd_phase] [fltr_for_training_phase] 
new_tx_gain_offset = %lx
usage: wan vdsl2 set tx_fltr_gain [tx_fltr_gain] [tx_fltr_dout_scale] [tx_upshift_bit]
new_tx_gain_offset = %d
usage: wan vdsl2 set tx_gain_offset [value]
usage: wan vdsl2 set st_period [period(sec)]
usage: wan vdsl2 set st_task [on/off]
usage: wan vdsl2 set st_dbg [on/off/olr]
usage: wan vdsl2 set tpstc_type [0(ptm only)/1(ptm+atm)]
usage: wan vdsl2 set gvector [1|2]
usage: wan vdsl2 set amd [0|1|2|3]
usage: wan vdsl2 set sync_check [on/off]
usage: wan vdsl2 set one_bit [on|off]
usage: wan vdsl2 set st_target_snrm [snrm]
usage: wan vdsl2 set target_snrm [snrm_dB]
usage: wan vdsl2 set manual_pms [on|off]
new roc_inp_min = %d (symbols) roc_snrm_offset = %d (dB*512)
usage: wan vdsl2 set inp_snrm_roc [inp_min(symbol)] [snrm_offset(dB)]
usage: wan vdsl2 set roc [on/off]
usage: wan vdsl2 set dual_lp [on|off]
usage: wan vdsl2 set fake_pms [on|off]
usage: wan vdsl2 set search_time_pms [time (# symbols)]
usage: wan vdsl2 set rscg_pms [on|off]
usage: wan vdsl2 set largedelay_pms [on|off]
usage: wan vdsl2 set inpdelay_pms [inp_min0] [inp_min1] [delay_max0] [delay_max1]
usage: wan vdsl2 set ndr_pms [msg_min] [ndr_min0] [ndr_min1] [ndr_max0] [ndr_max1]
usage: wan vdsl2 set ins_inp [on/off]
new ins/inp (init = %s)(st = %s)(offset = %d)
usage: wan vdsl2 set sos [on/off/go]
usage: wan vdsl2 set sra_trans_method [0(non-seg)/1(seg)]
usage: wan vdsl2 set sra_l_target off/[bits]
usage: wan vdsl2 set sra_step [on|off]
usage: wan vdsl2 set sra [on|off]
usage: wan vdsl2 set bs_param [snrm] [trigger] [scan_tone_num] [wait_cnt] [scan_start_idx] [scan_end_idx]
usage: wan vdsl2 set bs_1bit_change [on|off]
usage: wan vdsl2 set autobs [on|off]
usage: wan vdsl2 set bs_tx [on|off]
usage: wan vdsl2 set bs [on|off]
usage: wan vdsl2 set mgcnt_ovhd_test [on|off]
usage: wan vdsl2 set agc_vref [val1] [val2] [val3] [val4]
usage: wan vdsl2 set tcm [on|off]
#############################################

According to the help text your vdsl2 set xx_tone commands appear problematic, how did you figure out the numbers?

i just tried a range of tones :smiley: i noticed with this range the connection in online games are better