A complex WWW/LX setup example

Archived 2013-12-08
This page has been archived and some links may not work correctly anymore. No updates of this page will be done anymore.

Contents of this page:


Introduction:

WWW/LX is a software package made by and downloadable from D&A Software which allows Internet access with the DOS-based Hewlett Packard palmtops 100LX, 200LX, 1000CX and Omnigo 700LX.
You can download WWW/LX (for free) at ftp://ftp.dasoft.com/pub/WWW. The file is named "www3.zip".

It contains a TCP/IP stack with built-in IrDA and Ethernet support (in addition to the usual PPP and SLIP protocols which are needed for modem connections or direct serial connections to other computers) and the package contains several clients for almost every kind of purpose. An email client, a news reader client, ftp, telnet, finger and HV, a limited but useful WWW browser and get, which lets you get web pages automatically. Another very useful addition has been developed by Tony Hutchins using ROBOT/LX, an Internet robot program: ROBOWEB/LX. It combines get and ROBOT/LX so that you can get Internet pages or even whole sites onto your palmtop for offline reading. See this link for details.

It is relatively easy to set up WWW/LX and Post/LX for basic purposes. However, there are so many amazing sophisticated possibilities, which are not covered by the setup programs which come with WWW/LX and must be created manually.

Here are examples which should give you some ideas of what is really possible with WWW/LX. I have never seen another Internet software package which is so powerful and rich of features as WWW/LX. And in addition it is extremely user-customizable. See below. I won´t give you details here of how basic setups work, because you can read that in the WWW/LX documentation. Here I assume that you are familiar with the basics already.

Basics of my setup:

I use almost every possible kind of Internet connection, so you will find examples here which are useful, regardless which kind of connection you want to use:

  • Modem connection over the serial port with several ISPs
  • Modem connection via PCMCIA modem with several ISPs
  • Mobile connection via IrDA-enabled GSM mobile phone
  • Ethernet connection via PCMCIA Ethernet card
  • direct serial connection to a PC which is connected to the Internet (internet connection sharing)
  • IrDA connection to another PC which is connected to the Internet (internet connection sharing)

Take this as a "snapshot" of my current WWW/LX configuration and have fun with it!

My main application, which acts as the "central", is Post/LX. WWW/LX is loaded resident and activated everytime I press F5 in Post/LX to establish a connection. If you don´t use email that much, but more often use ftp or HV, it may be better for you to start www.exe manually giving the setup to use as a parameter. It will then connect instantly and return to the DOS prompt, so you can do whatever you want once the connection is established. If that is the way you want to use WWW/LX, most parts of my setup are not useful for you. I use Post/LX as the central application of my setup.

In general, my www.cfg only contains five basic setups, independent from the ISP to use. So my www.cfg is kept small and thus doesn´t need so much memory. www.cfg is always loaded entirely into RAM, so it really makes a difference if you have for example 10 setups (one for each modem / ISP combination using two modems and 5 ISPs) or only two setups for the two modems and do the ISP choice externally using the little utility wwwset.

You could even work with just ONE "general" www setup and modify all relevant parameters externally. However, I have not choosen that way because I want still to be able to use www.exe as a stand-alone program without having to use the external wwwset utility.

My WWW/LX setup:

My five basic www.cfg setups are [Modem1], [Modem2], [IrDA], [Ether] and [PPPD].
I also have TERM-IR and TERM-K, which are explained below.

  • Modem1 is for an external modem on COM1
  • Modem2 is for a connection via PCMCIA modem (COM2)
  • IrDA is for mobile phone connections over IrDA, for either Internet or SMS
  • Ether is for a connection to my home PC via Ethernet card
  • PPPD is for serial or IrDA connection to my home PC or laptop running Linux and the pppd (PPP deamon) and internet connection sharing (=IP forwarding and IP masquerading)

  • TERM-K and TERM-IR is for a dumb terminal which enables you to send AT commands to a modem or mobile phone (IrDA) and connect manually (for debugging purposes). It requires you to have telnet.exe (also available on the dasoft ftp server) and you have to call it from the DOS prompt that way: www.exe -d TERM-[IR|K] "!telnet local"
    IR stands for IrDA, K for Cable.

