Trying to revive the old ic35link package from Thomas Schulz
Go to file
2020-09-15 22:05:42 +02:00
debian Fixed symlink to license file 2020-09-15 22:05:42 +02:00
doc Initial commit 2020-09-15 21:16:28 +02:00
src Initial commit 2020-09-15 21:16:28 +02:00
.gitignore Initial commit 2020-09-15 21:16:28 +02:00
AUTHORS Initial commit 2020-09-15 21:16:28 +02:00 Initial commit 2020-09-15 21:16:28 +02:00
ChangeLog Initial commit 2020-09-15 21:16:28 +02:00
compile Initial commit 2020-09-15 21:16:28 +02:00 Initial commit 2020-09-15 21:16:28 +02:00
COPYING Initial commit 2020-09-15 21:16:28 +02:00
depcomp Initial commit 2020-09-15 21:16:28 +02:00
INSTALL Initial commit 2020-09-15 21:16:28 +02:00 Initial commit 2020-09-15 21:16:28 +02:00
NEWS Initial commit 2020-09-15 21:16:28 +02:00
README Initial commit 2020-09-15 21:16:28 +02:00
stamp-h1 Initial commit 2020-09-15 21:16:28 +02:00
THANKS Initial commit 2020-09-15 21:16:28 +02:00
TODO Initial commit 2020-09-15 21:16:28 +02:00
ylwrap Initial commit 2020-09-15 21:16:28 +02:00

	$Id: README,v 1.19 2001/08/12 03:36:44 thosch Rel $
		IC35Link for Linux

	IC35Link provides tools to communicate with the Siemens IC35
	over a serial port.

	  configure, make, install
	  create configure script
	Usage of ic35sync
	Usage of ic35mgr
	Files in the distribution
	  Sources in the src directory
	Standard Disclaimer, Warnings, Copyright

	The tools included in the IC35Link package are:
        - ic35sync
	  synchronizes IC35 address, schedule, todo and memo data with
	  Personal Information Management databases (PIMfiles).
        - ic35mgr
	  The IC35 manager is for accessing IC35 MMCard(s), backup,restore
	  the IC35 PIM-database and install applications on the IC35.
	  CAVEAT: install applications on the IC35 is (as of version 1.17)
	  not yet implemented.
	- vcaconv
	  is a converter for PIMfiles in vCard,vCalendar and binary formats.
	  it was mainly used during development. For non-developers the
	  "imphandy" conversion might be useful to manage the phonebook of
	  a mobile phone with the IC35: it converts vCards into the "HANDY"
	  category for uploading them from this category on the IC35 to the
	  phonebook of the mobile phone (after import or sync with IC35).
	- ic35log
	  is for pretty-printing ic35sync, ic35mgr (and 'portmon') logfiles
	  and useful mainly for developers.
	- ic35sync.txt
	  describes the IC35 synchronization protocol (in german).
	- ic35mgr.txt
	  describes the IC35 manager protocols (in german).
	All programs give help about usage if called with the short "-h" or
	the long "--help" option.

	Starting with version 1.17 the package is named "ic35link", because
	it provides more than just IC35 synchronization under GNU/Linux.
	Up to version 1.16 the package name was "ic35sync".

	Unpack the archive ic35link-*.tar.gz (you appeareantly did that ;-).
  configure, make, install
	Do the usual
		su			# superuser login for install
		make install-strip	# strip symbols and debugging info
		exit			# superuser logout
	Installation is done to /usr/local/bin and /usr/local/share/ic35link
	by default, change that with 'configure --prefix=/some/other/path'.
	For details run 'configure --help' and see the file INSTALL.
	The 'configure' options of major interest are:
		install to /opt/bin/ instead of default /usr/local/bin/
		compile without logging and simulated communication support
		disable compile warnings
		enable strict ANSI-C compilation
		enable pedantic compile warnings
		be warned to get several compile errors and/or warnings
		feel free to fix them (and send me the patches :-)
      * The programs are compiled with debugging info. Should you want
	to install them with that, use 'make install' instead of the
	'make install-strip' above.
      * The programs and documents can be uninstalled with 'make uninstall'.
      * If you modify the vCard/vCalendar parser source vcc.y, you will
	need 'bison' version 1.25 or newer. Compilation with 'yacc' will
	not work and/or create a vcc.c producing 'parser stack overflow'
  create configure script
	If you use an archive ic35link-*.tar.gz you should not need this.
        If you obtained ic35link from the public CVS repository you have
	to generate the configure script and with
	It will check for autoconf and automake, you'll have to install
	these packages if some of the checks fail.
	If all goes well it will automatically run './configure' with the
	options passed to and "--enable-maintainer-mode". The
	latter enables 'make maintainer-clean', which deletes everything
	not in the CVS repository, e.g. also the configure script.
	Setting the environment variable NOCONFIGURE to some non-empty
	value will prevent from running configure.

