Forum: Mikrocontroller und Digitale Elektronik Eumex 401 rooten


von Moritz M. (thinksilicon)


Lesenswert?

Hallo Forum,
mir ist kürzlich eine Eumex 401 Telefonanlage von funkwerk in die Finger 
gekommen. Und natürlich konnte ich es nicht lassen und hab mir das Ding 
mal genauer angesehen.
Zunächst ganz ohne es zu zerlegen: Schließt man das USB-Kabel an, wird 
eine Netzwerkkarte erkannt. Der Anleitung ist zu entnehmen, dass die 
Anlage dann auf der 192.168.1.250 lauscht - also dem Rechner die 
192.168.1.50 gegeben und mal ein nmap drüber laufen lassen.
Auf der TK-Anlage sind die Ports 5000 bis 5004 offen. Wobei man auf Port 
5004 die dmesg zu gesicht bekommt.
1
Jan  1 00:00:03 k400 syslogd[24]: [MSG] version 1.4.1 (re)started
2
Jan  1 00:00:03 k400 vmlinux: memory available is 15421KB
3
Jan  1 00:00:03 k400 vmlinux: start_mem is 0x400e0ba8
4
Jan  1 00:00:03 k400 vmlinux: virtual_end is 0x40ff0000
5
Jan  1 00:00:03 k400 vmlinux: before free_area_init
6
Jan  1 00:00:03 k400 vmlinux: free_area_init -> start_mem is 0x400e2ba8
7
Jan  1 00:00:03 k400 vmlinux: virtual_end is 0x40ff0000
8
Jan  1 00:00:03 k400 vmlinux: Calibrating delay loop.. ok - 56.72 BogoMIPS
9
Jan  1 00:00:03 k400 vmlinux: Memory: 14052k/15M available (712k kernel code, 32k reserved, 1524k data)
10
Jan  1 00:00:03 k400 vmlinux: Swansea University Computer Society NET3.035 for Linux 2.0
11
Jan  1 00:00:03 k400 vmlinux: NET3: Unix domain sockets 0.13 for Linux NET3.035.
12
Jan  1 00:00:03 k400 vmlinux: Swansea University Computer Society TCP/IP for NET3.034
13
Jan  1 00:00:03 k400 vmlinux: IP Protocols: ICMP, UDP, TCP
14
Jan  1 00:00:03 k400 vmlinux: Linux version 2.0.38.0 (lueck@TEVlnx-1) (gcc version 2.95.4 20010319 (prerelease)) #1 Di Nov 4 09:48:31 CET 2008
15
Jan  1 00:00:03 k400 vmlinux: am29: [INF] flashmem_init (simulation=off)
16
Jan  1 00:00:03 k400 vmlinux: am29: [INF] flashid: 0x1, 0x49
17
Jan  1 00:00:03 k400 vmlinux: am29: [INF] toggling_bits=0x44
18
Jan  1 00:00:03 k400 vmlinux: am29: [INF] special_base=0x2000000 special_base2=0x2000000
19
Jan  1 00:00:03 k400 vmlinux: am29: [INF] special sectors map:
20
Jan  1 00:00:03 k400 vmlinux: am29: [INF] start=0x0 size=0x4000
21
Jan  1 00:00:03 k400 vmlinux: am29: [INF] start=0x4000 size=0x2000
22
Jan  1 00:00:03 k400 vmlinux: am29: [INF] start=0x6000 size=0x2000
23
Jan  1 00:00:03 k400 vmlinux: am29: [INF] start=0x8000 size=0x8000
24
Jan  1 00:00:03 k400 vmlinux: am29: [INF] total=4 sectors in 1 region(s)
25
Jan  1 00:00:03 k400 vmlinux: am29: [INF] org='BOTTOM' start_index=3 step=-1
26
Jan  1 00:00:03 k400 vmlinux: mtd: Giving out device 0 to AMD29LV160Bottom
27
Jan  1 00:00:03 k400 vmlinux: am29: [INF] flashmem_init (simulation=off)
28
Jan  1 00:00:03 k400 vmlinux: am29: [INF] flashid: 0x50b0, 0xe4
29
Jan  1 00:00:03 k400 vmlinux: am29: [INF] toggling_bits=0x44
30
Jan  1 00:00:03 k400 vmlinux: am29: [ERR] unknown flash
31
Jan  1 00:00:03 k400 vmlinux: am29: [ERR] unable to get flash info
32
Jan  1 00:00:03 k400 vmlinux: Ramdisk driver initialized : 4 ramdisks of 1024K size
33
Jan  1 00:00:03 k400 vmlinux: bmtd: [INF] registered device at major 42
34
Jan  1 00:00:03 k400 vmlinux: PPP: version 2.3.11 (demand dialling)
35
Jan  1 00:00:03 k400 vmlinux: TCP compression code copyright 1989 Regents of the University of California
36
Jan  1 00:00:03 k400 vmlinux: PPP line discipline registered.
37
Jan  1 00:00:03 k400 vmlinux: ISDN subsystem Rev: 1.6/none/1.21/1.26/none
38
Jan  1 00:00:03 k400 vmlinux: P2001 FIQ & Timer1 Handler Module - $Revision: 1.19 $, (Nov  4 2008, 09:49:38)
39
Jan  1 00:00:03 k400 vmlinux: P2001 USB Remote NDIS Driver Module - $Revision: 1.33 $, (Nov  4 2008, 09:49:43)
40
Jan  1 00:00:03 k400 vmlinux: P2001 HDLC Driver Module 
41
Jan  1 00:00:03 k400 vmlinux: P2001 L1 driver module 
42
Jan  1 00:00:03 k400 vmlinux: BHDLC driver module installed 
43
Jan  1 00:00:03 k400 vmlinux: VFS: Mounted root (romfs filesystem) readonly.
44
Jan  1 00:00:03 k400 vmlinux: LED Driver Module - Version 2.0 (Nov  4 2008, 09:52:21)
45
Jan  1 00:00:03 k400 vmlinux: 802.1D Ethernet SoftSwitch Module - Version 1.0 (Nov  4 2008, 09:52:26)
46
Jan  1 00:00:03 k400 vmlinux: P2001 MFV Driver Module - $Revision: 1.21 $, (Nov  4 2008, 09:52:09)
47
Jan  1 00:00:03 k400 vmlinux: P2001 CLIP Driver Module - $Revision: 1.10 $, (Nov  4 2008, 09:52:07)
48
Jan  1 00:00:03 k400 vmlinux: P2001 codec Driver Module - $Revision: 1.18 $, (Nov  4 2008, 09:52:05)
49
Jan  1 00:00:03 k400 vmlinux: P2001 analog scannner Driver Module - $Revision: 1.9 $, (Nov  4 2008, 09:52:12)
50
Jan  1 00:00:03 k400 vmlinux: ISDN hardware layer initialized
51
Jan  1 00:00:03 k400 vmlinux: UDP Switch Module - Version 1.0 (Nov  4 2008, 09:52:35)
52
Jan  1 00:00:03 k400 sh[25]: [MSG] starting mpsv6xx
53
Jan  1 00:00:05 k400 mpsv6xx[27]: [WRN] FLASH 2 perhabs no present: /dev/mtd1 open failed with -1 
54
Jan  1 00:00:05 k400 mpsv6xx[27]: [MSG] ***** Flash 1 phys. paramter: ***** 
55
Jan  1 00:00:05 k400 mpsv6xx[27]: [MSG] Base.   : 0x02000000 
56
Jan  1 00:00:05 k400 mpsv6xx[27]: [MSG] Size    : 0x00200000 
57
Jan  1 00:00:05 k400 mpsv6xx[27]: [MSG] Segments:         35  
58
Jan  1 00:00:05 k400 mpsv6xx[27]: [MSG] ***** Flash 2 phys. paramter: ***** 
59
Jan  1 00:00:05 k400 mpsv6xx[27]: [MSG] Base.   : 0x00000000 
60
Jan  1 00:00:05 k400 mpsv6xx[27]: [MSG] Size    : 0x00000000 
61
Jan  1 00:00:05 k400 mpsv6xx[27]: [MSG] Segments:         0  
62
Jan  1 00:00:05 k400 mpsv6xx[27]: [MSG] ***** MPS Flash configuration ***** 
63
Jan  1 00:00:05 k400 mpsv6xx[27]: [MSG] ### GEB_START_SEGMENT   at 0x021F0000 ### 
64
Jan  1 00:00:05 k400 mpsv6xx[27]: [MSG] ### BUCH_START_SEGMENT  at 0x021E0000 ### 
65
Jan  1 00:00:05 k400 mpsv6xx[27]: [MSG] ### LCR_START_SEGMENT   at 0x021E0000 ### 
66
Jan  1 00:00:05 k400 mpsv6xx[27]: [MSG] ### M_HW_BACKUP_KFG_ADR at 0x021D0000 ### 
67
Jan  1 00:00:05 k400 mpsv6xx[27]: [MSG] ### GEB_SUM_ZAEHLER_SEG at 0x021C0000 ### 
68
Jan  1 00:00:05 k400 mpsv6xx[27]: [MSG] ### TEL_BOOK_INTER      at 0x02006000 ### 
69
Jan  1 00:00:05 k400 mpsv6xx[27]: [MSG] ### M_HW_FLASH_KFG_ADR  at 0x02008000 ### 
70
Jan  1 00:00:05 k400 vmlinux: Got country code NO_COUNTRY
71
Jan  1 00:00:05 k400 mpsv6xx[27]: [MSG] Starting HAL_main! 
72
Jan  1 00:00:06 k400 sh[28]: [MSG] configuring system
73
Jan  1 00:00:07 k400 cnfd[29]: [MSG] version 2.1 (Nov  4 2008, 09:55:13) started 
74
Jan  1 00:00:07 k400 vmlinux: Got country code GERMANY
75
Jan  1 00:00:07 k400 mpsv6xx[27]: [MSG] init mempool 
76
Jan  1 00:00:07 k400 mpsv6xx[27]: [MSG] Setting PORT infos... 
77
Jan  1 00:00:08 k400 cnfd[29]: [MSG] writing config files ... 
78
Jan  1 00:00:08 k400 cnfd[29]: [MSG] terminating with status=Success 
79
Jan  1 00:00:08 k400 init[1]: [MSG] entering runlevel '2' 
80
Jan  1 00:00:08 k400 init[1]: [MSG] Sending SIGTERM to runlevel '1' processes 
81
Jan  1 00:00:08 k400 init[1]: [MSG] Sending SIGKILL to runlevel '1' processes 
82
Jan  1 00:00:08 k400 sh[31]: [MSG] killing wan service
83
Jan  1 00:00:09 k400 sh[35]: [MSG] starting cnfd
84
Jan  1 00:00:10 k400 cnfd[37]: [MSG] version 2.1 (Nov  4 2008, 09:55:13) started 
85
Jan  1 00:00:10 k400 sh[38]: [MSG] configuring network devices
86
Jan  1 00:00:12 k400 sh[54]: [MSG] configuring network
87
Jan  1 00:00:14 k400 sh[66]: [MSG] configuring routing table
88
Jan  1 00:00:15 k400 syslogd[24]: [MSG] version 1.4.1 (re)started
89
Jan  1 00:00:15 k400 sh[70]: [MSG] starting dhcpd
90
Jan  1 00:00:15 k400 dhcpd[72]: [MSG] version 0.9.7 (Nov  4 2008, 09:54:34) started 
91
Jan  1 00:00:16 k400 sh[73]: [MSG] starting dnsd
92
Jan  1 00:00:16 k400 dnsd[75]: [MSG] version 1.1 (Nov  4 2008, 09:54:39) started 
93
Jan  1 00:00:16 k400 sh[76]: [MSG] starting bccd
94
Jan  1 00:00:17 k400 bccd[78]: [MSG] version 1.0 (Nov  4 2008, 09:55:07) started 
95
Jan  1 00:00:17 k400 bccd[78]: [MSG] connecting to mps 
96
Jan  1 00:00:17 k400 sh[79]: [MSG] starting capid
97
Jan  1 00:00:17 k400 bccd[78]: [MSG] connect with mps 
98
Jan  1 00:00:18 k400 sh[82]: [MSG] starting tapid
99
Jan  1 00:00:19 k400 capid[81]: [MSG] ACTIVATE_IND To mps  
100
Jan  1 00:00:19 k400 capid[81]: [MSG] M_IT_DAE_ACTIVE_CONF from mps CAUSE = 0.  
101
Jan  1 00:00:19 k400 tapid[84]: [MSG] ACTIVATE_IND To mps  
102
Jan  1 00:00:19 k400 sh[85]: [MSG] starting statd
103
Jan  1 00:00:20 k400 tapid[84]: [MSG] M_IT_DAE_ACTIVE_CONF from mps.  
104
Jan  1 00:00:20 k400 statd[87]: [MSG] version 1.9 (Nov  4 2008, 09:56:04) started 
105
Jan  1 00:00:20 k400 statd[87]: [MSG] current provider '---' 
106
Jan  1 00:00:21 k400 statd[87]: [MSG] connect from mps client 0x3e7 (1/10) 
107
Jan  1 00:00:23 k400 statd[87]: [MSG] SIGHUP received 
108
Jan  1 00:00:23 k400 statd[87]: [MSG] current provider '---'
Über Port 5003 Befehle wie Statusanfragen oder die Einwahl zu einem 
Internetprovider (ISDN) abschicken kann (welche Befehle siehe weiter 
unten).
Der dmesg ist zu entnehmen, dass auf dem Gerät ein
1
Linux version 2.0.38.0 (lueck@TEVlnx-1) (gcc version 2.95.4 20010319 (prerelease)) #1 Di Nov 4 09:48:31 CET 2008
läuft.
Daraufhin habe ich mir die Hardware etwas genauer vorgeknüpft - es ist 
ein ARM9-Prozessor verbaut. Allerdings eine "Eigenkonstruktion" von 
Elmeg-Funkwerk, weshalb man zu dem Prozessor so gut wie nichts findet. 
Auf dem Teil steht nur
1
elmeg
2
P_2001 Kolibri
3
840
4
K145RUP
 - vielleicht findet ihr ja noch mehr dazu als ich.
