ANet4U - ein ATU-R von Inovia Telecoms Ltd. (ECI-Group)

Sorry, this page is available in german language only. If you want to contribute, don't hesitate to send me translations, summaries or articles in english.
Pardon, cette page n'existe qu'en langue allemande. Si tu veux participer, n'hésite pas à envoyer des traductions, des sommaires ou des articles en français.
Thanks/Merci Heiner
(Google: Translation / Traduction ;-)

Inovia B-FOCuS AC230bu

Inovia-LogoTelekom 40192894-091Inovia Telecoms Ltd., Mitglied der ECI-Group (Nasdaq: ECIL) und frühere Access Solutions Division von ECI Telecom Ltd. stellte in 2001 das nebenstehend abgebildete ATU-R (ADSL Termination Unit - Remote / "ADSL-Modem") her, das die Deutsche Telekom AG bis Januar 2002 unter der Bezeichnung 'ECI ANet4U' (Telekom-Lieferschein), an ihre T-DSL Kunden auslieferte. Auf dem Typenschild meines Gerätes wird es als ECI CAT.NO: Y41588 2001 0014050199 NTBBAK 40 192 894-091 DT A0AA bezeichnet. ANet4U TypenschildDabei ist 40 192 894-091 die Material-Nummer der Telekom-Technik (laut www.t-dsl.tk entspricht es also deren U-R2 Spezifikationen), die Gerätenummer des NTBBA (Network Termination Broadband Access, siehe UR-2 der DT) 14050199 benennt gleichzeitig als Hexadezimalwert zusammen mit der ECI-Kennung 00:20:87 die MAC (Media Access Control / "Hardwareadresse") des Gerätes - in meinem Fall also 00:20:87:d6:63:97). International wird dieses ATU-R als Teil der Inovia Hi-FOCuS® xDSL-Lösung, zu der auch DSLAMs (Digital Subscriber Line Access Multiplexer) gehören, unter dem Namen B-FOCuS® AC2xxb als CPE (Customer Premises Equipment) vertrieben - die exakte Typenbezeichnung lautet möglicherweise B-FOCuS® AC230bu.

Hi-FOCuS 850 SAR Board

Hi-HOCuS 850 SAR PlatineDie Prozessorplatine meines Gerätes trägt die Beschriftung "ANET930 258009-4588 C.S." (Mitte unten). Als ADSL-Chipsatz wird der Three-Chip Set AD20msp930 von ADI (Analog Devices) benutzt; der AD8016 (Links unten) arbeitet als LineDriver, AD6440 (Rechts unten) als Codec und AD6449 (Direkt darüber) als DataPump,

Als Netzwerkprozessor kommt der PowerQUICC MPC850 (Oben rechts) von Motorola in der Ausführung SR - also mit 2 SCCs (Serial Communication Controllern mit Ethernet Support), 64-Channel HDLC (High Level Data Link Control) sowie ATM (Asynchronous Transfer Mode) Unterstützung im CPM (Communications Processor Module) und SAR (Segmentation And Reassembly) Microcode für den UTOPIA (Universal Test & Operations Interface for ATM) Port - in der Masken-Revision B mit 80 MHz zum Einsatz.

Bootcode und Realtime-OS befinden sich in einem CMOS MPF (Multi-Purpose Flash) SST39VF160 (Links oben) mit 1Mbit x 16 von Silicon Storage Technology, beschriftet mit einem Aufkleber: "Y41583 RT-4.19 BOOT5.2". Der Hauptspeicher (Die beiden Chips direkt unter dem MPF) wird von zwei Banks 16Mbit (524288-word x 16-bit x 2-bank) Synchronous DRAM IS42S16100 von Alpha Micro Components gestellt. Als 10BASE-T Transceiver wird ein LTX901A von Level One Communications (seit 1999 Intel) benutzt (Mitte links). Aus der Spartan-II Familie von Xilinx kommt der FPGA (Field-Programmable Gate Arrays) XC2S50 (Mitte rechts) mit 23K bis 50K Gates.