Usage of ic35sync
	ic35sync synchronizes IC35 address, schedule, todo and memo data
	with Personal Information Management databases (PIMfiles) mainly
	in vCard,vCalendar format. Get information about usage with:
		ic35sync --help
	ic35sync supports 4 modes of operation, given as command argument:
	- status
	  reports IC35 status: firmware version, timestamp of last sync
	  operation and total and modified number of records per IC35 file.
	  No PIMfiles are accessed, contents of IC35 are not changed, thus
	  good for an initial test.
	- export
	  does export IC35 data to PIMfile(s), data in IC35 is not changed
	  and no IC35 or PIM records will be deleted. The sychronisation
	  stamp will not be written to IC35 and any changemarks on records
	  in the IC35 remain intact.
	  This is the initial operation to start using IC35 data also with
	  Linux Personal Information Managers. It is also usable to backup
	  all the IC35 data.
	  Records from existing PIMfile(s) can afterwards be propagated to
	  IC35 with an 'import' or 'sync' operation.
	- import
	  does import data from PIMfile(s) into IC35, changes in PIMfile(s)
	  reflect only the IC35 record numbers and status, no IC35 or PIM
	  records will be deleted. The synchronisation stamp (current date
	  and time) will be written to IC35 only if all IC35 records match
	  with PIMfile, e.g. if the IC35 was empty before the import.
	  This is the initial operation to start using Linux PIM databases
	  also on IC35. it can be used also to restore data into IC35.
	  Any records previously existing in IC35 can then be propagated
	  into PIMfile(s) with an 'export' or 'sync' operation.
	- sync
	  synchronizes changes in IC35 and PIMfile(s): records modified in
	  IC35 will be updated to PIMfile(s), records deleted in IC35 will
	  be deleted from PIMfile(s) and vice versa.
	  If changes to the same record were made in both the IC35 and the
	  PIMfile, the latter takes precedence, i.e. PIM overrides IC35.
	  All record changemarks on IC35 will be cleared and the current
	  date and time will be written to IC35 as synchronisation stamp,
	  because after sync all IC35 records match with PIMfile(s).
	With the vCard/vCalendar format (default or option "--format vca")
	up to 3 PIMfile(s) can be specified on the ic35sync commandline:
	If 3 PIMfiles are specified, the first file is for Addresses, the
	second file is for Schedule and ToDo, the third file is for Memo.
	If 2 PIMfiles are specified, the first file is for Adresses and the
	second file for Schedule, ToDo and Memo. Korganizer and gnomecal
	will work with the second file only if there are not VMEMO-records
	in it, i.e. only if there is not any Memo note on the IC35!
	If 1 PIMfile is specified, this single file is used for all data
	from Adresses, Schedule, ToDo and Memo. Korganizer, gnomecal and
	and gnomecard cannot work with that single file!
	If no PIMfiles are specified, the default filenames are used, which
	are ic35.vcard for Adresses, ic35.vcal for Schedule and ToDo, and
	ic35.memo for Memo, the files are assumed in the current directory.

      * GNOME addressbook and calendar
	IC35 syncstation connected at /dev/ttyS1, IC35 password is "secret"
	initial export from IC35:
		ic35sync -d /dev/ttyS1 -p secret export \
		  ~/.gnome/GnomeCard.gcrd ~/.gnome/user-cal.vcf ic35.memo
	synchronize changes in IC35 and addressbook,calendar:
		ic35sync -d /dev/ttyS1 -p secret sync \
		  ~/.gnome/GnomeCard.gcrd ~/.gnome/user-cal.vcf ic35.memo
      * KDE KOrganizer and GNOME addressbook
	initial import into IC35 at /dev/ic35, no IC35 password:
		 ic35sync import ~/.gnome/GnomeCard.gcrd \
		       ~/.kde/share/apps/korganizer/calendar.vcs ic35.memo
	synchronize changes in IC35 and addressbook,KOrganizer:
		ic35sync sync ~/.gnome/GnomeCard.gcrd \
		       ~/.kde/share/apps/korganizer/calendar.vcs ic35.memo

      * ic35sync yet has no options for resolving synchronize conflicts.
	If the same record is modified on both sides, the modification in
	the PIMfile takes precedence and overrides the changes on IC35.
      * ic35sync yet has a proprietary VMEMO format for memo records.
	The VMEMO format was invented by me following the vCard/vCalendar
	standard. Unfortunately there is no GUI software supporting it.
	Suggestions for the memo records are welcome.
      * ic35sync should be used with _existing_ vCalendar files, because
	Korganizer and gnomecal rely on their own file formats and do not
	work properly with vCalendar files _created_ by ic35sync.
	Korganizer uses newline characters as line separators and wants
	its own PRODID.
	gnomecal uses carriagereturn linefeed sequences as line separators
	and wants its own PRODID and VERSION.
	ic35sync does respect and not change the format of an existing
	vCalendar file to avoid confusing Korganizer/gnomecal.
      * ic35sync's sync operation is rather slow, because always all IC35
	records are read to find the records, which were deleted from the
	PIMfile(s). This is needed, as Korganizer, gnomecal and gnomecard
	leave no traces (e.g. delete-flags) from deleted records.
      * gnomecal does not support VEVENT.DESCRIPTION but multiple lines
	ic35sync maps the first line of VEVENT.SUMMARY to/from the IC35
	"Summary" field and all remaining lines to/from the IC35 "Notes"
      * gnomecal does not support VTODO.DTSTART.
	ic35sync maps the IC35 "Start" field to/from a line marked with
      * gnomecard does not support the X-PILOTSTAT change mark.
	ic35sync regards VCARD records as changed if their with revised
	time VCARD.REV is newer than the date and time of the last sync.
      * korganizer does not support VTODO.CATEGORIES, VTODO.DTSTART and
	ic35sync maps the IC35 Category and the "Start" and "Due" fields
	to/from lines marked "CATEGORIES:", "DTSTART:" and "DUE:" in the
      * korganozer supports only VEVENT.DALARM, but not VEVENT.AALARM
	ic35sync maps IC35 "LED" and "Beep" alarms to/from VEVENT.DALARM.
      * the IC35 address fields "(Def.)" have no VCARD counterparts.
	ic35sync maps them to/from lines marked "(def1):" and "(def2):"

