[comp.os.misc] Coherent Digest Vol. 91.1, No. 2

rose@galtee.cs.wisc.edu (Scott M. Rose) (01/06/91)

Coherent Digest Vol. 91.1, No. 2      Sat Jan  5 10:44:00 CST 1991

Today's Topics:

   configurable disk driver
   Status of RCS port
   s.l.o.w serial ports
   info on /usr/bin/modeminit
   Problem Installing Coherent
   accounting.
   User Defined Drive Type 47 and 48
   Disk fragmentation

Administrivia:

  The Coherent Digest is a forum for discussion of the MWC Coherent 3.x 
  operating system.  Send submissions to "coherent@cs.wisc.edu" and 
  administrivia to "coherent-reqeust@cs.wisc.edu".  Previous issues are 
  archived for anonymous FTP access on piggy.ucsb.edu in the directory
  "pub/coherent/mail-list".

----------------------------------------------------------------------

Date: Wed, 2 Jan 91 13:14:17 CST
From: rosevax.rosemount.com!grante%rutgers.UUCP@spool.cs.wisc.edu (Grant B. Edwards)
To: coherent@spool.cs.wisc.edu
Subject: configurable disk driver

> I got my update to 3.10 last week and installed it over the weekend.  I've
> been looking forward to the "configurable AT hard disk driver for unsupported
> disks" since both of my drives aren't in the BIOS tables.
> 
> *BUT* the release notes don't say anything other than "COHERENT release 3.1
> adds support for these drives during installation by 'patching' the disk
> parameters into the bootstrap and the /coherent image on the hard disk."


I interpreted the notes that came with the update the same way Joel did.  When
I tried to figure out how to patch things so that I can use all of my shiny
new Seagate ST251-1, I too could find no info on how to do it.  I've got an
IBM model 339 AT, and it doesn't have the right drive type in it's BIOS.

When I called Coherent tech support, I was told that the "configurable AT
hard disk driver for unsupported disks" does NOT mean that you can use disk
types that aren't supported by BIOS, since Coherent uses BIOS calls to do
disk I/O.  What it means is that you can use the SCSI driver instead of the
default BIOS driver which only supports drive types supported by your BIOS.

I think that the release notes are _definitely_ misleading.

If anyone finds out that you _can_ patch the AT driver to support drives whose
types are not in the BIOS tables, please let me know.

Since I wanted part of the disk for a DOS partition anyway, here's what I did:

Use the dos software that Seagate ships to partition the disk.  Set it's drive
type to 3 instead of 44.  Type 3 is the same as 44 except it has 600 or so
cylinders and the disk actually has 820.  I set up a non-DOS partition that
used the 600 cylinders a type 3 disk has, and used the rest of the cylinders
for a DOS partion.

Seagate ships a loadable device driver that lets DOS use non-supported drive
types, so DOS can use the partition above cylinder 600 via the supplied driver.

Run fdisk under Coherent and tell it to set up the first partion as a Coherent
partition.  It will obey the partion table it finds, but if you try to change
it, it won't let you enter any cylinder numbers above 600, since it thinks
it's a type 3 drive.

Run mkfs as usual.

Modify /etc/mount.all and /etc/checklist as explained a few messages back.

This allows me to have a 32 meg Coherent partition and a 10 meg non-bootable
DOS partition (I don't like DOS much either, but it does pay for my toys).

If you don't want a DOS partition, this doesn't help you much :-)


                                  Grant Edwards
Rosemount Inc, CB7                                            He who dies with
12001 Technology Drive      grante@hydro.rosemount.com        the most manuals
Eden Prairie, MN  55344    uunet!rosemount!hydro!grante       wins.



------------------------------

Date: Wed, 2 Jan 91 14:30:45 CST
From: rosevax.rosemount.com!grante%rutgers.UUCP@spool.cs.wisc.edu (Grant B. Edwards)
To: coherent@spool.cs.wisc.edu
Subject: Status of RCS port

