******************************************************************************* In-Joy for OS/2 (draft version) _______________________________________________________________________________ Beta release 0.08 - June 18, 1996 Copyright (c) 1996, Bjarne Jensen All rights reserved. R E A D M E . D O C ******************************************************************************* T O P I C S I N C L U D E D I N T H I S R E A D M E F I L E: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ o Legal information o What is InJoy o Installation o InJoy feature list o Killjoy o Release notes o Future plans o FAQ (including the diff. between SLIP and PPP) o Contacts L E G A L I N F O R M A T I O N ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This is a shareware package and does require a registration fee if you choose to continue using it after 30 days. For registration refer to the REGISTER.TXT! Just remember: When you have got your key and wants to register then press SHIFT-F10 and you can enter your name and key. Make sure to enter your name in the exact same case as used while generating the key. Otherwise it will NOT work!!!! S O F T W A R E / H A R D W A R E R E Q U I R E M E N T S ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Minimum: o IBM OS/2 2.1 or OS/2 for Windows 1.0 o 386SX o 4MB total memory o 1MB free disk space (may change a bit) o TCP/IP base kit or OS/2 Internet Access Kit (should work okay with every fix level of the TCP/IP drivers) W H A T I S I N J O Y ? ^^^^^^^^^^^^^^^^^^^^^^^^^^^ InJoy is a PPP dialer written for the OS/2 operating system. You can use InJoy to connect yourself to the Internet and additionally use the bunch of features to tailer InJoy to match your requirements. InJoy has been produced in order to fulfil the need for a low resource, high performance, high stability and multi-featured dialer. InJoy is *NOT* an extension to the existing PPP.EXE found in the OS/2 IAK (Internet Access Kit), but instead a completely new PPP dialer that uses the IBM TCP/IP stack for transport. This means that you will have some new functionality, but you can still use your existing TCP/IP applications as the TCP/IP stack looks the same. I N S T A L L A T I O N ^^^^^^^^^^^^^^^^^^^^^^^ You download InJoy as a zip file and installation is currently done by unzipping the zip into a directory of your choice. This could be done in the following way, assuming you would like to put InJoy into a directory named InJoy and the in-joy0?.zip file is placed in your root directory: md \injoy cd \injoy unzip \in-joy0?.zip in-joy InJoy has no requirements regarding directory names, but as InJoy creates both data files and temporary files, you should make sure to have the working directory set correctly. If you are updating an old version of InJOY (0.06 or higher), then it is okay to install the new version on top of the old one and that way continue to use your existing data files. I N J O Y F E A T U R E L I S T ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ InJoy has the following features: o Terminal Mode o Full 32 bit PPP according to the lastest RFC's o CHAP and PAP authentication support! o Low resource usage (text mode application) o Ease in configurability o Autolearned scripts o Auto connect to ISP at program startup o Auto re-connect at carrier drop o Auto start/stop programs o Connection logging o Online time calculation since last reset o Backup phone number o Backup name server o Tracing capabilities, including line monitor, etc. o Adjustable priority o Redial o Calculate and monitor CPS rate (using both graph and digits) o Timeout warnings o Timeout function (drop line after x minutes of line inactivity) o Timer function (drop line after x minutes even if line activity) o Several options for improving performance o Graceful logoff in case host does not understand carrier drop o Monitoring your connect speed and connection time o Possile to copy your host definitions o Tunes at connect/disconnect/timer warning/timeout warning o NULL modem support o Allows for changing parity within scripts (great for CompuServe) o Hiding password and userid from scripts using the [$PASSWORD] and [$USERID] variables. o Commercials/announcements from the IJ (InJoy:) server! o Enable/disable confirmations of hangup, exit etc. F U T U R E P L A N S ^^^^^^^^^^^^^^^^^^^^^^^ My plans with InJoy is to make it even more functional by adding the following features: - Dial On Demand - IP masquerading - SLIP support - Autorunning modules at disconnect - Phone number list - Wav-file support (sound) - Presentation Manager version - TCPOS2.INI file support (migrate your existing hosts) - Periodic dialing - PPP server (don't know how many ports I will offer) - SLIP server (don't know how many ports I will offer) - Keeping an eye on POP servers and HTML pages on the net - Automatically downloading and installing new InJoy versions - Dedicated ISDN support via CAPI - Your idea goes here :-) Impossible for me to say how much of the above I will make, but I think I have already come some way. Now is a good time to look at register.txt :-) K I L L J O Y ^^^^^^^^^^^^^ Killjoy.exe is a small utility program that will allow you to kill InJoy from the command line. Killjoy.exe can be run without parameters, which will cause InJoy to die instantly (and thereby, hopefully drop the possible modem connection) or It can be run with the '-' parameter that makes it kill InJoy as soon as a possible connection is gone. R E L E A S E N O T E S ^^^^^^^^^^^^^^^^^^^^^^^^^ Relase 0.09 - Fixed a gigantic bug regarding ACCM handling.. ACCM specifies a table of characters that must be escaped. If the table was zeroed, I optimized by not escaping anything and using my quick memory copy functions. However, two bytes must always be escaped and I had just temporarely forgot about that! - Introduced the General Setup section in InJoy that allows you to specify confirmation setup and use of about box! - Fixed minor bugs regarding screen lib... Sometimes the connected box would show through the other screens and that has has been partly fixed. There is still a know problem if you invoke a some screen dialogs while negotiating, so DONT!! - Updated documentation with the new stuff + added docs for changing parity within scripts. - When auto selecting a host either from command line or from via the auto connect flag it is now indicated as the selected one from the host listbox! - Auto connecting to a host one way or the other, will now disable the About box at startup. Relase 0.08 - InJoy is now shareware and you will find the register info in register.txt. - Commercial server/Announcement ticker (remember to enable). - Did the documentation. - Added BETA support for PM patrol (PM Patrol 4.2d)! - You can now switch parity from within the script, making InJoy the choice for Compuserve login! - Moved the CPS line to bottom line, just above status line! - Checbox that allows you to turn off CPS monitors. This will save you some time if you are running low on CPU. - Skip current dial attempt using the SPACE key! - Fixed a bug regarding force ACCM to 0. - Did some limited software optimizations!!! - Killjoy.exe now introduced. Little proggie that will close InJoy from the command line. 'killjoy.exe' : KILL - KILL - KILL.. instantly 'killjoy.exe -' : Kill as soon as NOT connected Killing this way should still have your connection log updated correctly. - Added about box! - Added an InJoy ICON (do you have a better one)? - Added: [$PASSWORD] [$USERID] Can be used in your script in place of you ASCII passwords. - Connection log now also updated when just killing InJoy. - No longer accepts 0.0.0.0 as gateway addres This could cause TCP/IP stack related trap and the problem. occurred due to error in old Ascend servers! - Did some attemps in making InJoy trap proof.. Hope Murphy didn't hear this:-) - Did some more tests using com.sys. Found out that com.sys cannot handle simultaneous writes from two t hreads!!!! Now I serialised just a bit more, but it will cost on performance. Later I will put this on an option! This will solve the "problem reading/writing port problem". - MRU wasn't used properly and an MRU of 0 was indicated on first configure request. - Connected window shows IP addresses and timer/timeout info. - Speed now reported correctly when doing a 'netstat -n'. The speed reported is the one of the com-port! - Made an important change for the CHAP negotiation. Will only have effect if you are connected to a Windows NT server. The ones I have seen handle the CHAP/PAP negotiation very... interesting!!! - Supports host name directly on command line! - When learning a script, it now remembers what was received just before pressing ESC. It didn't before and that might have caused problems for YOU! - Startable checkbox added to autostart dialog, so you can easily disable a program from being autostarted started. - Redial is now working as follows: * Primary phone number is called as many times as specified by the redial attempts. * Secondary phone number is called as many times as specified by the redial attemps. - A lot of stuff which I forgot to write down :-) Release 0.07 (upgrade version for people in pain - ignore this and read 0.08) - Made an important change for the CHAP negotiation. Will only have effect if you are connected to a Windows NT server. The ones I have seen handle the CHAP/PAP negotiation very... interesting!!! - Shows IP addresses in the connected box! - Supports host name directly on command line! - MRU was always set to 0 in first negotiation block, now fixed! Release 0.06 - Autostart programs added. - PPP options available - Priority (for the PPP threads) - MRU - FCS check (disable) - Automated pinger (not ready) - Interface attachment name (e.g. 'PPP') - Force ACCM to 0 - Protocol compression - Address and control field compression - Restart timer (can really improve the neg. time) - Max tries (max. number of times to send a neg. block) - Auto re-connect now works - Negotiation times should be very small I negotiate within 2 seconds towards my host! (beware of restart timer under PPP options) - Connect strings shown in 'connected box' Only works if InJOY makes call, or if terminal mode dialing uses a script that waits for something after the CONNECT string - Protocol reject of unknown protocols Should make sure that you will no longer see a series of unknown protocol - Graceful logoff Pressing ALT-T makes InJOY send a PPP Terminat Request for those hosts that does not understand a carrier drop! - Autoconnect to certain host at InJOY startup - Crypting password in data files - Fixed IP addresses now works (awaits your test) - Connection log with accumulated time usage - Reset button added to the trace setup For deleting the trace file - No more external calls to IFCONFIG and ROUTE (saves some time) - New Hangup algorithm (awaits your test) - Shows disconnect message in terminal window at disconnect! - Added version number to data files so you should never have to create your hosts from scratch again - This version requires you to re-create your hosts one last time. Sorry! - Redial bug fixed! - Time stamp added to trace lines - Clearing output winodw and terminal window at dial! - Connection time added to the 'connected box' - Phone number field made longer - Unknown IPCP option problem fixed... Release 0.05 - Fixed some giant bugs concerning IP address negotiation - Changed the ACCM to shifting all control characters, so this version could seem a bit slower.. I'll fix that in depth later.. - On your second dial in attempt, the timeout could occur at any time.. Now fixed - Trapping with full trace - fixed! - Script started before the connection was stable.. Right after retrival of the CONNECT string, without waiting for DCD) - Has an IPCP bug.. (Unknown IPCP option........) If you experience it, mail me for a fix! - Has a bug when selecting port speed. If you see the speed reported correctly in the status bar, then you don't have the problem Release 0.04 - Fixed timing problems when going from LCP to IPCP.. - Fixed a CHAP problem using algorithm's different from 5 - Now you see no hard-err's if I cannot open the com-port! - Added netmask setup & support - Dialing and scripting ready in early state - Timeout and Timer functionality available in early state Includes warnings... - Beeping when successfully connected and when disconnected (unprovoked) - Improved the screen library so mouse works better - Enhanced some negotiation options For the time being, In-JOY will attempt to change the ACCM option to 0.. This can really give performance, but it will take a while to negotiate - Changed the way handling of unsupported CHAP protocols are negotiated. I'll now try to NAK to the normal algorithm MD5 - Added trace date and version to the trace file - Still cursor problems in the Terminal Mode window - Hangup changed so it uses both DTR drop and +++ATH. ATH is only used if DTR drop didn't do the job - And much more.. Look out for more info Release 0.03 - Speed improvement towards certain hosts (sometimes doubled, at least when high speed, such as ISDN) - Selecting Hangup (ALT-H) no longer changes focus from Terminal Mode - Color improvement of the line usage bar! - The dialing and host setup problems of the first two releases still persist! Release 0.02 - Tracing made configurable - Line usage monitoring enabled - Domain name server field is now 50 bytes Release 0.01 - Cursor in Terminal mode window is not handled correctly - After changing a configuration, you have to select it before making the changes active - Selecting Hangup changes the focus from the Terminal Mode, not really a bug, but I'll fix it! First release (ever) - 'Save as default' gives the host you are creating the name default - Selecting a host in the HOST LISTBOX using the ENTER key while connected to a host, makes In-JOY trap - Cursor in the Terminal Mode window is always there (even when window is not active) - 'Your hostname' is not handled correctly. If a correct hostname is essential for you, then make sure to have 'SET HOSTNAME=' in your config.sys file - After changing a configuration, you have to select it before making the changes active - Selecting Hangup changes the focus from the Terminal Mode when selected I N J O Y F R E Q U E N T L Y A S K E D Q U E S T I O N S ( F A Q ) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ QUESTION: How do I copy a host definition Save the host in question as default and then create a new host. This way, the default host is used as a kind of clipboard. QUESTION: What to do if InJOY cannot dial This problem can have many reasons and solutions: Here is a check list that might offer you some help: - Make sure not to use InJOY in a full screen session. Some COM drivers have problems handling that! - Can other programs access your modem at the selected speed? - Can you give AT commands to your modem in the Terminal mode window? - Did you put in your phone number? - Are the init strings valid for your modem? InJoy expect answers from the modem as text.. E.g. 'OK', 'NO CARRIER'! - Do you experience strange hangs when accessing com-port then try to play around with hardware flow control. - Try to play around with the timer found under 'script options'. 1 second should be sufficient. - The SIO drivers are recommended by me! If none of this helps, then try to do a full trace of your dial attempt and mail it to me! QUESTION: Dialing using an US Robotics 28800 Sportster These initstrings may help you - AT&F1 - ATE0Q0V1X4&A3&B1&C1&D2&H1&K1&R2 I think the success of this init string may depend on your version of the chip! Alternatively just try AT&F1 QUESTION: Why will InJOY not autostart my programs? You need to run InJOY in a VIO window for this. And of course, make sure that the path, working dir and parameters for your program are valid! QUESTION: How do I make use of the 'your host name' field? The host name for your computer is set globally for your computer at system startup (in the config.sys). However, programs that are auto started and auto closed by InJOY will inherit the host name and therefore use it. QUESTION: Why can't my TCP/IP appl. not see my dialup connection? You may be starting e.g. the WebExplorer from the ICON object. The ICON object be defined to call the LINKUP.EXE. LINKUP.EXE is an IBM util. that makes sure that the IBM dialer has a connection, and if not, it starts up the IBM dialer. If you are using InJOY, you may remove references to the LINKUP.EXE! QUESTION: Why can't InJOY access my COM port at second dial? A known problem is that if you have chosen to autostart programs, and those programs are still running when InJOY is about to redial, the COM port will be locked. This happens regardless of how the client program has been started (child/not child). Hope to be able to solve this problem soon! QUESTION: Why is my COM port open after exiting InJOY? If any of your autostarted programs are still running, they would still be COM port owners, as they are started by InJOY! Looking for a solution for this problem!! A C K N O W L E D G E M E N T S ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ I would like to thank all the people that has helped during the beta test phase. Without the motivation and help they have provided I would have stopped this project. C O N T A C T S ^^^^^^^^^^^^^^^ The below resources are pointers to where you might find some help using InJoy. Support: As a general rule, I would like to help you with any problem you might have. Mailing me normally results in a quick reply, but I might be out of the country and in such a case, try the newsgroups. Web: http://www.belle.dk/~bj/ http://www.belle.dk/~bj/dialer.html The dialer page is where I give my most recent news flash on InJoy. I try to keep it updated and also reference my latest release from that page. Internet: bj@belle.dk IRC: I can sometimes be found under the nickname of "InJoy" there - my real name is Bjarne Jensen. I would usually reside in the #os2 or #os2prog channels and you might even catch me in the #injoy channel. Mailinglist: None is currently available! However, if you mail me and ask me for InJoy news, I'll add you my list of users getting InJoy news flash via mail... ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ InJoy :-)