My Post/LX setup:

Post/LX is set up in a way that I only need to press F5, then it launches a batch file "setcom.bat" via the post.cfg parameter "PreOnline". setcom.bat determines the connected hardware and decides, which www setup to use. If it finds out that I want to connect via modem, it lets me choose an ISP. Otherwise it changes the active www setup instantly to the appropriate one from the five setups mentioned above. In addition I let setcom ask me (only for the setups where it is useful), if I want to let WWW/LX disconnect after the online run of Post/LX, i.e. directly after mail sending / receiving. If I want to surf the web with HV after transmitting mail for example, I choose to keep the connection. In other cases, for example when I will have an expensive connection via mobile phone, and I´m sure I don´t want to do anything else than sending the email I just wrote, I can choose "yes, disconnect!" and the connection is terminated as fast as possible automatically after the Post/LX online run. This is done via the post.cfg "PostOnline" parameter which invokes a batch file after every online run.

I also use Post/LX for SMS sending and receiving via IrDA and my mobile phone. For this purpose, I have created a keyboard macro in post.cfg, which lets me send and receive all SMS just by placing the mobile phone near the palmtop´s IR port and fressing F8 in Post/LX. Note that if you are used to use F8 for pther purposes (for example for marking messages during you read them), you should NOT use that macro. I do never use F8 with the functionality Post/LX gives to it, and in the main screen of Post/LX F8 doesn´t have any functionality anyway. So I could choose F8 as my SMS macro activating key.

For more info on how to setup PDU for SMS processing please download PDU from Stefan Peichl´s homepage and read the documentation.

Here are some screenshots of my Post/LX main screen:

The main screen with some folders and mailboxes (SMS box on top so that the F8 macro works, see post.cfg below!):

Here I pressed Shift-F5: Only the one "Default" WWW/LX setup is shown. No need anymore to choose anything here!

This shows some of my "Externals" entries (Menu-X-X). Hotkey "S" chooses "SMS" (so that the F8 SMS macro works, see post.cfg below!)

My cfg config files:

Okay, enough words, I will now show you my cfg and batch files and add comments everywhere I think it´ necessary. Again: Please read the WWW/LX documentation carefully in order to understand everything. I won´t answer questions covered there.

Click here to see my www.cfg file (don´t use the file as is, because it contains html tags! Load it into your browser by clicking on the link and then mark, copy and paste! Passwords are replaced by dummy strings.)

Click here to see my post.cfg file (don´t use the file as is, because it contains html tags! Load it into your browser by clicking on the link and then mark, copy and paste! Passwords are replaced by dummy strings, most folder and mailbox data is removed because it is not relevant here)

My batch and other involved files:

Now follow the batch files and a robot script (thanks to Tony Hutchins who provided this script!) which enable the magic of my setup ;-)

