Teledat Projekt > Entwicklung
Im folgenden geht es um die Analyse des Kommunikationsprotokolls, mit dem man die externen AVM-Anlagen steuern kann. Zunächst beschäftigen wir uns vornehmlich mit dem seriellen Protokoll, später auch mit dem USB-Protokoll. Interessante Anlagen sind: Teledat USB 2a/b, 1&1 NetXXL, Teledat X120, AVM Fritz!X PC (v2 und v3), AVM Fritz!X USB (v1 und v2), AVM Fritz!Card USB (v1, v2, v2.1), BlueFritz! AP-X mit USB-Direktverbindung (kein Bluetooth!) und bei Interesse auch AVM Fritz!X PC v1 und Eumex 302 PC. Weitere Informationen zur Hardware finden sich in hardware.txt
Durch die erarbeitete Protokollspezifikation ist es möglich, Konfigurationsprogramme und Kerneltreiber für den Internetzugang zu schreiben. Daher sind die folgenden Informationen auch nur für Entwickler (oder solche, die es werden wollen) interessant, es existieren hier noch keine Tools für Endanwender!
All following information is available in German only because the "AVM smart devices" are sold solely in German speaking countries. If you're an English speaking developer who wants to help with the protocol analysis please contact me (scfe AT cs DOT tu-berlin DOT de or via e-mail form). If there is enough interest I'll publish more information in English. Please note that all program code targeted for production use will have English comments so you'll be able to read it even if you don't speak German. You'll find no tools suitable for normal users here.
30.09.2003 AVM hat eine neue Einsteigeranlage namens "Fritz!X ISDN"
vorgestellt, die vermutlich eine verkleinerte Version der Fritz!X USB ist,
nur mit zwei analogen Telefonports. AVMs Linux-Treiber sollen lt. Pressemeldung
auch mit der neuen Anlage funktionieren.
01.09.2003 Laut einer Nachricht von Marcel Holtmann laufen sämtliche
AVM Bluetooth-Produkte jetzt auch mit dem Linux-Kernel (ab Version 2.4.22).
Näheres in der hardware.txt.
23.07.2003 Dank eines Tools von AVM glaube ich, innerhalb kurzer Zeit
nahezu alle relevanten Pakete für den ISDN-Verbindungsaufbau identifiziert
zu haben. Da diese Pakete weitgehend gemäß Q.931 aufgebaut sind, ist auch
das Parsen nicht besonders schwer. Im Prinzip könnte man meiner Meinung
nach jetzt damit anfangen, einen ersten, sehr primitiven Kerneltreiber
zu schreiben. Den ausführlichen
Statusbericht könnt ihr auf der Entwickler-Mailingliste finden. Alle
Interessierten sind eingeladen, bei der Entwicklung mitzuhelfen :-)
20.07.2003 Bisher habe ich das alte v3-Protokoll der Fritz!X PC v1 immer "v1"
genannt. Eigentlich ist dies jedoch falsch, "v1" ist der Vorläufer des heutigen
"v3", daher ab jetzt eine Versionierung der Protokolle: "v1" nennt sich jetzt
"v3.0", das neue v3 ist jetzt "v3.1". Ebenso mit dem v2-Protokoll. Ich habe daher
alle Dokumente entsprechend geändert, wenn nicht klar war, welche Protokollversion
gerade gemeint war.
19.07.2003 Ich habe die Sektion 'mitmachen' um einige Tipps zum leichteren
Einstieg ergänzt. Außerdem hat Frank Gockel das Fritz-Konfigurationsprogramm
unter Wine zum Laufen gebracht. Näheres hoffentlich in Kürze auf dieser Webseite.
11.05.2003 Jörg Friedrich hat mich darauf aufmerksam gemacht, dass das Format der Firmware scheinbar
"Intel Hex-32" zu sein scheint. Im Web findet sich sogar eine Spezifikation dazu.
AVM stellt zwar Treiber für Linux bereit, jedoch gibt es hier ein paar Nachteile:
Gerade wegen des letzten Grundes bin ich dabei, das Protokoll zu analysieren, um letzlich nutzbare Software wie ein Konfigurationsprogramm oder einen Linuxtreiber zu schreiben - wohl unnötig zu sagen, dass AVM es ablehnte, irgendwelche Spezifikationen zu veröffentlichen (lapidarer Hinweis: "Bitte haben Sie Verständnis dafür, dass es sich hierbei um ein proprietäres Protokoll handelt und wir keine Informationen darüber heraus geben können."). Mehr und ausführlichere Erklärungen über Motivation und Status in entwicklung.txt.
| Beschreibung | Status |
|---|---|
| Analyse des seriellen Protokolls | |
| Dokumentation des v2.1-Protokolls |
|
| Konfigurationsprotokoll (v3.1) |
|
| Protokoll für den Internet-Zugang |
|
| Firmware-Upload |
|
| CTI-Basisfunktionen (Anrufermeldung, Wählen über den Computer) |
|
| erweiterte CTI-Funktionen (Telefonieren über den Computer, Anrufbeantworter) | (nicht geplant) |
| Faxübertragung und -empfang | (nicht geplant) |
| Dateitransfer (Eurofile, IDTrans) |
|
| Analyse des USB-Protokolls |
|
| Analyse des alten Konfigurationsprotokolls (v2.0/v3.0) |
|
| Konfigurationsprogramm | (Planung) |
| Linux Kernel-Treiber | (nicht vor 2004 fertig, eher später) |
In den nächsten Monaten werde ich mich hauptsächlich auf folgende Themen konzentrieren (in dieser Reihenfolge):
In den anderen Bereichen wird es wohl kaum Fortschritte geben, es sei denn durch Zufall. Wenn du spezielle Funktionalitäten schneller haben willst, musst du schon selbst tätig werden... (siehe nächsten Abschnitt)
Klar, mehr Entwickler kann jedes Open-Source-Projekt brauchen, so natürlich auch hier... Wenn du an der Analyse des AVM-Protokolls mitarbeiten oder bei der Programmierung von eines Treibers bzw. anderer Software mitwirken willst, solltest du wie folgt vorgehen:
perl extract.pl <file>),
während human_readable.pl Hexcodes
wenn möglich durch Buchstaben und Ziffern ersetzt (perl
human_readable.pl <file>) und so die Analyse erleichtert
(human_readable.pl ruft automatisch extract.pl auf).
Weitere Fragen oder Hinweise am besten per Mail an mich (scfe AT cs DOT tu-berlin DOT de oder per E-Mail Formular von Sourceforge). Mehr Informationen sind auch auf der Entwickler-Mailingliste zu finden (Web-Archiv).
| Beschreibung | Autor | Download |
|---|---|---|
| Hier gibt es einen Überblick über die verschiedenen Hardware-Versionen der AVM-Anlagen und die der Reseller sowie die Unterschiede in Bezug auf die Firmware. | Felix Schwarz | hardware.txt
letzte Änderung: 01.09.2003 |
| Einige Worte zu meinen ersten Plänen für die Entwicklung eines Konfigurations-Tools (und später vielleicht sogar eines echten Linux-Treibers). | Felix Schwarz | entwicklung.txt
letzte Änderung: 23.07.2003 |
| Eine kleine Liste mit offenen Punkten. Wer also einfach mal mitmachen will oder an der weiteren Entwicklung interessiert ist, sollte sich hier mal umsehen. | Felix Schwarz | todo.txt
letzte Änderung: 20.07.2003 |
| Allgemeine Informationen und Aufbau des v2-Protokolls. | Felix Schwarz | protokoll_v21.txt
letzte Änderung: 20.07.2003 |
| das gleiche für das v3-Protokoll | Felix Schwarz | protokoll_v31.txt
letzte Änderung: 20.07.2003 |
| Hier sind die bisher entschlüsselten Befehlssequenzen beschrieben (im v3.1-Protokoll). | Felix Schwarz | request_v31.txt
letzte Änderung: 20.07.2003 |
| Unsere derzeit noch sehr bescheidenen Erkenntnisse zum USB-Protokoll. Eigentlich mehr ein Platzhalter, da an diesem Protokoll nicht geforscht wird. | Felix Schwarz | protokoll_usb.txt
letzte Änderung: 20.07.2003 |
| Die Dokumentation des Firmware-Uploads. | Felix Schwarz | firmware_upload.txt
letzte Änderung: 20.07.2003 |
| erste Untersuchungen des Protokolls der Fritz!X v1 | Felix Schwarz | protokoll_v30.txt
letzte Änderung: 20.07.2003 |
| einige erste Anmerkungen und Request zu CTI (Telefon-Funktionen über die integrierte ISDN-Karte) - Baustelle und sehr unsortiert | Felix Schwarz | cti.txt
letzte Änderung: 20.07.2003 |
|
Trace einer 1&1 NetXXL Anlage an ttyS1 (COM 2). Die Anlage hatte keine Verbindung zum NTBA. Aktionen:
|
Felix Schwarz | trace01.log
letzte Änderung: 12.10.2002 |
|
Trace einer 1&1 NetXXL Anlage an ttyS1 (COM 2). Die Anlage hatte keine Verbindung zum NTBA. Aktionen:
|
Felix Schwarz | trace02.log
letzte Änderung: 13.10.2002 |
|
Trace einer 1&1 NetXXL Anlage an ttyS1 (COM 2). Die Anlage hatte keine Verbindung zum NTBA. Aktionen:
|
Felix Schwarz | trace03.log
letzte Änderung: 15.11.2002 |