[comp.unix.sysv386] Problems with network commands under ODT-VIEW

dhiraj@bohra.cpg.oz.au (Dhiraj Sharma) (06/04/91)

I am having a problem with ODT-View:

1- I "startx" from one of the multi-screens

2- From an odt term I issue the command "ping <one of the machines on our net>"

3- ping appears to hang just displaying:
	PING <local machine name>: 56 data bytes

4- I switch to one of the other multi-screens and then jump back to the
   one running X and there's output from ping stating the number of
   packets being transmitted, i.e.,
	PING <local machine name>: 56 data bytes
	64 bytes from <local machine address>: icmp_seq=0. time=16. ms
	64 bytes from <local machine address>: icmp_seq=1. time=32. ms
	64 bytes from <local machine address>: icmp_seq=2. time=0. ms
	64 bytes from <local machine address>: icmp_seq=3. time=16. ms
   However, instead of continuing on with the display of packet transfer
   it again hangs. Again if I now switch to another multiscreen and jump
   back to the one running X, there is more output from ping, i.e.,
	PING <local machine name>: 56 data bytes
	64 bytes from <local machine address>: icmp_seq=0. time=16. ms
	64 bytes from <local machine address>: icmp_seq=1. time=32. ms
	64 bytes from <local machine address>: icmp_seq=2. time=0. ms
	64 bytes from <local machine address>: icmp_seq=3. time=16. ms
	64 bytes from <local machine address>: icmp_seq=0. time=16. ms
	64 bytes from <local machine address>: icmp_seq=1. time=32. ms
	64 bytes from <local machine address>: icmp_seq=2. time=0. ms
	64 bytes from <local machine address>: icmp_seq=3. time=16. ms
   Again the output from ping stops.

If after step 3 I do not switch screens and just wait, say 5-10mins, for ping
to produce some output, ping still produces nothing, but then in other 
multiscreens (the ones not running X) I receive the message "Out of stream 
resources".  After which contact with all machines on the net is lost.

This problem does not only occur with ping, but also with other network
commands as rlogin, with rlogin hanging until I switch to another screen
and then come back to the one running X. Another example is df which
just shows the local filesystems and none of the NFS remote mounted ones.

THESE PROBLEMS  *DO NOT* OCCUR WHEN  PING OR ANY OF THE OTHER COMMANDS ARE
ISSUED FROM ONE OF THE SCREENS WHICH IS NOT RUNNING X.

The configuration of the machine where the above problem is encountered:

Hardware:
	- IBM PC Compatible 486 (Make: Terran, Model: T40) 
device       address      interrupt   dma   comment
======       =======      =========   ===   =======
fpu       0x0000-0x0000       15      -1    type=80387 
serial    0x03f8-0x03ff       04      -1    unit=0 type=Standard nports=1 
serial    0x02f8-0x02ff       03      -1    unit=1 type=Standard nports=1 
floppy    0x03f2-0x03f7       06      02    unit=0 type=96ds15 
floppy    0x0000-0x0000       00      -1    unit=1 type=135ds18 
console   0x0000-0x0000       00      -1    unit=vga type=0 12= screens=68k 
parallel   0x03bc-0x03be       07      -1    unit=1 
tape      0x0338-0x033c       05      01    type=wangtek 
adapter   0x0330-0x0332       13      05    type=ad ha=0 id=7 
e3B       0x0300-0x0310       11      -1    type=3c503 addr=02:60:8c:0f:99:a5 
tape      0x0000-0x0000       00      -1    type=S ha=0 id=2 lun=0 
disk      0x0000-0x0000       00      -1    type=S ha=0 id=0 lun=0 
Sdsk      0x0000-0x0000       00      -1    cyls=632 hds=64 secs=32 

Software:
	Open Desk Top Personal System 1.1:
		ODT-OS
		TCP-IP
		NetBIOS
		LAN Manager 
		NFS
		Streams 
		ODT View (with which we are having the above problem)
	The machine in question has mounted (NFS) file systems from other
	machines from our local net.