I've been porting RCS to Coherent.  Everything compiles, and what I've tried
seems to work.  There are a few commands, and most of the options that haven't
been tested yet.  I have been using it during my work on porting Gnu make
(which isn't going so well), so the commands and options I generally use are
working.  The only big problem I had was with bugs in Coherent's make, which
is why I was trying to port Gnu make.

There are two questions I would like to ask:

First, are there any RCS users out there who would like to be beta-test sites?
I'm not comfortable enough with it to post it yet, but I won't ever have
enough time to test all of the options on all of the commands -- I would be
grateful for the assistance of somebody who uses RCS enough to tell a bug from
a feature.  If not, I will make a half-hearted attempt to test most of the
commands and post the sources in a few weeks.

Second, I tried to build the man pages using the nroff -man command on
Coherent and they all got completely munged.  Coherent's nroff or -man macro
package seems to be rather incompatible.  I know _nothing_ about any of the
roff's, so I kermitted the nroff source to my Sun, nroffed them there, and
kermitted the results back.  The question is: does anybody know how to build
"standard" formatted man pages under Coherent?  Or should I distribute both
the source and "cooked" versions of the man pages?  (Coherent's man command
expects the files to be "cooked," unlike the BSD version of man, which will
format them on demand.)


                                  Grant Edwards
Rosemount Inc, CB7                                            He who dies with
12001 Technology Drive      grante@hydro.rosemount.com        the most manuals
Eden Prairie, MN  55344    uunet!rosemount!hydro!grante       wins.



------------------------------

Date: 2 Jan 91 17:01:23
From: mwc!hal@uunet.UU.NET (Hal Snyder)
To: cohmail@uunet.UU.NET
Subject: s.l.o.w serial ports

> Under certain conditions, a serial port can get into a state
> where it outputs characters at about 10 per second, although at the
> correct baud rate. It __seems__ (I could be wrong) to happen only when
> not logged in, and only with the interrupt-driven serial port drivers.
 
We (MWC) are looking into causes of the "s.l.o.w." ports.  It appears that
certain sequences of events DO cause the ports to lock up.
 
Signs of a "locked up" serial port are (a) the port refuses to receive incoming
characters, (b) outgoing characters are sent extremely slowly (about ten
per second), or (c) it is not possible to open the serial port at all.

When this happens, it may be necessary to shutdown COHERENT using the
"shutdown command" and then to reset your computer.  Note that Control-Alt-Del
is NOT enough to reset a port that is locked up!  You must use the Reset
button if your computer has one, or turn the computer off, wait at least 30
seconds, then turn it back on again.

Mark Williams Tech. Support		(708)-291-6700 (voice)
uunet!mwc!support			(708)-291-6750 (fax)

------------------------------

Date: 2 Jan 91 15:45:33
From: mwc!hal@uunet.UU.NET (Hal Snyder)
To: cohmail@uunet.UU.NET
Subject: info on /usr/bin/modeminit

> 	Just wondering what "modeminit" really is. I tried to find out 
> from man and manual but still I can't find it. Is it a file to initialize
> modem to receive incoming call (remote access?)? I have tried to call
> my Coherent from my friend's computer but my modem won't answer it 
> because it was not in answer mode. Is there any way to solved this 
> problem? For more information, my modem is Premier P2400E and it is
> Hayes compatible modem. Thanks for any help.

A modem that fails to answer an incoming call, hangs up before locking 
onto the remote carrier, gets stuck in a loop echoing characters sent
to it from the computer, or fails to operate at the expected baud rate
is probably configured improperly.  This situation is remedied by
sending the appropriate control string to the modem.

We offer some guidelines here for modem settings; however, be warned that
modems from different manufacturers usually behave differently,
regardless of claims of Hayes compatibility, and that you will need to
check the manual for your particular modem.

Echo should be OFF (usually setting "E0").
Result codes should be OFF (usually setting "Q1").
Modem status "DCD" should follow true carrier detect status, rather than
being always on (usually setting "&C1").
The modem should enter command mode when "DTR" is ON (usually setting "&D1").
Auto answer should be ON (usually obtained by setting register S0 to a
nonzero value equal to the number of rings before answer).
The delay value for "Wait for Carrier/Dial Tone" (usually register S7)
should not be too short.

The scripts below show typical initialization for "Hayes-compatible" and
Trailblazer modems.  They are only examples;  your modem may need something
different.

Note:  the "sleep" and "stty" commands are necessary in the first example
so that the command string will be sent to the modem at 2400 baud;
otherwise, the string is sent at the default port speed, which is 9600 baud.

# initialize 2400 baud Hayes-type modem on com3
disable com3r
sleep 3 > /dev/com3l &
stty 2400 > /dev/com3l
echo 'AT E0 Q1 V0 S0=2 S7=60 &D1 &C1 M3' > /dev/com3l
sleep 3
enable com3r

# initialize 9600 baud internal Trailblazer on com2
/etc/disable com2r
cat > /dev/com2l << EOF
at
at e0 t v0 x3 h0
at s0=1 s7=60 s48=1 s51=252 s52=0 s54=3 s58=3
at
EOF
/etc/enable com2r

There is a file called "modeminit" in /usr/bin which you can edit to suit
your modem.  To ensure that your modem is initialized every time you start
COHERENT, you should add a line saying
	/usr/bin/modeminit
to your /etc/rc file.

/usr/bin/modeminit

: /usr/bin/modeminit 9/7/90
: Initialize modem, typically called from /etc/rc.
: This example initializes a Hayes-compatible modem for echo off, autoanswer.
: The sleep is required to keep the desired baud rate for the cat command.
DEV=/dev/modem
BAUD=9600
sleep 2 >$DEV&
stty $BAUD >$DEV
cat >$DEV <<\!
AT E0 S0=1
!

Mark Williams Tech. Support		(708)-291-6700 (voice)
uunet!mwc!support			(708)-291-6750 (fax)

------------------------------

Date: 2 Jan 91 16:54:00
From: mwc!hal@uunet.UU.NET (Hal Snyder)
To: cohmail@uunet.UU.NET
Subject: Problem Installing Coherent

> Coherent stopped installing after scanning for bad
> blocks. It said something like certain files weren't found, thus unable
> to create root file system. And then, it just said that installation of
> Coherent was aborted before completion. Again & again it did that.
> 
> My system. It is a generic 25MHz 386 with DTK BIOS (like the one listed
> in the list of compatibility) and with a 66 Mbyte (RLL) of Microscience
> 1060 hooked up to a Data Technology DTC7287 disk drive controller (also
> listed in the list of compatibility)... monitor card is a Paradise
> Autoswitch EGA 350.

During installation, COHERENT will do a badscan of any partitions designated
for COHERENT use.  The result of running badscan is that a file describing
the partition, including a list of any bad blocks encountered, is written.
This file typically has a name like "/tmp/at0b.proto" (further along in
installation it is copied into the /conf directory on the hard drive).

Systems in which the software interface to the hard drive behaves in
ways incompatible with standard "AT"-style controllers will run into trouble
during installation.  The problem may show up as system panics, timeouts,
AT controller not found, badscan running slowly or hanging, or inability to
find files created during installation such as the proto file mentioned
above.

Sources of the "incompatible" behavior can be any of the following:
(we are still trying to track down many of these)
- - defective motherboard (try running a thorough protected-mode diagnostic)
- - incompatible video board (many older EGA boards did autosensing in ways
  that confused protected mode operation)
- - incompatible hard drive or controller (IDE drives are notoriously ill-
  behaved when it comes to acting like an ST506 connected to an "AT"-style
  controller running in protected mode, especially with the AMI BIOS).
- - wrong drive type selected in CMOS setup.  Avoid "user-defined" type numbers
  (usually 47 & 48) wherever possible.  

We want to eliminate as many compatibility problems in COHERENT as we can.
Please send detailed reports of any such problems, including exactly what
error message is displayed, to mwc!support, or contact MWC tech support
by voice or fax.

Mark Williams Tech. Support		(708)-291-6700 (voice)
uunet!mwc!support			(708)-291-6750 (fax)

------------------------------

Date: 2 Jan 91 22:45:22
From: hdrock!john@rex.cs.tulane.edu (John Welch)
To: lafayet!coherent
Subject: accounting.

Does anyone know of a decent Accounts Receivable package that would
run on a Coherent machine?
>/<

John Welch                         Core Laboratories a division of
____    ____     ____              Western Atlas International Inc.
\   \  /   /\   /   /\             =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
 \   \/   /  \ /   /  \            Humans   (903) 566-1436
  \  /   / \  /   /\   \           Internet lafayet!hdrock!john@rouge.usl.edu
   \/___/   \/___/  \___\          Bang.....!uunet!lafayet!hdrock!john

You have nail.

------------------------------

Date: Fri, 4 Jan 91 12:52:46 MST
From: wayne@cpsc.ucalgary.ca (Wayne McCormick)
To: coherent
Subject: User Defined Drive Type 47 and 48

From: mwc!hal@uunet.UU.NET (Hal Snyder)
Subject: Problem Installing Coherent

>Sources of the "incompatible" behavior can be any of the following:
>(we are still trying to track down many of these)
>- defective motherboard (try running a thorough protected-mode diagnostic)
>- incompatible video board (many older EGA boards did autosensing in ways
>  that confused protected mode operation)
>- incompatible hard drive or controller (IDE drives are notoriously ill-
>  behaved when it comes to acting like an ST506 connected to an "AT"-style
>  controller running in protected mode, especially with the AMI BIOS).
>- wrong drive type selected in CMOS setup.  Avoid "user-defined" type numbers
>  (usually 47 & 48) wherever possible.  
>
>We want to eliminate as many compatibility problems in COHERENT as we can.
>Please send detailed reports of any such problems, including exactly what
>error message is displayed, to mwc!support, or contact MWC tech support
>by voice or fax.
>
>Mark Williams Tech. Support		(708)-291-6700 (voice)
>uunet!mwc!support			(708)-291-6750 (fax)


I just want to add my two bits here for the sake of perhaps adding to the
compatibility list.

I have an AMI BIOS (Booo! ;-)  and I am using drive type 47.  Also, I am
using the DPT PM3011E/75 disk controller with a 330Mb Fujitsu 2249E ESDI hard
drive.  Now normally this drive has 15 heads, 1243 Cyl, and 35 sectors/track.
Under Coherent and DOS the DPT controller maps the drive to the following
parameters: 16 heads, 929 Cyl, and 45 sectors/track giving me 327Mb of space.
Of course it's not 100% of the available drive space but it'll do while I
run DOS and Coherent.

I haven't had any problems with Coherent on this drive setup.  Coherent was
configured with the exact same parameters that are stored in the BIOS under
type 47.

I do have one question though.  Is fragmentation a problem under Coherent,
and how do you get rid of it?

Wayne
wayne@cpsc.ucalgary.ca


------------------------------

Date: Fri, 4 Jan 91 17:44:02 EST
From: msdc!esa@uunet.UU.NET (Esa T. Ahola)
To: coherent
Subject: Disk fragmentation

> I do have one question though.  Is fragmentation a problem under Coherent,

With the file system as slow as it is, the negative effect of fragmented 
files is probably negligible. :-)

However, large fragmented directories are bad news. Directories are
scanned sequentially when files are looked up or added, and a 512-byte
directory block only contains something like 30 file entries.  Imagine
/usr/spool/news/comp/pc/drivel/ with 1000 files and the 30+ directory
blocks scattered all over the disk:  locating a file requires 15 seeks
on average...  There's a reason why the BSD fast file system was invented.

On random disk accesses, the file system throughput is bounded by
the average seek time and the disk block size.  A 20ms drive can read
only 50 *random* 512-byte disk blocks per second -- a whopping 25K per
second throughput (of course, not all disk accesses are truly random).
Larger disk blocks would obviously help -- BSD uses 8K blocks (plus the
fragment-block mechanism to alleviate fragmentation).

MWC, How about a new file system type with 1K or 2K blocks?  

> and how do you get rid of it?

If you can spare a largish disk partition just for that purpose, 'cpdir -d'
works extremely well.  


- -- 
Esa Ahola           esa@msdc.com      uunet!msdc!esa        CIS:70012,2753
Medical Systems Development Corporation (MsdC), Atlanta GA  (404) 589-3368

------------------------------

End of Coherent Digest Vol. 91.1, No. 2
***************************************
-- 
	Scott Rose
	rose@cs.wisc.edu