TD-W9980B DSL PPPoE Error: Network device is not present

Hi there,

I'm trying to setup a ADSL PPPoE connexion with a TD-W9980B modem under OpenWRT 19.07.2.
I followed the configuration required by my provider (in France) but the wan interface still show the error Network device is not present:

ss

# /etc/init.d/dsl_control status

ATU-C Vendor ID:                          
ATU-C System Vendor ID:                   
Chipset:                                  Lantiq-VRX200
Firmware Version:                         5.8.0.11.1.1
API Version:                              4.17.18.6
XTSE Capabilities:                        , , , , , , , 
Annex:                                    
Line Mode:                                
Profile:                                  
Line State:                               DOWN [0x1: exception]
Forward Error Correction Seconds (FECS):  Near: 0 / Far: 0
Errored seconds (ES):                     Near: 0 / Far: 0
Severely Errored Seconds (SES):           Near: 0 / Far: 0
Loss of Signal Seconds (LOSS):            Near: 0 / Far: 0
Unavailable Seconds (UAS):                Near: 79 / Far: 76
Header Error Code Errors (HEC):           Near: 0 / Far: 0
Non Pre-emtive CRC errors (CRC_P):        Near: 0 / Far: 0
Pre-emtive CRC errors (CRCP_P):           Near: 0 / Far: 0
Power Management Mode:                    L3 - No power
Latency [Interleave Delay]:               0.0 ms [Fast]   0.0 ms [Fast]
Data Rate:                                Down: 0 b/s / Up: 0 b/s
Line Attenuation (LATN):                  Down: 0.0 dB / Up: 0.0 dB
Signal Attenuation (SATN):                Down: 0.0 dB / Up: 0.0 dB
Noise Margin (SNR):                       Down: 0.0 dB / Up: 0.0 dB
Aggregate Transmit Power (ACTATP):        Down: 0.0 dB / Up: 0.0 dB
Max. Attainable Data Rate (ATTNDR):       Down: 0 b/s / Up: 0 b/s
Line Uptime Seconds:                      0
Line Uptime:                              down

The Line state change for [0x0: not initialized], [0xff: idle request], [0x200: silent], [0x100: idle] and [0x1: exception] when I restart the dsl_control service. Also sometimes the firmware version is 5.8.1.8.1.6 sometimes it's 5.8.0.11.1.1. :face_with_raised_eyebrow:

Here is the firmware available:

-rw-r--r--    1 root     root        4.0K Feb 27 22:05 ath9k-eeprom-pci-0000:02:00.0.bin
lrwxrwxrwx    1 root     root          43 Feb 27 22:05 lantiq-vrx200-a-to-b.bspatch -> xcpe_581816_580B11_to_579906_574402.bspatch
lrwxrwxrwx    1 root     root          22 Feb 27 22:05 lantiq-vrx200-a.bin -> xcpe_581816_580B11.bin
-rw-r--r--    1 root     root        4.1K Feb 27 22:05 regulatory.db
-rw-r--r--    1 root     root        1.9K Feb 27 22:05 xcpe_581816_580B11.LICENSE
-rw-r--r--    1 root     root      877.9K Feb 27 22:05 xcpe_581816_580B11.bin
-rw-r--r--    1 root     root      247.7K Feb 27 22:05 xcpe_581816_580B11_to_579906_574402.bspatch

I also tried the firmware 29de7210958de4ba57464685f680dd66e6fb5b36 from https://xdarklight.github.io/lantiq-xdsl-firmware-info/ (random pick one) but I got the same error.

# cat /etc/config/network

config interface 'loopback'
	option ifname 'lo'
	option proto 'static'
	option ipaddr '127.0.0.1'
	option netmask '255.0.0.0'

config globals 'globals'
	option ula_prefix 'fdeb:de87:9447::/48'

config atm-bridge 'atm'
	option payload 'bridged'
	option nameprefix 'dsl'
	option encaps 'vc'
	option vpi '8'
	option vci '35'

config dsl 'dsl'
	option annex 'a'
	option tone 'av'
	option ds_snr_offset '0'

config interface 'lan'
	option type 'bridge'
	option ifname 'eth0.1'
	option proto 'static'
	option ipaddr '192.168.1.1'
	option netmask '255.255.255.0'
	option ip6assign '60'

config interface 'wan'
	option ifname 'dsl0'
	option proto 'pppoe'
	option username '**********'
	option password '**********'
	option ipv6 'auto'
	option keepalive '10 20'


config device 'wan_dsl0_dev'
	option name 'dsl0'
	option macaddr 'xx:xx:xx:xx:xx:x1'

config interface 'wan6'
	option ifname '@wan'
	option proto 'dhcpv6'

config switch
	option name 'switch0'
	option reset '1'
	option enable_vlan '1'

config switch_vlan
	option device 'switch0'
	option vlan '1'

I noticed that the mac address for the wan_dsl0_dev device is xx:xx:xx:xx:xx:x1 while the mac address of the router is near but not the same: xx:xx:xx:xx:xx:x0