Dann ist das Teil noch mit 8 MB-Ram und 16 MB-Flash bestückt. Ein 
zweiter Platz für einen Flash-Baustein ist vorgesehen und wird auch von 
der Firmware versucht anzusprechen:
1
mpsv6xx[27]: [WRN] FLASH 2 perhabs no present: /dev/mtd1 open failed with -1
Ansonsten ist nichts großartig spannendes mehr drauf: 2 AD-DA-Wandler 
mit jeweils 2 Wandlern (OKI M7704-01)für die insgesamt 4 
Analoganschlüsse der Anlage und weitere 2 Verstärkerchips (TL064C) um 
das Signal für die Telefon aufzubereiten.

Interessanter war da schon der Anschluss auf der Platine mit der 
Beschriftung JTAG und daneben V24 (direkt beim Prozessor). Leider habe 
ich bisher kein JTAG-Programmer - aber zumindest einen 
RS232-Pegelwandler für 3.3V-Pegel, sodass ich die V24-Schnittstelle 
angeschlossen habe.
Dabei ist der Pin direkt neben der V24-Aufschrift TX und ich vermute 
zumindest der Richtung Kondensatoren RX - direkt bei den Kondensatoren 
ist GND. Startet man das Gerät erhält man bei 57100 8n1 einige wenige 
Ausgaben der seriellen Konsole:
1
Jan  1 00:00:00 init[1]: [MSG] version 1.1 (Nov  4 2008, 09:54:07) started
2
3
Jan  1 00:00:00 init[1]: [MSG] set hostname 'k400'
4
5
Jan  1 00:00:00 init[1]: [MSG] mounting procfs on /proc
6
7
Jan  1 00:00:00 init[1]: [MSG] expanding ramdisk image into /dev/ram0
8
9
Jan  1 00:00:00 init[1]: [MSG] mounting /dev/ram0 on /var
10
11
Jan  1 00:00:00 init[1]: [MSG] entering runlevel '1'
12
13
Jan  1 00:00:01 sh[10]: [MSG] installing modules
14
Jan  1 00:00:02 sh[19]: [MSG] killing wan service
15
Jan  1 00:00:02 sh[22]: [MSG] starting syslog services
Leider kein Login-Prompt und nix - auch meine Eingaben wurden bisher 
ignoriert - es könnte also sein dass mein RX-Anschluss auf der Platine 
der falsche ist.
Ansonsten wäre meine Frage, ob es irgendeine Tastenkombination gibt, die 
üblicherweise den Bootvorgang unterbricht und mir entweder zugriff auf 
den Bootloader gibt oder besser auf das Linuxsystem.

