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. _______________________________________________ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev