Introduction
------------
Running BPQ in Windows reliably (i.e. so that it will keep running for
days on end, irrespective of what else you run on the PC) has always
required you to "hide" from Windows any COM ports that BPQ uses. This
was true for Win31 and Win95, and it is still true for Win98.

I have successfully used the techniques described below, on several
different PCs, with Win95 (original retail version), Win95 OSR2, Win98
Beta 3, and Win98 release version.

If you have been trying to run BPQ with Win98 and had problems with it
crashing, hopefully these notes will help. I am making three
assumptions:-

1. You understand BPQ well enough to have already set it up so if you
boot into DOS, rather than into Win98, it works properly and reliably.

2. You don't already have any DOS multiple boot configurations set up in
CONFIG.SYS and AUTOEXEC.BAT.

3. You are using BPQ with a KISS TNC. These notes do NOT apply to using
it with Baycom modems.

If you follow the instructions below, then you will finish up with a
configuration where Win98 offers you two boot options - one will boot
your PC without BPQ and one will boot it with BPQ. The assumption is
that the PC will be used for things besides packet and so you don't
always want to have BPQ loaded.

The following example is based on using COM2 (2F8H, IRQ3) in BPQ, you
will need to make alterations according to what ports BPQ is actually
using.

1. Clear Up Any Mess
--------------------
You MUST check the following:-

(a) Control Panel, System, "Device Manager", "Ports (COM & LPT)" should
show ALL the COM ports on your PC. None of them should have red crosses
through them.

(b) In the BIOS, all the COM ports on the motherboard should be enabled.
If the BIOS allows a setting for a COM port of "automatic" it should
not be used. You should use an option that assigns a specific address
to the port.

(c) That the address and IRQ you are specifiying in BPQCFG.TXT for any
COM Port that BPQ is going to use match the address and IRQ shown for
that port in "Device Manager", Properties, Resources.

(d) That the settings of any address and IRQ jumpers on additional COM
port cards match the settings in "Device Manager".

(e) That no two COM ports are using the same IRQ.

(f) For now, remove any commands from AUTOEXEC.BAT that are attempting
to load BPQ, but keep a copy because you'll need to put them back later.
(You can, of course, just REM them out rather than removing them.)

If you cannot achieve (a) to (f) then give up now. Because, if you carry
on, you're going to have big problems!

2. Create Two Hardware Profiles
-------------------------------
In Control Panel, select System then "Hardware Profiles". Highlight
"Original Configuration" and rename it to "Original".

Now select Copy and make a copy of "Original" as "BPQ".

Reboot the PC, and it should offer you a menu with two options -
"Original" and "BPQ". Select "BPQ".

3. "Remove" The COM Port
------------------------
In Control Panel, select System then "Device Manager". Expand "Ports
(COM & LPT)" and highlight COM2 (or whatever port you want BPQ to use).

Click "Remove", select "Remove from specific configuration", select BPQ.
You wiil now probably be prompted to reboot.

When you reboot, select "BPQ" from the menu. Check in Device Manager and
it should now no longer list COM2. NOTE - if COM2 is listed and marked
with a red cross, you haven't followed the above instructions correctly!

Repeat the above for any other COM ports that you want BPQ to use.

4. Changes To CONFIG.SYS
------------------------
The aim of the changes to CONFIG.SYS and AUTOEXEC.BAT is to create DOS
two boot configurations with names that match the names you used for the
hardware profiles you have created in Windows.

Edit CONFIG.SYS. Put at the top the following lines:-


[menu]
menuitem=Original
menuitem=BPQ

[common]
REM all your existing CONFIG.SYS entries go below [common].


At the end of CONFIG.SYS, put the following lines:-


[Original]
REM put here any entries that you only want to be processed when
REM BPQ is NOT loaded.

[BPQ]
REM put here any entries that you only want to be processed when
REM BPQ IS loaded.


5. Changes to AUTOEXEC.BAT
--------------------------
Edit AUTOEXEC.BAT. At the end, put the following lines:-


goto %config%

:bpq
REM put here your commands to load BPQ. For example, my BPQ is in
REM F:\BPQ, so I put:-
f:
cd \bpq
REM load any ethernet drivers, etc.
bpqcode
c:
goto end

:original
REM if you want to have some AUTOEXEC.BAT commands that are only
REM executed when BPQ is NOT loaded, then put them here.

:end


6. Give It A Try
----------------
Reboot and you will once again get the menu with the "Original" and
"BPQ" options. If you now select "Original" then BPQ won't be loaded and
the COM port(s) won't be hidden from Windows. If you select "BPQ" then
BPQ is loaded and the COM port(s) are hidden. This "magic" occurs
because the names of your two DOS configurations (menuitems) in
CONFIG.SYS match the names of your hardware profiles in Device Manager.
(If it doesn't work, before you start tearing your hair out, check that
your spelling of "Original" is consistent throughout! ;-)

Open a DOS window, go into your BPQ directory and run PAC4. You should
be able to make reliable connections.

7. NOTE - How Not To Do It!
---------------------------
If, in Device Manager, you view the Properties of a COM port, then you
will see there is an option for "Disable in this hardware profile". DO
NOT try and use that option to hide a port that BPQ is using - it won't
work properly. In a worst situation, it results in the port that BPQ is
using being disabled in the BIOS, and Windows then assigning the IRQ
that BPQ is using to a PCI device - with disastrous results!


If The PC Is Being Used Only For Packet
---------------------------------------
If the PC is to be used only for packet, then you don't need two boot
options, and so much of the above doesn't apply. All you need to do is
to Remove the COM port in Device Manager. (Note that '1' and '7' above
still apply.)

You don't need to make the changes to CONFIG.SYS and AUTOEXEC.BAT to
create two boot options, simply put your BPQ commands in AUTOEXEC.BAT.


How "Solid" IS Your Windows/BPQ Configuration?
----------------------------------------------
As I said at the start, the aim should be to have a system that will run
reliably for days on end, irrespective of what else you run on your PC.
Here are a few tests that a properly configured Windows/BPQ system
should pass:-

(a) If you open a Windows comms application (e.g. Terminal or
Hyperterminal) it should not allow you to select a port that BPQ is
using.

(b) You should be able to run Windows comms programs on other COM ports
without BPQ stopping working.

(c) If you connect to the BPQ switch and send the command "s", then "RX
Overruns" should be no more than a fraction of a percent of "L2 Frames
Heard". If you are using BPQ in polled mode, "Undrun/Poll T-O" should
also be a very small number. If either of these statistics are showing
high values, then you need to reduce "SPEED" in the BPQ port
configuration. Also, try and make sure that you are using a port with a
16550, a port without a 16550 will suffer badly from "RX Overruns"
unless you run it a low speed.


Roger Barker, G4IDE
roger@peaksys.demon.co.uk

Last update - 30 September 1998
