Short: GSM Smartcard(SIM) reader/writer Author: Christian Kummerow Uploader: CHRKUM web de Type: util/misc Version: 0.87 BETA 10.04.2009 Architecture: m68k-AmigaOS GSM Smartcard(SIM) reader/writer for different Readers Amiga Chipkartenleser V0.87 Beta by C.Kummerow Email: CHRKUM at web.de Homepage: http://freenet-homepage.de/CHRAmiga.de (neuste Version des Programms ist dort zu finden) History: V.0.87 Beta: -Fix for GSM cards that don`t support the "status" command -Longer delay for waiting of the ATR, because some cards are slow V.0.86 Beta: -Writing of 2 Wire + I2C Cards for ChipDrive (possible works only up to 256 Bytes) -If you setting Power=NONE you can use now unknown Serial devices -Better/fixed SMS-Decoding -Export of SMS -Bugfixes V.0.85 Beta: -New Tooltypes -ChipDrive Support (extern I+II,twin, intern, micro and possible Kartenzwerg) many thanks to Harald Schnabl for gift me his Reader -German Healt Insurance Card Support(Chipdrive only) -German(and same Format) Phonecard for Box Support(Chipdrive only, possible only Chipdrive Micro) -Support for Reading of Unknown Cards without Pin 2/3-Wire+I2C and possible others(Chipdrive only) -German and English AmigaGuide Manuel - maybe not up to date but this Readme grown to big V.0.83 Beta: -New: Sort HD-Directory on the fly Alphabetic -Bugfix: serial.device possible can crash if ELV Chipkartenleser not Fully Powered down on CloseDevice -Small other fixes V.0.82 Beta: -New: View and Edit FDN and MSISDN, View LDN and SDN -New: A Phone Directory on Harddrive for faster creating/editing of your Sim Directory -Partly Support for Silversurfer,HyperCom3(Clockport) and Vario(untested) -Fix "only one New Number in a Session" and other small Bugfixes -Add Missed MCC Entrys V.0.8 Beta: First official Version ---For English look down--- Vorraussetzungen: Betriebssystem: OS3.1-OS3.9 Prozessor: 68020-68060 Ram: mind. 3 MB Frei Workbenchauflösung von mind. 640x256 mit 8 Farben Serieller Anschluss(Intern), PNG-Datatype Empfohlen: Betriebssystem: >=OS3.5 Grafikkarte/Workbenchauflösung von >=680x512 >=16 Bit Getestet auf: A1200 68060@60MHZ OS3.9 BVision A4000 CPPC 68040@40 MHZ OS3.9 CVision A1200 68030@50MHZ OS3.9 AGA A1200 68020@14 MHZ OS3.1 AGA Getestet mit Modifizierten ELV-Easycheck(gibts auch umgelabelt), erforderliche Hardware änderungen an diesem Gerät sind im Archiv enthalten. Getestet mit Chipdrive micro 120 Was ist es? Amiga Chipkarten leser liesst+schreibt GSM Handy Karten(SIM) mit diverser Hardware. Man kann damit: -Backups seiner SIM-Karte erstellen(Kurzwahl, SMS, Netze etc.) -Telefonnummern Hinzufügen/Löschen/Exportieren(CVS) -SMS Lesen/Hinzufügen/Löschen/bereits gelöschte SMS wiederherstellen -Roaming Netze verwalten -Pins ändern/deaktivieren/per PUK entsperren -Mit einem ChipDrive ist auch das Anzeigen/Speichern von Krankenkarten/Telefonkarten und anderen möglich. Installation: Einfach das Programm(+Enthaltene Dateien) an eine beliebige stelle Kopieren. ToolTypes an Hardware anpassen Benutzung: -Tooltypes setzen. -Die Software ist eigentlich selbst erklärend. Download: Speichert die gewünschten bereiche der SIM-Karte als Datei. -Nur die Vorhandenen Dateien werden auch gespeichert Upload: Schreibt die gewünschten bereiche der Datei auf die SIM Karte. -Es können nur die in der Datei enthaltenen bereiche gewählt werden. -Ist keine Karte gesteckt und man klickt auf Abbrechen wird der Dateiinhalt in den einzelnen Sektionen angezeigt. Das Dateiformat ist Kompatibel mit dem von ELV-Easycheck. Bei Verwendung eines ChipDrives: Wählt man eine Binärdatei mit einer länge von 64,128, 256, 512,1024,2048 Bytes erscheint ein Fenster in dem man das Protokoll wählt. Dann wird die Datei auf die Karte geschrieben. Telefonbuch: Zuerst das gewünschte Buch auswählen was man Edieren/Anzeigen möchte. X löscht den Selectierten Eintrag -> Exportiert das Telefonbuch ins CVS-Tab Format Speichern - Speichert einen geänderten oder neuen Eintrag, muss vor dem Selectieren eines anderen Eintrags gedrückt werden ->(blau) Speichert den gewählten Eintrag ins HD Buch <-(rot) Speichert den gewälten HD Eintrag auf die SIM ABC - Sortiert das HD-Buch Alphabetisch(Im Speicher) Löschen&Speichern&<- ist nur für Kurzwahl/Feste/Eigene Nummern verfügbar. Schnelleres Navigieren ist per Cursortasten möglich. SMS: Links werden die SMS in der Reihenfolge angezeigt wie diese auf der Karte vorliegen, der Buchstabe hat folgende bedeutung: I=Incoming/Eingegangen O=Outgoing/Ausgang S=Gesendet D=Gelöscht. Es gibt SMS die können ggf. nicht angezeigt werden. Neu - Erstellt eine neue SMS X - Löscht die aktuelle SMS Bei gelöschten SMS gibt es auch einen Button wiederherstellen, vorher erscheint der Inhalt. Die meisten Handy löschen legentlich das Status Byte, nicht die ganze SMS. Ein Handy wird diese zwar nicht anzeigen aber dieses Programm kann es. Und beim Klick auf Wiederherstellen wird das Status Byte wieder in In/Out geändert so das man diese auch wieder auf dem Handy betrachten kann. Neu SMS Fenster: Nummer+Text eingeben, Text erscheint nach dem drücken von Enter auch im Textfenster(besser lesbar) Netze: Links sind die Netze aus der Datenbank, Rechs die Bevorzugten Netze von der Sim-Karte. Selektiert man einen eintrag aus der Datenbank erscheinen die Roaming Partner in der Mitte(Nur D1,D2,EPlus,O2) -> fügt einen Datenbankeintrag zur SIM hinzu X löscht einen Eintrag von der Sim Upload Speichert die fertig geänderte Liste auf die SIM -Ältere Karten haben noch nicht alle Roamingpartner gespeichert. -Die Roamingliste enthält nur für D1,D2,EPlus und O2 Roamingpartner -Die Datei MMC.txt kann ergänzt werden 5Stellige angabe von MMC+MNC,Name[Land],Roamingpartner 1=D1,2=D2,3=EPlus,4=O2 Info: Zeigt an: -was die Karte so kann -die Seriennummer -Pin versuche -Speicherkapazität Pins: Pin 1 ändern - ändert Pin 1 Pin 2 ändern - ändert Pin 2 Optional Deaktiviern - deaktiviert die abfrage von Pin 1 (erscheint nur wenn die Karte das kann) Pin 1 entsperren - entsperrt Pin 1 mit hilfe des PUK1/SuperPin (erscheint nur wenn Pin1 gesperrt ist) Pin 2 entsperren - entsperrt Pin 2 mit hilfe des PUK2/ idr. = PUK1/SuperPin (erscheint nur wenn Pin2 gesperrt ist) Chipdrive: Wird in den Chipdrive eine Syncrone Karte(also keine GSM) gesteckt, probiert das Programm die verschiedenen Syncron-Protokolle durch und guckt ob es eine bekannte Karte findet. Es werden dann Krankenversicherungskarten sowie Telefonkarten angezeigt, ist die Karte unbekannt kann man Manuell das Protokoll+Speicherkapazität auswählen. Dann wird die Karte in Hex+ASCII angezeigt und kann gespeichert werden. Telefonkarten+Krankenkarten können zusätzlich als ASCII gespeichert werden. Möchte man eine Karte direkt als Hex anzeigen statt die Krankenkarten/Telefonkarten infos zu sehen muss man die Karte erst verkehrtrum einstecken, bei der Abfrage dann richtigherum einführen. Das Arbeiten mit einer Serial Karte nur beschränkt möglich, die Stromversorgung der Geräte erfolgt idr. durch DTR, das Initalisieren durch RTS. Beides muss man setzen können und das ist nun nicht vorgesehen in den Device-Treibern. Fragt mich nicht warum man das nicht mal Integriert hat. Ich habe nun einen Silversurfer + Hypercom3+ Support eingebaut, das funktioniert jedoch nur mit Lesern die keinen oder sehr sehr wenig Strom vom Serialport benötigen(ELV+Chipdrive Micro fallen da schon raus). Alle Uhrenportkarten von denen ich weiss benutzen einen Spannungsverdoppler zum Generieren von +-10V aus +5Volt. Das läuft über einen TIL Chip, der einerseits wenig Power hat andererseits sind die Karten nur mit 4x1µF bestückt. Die Spannung bricht also ein und generell werden in der Praxis unbelastet schon nur +-9V erreicht, was 3Volt weniger sind als andere Schnittstellen liefern. Selbst mit den ändern auf 4x47µF ging mein Leser nicht. Eine Vario habe ich nicht, die Zorro-Version soll aber +-12V liefern ->ist jedoch ungetestet. Wenn was schief geht kommt eine Fehlermeldung. ToolTypes: Device - Serielle Schnittstelle z.B. Device=serial.device Unit - Unit zu dieser Schnittstelle z.B. Unit=0 Startdir - Anfangsverzeichniss für den Auswahlrequester z.B. Startdir=Work:Chipkarten/ Debug - Zur fehlersuche, nicht auf <030 benutzen z.B. Debug=0 Power - DTR=Leser wird über DTR mit Strom versorgt RTS=Leser wird über RTS mit Strom versorgt DTRRTS=Leser wird über DTR und RTS mit Strom versorgt NONE=Leser benötigt kein Strom (hat z.B. ein Netzteil) Hinweis: Leser mit Integrierten Batterien brauchen ggf. trotzdem Strom beim ELV-Easycheck wird die SIM-Karte durch die Batterien Versorgt nicht aber die Chips. Hinweis: Bei einem Gerät mit Integrierten Batterien ist zu Prüfen ob diese nicht Leer sind, das kann Fehlfunktionen verursachen. Reset - RTS=Leser wird über RTS Initalisiert(RESET) RTSI=Leser wird über Invertriertes RTS Initalisiert DTR=Leser wird über DTR Initalisiert DTRI=Leser wird über Invertriertes DTR Initalisiert CHD=Spezieller Chipdrive Reset Insert - DSR = Das einlegen einer Karte wird über DSR Signalisiert CD = Das einlegen einer Karte wird über CD Signalisiert CTS = Das einlegen einer Karte wird über CTS Signalisiert CHD = Spezielle Chipdrive Signalisierung SercardADR = Adresse der Seriellen Karte(für serial.device nicht erforderlich): Uhrenport Karten: d80001 für den A1200 Uhrenport d84001 für den ZIV Uhrenport 1 d88001 für den ZIV Uhrenport 2 d8c001 für den ZIV Uhrenport 3 KartenAdresse(ShowConfig)+a001 für X-Surf Uhrenport KartenAdresse(ShowConfig)+c000 für X-Surf Uhrenport KartenAdresse(ShowConfig)+e00 für Buddha Uhrenport VarioZorro: KartenAdresse(ShowConfig) Chipdrive - 0 = Chipdrive extern I/II, twin, intern 1 = Chipdrive Micro (benutzt etwas abweichende Kommandos) 2 = Kartenzwerg (ungetestet) kann auch benutzt werden falls ein Leser nur ohne Parität läuft(8N1) Durch diesen ganzen Optionen dürften eine vielzahl der auf dem Markt befindlichen Geräte Funktionieren Bugreports, Anregungen und besonders Reports über Funktionierende Geräte sind erwünscht. Copyright (C) 2007 Christian Kummerow Dieses Programm ist Freeware, KEINE Garantie für Funktion/Fehlerfreiheit sowie Folgeschäden an Software oder Hardware! English: Im not so good in English, if you something don`t understand ask. Minimum System Requirement: Operatingsystem: OS3.1-OS3.9 Processor: 68030-68060 Ram: min. 3 MB Free Workbenchresolution min. 640x256 with 8 Colors Serial Port (Internal), PNG-Datatype Recommended: OS: >=OS3.5 Graphiccard/Workbenchresolution >=680x512 >=16 Bit Tested On: A1200 68060@60MHZ OS3.9 BVision A4000 CPPC 68040@40 MHZ OS3.9 CVision A1200 68030@50MHZ OS3.9 AGA A1200 68020@14 MHZ OS3.1 AGA What is it? Amiga Chipkarten leser reads+writes GSM Handy Smartcards(SIM) with different Hardware. You can do the follow: -Backup your Sim-Card -Add Dialing-Numbers, delete and Export it(CVS) -Read SMS/Add/Delete/Restore already deleted SMS -Manage Roaming Network -Change Pin/deactivate/ Unlock with PUK -With a ChipDrive you can View/Save German Healt Insurance, Phonecards(Box) and others Installation: Copy the Programm with his Files on any Position. You change the ToolTypes for different Hardware. Using: -Set the Tooltypes -The Software is in German, but most thinks has Symbols Download: Save the selected areas of the Sim-card in a File -Only files that are realy on the Sim become saved Upload: Writes the selected areas of the File to the SIM -You can only select areas that are in the File -Is there no card in the reader and you klick on Abbrechen(Cancel) the File contens are displayed in the different Sections The Fileformat is Compatible to that from ELV-Easycheck For ChipDrive: If you select a Binary File with a length of 64,128,256,512,1024 or 2048 Bytes a Window appers with you can select I2C or 2 Wire. Then the Card is written. Telefon directory: First select the directory you want Edit/View. Kurzwahl=Abbrevlated dialing numbers Feste=Fixed dialing numbers Eigene=own dialing numbers Gewählte=Last number dialed Service=Service dialing numbers X deletes the selected Entry -> Export the Telefon directory into the CVS-Tab Format Speichern - Save a changed Entry or a new Entry, you have to click it in front of select another Entry ->(blue) Save the selected Entry into the HD Directory <-(red) Save the selected Entry from the HD-Directory to the Sim ABC - Sort the HD-Directory Alphabetic(RAM) Delete and Save and <- is only available for ADN,FDN and MSISDN. You can faster Navigate through the Lists with the Cursor Keys. SMS: On the Left are the SMS in the order that on the SIM-Card, the Letter has the follow meaning: I=Incoming/Eingegangen O=Outgoing/Ausgang S=Send D=Deleted There exist SMS that can`t Displayed Neu - Creates a New SMS X - Deletes the selected SMS If you select a Deleted SMS there is another Button "wiederherstellen"(Restore) in front of that you see the Contens. The most Mobiles only delete the State Byte of the SMS, not the SMS inself. A Mobile never Display such a Message but this programm can do. If you Click on "Wiederherstellen" the Status Byte chanced in In/Out and the Mobile can Display the Message too. New SMS Window: Enter Number and Text, the Text is displayed in the Textwindow after pressing Return, you can it better read in it. Networks: On the Left site are the Networks of the Database, on the right the Favorites Networks from the Sim. If you select a Entry from the Database, in the Middle of the Window the Roaming Partners are Displayed(Only D1,D2,EPlus,O2) Non German users have to look in the Internet witch Roming Partner you Local Provider support. -> Add a Entry to the Sim X Deletes a Entry from the Sim Upload Save the ready changed List to the SIM -You can Add Providers to the File MMC.txt, first the 5 Digits entry of MMC+MNC, Name[Country], Roamingpartner 1=D1,2=D2,3=EPlus,4=O2 There exist MNC`s with 3 Digits in the USA but i have only the Datacheats for using that one`s with 2 Digits. Info: Display: -What your Sim-card can do -the Serial Number -Pin trys -Memory size PINs: Pin 1 ändern - Change Pin 1, first enter Pin 1, than 2 times the new Pin Pin 2 ändern - Change Pin 2, first enter Pin 2, than 2 times the new Pin Optional Deaktiviern - deactivate the question about Pin 1 (Only there if the card support this) Pin 1 entsperren - Unblocks Pin 1 with PUK1 (Only there if Pin1 is blocked) Enter PUK1 than a New Pin1 Pin 2 entsperren - Unblocks Pin 2 with PUK2 (Only there if Pin2 is blocked) Enter PUK2 than a New Pin2 Chipdrive: If you Plug a Syncron card into the Chipdrive, the Program trys the different Protocols to find a known card. Healt Insurance Cards or Phonecards are shown, if the Card is unknown you can select "Ja" then the Protocol of the Card and the Size of the Card. Then the Card is shown in Hex+ASCII, you can save(Speichern) it if you want. Insurance Cards and Phonecards can save as ASCII(as they shown) too. If you want to see a Card directly as Hex and not the Insurace and Phone -cards Infos, you have to Plug the Card in the wrong direction(you see the Chip) and on the Question Plug it in the right direction. You can only partly work with a serial Card, the Power for the device most comes from DTR, the Init from RTS. Both have possible to set and that are not build in in the Serial-Device-Drivers. I don`t know why this are never build in. Sometimes i may support some Serial cards with a direct Hardware access to them. I have now build in a Silversurfer + Hypercom3+ Support, but that works only with Readers that require none or very few Power from the Serialport. The Clockport cards about i know use a Voltage Doubler to generate +-10V from +5V. That works with a TIL Chip, that have few Power and additional the Cards have only 4x1µF. It`s not enough power, already without something Connected there are only 9V(12V from Internal Port) and with my Reader it goes realy down. I change the 4x1µF to 4x47µF but my Reader still won`t work. I don`t have a VarIO, but the Zorro-Version should deliver +-12V but i can`t test it. If anything goes wrong there comes a Error Message(In German - buy a English<>German Book :-) ToolTypes: Device - Serial Device for Example: Device=serial.device - Have to be serial.device Unit - Unit for the Device for Example: Unit=0 - Have to be 0 Startdir - Startdir for the FileRequester for Example: Startdir=Work:Smardcards/ Debug - for searching Errors, don`t use with <030 for Example: Debug=0 Power - DTR=Reader get Power from DTR RTS=Reader get Power from RTS DTRRTS=Reader get Power from DTR and RTS NONE=Reader don`t need Power(have a own Power Supply for Example) Tip: Reders with Integrated Batterys possible need too Power from DTR or RTS, For Example the ELV-Easycheck use Batterys for the SIM but DTR|RTS for the IC`s in it. Tip: If you have a Device mit Batterys make sure that there a not Empty - that makes Malefunctions Reset - RTS= Reader become Init with RTS (RESET) RTSI=Reader become Init with Inverted RTS DTR=Reader become Init with DTR DTRI=Reader become Init with Inverted DTR CHD=Use Special Chipdrive Init Insert - DSR = If a Card is Insert it comes a Signal from DSR CD = If a Card is Insert it comes a Signal from CD CTS = If a Card is Insert it comes a Signal from CTS CHD = use Special CHD Signal Chipdrive - 0 = Chipdrive extern I/II, twin, intern 1 = Chipdrive Micro (use a Bit different Commands) 2 = Kartenzwerg (untestet) can used too if a Reader only works without Parity(8N1) SercardADR = Adress of the Serial Card(for serial.device not needed): Clockport Cards: d80001 for the A1200 Clockport d84001 for the ZIV Clockport 1 d88001 for the ZIV Clockport 2 d8c001 for the ZIV Clockport 3 Card Adress(ShowConfig)+a001 for X-Surf Clockport Card Adress(ShowConfig)+c000 for X-Surf Clockport Card Adress(ShowConfig)+e00 for Buddha Clockport Vario Zorro: Card Adresse(ShowConfig) Because of the many options many Devices should work. You can send me Bugreports and so on. Please send me Informations about Readers that works. Copyright (C) 2007 Christian Kummerow This Programm is Freeware. You use this software at your own risk! I can never be held responsible for any sort of damage to your software or hardware by the use of this product!