Jetzt noch kurz zu den Befehlen, die man über Port 5003 absetzen kann:
1
STAT_REQ
2
(zweimal enter drücken gibt)
3
STAT_RESP=CON
4
STATE=DISCONNECTED
5
PROVIDER=---
6
DIALMODE=MANUAL
7
WANLINK=UP
8
CAPI_STATE=DISCONNECTED
9
CAPI_BCH_COUNT=0
10
CAPI_MAX_BCH_COUNT=2
11
CAPI_EXT_BCH_COUNT=0
12
CAPI_EXT_MAX_BCH_COUNT=2
13
TAPI_STATE=DISCONNECTED
14
CAPI_LIZENZ=10
15
CAPI_MAX_LIZENZ=10
16
TAPI_LIZENZ=10
17
TAPI_MAX_LIZENZ=10
18
DIALER_INFO=NO
19
VERSION=1.9 (k400, Nov  4 2008, 09:56:04)
Außerdem noch die Befehle für Einwahl
1
WANLINK ACTION=DIAL
2
WANLINK ACTION=DOWN
3
KHMP=DIALER_INFO_ACK

Mit einem Hex-Editor hab ich mich auch noch ein bisschen in den Dateien 
des ControllCenters umgesehen und ein Paar weitere Befehle gefunden, die 
aber evtl. auch keine sind oder die anders verwendet werden müssen
1
WANLINK ACTION=BCH_SUB BCH_ADD BCHANNEL NEXT PROVIDER?
2
3
STAT_RESP=CON
4
STAT_RESP=PROVIDER
5
STAT_RESP=IPTEL
6
STAT_RESP=VPN
7
8
CAPI_MANUFACTURER
9
CAPI_SET_SIGNAL
10
CAPI_GET_PROFILE
11
CAPI_GET_SERIAL_NUMBER
12
CAPI_GET_VERSION
13
CAPI_GET_MANUFACTURER
14
CAPI_WAIT_FOR_SIGNAL
15
CAPI_GET_MESSAGE
16
CAPI_PUT_MESSAGE
17
CAPI_RELEASE
18
CAPI_REGISTER
19
CAPI_INSTALLED