AbschirmungDas Gerät besitzt mehrere interne Schnittstellen (Oberer Platinenrand, siehe auch schnittstellen.jpg), deren exakte Belegung und Funktion noch nicht bekannt sind. Die 2fach Lötkontakte (Mitte oben) dienen evt. zum Reset des ATU-R, der linke Kontakt (3,2 V) löste jedenfalls bei Messungen mehrfach ein Reboot des Gerätes aus. Bei den 2x5 Platinenkontaken ließe sich auf eine serielle Embedded PowerPC BDM (Background Mode Debugging) Schnittstelle spekulieren. Diesem würde nicht unbedingt widersprechen, daß an einem dieser Kontake 5V (zur Versorgung eines Schnittstellenbausteins?) anliegen. Direkt über der 2x5 Kontaktreihe befindet sich im Abschirmkäftig eine exakt identisch 17mm x 7mm große Aussparung. Da sich im Anet4U mit MPC850, FPGA und MPF gleich mehrere JTAG-kompatible Chips befinden, könnte die 2x8 polige Stiftleiste (Oben rechts am Platinenrand) ein IEEE 1149.1 Test Access Port sein.

In <bffea6ac.0111181557.5d4b0753%40posting.google.com> wird für ein nicht genauer bezeichnetes "ECI"-Gerät zusätzlich ein 4Mbit CMOS EEPROM SST28VF040A erwähnt, das ich jedoch bisher nicht lokalisieren konnte (Unterseite der Platine oder andere ANet-Ausführung?).

Gdb als Target Agent für VxWorks

Das ANet4U wird mit dem Realtime-OS für Embedded Systems VxWorks 5.4 von Wind River betrieben. Beim Einschalten und nach einem Reset (siehe oben) führt das ATU-R zunächst eine ca. 20-sekündige Pause durch, in der es evt. am Bootprompt per BDM steuer- und konfigurierbar ist. Anschließend erledigt es einen ARP-Broadcast auf die Addresse 192.168.20.80 (siehe hierzu: SETIP), beginnt dort auf ICMP_ECHO_REQUEST Pakete zu antworten und öffnet seinen WindDeBug Port 0x4321/udp (WDBPORT), an dem es auf die RPC Programm Nummer 0x55555555 (WDBPROG) mit Version Nummer 1 (WDBVERS) auf XDR Streams reagiert. Dort stehen Session Management, Memory Operationen, Context Kontrolle und Debugging, Register Manipulation, Virtueles I/O, Eventpoints, Eventsinformationen sowie verschiedene andere Funktionen (WDB_FUNC_CALL, WDB_EVALUATE_GOPHER, WDB_DIRECT_CALL) zur Verfügung. Ausführliche Hinweise hierzu befinden sich in den frei verfügbaren Tornado 2.0 Online Manuals und in den Includes des Tornado-Prototyper Plus, der bis Ende Mai 2002 in einer 90-Tage Testversion kostenfrei bei Wind River als Tornado 2.0.2 Entwicklungsumgebung inclusive voll funktionsfähigem TRGTSRV für Windows- und Solaris-Systeme erhältlich war (Die Meldung dort lautet inzwischen leider: This download is no longer available).

Ein struct wdb_rt_info (WDB_RT_INFO, Informationen über das laufende System, siehe auch $WINDBASE/share/src/agents/wdb/wdb.h) enthält bei meinem ANet4U ATU-R z.B.:
rtType WDB_RT_VXWORKS runtime type
rtVersion 5.4 run time version
cpuType 97 target processor type
hasFpp 0 target has a floating point unit
hasWriteProtect0 target can write protect memory
pageSize -1 size of a page
endian 1234 endianness (0x4321 or 0x1234)
bspName Hi-FOCuS ANeT board - 850 SARboard support package name
bootline ganesh:kuku boot file path or NULL if embedded
memBase 0x0 target main memory base address
memSize 0x3ffff0 target main memory size
numRegions 0 number of memory regions
hostPoolBase 0x179718 host-controlled tgt memory pool
hostPoolSize 0x2868d host-controlled memory pool
Nach dem Bootvorgang läßt sich also auf Wunsch evt. ein eigenes Root-Filesystem namens "kuku" vom Hostrechner laden und starten.