The Open Desktop Installation guide *may be* hinting at this problem on
page 255 in Appendix J under Common System Resource Error Messages:
"If you use multiple servers (Xterminals or Console multiscreens) with
Open Desktop, you might need to reset some system parameters. For information
on configuring Open Desktop for use with multiple servers, see Appendix A,
'X Terminal and Multiscreen Configuration,' of Administering ODT-View in
the Administrator's Guide"
However, Administering ODT-View in the ODT Administrator's Guide has the
appendix A as 'Desktop Commands and Utilities'. Is this a typo in the 
manual or have I got incompatible manuals ?

My guess is that its probably some incorrect setting of system parameters.
The /etc/conf/cf.d/config.h file is reproduced at the end.

Any help in resolving this problem would be appreciated. I would also
welcome any references (manuals/books/articles) for a deeper understanding
of the issues on hand.

Please mail your replies directly to me as presently I am not closely monitoring
these news groups. I will summarise if there is general interest.
Thanks in advance for your help.

dhiraj ++
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
> Dhiraj Sharma                      | ACSnet:  dhiraj@bohra.cpg.oz[.au]       <
> CP Software, 19 Cato St,           | UUCP:  ..uunet!munnari!bohra.cpg!dhiraj <
> East Hawthorn, Australia, 3004     | Phone: +61-3-8230220 Fax: +61-3-8248068 <
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

