ANet4U - ein ATU-R von Inovia Telecoms Ltd. (ECI-Group)
Inovia B-FOCuS AC230bu
 Inovia 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.
Dabei 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
Die
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.
Das
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 |
| hasWriteProtect | 0 | target can write protect memory |
| pageSize | -1 | size of a page |
| endian | 1234 | endianness (0x4321 or 0x1234) |
| bspName | Hi-FOCuS ANeT board - 850 SAR | board 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 PRO | EXCLUDED |
| SU Mode | Bridge |
| BOOTER VRESION IS | 5.2 |
| HW CONF VRESION IS | ANET ISDN |
| modem 1 | UNH_MULTI_MODE |
| Ethernet IP Address | 192.168.20.80 |
| MAC Address | 0:32:143:214:99:151 |
| HFUInvent->SerialNo | 0014050199 |
| HFUInvent->HWVersion | 0x87 |
| HFUInvent->VendorID | ECI |
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.
|