You are not logged in.

#1 2023-10-15 08:48:13

bhrgunatha
Member
Registered: 2009-12-16
Posts: 101

Unable to connect using DSL with pppoe after rebooting

I configured my system many years ago to use pppoe at boot time to connect to my ISP.

After updating my system fully on Frdiay and rebooting this morning, the systemd unit from the rp-pppoe (adsl.service) package failed.
The service file makes calls to scripts e.g. pppoe-start, pppoe-stop that helped manage connections once configured but they've been removed.

I followed the instructions in the package's HOW_TO_CONNECT document.
Which basically says to create a <peer_name> file use 'pppd call <peer_name>'  and to then issue command

pppd call <peer_name>

I change the adsl.service file

[Unit]
Description=ADSL daemon

[Service]
Type=forking
# ExecStart=/usr/bin/pppoe-start
# ExecStop=/usr/bin/pppoe-stop
ExecStart=/usr/bin/pppd -s -I eno1

[Install]
WantedBy=multi-user.target

There are 2 problems

1. The new ADSL.service fails saying there is pppoe reports Timeout and Network is down.
Sure enough the ethernet port has no active light and ip link shows eno1 status is down.
(I'm already stuck since I've never had to configure any  previsouly (I think the now-missing pppoe-start script took care of that)

2.   

 
# ip link set dev eno1 up
# systemctl start adsl.service 

The network port's LED is now on after 5-10 sevonds.

> ip link
1: lo <LOOPBACK,UP,LOWER> ....
2. eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> ...
       link/ether <hex digits> 
       altname emp0s25 
4: ppp0: <POINTTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1492 qdisc fq_code1 state UNKNOWN mode DEFAULT group default qlen 3  
       link/ppp

Seems to connect successfully but eno1 doesn't have an ip4 address and ping google.com says there is no name resolution. After a few minutes the ppp0 link disappears.

Since I think the obsolete/missing 'pppoe-start' script took care of all these things automatically I'm completely lost and realise I have no idea how to actually set up a usable DSL connection.

Before these changes the adsl.service connected everything automatically for me including access to DNS & DHCP so that eno1 would be assigned dynamic IP4 and IP6 addresses. Furthermore I could stop and restart the adsl service which would effectively assign new addresses to eno1 which I used quite often.

Sorry for such basic questions but "It always just worked".

How can I set up my system to replicate the previous behaviour?

Offline

#2 2023-10-15 13:54:40

-thc
Member
Registered: 2017-03-15
Posts: 510

Re: Unable to connect using DSL with pppoe after rebooting

I see two possibilities: Rollback to the previous version and exempting "rp-pppoe" from updates (fast and conservative) or reconfiguring your system to the new "rp-pppoe" (slower and progressive). What do you prefer?

Offline

#3 2023-10-16 01:58:45

bhrgunatha
Member
Registered: 2009-12-16
Posts: 101

Re: Unable to connect using DSL with pppoe after rebooting

Rolling back rp-pppoe -> 3.15-2  and ppp -> 2.4.9-3 works exactly as it used too - thanks for that! I'm no longer air-gapped! 

That's a temporary fix though. I much prefer the progressive solution if anyone's willing to handhold me through the process since nit's clear I'm out of my depth.

It occurs to me that the live CD configures a working network connection "automatically".
I guess using DHCP. No idea about the DNS servers though - maybe google or cloudflares public ones?

Replicating that strikes me as a good solution too.

Offline

#4 2023-10-16 11:34:43

-thc
Member
Registered: 2017-03-15
Posts: 510

Re: Unable to connect using DSL with pppoe after rebooting

bhrgunatha wrote:

The service file makes calls to scripts e.g. pppoe-start, pppoe-stop that helped manage connections once configured but they've been removed.

Not only that - "/etc/ppp/pppoe.conf" is missing too. Fun fact: Even the post-installation remarks of the "rp-pppoe" 4.0 package mention possible changes to "/etc/ppp/pppoe.conf"...

The unit "adsl.service" is still installed, but completely non-functional. Please disable and ignore it for now.

bhrgunatha wrote:
[Unit]
Description=ADSL daemon

[Service]
Type=forking
# ExecStart=/usr/bin/pppoe-start
# ExecStop=/usr/bin/pppoe-stop
ExecStart=/usr/bin/pppd -s -I eno1

[Install]
WantedBy=multi-user.target

That doesn't look right - "-s -I eno1" are parameters for "pppoe", not "pppd".

bhrgunatha wrote:

I followed the instructions in the package's HOW_TO_CONNECT document.
Which basically says to create a <peer_name> file use 'pppd call <peer_name>'  and to then issue command

pppd call <peer_name>

No. You should create a peer file manually and then connect to this peer via "pppd call" command.

Assuming your pap/chap-secrets are still correct, create a file "/etc/ppp/peers/NAME" and replace the uppercase strings (NAME, YOUR_ISP, YOUR_USERNAME) with your correct values:

pty ´/usr/sbin/pppoe -s -I eno1´
sync
noauth
remotename YOUR_ISP
name YOUR_USERNAME
noipdefault
nodetach
noaccomp
nodeflate
nopcomp
novj
novjccomp
lcp-echo-interval 10

Try to connect via

pppd call NAME

Offline

#5 2023-10-17 06:18:03

bhrgunatha
Member
Registered: 2009-12-16
Posts: 101

Re: Unable to connect using DSL with pppoe after rebooting

-thc wrote:

Not only that - "/etc/ppp/pppoe.conf" is missing too. Fun fact: Even the post-installation remarks of the "rp-pppoe" 4.0 package mention possible changes to "/etc/ppp/pppoe.conf"...

A comment in "pppoe.conf" from the 3.15-2 pkg says pppoe.conf is only used by the scripts (removed in 4.0) and not by pppoe itself.

-thc wrote:

That doesn't look right - "-s -I eno1" are parameters for "pppoe", not "pppd"

Yes that's my mistake.

- I've upgraded ppp -> 2.5.0-1 and rp-pppoe -> 4.0-1
- I've created a peer file "DSL_PEER"

After rebooting:

- the ethernet port LED light is off. Sure enough eno1 is DOWN

> ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eno1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether <hex string> brd ff:ff:ff:ff:ff:ff
    altname enp0s25

> sudo  pppd call DSL_PEER
Warning: couldn't open ppp database /run/pppd/pppd2.tdb
Using interface ppp0
Connect: ppp0 <--> /dev/pts/2
pppoe: send (sendPacket): Network is down
pppoe: recv (receivePacket): Network is down
pppoe: send (sendPacket): Network is down
pppoe: send (sendPacket): Network is down
LCP: timeout sending Config-Requests
Connection terminated.
Modem hangup
pppoe: Timeout waiting for PADO packets
pppoe: send (sendPacket): Network is down

- Set link status UP

> sudo ip link set dev eno1 up
> sudo pppd call DSL_PEER
Warning: couldn't open ppp database /run/pppd/pppd2.tdb
Using interface ppp0
Connect: ppp0 <--> /dev/pts/2
Remote message: Login ok
PAP authentication succeeded
Cannot determine ethernet address for proxy ARP
local  IP address <IP4 address>
remote IP address <IP4 address>
local  LL address <20 digit hex-string hhhh:hhhh:hhhh:hhhh:hhhh>
remote LL address <20 digit hex-string hhhh:hhhh:hhhh:hhhh:hhhh>
...

That succeeded!

> ip addresss
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute
       valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 30:5a:3a:75:08:0d brd ff:ff:ff:ff:ff:ff
    altname enp0s25
    inet6 <32 hex digits hhhh:hhhh:hhhh:hhhh:hhhh:hhhh:hhhh:hhhh>/64 scope global temporary dynamic
       valid_lft 86146sec preferred_lft 86038sec
    inet6 <32 hex digits hhhh:hhhh:hhhh:hhhh:hhhh:hhhh:hhhh:hhhh>/64 scope global dynamic mngtmpaddr proto kernel_ra
       valid_lft 86146sec preferred_lft 86146sec
    inet6 <20 hex digits hhhh:hhhh:hhhh:hhhh:hhhh>/64 scope link proto kernel_ll
       valid_lft forever preferred_lft forever
3: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1492 qdisc fq_codel state UNKNOWN group default qlen 3
    link/ppp
    inet <IP4 address> peer <IP4 address>/32 scope global ppp0
       valid_lft forever preferred_lft forever
    inet6 <32 hex digits hhhh:hhhh:hhhh:hhhh:hhhh:hhhh:hhhh:hhhh>/64 scope global dynamic mngtmpaddr proto kernel_ra
       valid_lft 86141sec preferred_lft 3341sec
    inet6 <20 hex digits hhhh:hhhh:hhhh:hhhh:hhhh> peer <20 hex digits hhhh:hhhh:hhhh:hhhh:hhhh>/128 scope link nodad
       valid_lft forever preferred_lft forever

Progress smile - but I'm obviously missing something:

> ping archlinux.org
> ping: archlinux.org: Temporary failure in name resolution

> traceroute 4.4.4.4
traceroute to 4.4.4.4 (4.4.4.4), 30 hops max, 60 byte packets
connect: Network is unreachable

Offline

#6 2023-10-17 12:29:43

-thc
Member
Registered: 2017-03-15
Posts: 510

Re: Unable to connect using DSL with pppoe after rebooting

Hmmm. Looks like pppd only sets up the interfaces and nothing more.

When you are connected after "pppd call ..." enter the following commands:

ip route
ip -6 route
cat /etc/resolv.conf

and post their output here.

Offline

#7 2023-11-04 06:34:49

bhrgunatha
Member
Registered: 2009-12-16
Posts: 101

Re: Unable to connect using DSL with pppoe after rebooting

Sorry it's taken me so long to reply, life gets in the way sometimes smile

$ sudo pppd call DSL_PEER

After a successful login

$ ip route
168.95.98.254 dev ppp0 proto kernel scope link src 111.252.125.16 
ip -6 route 
2001:b011:8005:1197::/64 dev eno1 proto kernel metric 256 expires 86251sec pref medium
2001:b011:8005:c819::/64 dev ppp0 proto kernel metric 256 expires 86366sec pref medium
fe80::2621:24ff:fee9:63f dev ppp0 proto kernel metric 256 pref medium
fe80::ac2e:1a8b:d37b:4495 dev ppp0 proto kernel metric 256 pref medium
fe80::/64 dev eno1 proto kernel metric 256 pref medium
default via fe80::a697:33ff:fef9:d8d0 dev eno1 proto ra metric 1024 expires 1651sec mtu 1492 hoplimit 64 pref medium
default via fe80::2621:24ff:fee9:63f dev ppp0 proto ra metric 1024 expires 4466sec hoplimit 64 pref medium
$ cat /etc/resolv.conf
# Generated by resolvconf
nameserver 168.95.192.1
nameserver 168.95.1.1

resolve.conf hasn't changed during the package upgrades (manually using pppd call) nor during the downgrades (restoring the old pppoe.conf and the adsl.service file) nor rebooting.

Offline

#8 2023-11-04 09:18:50

just4arch
Member
Registered: 2023-01-07
Posts: 84

Re: Unable to connect using DSL with pppoe after rebooting

You could try adding

defaultroute
usepeerdns

to your DSL_PEER file.
"usepeerdns" only if these aren't the correct DNS servers of your ISP already.

Looking through my old ppp configs I have

plugin rp-pppoe.so eno1

but that might not be necessary any more.
If proxyarp isn't supported anyway you could add

noproxyarp

to get rid of the error.

Offline

#9 2023-11-05 07:34:03

bhrgunatha
Member
Registered: 2009-12-16
Posts: 101

Re: Unable to connect using DSL with pppoe after rebooting

Since those are the correct DNS servers I've added:

defaultroute
noproxyarp

to my peer file and everything is connecting now!

I think there is still something mis-configured though since any connection I make isn't stable.
For example when I visit https:www.speedtest.net the connection terminates with

...
pppoe: read (syncReadFromPPP): Session 1: Value too large for defined data type
Modem hangup
Connect time 1.6 minutes.
Sent 39449 bytes, received 132172 bytes.
Connection terminated.

Some sites seem OK, for example I can read, login and post this message here but many other sites cause this same error.

Offline

#10 2023-11-05 11:08:02

just4arch
Member
Registered: 2023-01-07
Posts: 84

Re: Unable to connect using DSL with pppoe after rebooting

Best guess, add

mtu 1492

Maybe even lower like 1480 or 1460.

Offline

#11 2024-03-07 11:21:56

alnux
Member
Registered: 2016-04-11
Posts: 2

Re: Unable to connect using DSL with pppoe after rebooting

Hi,
I am having the same issue, but no matter what mtu/mru I set, the problem persists. @bhrgunatha have you been able to fix it?

here is my peer:

pty 'pppoe -s -I enp0s13f0u2u3c2'
sync
noauth
remotename somename
name user@dom
noipdefault
nodetach
noaccomp
nodeflate
novj
novjccomp
lcp-echo-interval 10
usepeerdns
noproxyarp
mtu 1300
mru 1300
defaultroute
defaultroute-metric 100
#replacedefaultroute
persist

once i add it as the default route make some traffic, it crashes with:

pppoe: read (syncReadFromPPP): Session 3796: Value too large for defined data type

I am not sure what is broken, I used to use network manager to connect, at one point in time, I think after an update (sometime around Oct, which makes me think those are related), the dsl connection started to crash with a buffer overflow error. I searched and found that many has switched to this method, so I did. and now I am stuck with no way to do dsl.

any one has any idea how to fix this?

Offline

#12 2024-03-10 02:33:00

bhrgunatha
Member
Registered: 2009-12-16
Posts: 101

Re: Unable to connect using DSL with pppoe after rebooting

@alnux

Sorry, no.

I also tried many settings of mtu also but none of them were stable. 
I've reverted to using the previous versions. of ppp (2.4.9-3) and rp-pppoe (3.15-2).
Eventually it needs fixing since partial upgrades aren't supported and sooner or later some support library will break the packages.

I recently moved and the new place has built-in ethernet ports throughout.
There is a router embedded in the wall and I guess an internal network / DHCP server. 

Since the previous packages are still working I haven't pursued using DHCP yet.

Offline

#13 2024-04-23 00:29:34

Marichan
Member
Registered: 2024-03-08
Posts: 1

Re: Unable to connect using DSL with pppoe after rebooting

I encountered this error while setting up my machine to act as a modem as well, but I found out that the weird sync error only happens with the user level pppoe program. If people are on the last version and want to get this to work, try switching to the kernel level module.
ie my config in /etc/ppp/peers to start a pppoe connection over a vlan interface:

plugin /usr/lib/rp-pppoe/rp-pppoe.so nic-enp3s0.835
# pty '/usr/sbin/pppoe -s -I enp3s0.835' sync
noauth
# rest of the file
 

will work just fine if used with the first line that loads the appropriate kernel module.

Offline

Board footer

Powered by FluxBB