Mtink is a status monitor for EPSON inkjet printer. Ttink is the console based counterpart. You need a bidirectional connection to the printer port. If you system don't fullfill this requirement only a few functions may be available. This beta version is not completely tested. In order to compile mtink you must make sure that the Motif, openMotif or Lesstif runtime and development package are installed. A gimp plug-ins is also provided (gimp-mtink). Note for users with a lot of printers attached on different ports. ------------------------------------------------------------------ You can use the script mtink.sh in order to call mtink with the right configuration file. See the textes in this file. Note for Linux and USB: ----------------------- Older kernel contain a bug while reading from the USB printer port. In doubt actualize your kernel. Note for FreeBSD: ----------------- I have added /dev/lpt0 ... /dev/lpt3 for FreeBSD. The version I have (4.5) don't support the bidirectional communication with USB-printers. If newer versions support this you may add a device list at the end of the known devices (file cfg1.c) and report the changes. Build mtink: ------------ The Configure script will check for the necessary components and create the Makefile. After you have called Configure simply type make, the binaries will be produced. This work on different Linux distributions and on Solaris. You don't normally need to modify the makefile for these systems. If you have an other OS you may need to modify the Configure script, sources includes and or the makefile. Please send me the modification you have performed. If you don't have gimp installed or any components are not available the plugins will not be produced. Installation: ------------- Type "./Configure" this will produce the makefile. "./Configure" will tell you which options are allowed. After this first step, type "make". As root type "make install" in order to install mtink and the documentation. As normal user type "make install" in order to install the plugins. The mtink program try to read and write from/to the parallel or USB port. If this fail you must set proper rights to the device file or make mtink running as root: - Modify access right to the port: chmod 666 /dev/<DEVICE_FILE> - Modify mtink rights: cd /<LOCATION_OF_MTINK> chown root mtink chmod 4755 mtink - Tooltips: The textes are only for the german, french and the english language. If you copy the file Mtink.res to ~/EpsonUtil you can add textes into your language. In this case look for lines containing tooltip: and insert a new line with your language prefix. Example default (english) to german EpsonUtil*mainWindow.ok_PB.tooltip: Abondon the\nStatus Monitor. EpsonUtil.De*mainWindow.ok_PB.tooltip: Status Monitor\nverlassen. -- < language = german (de) If you want to install the plug ins, copy gimp-mtink to $HOME/.gimp*/plug-ins/ If you have installed more version of gimp choose the proper directory (e.g. gimp-1.2 for gimp 1.2). You will find "Epson Status Monitor" under the Xtns menu. Note that mtink must reside in a directory which is included in the PATH variable. Uninstall mtink with "make uninstall". Getting information from printer while printing: ------------------------------------------------ Only one program can open the device file to the printer, further programs which try to do this will not be able to attach it to the device file. In order to allow getting of the ink quantity while printing, I have programmed a little server which must be started at boot time. This server attach it to the printer and offer a named pipe for the print proccess. The communication with mtink and or ttink is then done via shared memory. The server look priodically for new print jobs and if one is found, the print data will be embedded into the EPSON D4 protocol and send to the printer. This allow to ask the printer for it state, it identity and the remaining ink quantity, the print-data and information/control channel are independant. The server can be started via the script etc/mtink which must be copied to /etc/init.d. Links must also be created unter the apropriate rc?.d directories. The daemon has to handle with a port, and the start script must be modified accordingly. The program location for the daemon mtinkd must possibly be adapted. If you want do use this feature with more as one printer, you will habe to install the mtink script under different name so that you are able to start the corresponding daemons. Internationalisation: --------------------- A few language are supported, english, french, german, italian. turkish, bavarian (for the last language see later). Mtink scan the environment for the variables LANG, LC_MESSAGES and LC_ALL. The top widget become a name according to the language found. The first 2 characters are taken, and the first one is converted to the upper case. According to this the default resource for a widget may be: EpsonUtil*ok_PB.labelString: Exit EpsonUtil.De*ok_PB.labelString: Ende The first line is the default (english), te second is the german text. If make you translation, or correct the textes, please send me them. The enclosed file Mtink.res contain the actual resources for mtink, you can use this file for the translation job and send me this file back. If you do so, please insert your name/email adress/URL in the about textes for the language you have translated or corrected. If you need other resources eg. font ypu can create a file EpsonUtil in your home directory and put the modified resource into this file. Don't forget that a resource description must begin with EpsonUtil. Ttink may also be internationalitez. If a file Ttink is found in one of the directory: - $HOME - /usr/lib/ttink - /usr/local/lib/ttink - /opt/mtink/Ttink - . The file will be read and the english textes replaced with the textes found in Ttink. At this time only one the english (default) and german (File Ttink.de provided) are supported. Bavarian language: ------------------ Please start mtink with "LANG=by mtink" Bitte Mtink wie folgt starten: LANG=by mtink Bugs: ----- There may be a lot of bugs, tell me please what for problems you have. I will try to solve them. Todo: ----- Documentation, help textes, more test, test for different printer (I have only one). Printers for which all work : ----------------------------- Stylus Photo 890 my own printer Stylus Photo 1290 This is only a A3 version of the 890. Stylus Color 400 SJK Stylus Color 580 Glen S. 07-APR-2002 Stylus Color 280 ??????? ??-JUN-2002 Stylus Color 600 S.B. 12-DEC-2001 Stylus Color 880 Marc R. 09-DEC-2001 (found on www.Pro-Linux.de) Stylus Color 900 own test 19-DEC-2001 Stylus Color 980 own test 17-DEC-2001 Stylus Photo 700 Arni 10-DEC-2001 (found on www.Pro-Linux.de) Stylus Photo 750 Karlheinz 29-DEC-2001 Stylus Scan 2500 Alberto 16-DEC-2001 (head alignment not tested) Stylus C60 Andre 26-DEC-2001 Stylus Photo 895 SJK 12-MAR-2002 Stylus C80 Ronny 16-APR-2002 Stylus C70 Ronny 05-MAI-2002 Stylus Photo 820 Gene Heskett 25-JUL-2002 Stylus Photo 790 Steven J. M. 27-JUL-2002 Stylus Color 580 Glen Steward Stylus Color C42UX yq DEC-2002 Stylus Color C42US yq DEC-2002 Stylus Color 777 Tosi DEC-2002 Stylus Color 760 Sylvain L. ... Configuration data for unknown printers : ----------------------------------------- Refer to the file under the directory utils mtinkd server: -------------- Mtinkd is a little server which allow to display the remaining ink quantity while printing. Furthermore a problem with the use of usb printers is solved with this server. If more printers are attached to the USB port, the port used will not be every time the same. Mtinkd scan the usb ports and detect which printer are attached. If a printer is found, mtinkd offer a pipe for accessing the printer /var/lib/mtink/<printer_name>. A backend for cups is also provided. for installing an EPSON C60 printer you must issue the following command as root: mtink-installInitScript /etc/init.d/mtink start lpadmin -p C60 -E -v mtink:/C60 Warning: -------- Some printer don't work correctly if there receive code immediatly after powering on. In this case (The LED show that data are expected). Note for Netscape 6.21: ----------------------- The start script <netscape_path>/netscape/run-mozilla.sh is wrong, a return value of 0 is always returned (at least for my version). In order to get netscape 6.2 working correctly modify the script as follows: Look for ''$prog ${1+"$@"}'' and add the line ''stat=$?'' after the line you have found. Look for the next ''}'' at the begin of a line and add before this line '' exit $stat'' Note for mtink within a browser: -------------------------------- Mtink contain now a little server wich will allow to see the remaining ink quantity within a browser. In order to install it change to the pyink directory and call "make install" (as root). For more information see the files in this directory. ====================================================================== Please report problems or success to: jj.sarton@t-online.de