APPENDIX: tunable parameters section from /etc/conf/cf.d/config.h 
/*----------------------------------------------------------------*/
/* defines for each tunable parameter */
#define	KDBSYMSIZE	60000
#define	NBUF	0
#define	MAXBUF	600
#define	NCALL	30
#define	NINODE	300
#define	NS5INODE	300
#define	NFILE	300
#define	NMOUNT	8
#define	CTBUFSIZE	128
#define	NPROC	100
#define	NREGION	300
#define	NCLIST	120
#define	MAXUP	25
#define	NOFILES	60
#define	NHBUF	64
#define	NPBUF	20
#define	DMAABLEBUF	16
#define	NAUTOUP	10
#define	NGROUPS	8
#define	BDFLUSHR	30
#define	MAXPMEM	0
#define	SHLBMAX	3
#define	FLCKREC	100
#define	PUTBUFSZ	2000
#define	MAXSLICE	25
#define	ULIMIT	2097152
#define	SPTMAP	50
#define	PIOMAP	50
#define	PIOMAXSZ	64
#define	DO387CR3	0
#define	NODE	"quokka"
#define	CMASK	0
#define	NUMXT	3
#define	NUMSXT	6
#define	NCPYRIGHT	10
#define	NKDVTTY	8
#define	PRFMAX	2048
#define	VHNDFRAC	16
#define	AGEINTERVAL	19
#define	GPGSLO	25
#define	GPGSHI	40
#define	GPGSMSK	1056
#define	MAXSC	1
#define	MAXFC	1
#define	MAXUMEM	2560
#define	MINARMEM	25
#define	MINASMEM	25
#define	MINHIDUSTK	4
#define	MINUSTKGAP	2
#define	NQUEUE	624
#define	NSTREAM	168
#define	NSTRPUSH	9
#define	NSTREVENT	256
#define	MAXSEPGCNT	1
#define	NMUXLINK	64
#define	STRMSGSZ	4096
#define	STRCTLSZ	1024
#define	NBLK4096	12
#define	NBLK2048	60
#define	NBLK1024	48
#define	NBLK512	72
#define	NBLK256	104
#define	NBLK128	249
#define	NBLK64	296
#define	NBLK16	168
#define	NBLK4	256
#define	STRLOFRAC	80
#define	STRMEDFRAC	90
#define	NLOG	3
#define	NUMSP	32
#define	NUMTIM	64
#define	NUMTRW	64
#define	MSGMAP	100
#define	MSGMAX	2048
#define	MSGMNB	4096
#define	MSGMNI	50
#define	MSGSSZ	8
#define	MSGTQL	40
#define	MSGSEG	1024
#define	SEMMAP	10
#define	SEMMNI	10
#define	SEMMNS	60
#define	SEMMNU	30
#define	SEMMSL	25
#define	SEMOPM	10
#define	SEMUME	10
#define	SEMVMX	32767
#define	SEMAEM	16384
#define	SHMMAX	524288
#define	SHMMIN	1
#define	SHMMNI	100
#define	SHMSEG	6
#define	SHMALL	512
#define	NRCVD	150
#define	NSNDD	100
#define	NSRMOUNT	10
#define	NADVERTISE	25
#define	MAXGDP	24
#define	MINSERVE	3
#define	MAXSERVE	6
#define	NRDUSER	250
#define	RFHEAP	3072
#define	NLOCAL	0
#define	NREMOTE	0
#define	RCACHETIME	10
#define	RFS_VHIGH	1
#define	RFS_VLOW	1
#define	S52KNBUF	100
#define	S52KNHBUF	32
#define	NMPBUF	0
#define	NMPHEADBUF	150
#define	BFREEMIN	0
#define	S5CACHEENTS	256
#define	S5HASHQS	61
#define	S5OFBIAS	8
#define	DSTFLAG	1
#define	TBLNK	0
#define	NSCRN	0
#define	NEMAP	10
#define	TIMEZONE	480
#define	XSEMMAX	60
#define	XSDSEGS	25
#define	XSDSLOTS	3
#define	SCRNMEM	0
#define	KBTYPE	0
#define	NDISK	4
#define	EVQUEUES	8
#define	EVDEVS	16
#define	EVDEVSPERQ	3
#define	NSPTTYS	16
#define	DMAEXCL	1
#define	ETRUNC	0
#define	NTTYP	8
#define	NNFSRNODE	150
#define	NNCB_DEV	32
#define	NNCBS	32
#define	NNCB_NAMES	16
#define	NFSTREAM	32
#define	NFSBUFS	60
#define	NBINDX	80
#define	MAXVCS	20
#define	NPTE	64
#define	NBIDS	32
#define	NTIDS	32
#define	NEXS	150
#define	NWB	32
#define	NASEVENT	40
#define	NCONSTABLE	32
#define	NALIAS	16
#define	NRECYCLE	3
#define	NCALLRETRY	10
#define	XITONCLOSE	0
#define	CNCBS	0
#define	CORMAPNCB	0
#define	XNETINODE	64
/*----------------------------------------------------------------*/

wul@sco.COM (Wu Liu) (06/05/91)

/--dhiraj@bohra.cpg.oz.au (Dhiraj Sharma) said...
| I am having a problem with ODT-View:
| 
| [ descriptive text deleted... ]
|
| If after step 3 I do not switch screens and just wait, say 5-10mins, for ping
| to produce some output, ping still produces nothing, but then in other 
| multiscreens (the ones not running X) I receive the message "Out of stream 
| resources".  After which contact with all machines on the net is lost.
| 
| This problem does not only occur with ping, but also with other network
| commands as rlogin, with rlogin hanging until I switch to another screen
| and then come back to the one running X. Another example is df which
| just shows the local filesystems and none of the NFS remote mounted ones.
| 
| THESE PROBLEMS  *DO NOT* OCCUR WHEN  PING OR ANY OF THE OTHER COMMANDS ARE
| ISSUED FROM ONE OF THE SCREENS WHICH IS NOT RUNNING X.
|
| [ hardware configuration and config.h contents deleted... ]
\--