SWVER (Software Version), GETBRMODE (Bridge Konfiguration), CARDVER (Software Version/Konfiguration), UNH_MODE (G.lite/G.dmt Konfiguration) READIP (IP/MAC Konfiguration) und Systemvariablen ("Benutzer" Konfiguration) des ANet4U (MAC Address und HFUInvent->SerialNo meines Gerätes) lauten:
SW GNRL VRESION IS 4.19
SW MNG VRESION IS 4.19
SW ADSL VRESION IS 7.7
ISSUED BY Lior Ben-Shmuel & Nadav Cohen
DATE OF ISSUE Jul 27 2001 16:20:26
PPP PROEXCLUDED
SU ModeBridge
BOOTER VRESION IS5.2
HW CONF VRESION ISANET ISDN
modem 1UNH_MULTI_MODE
Ethernet IP Address192.168.20.80
MAC Address0:32:143:214:99:151
HFUInvent->SerialNo0014050199
HFUInvent->HWVersion0x87
HFUInvent->VendorIDECI

Für den freie GNU Debugger GDB liegen Patches für verschiedene Versionen vor: Till Straumann hat in seinem Patch für gdb-5.0 u.a. remote-vxppc.c implementiert, Datei-Funktionen bewerkstelligt er jedoch mit einem eigenen tillRdb Server - somit lassen sich Fileuploads etc. derzeit nicht nutzen. Diesen WDB-fähigen GDB, compiliert für Linux/Redhat7, kann man hier als Binary downloaden (685,735 Bytes) - er ermöglicht u.a. auch ohne Symbolfile lesen und schreiben im Adressraum des MPC850 und somit auch ein Patchen der Speicherstelle 0x68b20 von li r3,0 auf li r3,1:

[hnr@gate hnr]$ touch dummy
[hnr@gate hnr]$ vxgdb -nx -q
(vxgdb) target vxworks 192.168.20.80 dummy
Attaching remote machine across net...
warning: unable to connect RDB server; certain features will not be availabe
Connected to 192.168.20.80.
Looking in Unix path for all loaded modules:
dummy: Error while reading symbols from boot file:
"/home/hnr/dummy": can't read symbols: File truncated.
wdb_clnt_exec:"fppProbe" not found in vxworks symbol table
(vxgdb) x/1i 0x68b20
0x68b20:        li      r3,0
(vxgdb) set write on
(vxgdb) set {int}0x68b20 = 0x38600001
(vxgdb) x/1i 0x68b20
0x68b20:        li      r3,1
(vxgdb) quit
[hnr@gate hnr]$ telnet 192.168.20.80
Trying 192.168.20.80...
Connected to 192.168.20.80.
Escape character is '^]'.

VxWorks <vxTarget>

login :
ANET_MAN >

Siehe hierzu auch den Beitrag von Tonio²K zum Patchen von 0x75b04 auf einem älteren SU-Board (RT3.12).

Für gdb-4.16 existieren Patches von Hwa-Jin Bae, die es ermöglichen sollen, Lineare Coredumps als gdb-target für Postmortem-Debugging zu benutzen und VxWorks Target-Shell Kommandos auf der gdb-Kommandozeile einzugeben. Der freie GNU Compiler GCC wurde von Dave Korn als Gcc-2.95.4 (prerelease) und Binutils-2.10 an VxWorks-PPc unter Cygwin angepasst - eine Möglichkeit, eigenen Code auf dem ANet4U-Target zu starten, ist bisher allerdings noch nicht bekannt.



Valid HTML 4.01! Valid CSS!
© 2002 Heinrich Kordewiner, Postfach 200612, D-35018 Marburg, Fax +49 6421 9839332. Diese Seite wurde zuletzt am 08.06.2002 um 0:00 Uhr von Heinrich Kordewiner geändert. Werbung: Besuchen Sie auch http://marburg.wohnzimmerrechenzentrum.de (DSL HomeSite, dynamic ipv4-address), http://wohnzimmerrechenzentrum.de (nonpublic, password required), kordewiner.com (English Language) und http://hnr.unwissenschaftlich.de (RantBlog, psychological warfare). Der OpenPGP-Key 0x378E3598 (hnr@kordewiner.de, signed email prefered) befindet sich im Quelltext dieses Dokumentes.