Usage of ic35mgr
	The IC35 manager currently supports access of the IC35 MMCard(s)
	and backup,restore the IC35 internal PIM-database to/from a file.
	Get help about usage with
		ic35mgr --help
	and experiment (and please tell me about problems, suggestions and
	wanted features, e-mail address below).

      * The ic35mgr MMCard access commands mmcget,mmcput,mmcdel accept the
	filepath in the IC35 native form (e.g. MMcard1\IC35\APP\REVERSI.APP)
	or more convenient with lowercase characters and slash separators
	(e.g. mmcard1/ic35/app/
	The filepath argument in the IC35 native form must be enclosed in
	single (') or double (") quotes to prevent the shell from eating
	the backslash (\) characters.
      * Reading a MMCard file with mmcget will set the timestamp of the
	local file to that of the MMCard file.
	Even when only reading a MMCard file, the IC35 will set the MMCard
	file's timestamp to the current date and time.
      * Installing application programs on the IC35 is planned, but not yet
	implemented. If someone (from Siemens) would provide me with the
	specification of the installation protocol would ease this a lot.

Files in the Distribution
	sic! you're reading this
	release information about IC35Link
	sic! details about what was changed
	sic! what remains to be done and whish list
	who has written IC35Link
	who has contributed to IC35Link
	description of IC35sync protocol, yet only (?) german
	description of IC35manager protocol, yet only (?) german

	generic installation instructions for 'configure'
	generates configure and etc.
	configuration header created by configure
	input for configure to create config.h, created by autoheader
	configuration script, created by autoconf
	input for autoconf to create configure
	makes 'make' make it ;-) created by configure
	input for configure to create Makefile, created by automake
	input for automake to create

	make logfiles of IC35 communications more readable. supported are
	logfiles created by "portmon" (from and the
	logfiles from ic35sync and ic35mgr (of course ;-).

  Sources in the src directory
	IC35 synchronize PersonalInformationManagement (PIM) data
	IC35 manager: access MMCard, backup,restore database
	PIM data import to / export from IC35 database records
	support for text output IC35 record
	support for binary IC35 record format (PIM)files
	support for vCard,vCalendar format PIMfiles
	utilities for vCard,vCalendar
	IC35 record access and file descriptions
	IC35 synchronize transactions:
	connect, disconnect
	open, close, read, write IC35 database file
	IC35 synchronize protocol
	IC35 manager transactions:
	connect, disconnect
	MMCard status, directory, file access
	IC35 manager protocol
	general IC35 protocol support
	basic serial communication with IC35
	utilities: logging, errors, messages
	export header for vCard,vCalendar API
	parser for vCard-,vCalendar-files 
	API for vCard,vCalendar VObject
	compilation environment for vCard,vCalendar API
	vCard,vCalendar conversion, e.g. to/from binary IC35 data

	The vCard,vCalendar API sources were taken from gnome-pim-1.2.0,
	and fixed a bit to reduce compile warnings.
	Sources for vCard,vCalendar API:
	- Gnome-PIM gnome-pim-1.2.0.tar.gz
	- KPilot kpilot_3.1.10-1.0.tar.gz (based on KPilot 3.1b9)
	  see also
	- versit consortium's SDK for Windows DLLs
	The script was taken from gnome-pim-1.3.2 and fixed
	a bit to fit the needs of ic35link.

Standard Disclaimer, Warnings, Copyright
	THIS SOFTWARE HAS BUGS (as any software has ;-). Use it at your
	own risk. I take no responsibility for any data loss or damage,
	etc. done by this software, i.e. should your IC35 crash or explode
	while using ic35sync or ic35mgr, sorry.
	Besides my home machine this software was successfully used with:
	- KDE-1.1.2 Korganizer v1.1.1
	- Gnome-1.2 gnomecard,gnomecal from gnome-pim-1.2.0
	- IC35 Firmware V1.28
	- IC35 Firmware V1.38 (thanks Thomas Lichtenberg)
	- Debian-2.2r2 kernel 2.0.36 gcc-2.95.2 Pentium-I/133MHz /dev/ttyS3
	- Debian-2.2r2 kernel-2.2.13 gcc-2.95.2 Pentium-III/400MHz /dev/ttyS1
	- SuSE-7.2 (thanks Karl Stroetmann)
	- SuSE-7.0 kernel-2.2.16 gcc-2.95.2-98 AMD-K5/100MHz /dev/ttyS1
	- SuSE-7.0 kernel-2.2.16 gcc-2.95.2-98 Pentium-III/450MHz /dev/ttyS0
	- SuSE-6.0 kernel-2.0.36 gcc- BAYCOM Notebook Pentium-I/166MHz
	- Mandrake-7.2 AMD-Duron/750MHz /dev/ttyS1 (thanks Malte Schmidt)
	- Mandrake-8.0 gcc-2.96 (thanks Christian Theile)

	That being said, I _really_ want comments regarding this software
	as well as suggestions and bug reports.	Thomas Schulz		2000-12-25
				Geibelstrasse 57
				D-22303 Hamburg

Copyright (C) 2000,2001 Thomas Schulz

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program in the file COPYING; if not, write to the
    Free Software Foundation, Inc.
    59 Temple Place, Suite 330,
    Boston, MA  02111-1307  USA