First I provide the setcom.bat file which is invoked directly after pressing F5 in Post/LX (by the PreOnline parameter in the cfg).
Then follows the batch file choosisp.bat, which is invoked from within setcom.bat and which is responsible for the appropriate Dial and login paramteres, depending on the ISP which shall be used. choosisp.bat is only invoked if setcom.bat recognizes a modem, either on COM1 or in the PCMCIA slot.
After that you will see postonl.bat, which handles the disconnecting after the online run (invoked by the PostOnline parameter in the cfg.
Thereafter at.scr (a robot script) is shown which setcom needs in order to distinguish, if the device connected to IrDA or the serial port is a modem or another computer.

And finally, I will show you my postlx.bat, which I use after booting the palmtop to invoke Post/LX with WWW/LX loaded resident.

For all this you need the following programs:

  • port1.exe or modem.com which looks if there is something connected to COM1
  • wwwset.exe, which sets WWW setup parameters externally
  • dis.com which is part of the WWW/LX package (terminates connection)
  • Robot/LX (Robot/LX), which executes SCR scripts
  • lxcic.com which detects, recognizes and enables PCMCIA cards
  • PDU for SMS processing
  • choice.com which is part of DOS, but not included in the palmtop ROM.
  • LXETH, the Ethernet packet driver for the LX, if you use an Ethernet card
  • maxdos, if you want to reserve as much DOS memory as possible for external programs like an editor or HV.

Download links for these utilities (as far as they are not part of the WWW/LX package) are provided directly within the batch files below (where the utilities are used), simply click on the links and download the utilities.

Click here to see my setcom.bat file (don´t use the file as is, because it contains html tags! Load it into your browser by clicking on the link and then mark, copy and paste!)

Click here to see my choosisp.bat file (don´t use the file as is, because it contains html tags! Load it into your browser by clicking on the link and then mark, copy and paste!)

Click here to see my postonl.bat file (don´t use the file as is, because it contains html tags! Load it into your browser by clicking on the link and then mark, copy and paste!)

Click here to see my at.scr file, created by Tony Hutchins.

This is the line of setcom.bat which invokes Robot/LX with at.scr:

ROBOT.EXE -q AT.SCR >NUL

It appears twice in setcom.bat. Once in the section for a device on COM1 and once for the IrDA section.

And here is my postlx.bat, which I use to start Post/LX with WWW/LX loaded resident:

@echo off
maxdos -l -e
C:\DFU\WWWLX\WWW.EXE -d !C:\DFU\WWWLX\POST.EXE
maxdos -r




Involved batch and configuration files linked from the text above:

at.scr

;at.scr, provided by Tony Hutchins
;tests, if device on COM1 or IrDA is a modem or not by sending an AT command.

e testing modem ...\n
;create file at_no_ok.tmp
file w at_no_ok.tmp
put 1\n
file c
e sending AT\n
send AT\r
e waiting for OK\n
wait 2 OK
e GOT OK\n
;delete file at_no_ok.tmp, if OK has been received, otherwise leave it there
file d at_no_ok.tmp
x

choosisp.bat

@echo off
REM CHOOSISP.BAT (choose ISP)
REM this batch is called by setcom.bat! Don't use it manually!
REM %1 is the WWW setup to use as the basis for the settings

echo.
echo.
echo Now choose ISP:
echo ~~~~~~~~~~~~~~~
echo.
echo (1) MSN Easysurfer (???)
echo (2) E-Plus Online  (60 Freiminuten pro Monat)
echo (3) TU Berlin ZRZ  (Ortstarif Berlin)
echo (4) Compuserve Classic Berlin
echo (5) Compuserve Classic International (adjust Dial string!)
echo.
choice /c:12345
if errorlevel 5 wwwset "%1 Login=117144,1520 Dial=ATX3DT0,901666255 Password=xxxxxxxx Script=CIS_Script"
if errorlevel 4 wwwset "%1 Login=117144,1520 Dial=ATDT691000 Password=xxxxxxxx Script=CIS_Script"
if errorlevel 3 wwwset "%1 Login=dherbgba Dial=ATDT31553500 Password=xxxxxxx"
if errorlevel 2 wwwset "%1 Login=hertrich Dial=ATDT010880192192 Password=xxxxxx"
if errorlevel 1 wwwset "%1 Login=msn Dial=ATDT010880192658 Password=xxxxx"

echo.
echo.
choice Disconnect directly after Online run?
if errorlevel 2 goto nodis
goto end

:nodis
echo 1 > nodis.tmp

:end

post.cfg

; Configuration file for the POST/LX package

[FILTER]
HPLX-L@=hplx-l

[MFILTER]
>=q
??>=q

Subject=h

Date:=+
Subject:=+
From:=+
To:=+
Cc:=+
*=-

[MACRO]
;F8: send / receive SMS.
;Esc Esc Home Space Menu X X S Space
;(SMS box must be first in Post/LX list, SMS batch must be external using hotkey S,
;up/down arrow of SMS box must be DEactivated (script activates for you))
#4200=#011b#011b#4700#3920#c800#2d78#2d78#1f73#3920


[SYSTEM]
;only relevant for ROBOWEB/LX:
ExtProg=ROBOT.EXE -p "RWEB1 po"
Scripts=c:\_dat\wwwlx\ROBOWEB

;for opening of attachments with the appropriate program:
PNS=maxdos pns200.exe

PreOnline=SETCOM.BAT
PostOnline=postonl.bat
ManualPack=1
ForceDate=1
Editor=maxdos PEH.BAT $f $h $x N
EditSM=maxdos PEH.BAT $f $h $x N
HangUp=0
TimeZone=+0200
Overlap=0
Quote=>_
Clog=1
TopLines=0
ZoomMode=1
LZoomMode=0
AllHeaders=0
ReFormat=1
NoQuote=0
Download=a:\attach
Japanese=0
Dir=a:\_dat\wwwlx
TmpDir=c:\_tmp
ClipFile=c:\_dat\clipvue.txt
Selected=Mail
Init=1
MIME=0
ShowDate=0
GrabLink=c:\_dat\clipvue.txt
GrabAdr=c:\dfu\wwwlx\post.adr
RegKey=xxxxxxxxxxx
GrabText=c:\_dat\clipvue.txt


[EXTERNAL]
&Disconnect WWW/LX=DIS.COM
&HV (as Webbrowser)=HV
H&V (with last email)=HV $f
&Read message in V&R=a:\programs\vr100\vr.exe $f
Edit &.CFGs=pe.exe c:\dfu\wwwlx\robot.cfg  $c
;SMS external with hotkey S:
;   robosms.bat is simple:
;   @wwwset "IrDA"
;   @robot.exe pdu
&SMS=robosms.bat

[HEADERS]
Cc:=Cc:
Bcc:=Bcc:
DeliveryConfirmation=Return-Receipt-To:This email address is being protected from spambots. You need JavaScript enabled to view it.
X-Priority:=X-Priority:
Importance:=Importance:
Sensitivity:=Sensitivity:
Depth=:=Depth=:
MaxCount=:=MaxCount=:
Return-Path:=Return-Path:

[WWW]
;only one entry here, because PreOnline=setcom.bat does everything to choose
;the WWW setup to use!
Default=Modem1

[HTTP]
MaxTotGet=100

;========= MAILBOXES ===========
; (most of mine removed here in the example)

[FOLDERS]
SMS=E
RWEB=X
Mail=E
csc=E
hplx-l=F
archivlx=F
sentarch=F

[SMS]
CheckFields=0
Alias=SMS
Dir=c:\_dat\wwwlx
SMTP=not.set
POP=not.set
Template=SMS.TPL
Del=0
Sep=0
RPA=0
APOP=0
VolatilePOP=0

[Mail]
ForceDate=1
Alias=E-Mail GMX
APOP=0
RPA=0
Timeout=60
Del=1
Sep=1
SMTP=mail.gmx.net
POP=pop.gmx.net
VolatilePOP=0
Limit=10000
Signature=c:\_dat\wwwlx\signatur.txt
Login=206139
Pass=xxxxxxxxxxx
TopLines=20
Dir=c:\_dat\wwwlx

[csc]
Alias=E-Mail Compuserve Classic
SMTP=smtp.sompuserve.com
POP=pop.compuserve.com
Login=117144.1520
Pass=xxxxxxxx
Del=1
Sep=1
APOP=0
VolatilePOP=0
Limit=10000
Signature=c:\_dat\wwwlx\signatur.txt
Dir=c:\_dat\wwwlx



;============ FOLDERS ============
; (most of mine removed here in the example)

[hplx-l]
Alias=HPLX Mailing List
Sep=1
Box=Mail
Dir=c:\_dat\wwwlx

[RWEB]
Checkfields=0
Dir=C:\_dat\wwwlx\ROBOWEB
Alias=ROBOWEB/LX

[sentarch]
Sep=0
Alias=Archive of sent messages

www.cfg

; Configuration file for WWW
; A. Garzotto, February 1998

[Global]
Command=C:\dfu\wwwlx\wwwmenu.exe
;(when www.exe is executed from command line without a program to run
;automatically, wwwmenu is executed. It lets you choose what to do (HV, Post/LX...))
Cache=C:\_DAT\WWWLX\WWW.CAC
Hosts=C:\_DAT\HOSTS
Setup=Modem1
;Log=c:\_DAT\WWWLX\WWW.LOG
UserName=Daniel Hertrich
RegID=xxxxxxxxxxxxx

[Setup]
Ether=Ethernet HomePC
Modem1=Modem on COM1
Modem2=Modemcard on COM2
IrDA=IrDA connection
PPPD=Connection to PPPD on Linux
TERM_IR=DumbTerminal_IrDA
TERM_K=DumbTerminal_Cable

[Script]
CHAP_Script=PPP dial up using CHAP or PAP
ISP_SLIP_Script=Generic SLIP (needs to be modified)
CIS_Script=Compuserve Classic dial up
pppd_script=PPPD on Linux over serial line or IrDA

[CHAP_Script]
e=Initializing modem
m=
s=\r
w=5 OK
d=
s=\r
w=75 CONNECT

[CIS_Script]
e=Initializing modem
m=
s=\r
w=5 OK
d=
s=\r
w=75 CONNECT
@=1
e=Connecting to CIS
s=\003
w=15 D:
e=Sending login
l=
s=/noint/ppp:cisppp
s=\\
e=Sending password
p=
s=\r
e=Waiting for CIS to respond
w=75 PPP

[ISP_SLIP_Script]
e=Initializing Modem
m=
s=\r
w=5 OK
d=
s=\r
w=75 CONNECT
s=\r
w=5 name:
e=Logging in
l=
s=\r
w=5 word:
e=Sending Password
p=
s=\r
w=5 :
e=Starting SLIP
s=SLIP\r
w=3 IP address is
i=

[pppd_script]
s=\r
@=3

; adjust and uncomment the following line to set up a HTTP proxy server
;HTTP_Proxy=proxy.zrz.tu-berlin.de:3128


[Ether]
Ether=1
My_IP=172.16.96.18
Peer_IP=172.16.96.1
;Peer_IP is the IP of the Computer which the palmtop is connected to (usually gateway)
DNS_IP=217.5.100.1
DNS2_IP=194.25.2.129
Script=CHAP_Script
Login=DOESNTMATTER
ModemInit=AT&F
Dial=00000
Password=DOESNTMATTER


[Modem1]
Port=1
OmniGo=0
PPP=1
Modem=1
Baud=57600
My_IP=0.0.0.0
DNS_IP=0.0.0.0
DNS2_IP=0.0.0.0
Script=CHAP_Script
ModemInit=AT&FL1
Dial=ATDT31553500
Login=dherbgba
Password=xxxxxxx

[Modem2]
Port=2
OmniGo=0
PPP=1
Modem=1
Baud=57600
My_IP=0.0.0.0
DNS_IP=0.0.0.0
DNS2_IP=0.0.0.0
Script=CHAP_Script
ModemInit=AT&FL1
Dial=ATDT31553500
Login=dherbgba
Password=xxxxxxx


[IrDA]
Port=-1
OmniGo=0
Modem=0
PPP=1
Baud=38400
My_IP=0.0.0.0
DNS_IP=0.0.0.0
DNS2_IP=0.0.0.0
Script=CHAP_Script
ModemInit=at+cbst=71,0,1;+chsn=1,1,0,4
;For correct settings of init and dial string for your mobile phone,
;please read http://www.hermocom.com/knowledgebase/hplx/mob_hplx
Dial=ATDT03031553500
Login=dherbgba
Password=xxxxxxx


[PPPD]
Port=1
OmniGo=0
PPP=1
Modem=0
Baud=38400
My_IP=0.0.0.0
DNS_IP=0.0.0.0
DNS2_IP=0.0.0.0
Script=pppd_script
Login=
ModemInit=
Dial=
Password=


;===================== Dumb Terminal Setup ===================
; CALL WITH www -d TERM-[IR|K] "!telnet local"
; useful e.g. to send AT commands manually to a modem or mobile phone

[TERM-IR]
Port=-1
Baud=38400
Modem=1
Script=T_Script

[TERM-K]
Port=1
Baud=19200
Modem=1
Script=T_Script

[T_Script]
?=
e=done


setcom.bat

@echo off
REM SETCOM.BAT
REM called by "PreOnline" feature of Post/LX
REM sets communication parameters for WWW/LX depending on attached communications hardware

if exist nodis.tmp del nodis.tmp
if exist pcmcia.tmp del pcmcia.tmp
REM nodis.tmp is used by postonl.bat to prevent automatical connection termination.
REM The file will contain nothing, postonl.bat only checks if it exists!
REM Similar with pcmcia.tmp: it tells postonl.bat that there is a PCMCIA modem
REM so postonl.bat can switch PCMCIA power off after the online run.

lxcic>NUL
if errorlevel 7 goto un_card
if errorlevel 6 goto lan_card
if errorlevel 3 goto un_card
if errorlevel 2 goto modem_card

:un_card
port1 > NUL
if errorlevel 1 goto no_ext
echo External modem or serial line to PC detected
echo Testing if modem or not...
wwwset "Port=1"
robot.exe -q AT.SCR > NUL
if exist at_no_ok.tmp goto com1noat
echo the device on COM1 is a modem! :-)
call choosisp.bat Modem1
goto end