You're running out of streams buffers or queues.  Since ODT-VIEW uses
streams buffers for local X client/server communication (faster that
way) and TCP/IP (and NFS, through TCP) uses streams as well, it's
quite possible to run out, especially if you're using one or both
heavily.  The solution is to determine which streams resource or
resources are maxed out and increase them.  The crash(ADM) utility has
a command (strstat) to tell you the state of your streams resources.

You should make the change in streams resources by running the
configure(ADM) tool as root.  You'll need to relink your kernel.

The process it somewhat painful (if you don't guess right, you'll have
to reconfigure, relink, and reboot until you do), but worth the effort.

If you use NFS heavily, you'll want to increase the number of 4k, 2k,
and 1k buffers.  TCP and Xsight tend to want use the 16-512 byte buffer
sizes.  Each system configuration will vary, so it's very much a trial
and error process.  Good luck.

knguyen@cs.toronto.edu ("T. Kim Nguyen") (06/05/91)

Actually it's not that hard to configure the kernel parameters -- just
boost things by about 50% to start with.  If you find your system
slowing down and churning and thrashing enormously, then you know you
pumped the params too high.  :-)  You can also just run sysadmsh to
set these kernel params.  When I was getting Sybase to work on our
machine I had to ignore a lot of warnings I was getting from the
configuration program, but the machine still works fine now (some of
those warning messages sounded pretty ominous).

	Kim

belal@sco.com (Bela Lubkin) (06/11/91)

Dhiraj Sharma wrote that, essentially, his network access only works
when he is NOT displaying an X server on his console screen.  Several
replies have suggested that he is running out of streams buffers.

The behavior he described does not suggest streams problems.  Streams
problems would be more erratic.  This problem sounds more like a
hardware conflict between the video board and the ethernet board.

VGA display memory is usually mapped into the A0000-BFFFF range of
memory.  Most VGA boards also have ROM BIOS code in the Cxxxx or Dxxxx
ranges.  I don't think SCO's 3C503 driver actually uses shared memory,
but if it does, there could be a conflict there.

>serial    0x02f8-0x02ff       03      -1    unit=1 type=Standard nports=1 
>serial    0x03f8-0x03ff       04      -1    unit=0 type=Standard nports=1 
>tape      0x0338-0x033c       05      01    type=wangtek 
>floppy    0x03f2-0x03f7       06      02    unit=0 type=96ds15 
>parallel  0x03bc-0x03be       07      -1    unit=1 
>e3B       0x0300-0x0310       11      -1    type=3c503 addr=02:60:8c:0f:99:a5 
>adapter   0x0330-0x0332       13      05    type=ad ha=0 id=7 
>fpu       0x0000-0x0000       15      -1    type=80387 

A more likely cause is that the ethernet board is on interrupt 2.
[Vector 2 gets chained to the 2nd interrupt controller, coming in as
interrupt 9.  The driver then displays it in octal, i.e. 11, or
interrupt 1 on PIC 1.  You will also see it as interrupt 25 or 31
(interrupt 1 on PIC 3, decimal or octal)].  Some VGA boards take over
interrupt 2 for their own purposes, only when in graphics mode.  If the
VGA is driving the INT2 bus line low, the ethernet board probably won't
be able to generate interrupts.

So, Dhiraj, I suggest setting your 3C503 to a different interrupt.  The
3C503's interrupt is configured at boot time by the e3B driver.  You
need only change the number, relink the kernel and reboot.  Unfortunately,
your system is already using all of the possible interrupts for the
3C503.  You could put the tape drive on 2, in which case you could only
access tapes from a text screen -- that might be a less annoying
limitation.  Or you could disable one of the serial or parallel ports
and use its interrupt (3, 4 or 7).

Bela Lubkin  * *  //  filbo@deeptht.santa-cruz.ca.us  Not speaking for SCO...
     @     * *   //  belal@sco.com  ...ucbvax!ucscc!{deeptht!filbo,sco!belal}
R Pentomino  * \X/  Filbo @ Pyrzqxgl +1 408-476-4633 and XBBS +1 408-476-4945