Q: We use Kermit 3.14 very heavily on our campus. From DOS
everything works great. From MS-Windows 3.x, however, sometimes it works but
often our users will get a message like: A: First, let's assume that your COM port is not, in fact, an
internal "controllerless" modem, such as a Winmodem or RPI modem -- you can't
use these with MS-DOS Kermit or, for that matter, with any non-Windows
application or in any operating system other than Microsoft Windows. See the
sections on RPI modems and Winmodems for more information about this.
Windows and/or Windows communications programs tamper with the PC BIOS,
where Kermit goes to find out what ports are available and what their addresses
(and IRQs) are. The solution to this problem is to supply this information to
Kermit yourself.
Here is a macro you can use to set your port under Windows. MS-DOS Kermit
3.14 is required. Put this macro definition in your MSCUSTOM.INI file and then just tell
Kermit "port 1", "port 2", "port 3", or "port 4" instead of "set port 1", etc,
and everything should work as expected.
IMPORTANT: The addresses and IRQs are the most common ones, but they
are not going to work on every machine. PS/2s have different addresses and
IRQs for COM3 and COM4. Many add-on cards -- especially internal modems --
might use different IRQs altogether, like 5. Again, see KERMIT.BWR for the
gruesome details.
Another user found that the following PORT macro also worked
satisfactorily:
24 MS-DOS Kermit under Windows Can't Find My Port
Unknown hardware for port, using BIOS...
or:
Cannot use RTS/CTS on non-UART port
define PORT -
if not = \v(argc) 2 end 1 Port number required, -
if not = 0 \findex(:\%1:,:1:2:3:4:) forward PORT\%1, -
end 1 \%1 - bad port number, -
:PORT1, set com1 \x03f8 4, set port 1, end \v(status), -
:PORT2, set com2 \x02f8 3, set port 2, end \v(status), -
:PORT3, set com3 \x03e8 4, set port 3, end \v(status), -
:PORT4, set com4 \x02e8 3, set port 4, end \v(status)
define PORT -
if not = \v(argc) 2 end 1 Port number required, -
if not = 0 \findex(:\%1:,:1:2:3:4:) forward PORT\%1, -
end 1 \%1 - bad port number, -
:PORT1, run {MODE COM1:19,N,8,1}, set port 1, end \v(status), -
:PORT2, run {MODE COM2:19,N,8,1}, set port 2, end \v(status), -
:PORT3, run {MODE COM3:19,N,8,1}, set port 3, end \v(status), -
:PORT4, run {MODE COM4:19,N,8,1}, set port 4, end \v(status)
Kermit FAQ / Columbia University / kermit@columbia.edu