:com1noat
del at_no_ok.tmp
echo Connection over COM1, but no modem!
echo Setting up for Linux PPPD over serial line
wwwset "PPPD port=1"
goto end

:no_ext
echo No extermal device found, trying IrDA setting
wwwset "Port=-1"
robot.exe -q AT.SCR > NUL
if exist at_no_ok.tmp goto ir_noat
echo The device on IrDA is a modem!
echo.
choice Disconnect after Online run?
if errorlevel 2 goto echo 1 > nodis.tmp
wwwset "IrDA"
REM you could also call choosisp.bat from here, if necessary!
REM for me it isn´t, because I only use one ISP with my mobile phone
goto end

:ir_noat
echo NO MODEM on IrDA. Setting up for Linux PPPD over IrDA...
wwwset "PPPD Port=-1"
goto end

:lan_card
echo LAN card detected
echo loading packet driver....
c:\dfu\lxeth\lxen2216.com 0x66 > nul
wwwset "Ether"
goto end

:modem_card
wwwset "Port=2"
REM tell postonl.bat that there is a pcmcia modem:
echo 1 > pcmcia.tmp
echo Modem card detected (COM2)
call choosisp.bat Modem2
goto end

:end

postonl.bat

@echo off
if exist nodis.tmp goto nodis

:dis
dis.com

REM if there is a PCMCIA modem, switch PCMCIA power off to save power:
if exist pcmcia.tmp lxcic o > nul

echo unloading Packet driver if LAN card is present...
lxcic>NUL
if not errorlevel 6 goto common
echo LAN card detected. Disconnecting...
c:\dfu\lxeth\termin 0x66
goto common

:nodis
echo Not disconnecting now.
echo Disconnect manually with Menu-X-X-D
goto common

:common
call sr.bat
REM (sr.bat is from the ROBOWEB package)
if exist nodis.tmp del nodis.tmp
if exist pcmcia.tmp del pcmcia.tmp

Do you like to support me?

Dear fellow Palmtopper!

If you like, you may reward me for the work I put into this website with a donation.

 

For a donation in US$:

For a donation in €:

Your donation, even if it's just a single USD, will help me to:

  • finance the server that hosts the site
  • justify time I spend with maintaining the site and do not spend with earning money otherwise (wife is watching! ;D)
  • just continue to be motivated :)

Since my company "hermocom" does not exist for many years anymore, I am now spending my spare time and private money for all of this. Thank you very much! 🙂

Yours truly,
Daniel Hertrich