<div dir="ltr">Hello all.<div><br></div><div>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:</div><div> - AVM/1&1 FRITZ!Box 7330 SL<br></div><div> - AVM/1&1 FRITZ!Box 7362 SL</div><div> - AVM/1&1 FRITZ!Box Fon WLAN 7320</div><div> - AVM/1&1 FRITZ!Box Fon WLAN 7360 SL</div><div> - AVM FRITZ!Box WLAN 3370<br></div><div><br></div><div>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).<br></div><div><br></div><div>They are equipped with the following DSL transformers:</div><div><div>UMEC UTB01930S    270uH, 2:1, Annex B, Supplementary For Lantiq’s XWAY™ VRX208 Chip (3370)<br></div><div>LinkCom LAL0530      270uH, 2:1, Annex B, Supplementary For Lantiq’s XWAY™ VRX208 Chip (7362 SL, 7360 SL)</div><div>VOGT                         unknown, unknown, Annex B, Suplementary for Lantiq AR9 Chip (7320, 7330 SL)</div><div><div>MNC EP-832SG         1.4mH, 2:1, Annex A, Supplementary For Lantiq’s XWAY™ VRX208 Chip (TD-W8970V1, TD-W8980V1, TD-W9980V1)</div><div>MNC EP-833SG         270uH, 2:1, Annex B, Supplementary For Lantiq’s XWAY™ VRX208 Chip (TD-W8970BV1, TD-W8980BV1, TD-W9980BV1)</div></div></div><div><br></div><div>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.<br></div><div><br></div><div>After switching firmware to LEDE/OpenWrt on those boards I am getting the same error as Andre got on TP-LINKs:</div><div><span style="font-size:12.8px">'DSL_CPE: Wrong combination of DSL PHY Firmware and hybrid type used! </span><span style="font-size:12.8px">Please change one of it.'.</span><br></div><div><span style="font-size:12.8px"><br></span></div><div><div><span style="font-size:12.8px">To sum up:</span></div><div><span style="font-size:12.8px">Freetz OS loaded with LEDE DSL firmware sync without a problem. So the problem is not the DSL firmware itself.</span><br></div><div><span style="font-size:12.8px">Hybrid is also not a problem cause </span><span style="font-size:12.8px">on Freetz OS </span><span style="font-size:12.8px">I have successfully sync Annex B boards (</span><span style="font-size:12.8px">soft-switched to Annex A)</span><span style="font-size:12.8px"> to Annex A line.</span></div></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">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.</span><span style="font-size:12.8px"><br></span></div><div><br></div><div><span style="font-size:12.8px">LEDE dsl_control is not able to start the </span><span style="font-size:12.8px">DSL PHYs</span><span style="font-size:12.8px"> (with</span><span style="font-size:12.8px"> 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.</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">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.</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">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.</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">Here is an example of adsl.cfg file content generated on 7320 SL board:</span></div><div><span style="font-size:12.8px">For Annex B:</span></div><div><div><span style="font-size:12.8px"><span style="white-space:pre">        </span>#AVM ADSL Annex B, generated by dsl_control</span></div><div><span style="font-size:12.8px"><span style="white-space:pre">       </span>[WaitForConfiguration]={</span></div><div><span style="font-size:12.8px"><span style="white-space:pre">  </span>sics 1 1 1 3</span></div><div><span style="font-size:12.8px"><span style="white-space:pre">      </span>}</span></div><div><span style="font-size:12.8px"><span style="white-space:pre"> </span>[WaitForLinkActivate]={</span></div><div><span style="font-size:12.8px"><span style="white-space:pre">   </span>lfcs 1 1 1 1 0 0</span></div><div><span style="font-size:12.8px"><span style="white-space:pre">  </span>}</span></div><div><span style="font-size:12.8px"><span style="white-space:pre"> </span>[WaitForLinkActivate]={</span></div><div><span style="font-size:12.8px"><span style="white-space:pre">   </span>lfcs 0 1 1 0 0 0</span></div><div><span style="font-size:12.8px"><span style="white-space:pre">  </span>}</span></div><div><span style="font-size:12.8px"><span style="white-space:pre"> </span>[WaitForLinkActivate]={</span></div><div><span style="font-size:12.8px"><span style="white-space:pre">   </span>cw info 86 0 0x4801</span></div><div><span style="font-size:12.8px"><span style="white-space:pre">       </span>}</span></div><div><span style="font-size:12.8px"><span style="white-space:pre"> </span>[WaitForLinkActivate]={</span></div><div><span style="font-size:12.8px"><span style="white-space:pre">   </span>avmcrmw optn 25 0 0x2000</span></div><div><span style="font-size:12.8px"><span style="white-space:pre">  </span>}</span></div><div><span style="font-size:12.8px"><span style="white-space:pre"> </span>[WaitForLinkActivate]={</span></div><div><span style="font-size:12.8px"><span style="white-space:pre">   </span>cw cnfg 45 0 0xe</span></div><div><span style="font-size:12.8px"><span style="white-space:pre">  </span>}</span></div><div><span style="font-size:12.8px"><span style="white-space:pre"> </span>[WaitForLinkActivate]={</span></div><div><span style="font-size:12.8px"><span style="white-space:pre">   </span>avmcrmw info 103 1 0x2000</span></div><div><span style="font-size:12.8px"><span style="white-space:pre"> </span>}</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">For Annex A:</span></div><div><div><span style="font-size:12.8px"><span style="white-space:pre">  </span>#AVM ADSL Annex A, generated by dsl_control</span></div><div><span style="font-size:12.8px"><span style="white-space:pre">       </span>[WaitForConfiguration]={</span></div><div><span style="font-size:12.8px"><span style="white-space:pre">  </span>sics 1 1 1 3</span></div><div><span style="font-size:12.8px"><span style="white-space:pre">      </span>}</span></div><div><span style="font-size:12.8px"><span style="white-space:pre"> </span>[WaitForLinkActivate]={</span></div><div><span style="font-size:12.8px"><span style="white-space:pre">   </span>lfcs 1 1 1 1 0 0</span></div><div><span style="font-size:12.8px"><span style="white-space:pre">  </span>}</span></div><div><span style="font-size:12.8px"><span style="white-space:pre"> </span>[WaitForLinkActivate]={</span></div><div><span style="font-size:12.8px"><span style="white-space:pre">   </span>lfcs 0 1 1 0 0 0</span></div><div><span style="font-size:12.8px"><span style="white-space:pre">  </span>}</span></div><div><span style="font-size:12.8px"><span style="white-space:pre"> </span>[WaitForLinkActivate]={</span></div><div><span style="font-size:12.8px"><span style="white-space:pre">   </span>cw info 86 0 0x4801</span></div><div><span style="font-size:12.8px"><span style="white-space:pre">       </span>}</span></div><div><span style="font-size:12.8px"><span style="white-space:pre"> </span>[WaitForLinkActivate]={</span></div><div><span style="font-size:12.8px"><span style="white-space:pre">   </span>avmcrmw optn 25 0 0x2000</span></div><div><span style="font-size:12.8px"><span style="white-space:pre">  </span>}</span></div><div><span style="font-size:12.8px"><span style="white-space:pre"> </span>[WaitForLinkActivate]={</span></div><div><span style="font-size:12.8px"><span style="white-space:pre">   </span>cw cnfg 45 0 0xe</span></div><div><span style="font-size:12.8px"><span style="white-space:pre">  </span>}</span></div><div><span style="font-size:12.8px"><span style="white-space:pre"> </span>[WaitForLinkActivate]={</span></div><div><span style="font-size:12.8px"><span style="white-space:pre">   </span>cw info 94 0 0x1467</span></div><div><span style="font-size:12.8px"><span style="white-space:pre">       </span>}</span></div><div style="font-size:12.8px"><br></div></div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px"><span style="font-size:12.8px">Here is an example of adsl.cfg file content generated on 3370 board:</span><br></div><div style="font-size:12.8px">For Annex B:</div></div><div><div style="font-size:12.8px"><span style="white-space:pre">        </span>#AVM ADSL Annex B</div><div style="font-size:12.8px"><span style="white-space:pre">  </span>[WaitForLinkActivate]={</div><div style="font-size:12.8px"><span style="white-space:pre">    </span>avmcrms info 103 1 0x2000</div><div style="font-size:12.8px"><span style="white-space:pre">  </span>}</div><div style="font-size:12.8px"><span style="white-space:pre">  </span>[WaitForLinkActivate]={</div><div style="font-size:12.8px"><span style="white-space:pre">    </span>avmcrmr info 111 8 0010</div><div style="font-size:12.8px"><span style="white-space:pre">    </span>}</div><div style="font-size:12.8px"><span style="white-space:pre">  </span>[WaitForLinkActivate]={</div><div style="font-size:12.8px"><span style="white-space:pre">    </span>avmcrms test 0 0 0x4000</div><div style="font-size:12.8px"><span style="white-space:pre">    </span>}</div><div style="font-size:12.8px"><span style="white-space:pre">  </span>[WaitForLinkActivate]={</div><div style="font-size:12.8px"><span style="white-space:pre">    </span>avmcrms dsl 13 0 0x0002</div><div style="font-size:12.8px"><span style="white-space:pre">    </span>}</div><div style="font-size:12.8px"><span style="white-space:pre">  </span>[WaitForLinkActivate]={</div><div style="font-size:12.8px"><span style="white-space:pre">    </span>avmcw cnfg 46 0 0xe</div><div style="font-size:12.8px"><span style="white-space:pre">        </span>}</div><div style="font-size:12.8px"><span style="white-space:pre">  </span>[WaitForLinkActivate]={</div><div style="font-size:12.8px"><span style="white-space:pre">    </span>avmcrms info 111 8 0x0004</div><div style="font-size:12.8px"><span style="white-space:pre">  </span>}</div><div style="font-size:12.8px"><span style="white-space:pre">  </span>[WaitForLinkActivate]={</div><div style="font-size:12.8px"><span style="white-space:pre">    </span>avmcrms dsl 13 0 0x0008</div><div style="font-size:12.8px"><span style="white-space:pre">    </span>}</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">For Annex A:</div><div><div><span style="font-size:12.8px"><span style="white-space:pre"> </span>#AVM ADSL Annex A</span></div><div><span style="font-size:12.8px"><span style="white-space:pre"> </span>[WaitForLinkActivate]={</span></div><div><span style="font-size:12.8px"><span style="white-space:pre">   </span>avmcrmr info 111 8 0010</span></div><div><span style="font-size:12.8px"><span style="white-space:pre">   </span>}</span></div><div><span style="font-size:12.8px"><span style="white-space:pre"> </span>[WaitForLinkActivate]={</span></div><div><span style="font-size:12.8px"><span style="white-space:pre">   </span>avmcrms test 0 0 0x4000</span></div><div><span style="font-size:12.8px"><span style="white-space:pre">   </span>}</span></div><div><span style="font-size:12.8px"><span style="white-space:pre"> </span>[WaitForLinkActivate]={</span></div><div><span style="font-size:12.8px"><span style="white-space:pre">   </span>avmcrms dsl 13 0 0x0002</span></div><div><span style="font-size:12.8px"><span style="white-space:pre">   </span>}</span></div><div><span style="font-size:12.8px"><span style="white-space:pre"> </span>[WaitForLinkActivate]={</span></div><div><span style="font-size:12.8px"><span style="white-space:pre">   </span>avmcw cnfg 46 0 0xe</span></div><div><span style="font-size:12.8px"><span style="white-space:pre">       </span>}</span></div><div><span style="font-size:12.8px"><span style="white-space:pre"> </span>[WaitForLinkActivate]={</span></div><div><span style="font-size:12.8px"><span style="white-space:pre">   </span>avmcw moni 5 0 0x204B</span></div><div><span style="font-size:12.8px"><span style="white-space:pre">     </span>}</span></div><div><span style="font-size:12.8px"><span style="white-space:pre"> </span>[WaitForLinkActivate]={</span></div><div><span style="font-size:12.8px"><span style="white-space:pre">   </span>avmcw moni 5 1 0x0000</span></div><div><span style="font-size:12.8px"><span style="white-space:pre">     </span>}</span></div><div><span style="font-size:12.8px"><span style="white-space:pre"> </span>[WaitForLinkActivate]={</span></div><div><span style="font-size:12.8px"><span style="white-space:pre">   </span>avmcrms info 111 8 0x0004</span></div><div><span style="font-size:12.8px"><span style="white-space:pre"> </span>}</span></div><div><span style="font-size:12.8px"><span style="white-space:pre"> </span>[WaitForLinkActivate]={</span></div><div><span style="font-size:12.8px"><span style="white-space:pre">   </span>avmcrms dsl 13 0 0x0008</span></div><div><span style="font-size:12.8px"><span style="white-space:pre">   </span>}</span></div></div><div style="font-size:12.8px"><br></div></div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">As you can see there are some AVM and non standard commands comparing to LEDE/OpenWrt dsl_control flavour. Those are for eg.:</div><div><div>avmvig       AVM_VersionInformationGet</div><div>avmcr        AVM_CmvRead</div><div>avmcw        AVM_CmvWrite</div><div>avmcrms      AVM_CmvReadModifySet</div><div>avmcrmr      AVM_CmvReadModifyReset</div><div>avmpet       AVM_ProdEchoTest</div><div>avmhwrfit    AVM_HWRFITest</div><div>avmdsmmcs    AVM_DSM_MacConfigSet</div><div>cr                   CmvRead<br></div></div><div><div>cw                 CmvWrite</div><div><br></div><div><br></div><div>More can be found by looking into dsl_control file extracted from AVM boards firmwares (Freetz buildroot can do that).</div><div>It also contains adsl.cfg commands if someone wants to debug this further without access to the boards itself.</div><div><br></div><div>Example content of dsl_control:</div><div>avm_dsl_cli_DsmMacConfigSet<br></div><div>cw  DSL_CPE_SCRIPT: CMV WR %s %d %d, value=0x%04x, retCode=%d</div><div>mw  %s %s %s     DSL_CPE_SCRIPT: Dbg Memory write address=%08x, value=%04x, retCode=%d</div><div>dsl_control: mw %08x fail</div><div>mr  dsl_control: error:mr parameter type mismatch!</div></div><div><br></div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px"><span style="font-size:12.8px">Anyone got an idea or could spare a hint on how to debug what AVMs dsl_control </span><span style="font-size:12.8px">is actually</span><span style="font-size:12.8px"> </span><span style="font-size:12.8px">doing/sending to the DSL PHY driver?</span><br></div><div style="font-size:12.8px"><span style="font-size:12.8px"><br></span></div><div style="font-size:12.8px"><span style="font-size:12.8px">Could anyone with deep Lantiq knowledge look into this please? My knowledge about Lantiq DSL tools/drivers ends here : (.</span></div><div style="font-size:12.8px"><span style="font-size:12.8px"><br></span></div><div style="font-size:12.8px"><span style="font-size:12.8px">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?</span></div><div style="font-size:12.8px"><span style="font-size:12.8px"><br></span></div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">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).</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">Greets.</div><div class="gmail_extra"><br></div></div>