MS-Kermit 3.13, Windows, "Unknown hardware for port", 8250/16550 UART

MS-Kermit 3.13, Windows, "Unknown hardware for port", 8250/16550 UART

Post by Joe Doupn » Sat, 15 Oct 1994 20:10:47




> Hi all,

> I have a problem with running MS-Kermit 3.13 under Windows 3.1. I'm
> developing a program with Borland Pascal for Windows that uses Kermit
> to call a central computer, transfer files etc. The com port settings
> seem correct ('SET COM1 \x3F8 IRQ 4'), because Kermit works ok in DOS
> and when executed directly from the Program Manager.

> The problem is that after running Kermit once (to dial central computer)
> on the second invokation, after 'SET PORT COM1' I get "?Warning: unknown
> hardware for port. Using Bios as BIOS1". After this communication fails.

> It seems that somehow Kermit is unable to verify the UART. I don't know
> what causes this: Windows, Kermit or my program. So, is it possible to
> disable the UART check (chkport routine in the assembler source code) by
> patching KERMIT.EXE ? Or maybe there's some combination of PIF & .INI
> settings that I'm missing ? Or perhaps I should somehow reset the UART
> after running the first script ?

> The modem is an external V.32 modem (8250 UART, but I use it at 2400 bps).
> I've also tried this with an internal modem (V.32 & 16550), but same results.
> The PC is a 486DX-33.

> Thanks in advance,
> Teemu Mottonen.
> --
> Teemu Mottonen - Department of Computer Science, University of Helsinki

-------
Teemu,
        It's kind of difficult to guess here. Windows is controlling the
physical serial ports and presents virtualized images to Kermit. One item
needed by Kermit is the port i/o address (such as \x3f8), and Kermit obtains
that either from the Bios work area in segment 40h (first four words are
COM1...COM4 i/o addresses) or from the SET COMx Kermit command. If Windows
or your Pascal program clears the seg 40h area then Kermit will produce
this message. If Windows has the port allocated to some other task Windows
may report 0's in seg 40h. Looking down their with debug or other means
is a quick way to see what's happening.
        Does your Pascal program access the ports in any way?
        Source code for MSK 3.13 is available on kermit.columbia.edu,
cd kermit/a. If modified then the patch file won't work anymore.
        Joe D.
 
 
 

MS-Kermit 3.13, Windows, "Unknown hardware for port", 8250/16550 UART

Post by Teemu Motton » Sat, 15 Oct 1994 23:39:36


Hi all,

I have a problem with running MS-Kermit 3.13 under Windows 3.1. I'm
developing a program with Borland Pascal for Windows that uses Kermit
to call a central computer, transfer files etc. The com port settings
seem correct ('SET COM1 \x3F8 IRQ 4'), because Kermit works ok in DOS
and when executed directly from the Program Manager.

The problem is that after running Kermit once (to dial central computer)
on the second invokation, after 'SET PORT COM1' I get "?Warning: unknown
hardware for port. Using Bios as BIOS1". After this communication fails.

It seems that somehow Kermit is unable to verify the UART. I don't know
what causes this: Windows, Kermit or my program. So, is it possible to
disable the UART check (chkport routine in the assembler source code) by
patching KERMIT.EXE ? Or maybe there's some combination of PIF & .INI
settings that I'm missing ? Or perhaps I should somehow reset the UART
after running the first script ?

The modem is an external V.32 modem (8250 UART, but I use it at 2400 bps).
I've also tried this with an internal modem (V.32 & 16550), but same results.
The PC is a 486DX-33.

Thanks in advance,
Teemu Mottonen.
--
Teemu Mottonen - Department of Computer Science, University of Helsinki

 
 
 

MS-Kermit 3.13, Windows, "Unknown hardware for port", 8250/16550 UART

Post by Ken Ud » Sun, 16 Oct 1994 05:33:02



>Hi all,

>I have a problem with running MS-Kermit 3.13 under Windows 3.1. I'm
>developing a program with Borland Pascal for Windows that uses Kermit
>to call a central computer, transfer files etc. The com port settings
>seem correct ('SET COM1 \x3F8 IRQ 4'), because Kermit works ok in DOS
>and when executed directly from the Program Manager.

>The problem is that after running Kermit once (to dial central computer)
>on the second invokation, after 'SET PORT COM1' I get "?Warning: unknown
>hardware for port. Using Bios as BIOS1". After this communication fails.

>It seems that somehow Kermit is unable to verify the UART. I don't know
>what causes this: Windows, Kermit or my program. So, is it possible to
>disable the UART check (chkport routine in the assembler source code) by
>patching KERMIT.EXE ? Or maybe there's some combination of PIF & .INI
>settings that I'm missing ? Or perhaps I should somehow reset the UART
>after running the first script ?

>The modem is an external V.32 modem (8250 UART, but I use it at 2400 bps).
>I've also tried this with an internal modem (V.32 & 16550), but same results.
>The PC is a 486DX-33.

>Thanks in advance,
>Teemu Mottonen.
>--
>Teemu Mottonen - Department of Computer Science, University of Helsinki

I'm not a Windows user (I posess a 286 w/Deskmate :-) ), but I am aware of
this problem.

(and I may be wrong.  Since posting wrong answers to questions provokes
the right ones, I guess it can't hurt if I only have half of the picture!)

As far as I understand, Windows grabs the interrupts used by the modem
and passes it to the program using it.  However, when you invoke Kermit
again, Windows still has a hold on these interrupts and is HIDING your
com port from Kermit.  (I'm using simplistic terms, but this is how I
understand it).

I don't know how to release the interrupts.

However, I do know that, if you have (in your mscustom.ini is fine) the
command that directly tells Kermit what port to send it to (the x3f8
thing - I don't remember the syntax until I need to use it myself :> ),
it should work anyhow.

But making Windows release the com port would be hte best bet.  I don't
know how to, unfortunately.

How far am I off, everyone?

Ken

 
 
 

1. "divide overflow" in MS Kermit 3.13?


----------
        That's a tough one. The temptation is to blame it all on Windows
and memory management. Have you tried a) repeating this at pure DOS level
(not in a DOS box), and b) have you tried using MS-DOS Kermit v3.14 or
even v3.15/beta?
        The one area where v3.13 can produce this situation under Windows
is when the 1 millisecond software timer is calibrated and something stomps
on the machine during the brief calibration cycle. Matters are much improved
here after v3.13. The timer is calibrated each time a communications port
is opened for business.
        Joe D.

2. Newbie needing help (very new to programming)

3. MS-Kermit -- Speed of "Output" vs. "Write"

4. What are the NEW best practices

5. 8250 vs 16550

6. COMM vs Overlapped I/O

7. !!!!!"""""IMPORTANTE"""""!!!!!

8. Warp, IDE drive > 4 Gb and FIXPACK 1

9. "paralell" port vs. "usb" vs. "serial"?

10. K7s5a """"ich krieg die KRIESE"""""

11. MS-Kermit 3.13 - ini file question

12. Divide Error on MS-Kermit 3.13

13. MS-Kermit 3.14 dies with INT 14h interceptor, 3.13 works