[OpenWrt-Devel] lantiq DSL drivers / firmware info

Damian Kaczkowski damian.kaczkowski at gmail.com
Mon Jul 10 08:06:21 EDT 2017


Hello all.

I have done some research regarding soft-switching DSL Annex. I got few
boards which are able to operate in Annex A or B without hardware mods of
the hybrid. Seems that dsl_control is able to send some commands to the DSL
PHY so it can sync with Annex A line while being equipped with Annex B DSL
transformer which is a part of hybrid I suppose. I have tested the
following boards:
 - AVM/1&1 FRITZ!Box 7330 SL
 - AVM/1&1 FRITZ!Box 7362 SL
 - AVM/1&1 FRITZ!Box Fon WLAN 7320
 - AVM/1&1 FRITZ!Box Fon WLAN 7360 SL
 - AVM FRITZ!Box WLAN 3370

Non of them is "international edition". All are marked by vendor as Annex B
only editions and all of them are equipped with DSL transformers matched to
Lantiq Chips Annex B (that's what datasheets says).

They are equipped with the following DSL transformers:
UMEC UTB01930S    270uH, 2:1, Annex B, Supplementary For Lantiq’s XWAY™
VRX208 Chip (3370)
LinkCom LAL0530      270uH, 2:1, Annex B, Supplementary For Lantiq’s XWAY™
VRX208 Chip (7362 SL, 7360 SL)
VOGT                         unknown, unknown, Annex B, Suplementary for
Lantiq AR9 Chip (7320, 7330 SL)
MNC EP-832SG         1.4mH, 2:1, Annex A, Supplementary For Lantiq’s XWAY™
VRX208 Chip (TD-W8970V1, TD-W8980V1, TD-W9980V1)
MNC EP-833SG         270uH, 2:1, Annex B, Supplementary For Lantiq’s XWAY™
VRX208 Chip (TD-W8970BV1, TD-W8980BV1, TD-W9980BV1)

On Freetz firmware I was able to soft-switch all above AVM boards from
Annex B to Annex A and successfully sync to Annex A/M DSLAM/Line.

After switching firmware to LEDE/OpenWrt on those boards I am getting the
same error as Andre got on TP-LINKs:
'DSL_CPE: Wrong combination of DSL PHY Firmware and hybrid type used! Please
change one of it.'.

To sum up:
Freetz OS loaded with LEDE DSL firmware sync without a problem. So the
problem is not the DSL firmware itself.
Hybrid is also not a problem cause on Freetz OS I have successfully sync
Annex B boards (soft-switched to Annex A) to Annex A line.

I have done numerous tests and come to conclusion that dsl_control and/or
driver implementation is the main problem and thing to focus on.

LEDE dsl_control is not able to start the DSL PHYs (with Annex B
transformers) loaded with Annex A firmware and sync them to Annex A line,
but the same boards sync fine with Freetz OS + Freetz dsl_control.

I spot that dsl_control on Freetz generates the adsl.cfg upon start. This
adsl.cfg is generated with different sets of commands according to selected
Annex.

adsl.cfg content differs between board models/generation. Similar boards
got the same adsl.cfg contents. This is probably due to different DSL
transformer or whole hybrid? I need to double check and confirm this to be
sure.

Here is an example of adsl.cfg file content generated on 7320 SL board:
For Annex B:
#AVM ADSL Annex B, generated by dsl_control
[WaitForConfiguration]={
sics 1 1 1 3
}
[WaitForLinkActivate]={
lfcs 1 1 1 1 0 0
}
[WaitForLinkActivate]={
lfcs 0 1 1 0 0 0
}
[WaitForLinkActivate]={
cw info 86 0 0x4801
}
[WaitForLinkActivate]={
avmcrmw optn 25 0 0x2000
}
[WaitForLinkActivate]={
cw cnfg 45 0 0xe
}
[WaitForLinkActivate]={
avmcrmw info 103 1 0x2000
}

For Annex A:
#AVM ADSL Annex A, generated by dsl_control
[WaitForConfiguration]={
sics 1 1 1 3
}
[WaitForLinkActivate]={
lfcs 1 1 1 1 0 0
}
[WaitForLinkActivate]={
lfcs 0 1 1 0 0 0
}
[WaitForLinkActivate]={
cw info 86 0 0x4801
}
[WaitForLinkActivate]={
avmcrmw optn 25 0 0x2000
}
[WaitForLinkActivate]={
cw cnfg 45 0 0xe
}
[WaitForLinkActivate]={
cw info 94 0 0x1467
}


Here is an example of adsl.cfg file content generated on 3370 board:
For Annex B:
#AVM ADSL Annex B
[WaitForLinkActivate]={
avmcrms info 103 1 0x2000
}
[WaitForLinkActivate]={
avmcrmr info 111 8 0010
}
[WaitForLinkActivate]={
avmcrms test 0 0 0x4000
}
[WaitForLinkActivate]={
avmcrms dsl 13 0 0x0002
}
[WaitForLinkActivate]={
avmcw cnfg 46 0 0xe
}
[WaitForLinkActivate]={
avmcrms info 111 8 0x0004
}
[WaitForLinkActivate]={
avmcrms dsl 13 0 0x0008
}

For Annex A:
#AVM ADSL Annex A
[WaitForLinkActivate]={
avmcrmr info 111 8 0010
}
[WaitForLinkActivate]={
avmcrms test 0 0 0x4000
}
[WaitForLinkActivate]={
avmcrms dsl 13 0 0x0002
}
[WaitForLinkActivate]={
avmcw cnfg 46 0 0xe
}
[WaitForLinkActivate]={
avmcw moni 5 0 0x204B
}
[WaitForLinkActivate]={
avmcw moni 5 1 0x0000
}
[WaitForLinkActivate]={
avmcrms info 111 8 0x0004
}
[WaitForLinkActivate]={
avmcrms dsl 13 0 0x0008
}


As you can see there are some AVM and non standard commands comparing to
LEDE/OpenWrt dsl_control flavour. Those are for eg.:
avmvig       AVM_VersionInformationGet
avmcr        AVM_CmvRead
avmcw        AVM_CmvWrite
avmcrms      AVM_CmvReadModifySet
avmcrmr      AVM_CmvReadModifyReset
avmpet       AVM_ProdEchoTest
avmhwrfit    AVM_HWRFITest
avmdsmmcs    AVM_DSM_MacConfigSet
cr                   CmvRead
cw                 CmvWrite


More can be found by looking into dsl_control file extracted from AVM
boards firmwares (Freetz buildroot can do that).
It also contains adsl.cfg commands if someone wants to debug this further
without access to the boards itself.

Example content of dsl_control:
avm_dsl_cli_DsmMacConfigSet
cw  DSL_CPE_SCRIPT: CMV WR %s %d %d, value=0x%04x, retCode=%d
mw  %s %s %s     DSL_CPE_SCRIPT: Dbg Memory write address=%08x, value=%04x,
retCode=%d
dsl_control: mw %08x fail
mr  dsl_control: error:mr parameter type mismatch!



Anyone got an idea or could spare a hint on how to debug what AVMs
dsl_control is actually doing/sending to the DSL PHY driver?

Could anyone with deep Lantiq knowledge look into this please? My knowledge
about Lantiq DSL tools/drivers ends here : (.

What needs to be done so the LEDE/OpenWrt dsl_control could also be able to
switch Annex on those and maybe other AR9/VR9 boards?


I can assist in some tests if you need. I also got all TP-Links VR9 boards
(both Annexes) plus some other AR9/VR9/AR10 boards and also an Annex A/M
ADSL/ADSL2+ DSLAMs (can't test VDSL right now).


Greets.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.infradead.org/pipermail/openwrt-devel/attachments/20170710/5553a126/attachment.htm>
-------------- next part --------------
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


More information about the openwrt-devel mailing list