# logread

See the file (to big for this post): http://dpaste.com/22B6FR9

# cat /etc/openwrt_release

DISTRIB_ID='OpenWrt'
DISTRIB_RELEASE='19.07.2'
DISTRIB_REVISION='r10947-65030d81f3'
DISTRIB_TARGET='lantiq/xrx200'
DISTRIB_ARCH='mips_24kc'
DISTRIB_DESCRIPTION='OpenWrt 19.07.2 r10947-65030d81f3'
DISTRIB_TAINTS=''

The DSL line is OK, another modem (Freebox) was able to syncronize the line.

I tried many different network configuration without fixing this, if anyone can help it should be great! :slight_smile:
Thanks!

Check the log for errors in starting up the DSL modem.

Thanks for your answer. I found few errors in logread:

Wed May  6 17:18:02 2020 daemon.err odhcpd[1043]: Failed to send to ff02::1%lan@br-lan (Address not available)
Wed May  6 17:18:05 2020 daemon.err hostapd: Configuration file: /var/run/hostapd-phy0.conf
[...]
Wed May  6 17:18:05 2020 daemon.err hostapd: Using interface wlan0 with hwaddr xx:xx:xx:xx:xx:xx and ssid "BCLS"

# logread
See the file (to big for this post): http://dpaste.com/22B6FR9

The error about ujail seems not critical

I don't understand the error about hostapd but it's about wifi isn't it ?

I try to find ppp error in logs and it seems that pppd is just not started...

# logread | grep -i ppp
Wed May  6 17:17:50 2020 kern.info kernel: [   12.472665] PPP generic driver version 2.4.2

I confirm this by edit /etc/ppp/options to

debug
logfile /var/log/ppp
noipdefault
noaccomp
nopcomp
nocrtscts
lock
maxfail 0

Reboot, and there is no more lines about pppd, and finally ps don't show pppd neither. So the pppd is just not running. So I tried to manually run the script netifd, here is the log related to ppp:

Fri May  8 18:28:59 2020 daemon.notice pppd[17674]: pppd 2.4.7 started by root, uid 0
Fri May  8 18:28:59 2020 daemon.debug pppd[17674]: using channel 1
Fri May  8 18:28:59 2020 daemon.info pppd[17674]: Using interface ppp0
Fri May  8 18:28:59 2020 daemon.notice pppd[17674]: Connect: ppp0 <--> /dev/pts/1
Fri May  8 18:28:59 2020 daemon.debug pppd[17674]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xfac9599c>]
Fri May  8 18:29:02 2020 daemon.debug pppd[17674]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xfac9599c>]
Fri May  8 18:29:05 2020 daemon.debug pppd[17674]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xfac9599c>]
Fri May  8 18:29:08 2020 daemon.debug pppd[17674]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xfac9599c>]
Fri May  8 18:29:11 2020 daemon.debug pppd[17674]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xfac9599c>]
Fri May  8 18:29:14 2020 daemon.debug pppd[17674]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xfac9599c>]
Fri May  8 18:29:17 2020 daemon.debug pppd[17674]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xfac9599c>]
Fri May  8 18:29:20 2020 daemon.debug pppd[17674]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xfac9599c>]
Fri May  8 18:29:23 2020 daemon.debug pppd[17674]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xfac9599c>]
Fri May  8 18:29:26 2020 daemon.debug pppd[17674]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xfac9599c>]
Fri May  8 18:29:29 2020 daemon.warn pppd[17674]: LCP: timeout sending Config-Requests
Fri May  8 18:29:29 2020 daemon.notice pppd[17674]: Connection terminated.
Fri May  8 18:29:29 2020 daemon.notice pppd[17674]: Modem hangup
Fri May  8 18:29:29 2020 daemon.info pppd[17674]: Exit.

pppd started but exited quickly. Why pppd don't start automatically ?

I just downgrade to OpenWrt 18.06.1 and I got the same problem. However I only understand now that TD-W9980B seem to only support Annex B and my provider (in France) require Annex A. So it shouldn't works at all. But, I can't be sure that the problem I encountered is because of the annex or something else. Is the incompatibility of Annex can be responsible for the error I get ?

This firmware support annex A and the default firmware (xcpe_581816_580B11.bin) also support it so I don't understand.... Is someone can help me on this please ? @mk24 ?

Yes, it can for ADSL (but not for VDSL).

On lantiq devices, the annex is chosen at production time, vua bootstrap resistors on the PCB and using different bandfilters, this isn't (reasonably) changeable afterwards.

OK thanks. Just to be sure, in the documentation: https://openwrt.org/toh/tp-link/td-w9980

This page is also for TD-W9980B which is nearly identical, with the exception that you can't flash via the Web UI exploit.

Hardware of TD-W9980 and TD-W9980B are very close and firmware provide support for annex A. Is any there any way to be sure of that ? maybe asking the manufacturer.

OK this is confirmed by this post on the TP-link forums (confirmation from support is pending). Solved.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.