von Moritz M. (thinksilicon)


Angehängte Dateien:

Lesenswert?

Hier nochmal ein Bild vom Inneren, dann kann man sich da etwas mehr 
drunter vorstellen. Unter dem Strichcode ist der Platz für den 2. Flash.

von Jörg H. (Gast)


Lesenswert?

Hallo,

hmm, das selbe Prob. hab ich auch.

Mein Prob. ist, ich suche die Firmware von der Eumex 401, bzw. möchte 
nen Dump erstellen.
Da ich gerne die Original-Soft von Freiwerk nutzen möchte.

Komm irgendwie nicht weiter??

Hast Du vielleich nen Dump???

Gruss
Jörg

von ich (Gast)


Lesenswert?

hm, wenn da Linux verwendet wird, müsste denn nicht der Quellcode
offen gelegt werden?

von Sebastian (Gast)


Lesenswert?

Leider kann ich über die Anlage selbst nichts sagen. Über den 
geheimnisvollen P2001 Prozessor habe ich - mit geringem Erfolg - schon 
mal recherchiert.
Meine Erkenntnisse lassen sich eigentlich kurz zusammenfassen: Der 
Prozessor ist eine Entwicklung von MAZ Brandenburg 
(http://www.mazbr.de/), es gab mal ein ziemlich kompliziertes Demoboard 
(LPEC-P2001), von dem man leider keine Doku mehr findet, und es hat mal 
jemand eine Diplomarbeit (bei der TU Berlin) darüber geschrieben. Leider 
ist das, was man im Netz davon lesen kann, ohne die entscheidenden 
technischen Details.

Interessant ist dieses Dokument: http://gdb-jtag-arm.sourceforge.net/
(siehe "History"). Der Name Tobias Lorenz taucht auch hier drin auf: 
http://opensrc.sec.samsung.com/

von Peter S. (peterso)


Lesenswert?

Wer sich die Eumex 401 anschaut, sollte sich auch die Eumex 800 
anschauen.

Dort gibts den Quellcode der Firmware.

http://hilfe.telekom.de/hsp/cms/content/HSP/de/3388/FAQ/theme-71990825/Geraete-und-Zubehoer/theme-2001020/Telefonanlagen/theme-2000562/Eumex-Serie/theme-2001601/Eumex-800

Die Eumex 800 hat auch den P_2001 eingebaut.

von Peter S. (peterso)


Angehängte Dateien:

Lesenswert?

Hier mal Bilder der Platine.

von Nordlicht (Gast)


Lesenswert?

Moritz M. schrieb:
> Ansonsten wäre meine Frage, ob es irgendeine Tastenkombination gibt, die
> üblicherweise den Bootvorgang unterbricht und mir entweder zugriff auf
> den Bootloader gibt oder besser auf das Linuxsystem.

Man kann sich auch ein Loch in die Kniescheibe bohren und warten
das da Erdöl rauskommt..............

von Google (Gast)


Lesenswert?

Beim Openwrt-Wiki gibt es eine Analyse der Eumex 800
Link: http://wiki.openwrt.org/toh/t-com/eumex800

von Tim S. (Firma: tsx89) (freak_ts) Benutzerseite


Lesenswert?

Die Eumex 401 schaud am analogen a/b Teil hardwaremäßig ziemlich genau 
so aus wie die T444. Insgesammt sogar ziemlich gleich, bis auf das 
anscheinend der interne S0 und die Ethernetports fehlen. Vielleicht 
hilft das was, wegen alternativer Firmware von Funkwerk.. [Jetzt Teldat 
;-( ]

Ich spiel seit einigen Jahren mit dem LAN-Tapi / Capi rum, (T484) Das 
ist aber totale Bit-Fummelei (ist ne art CTI von nem Server über PHP und 
sonnst was für Sachen über Sockets). Lohnt sich bestimmt nicht das 
irgendwo reinzustellen.

Paar Tipps, schaud euch das Config-File an, was ihr für eure Anlage 
speichern könnt. Außerdem Wireshark verwenden währed des Auslesens / 
Schreibens über den "Configurator"

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.