Tp-link w8970 openwrt 18.06.1 reconnecting problem

tp-link w8970 openwrt 18.06.1 reconnecting problem
if ISP restart the internet the router not connect to the internet need restart from

What type of connection do you have?
How is the WAN interface configured?

1 Like

"reconnect" usually encompasses two key happenings;

a) the router ( CPE, YOUR DEVICE ) initiating the connection, which is why knowing the type of connection as asked above is of use.

b) logical addressing on top of that physical connection.

Majority of issues these days..... at least down under..... have to do with ISP <-> router ip address "state".

What you will probably find is that when the reconnect is not occurring, one side of the link is referring / "stuck" with old / mismatched info.

i.e. The ISP thinks you have a current lease / address and your router keeps requesting a new one etc. etc. Or vice versa your router thinks it has a valid address but in fact the ISP lost / discarded knowledge of that and is expecting a fresh negotiation / assignment etc.

Either way..... i'm willing to bet the ISP would be well aware of this idiosyncracy and if you call them up.... they should be able to explain a bit more... if indeed my assumption is correct.

1 Like

This is not a known issue to me. With reconnection you probably mean some wan-ip change or simply dsl-resync. Both cases works fine in general. Have you installed latest DSL firmware? Howto: Updating the Lantiq XRX200 devices with latest DSL vectoring firmware

1 Like

ppoe 0/35 vpi/vci

the openwrt 18.06.1 is not content latest dsl vectoring firmware O.o

PPPoE has a "keepalive" option precisely for this purpose.

1 Like

For legal reasons I believe... what is included is what got released in a GPL source package with non-restrictive redistribution rights. Later DSL firmware (including just about all vectoring capable versions it seems) cannot be legally redistributed by OpenWrt so can't be included in the standard images, but you can extract it from another source, install it in your own router and use it - the LuCI DSL settings section allows you to specify the location of a user installed driver file for this purpose. You can also build your own custom image with a known working DSL driver file instead of the standard driver files, which is what I and (I believe) @petepete have done.

1 Like

Inactivity timeout is set to 0
Close inactive connection after the given amount of seconds, use 0 to persist connection

i used openwrt original firmware no any edit or Modify

The option I mentioned is not used to switch the connection off when there is no traffic, it has nothing to do with inactivity.

The "keepalive" option sends LCP ECHO requests to the peer at the other end of the line, and restarts the connection when there is no response.

Have a look at the meaning of this option in the wiki page for the network config file.

1 Like

LCP ECHO is set to 5 this good ?

I usually set it to one request every 5 seconds and 5 lost requests before reconnecting. Try that, and see what happens.

1 Like

the problem ISP restart the internet every day the modem tp-link w8970 some time get ip and some time not.

i used pppoe bridge connection !
try change to routed ?????

In the past I used my own script in cron at specific intervals to try to restart PPPoE connection for my ADSL line. Now I don't use it for reconnection because my router keeps me connected at all times, tested with 4 consecutive days on v18.06.1.

The actual trick is to just kill the vdsl_cpe_control process and start it again through reloading network configuration. The script is here. You can adapt it to your needs. You can just set up cron to run the script every 12 hours and it will reset your connection and acquire a new IP maybe.

1 Like

what the location of script
etc/ ?????
copy the file into bin folder ?
and can be add script if the ip address drop for some time the router is reboot ?

That's up to you wherever you want to keep it but a @mk24 suggested it's better to keep it in /usr/sbin . Just create a file, for example: touch /usr/sbin/ will create a file named in /usr/sbin (root) directory. Then edit the file and paste the above script in it. Once you are done editing, run chmod +x / and make it executable.

Then create a cron task:

* */12 * * * /usr/sbin/
# adsl reconnect script will run every 12 hours

Note: ./ is essential to run a script if the path is not in $PATH as suggested below.

1 Like

/usr/sbin would an appropriate place for a script like this. /usr is stuff installed after the initial OS, and sbin means executable files that should only be run by root due to their ability to disrupt the whole system.

You do not need the ./ to execute it if the directory is in the $PATH (as /usr/sbin is).