[comp.sys.next] FAQ 3/3 - Answers to Frequently Asked Questions

lacsap@media.mit.edu (Pascal Chesnais) (06/16/91)

FAQ-3 910616: Frequently Asked Questions pertaining to the NeXT computer.

The information contained in this post is a compilation of answers to
questions posted by participants in the comp.sys.next USENET group.
No guarantees are made regarding the correctness of these responses.
This will get posted to comp.sys.next about every other week.  There
is currently no particular order to this list, items get added and
removed over time.

Note:
We are not affiliated with any of the companies mentioned in this
posting.  If you have any corrections, additions, questions, or
answers to add to this list, please send email to

next-faq@media-lab.media.mit.edu

A copy of the FAQ can be found on sonata.cc.purdue.edu in pub/next/FAQ
as well as other useful information (diskdrive and simm sources).

Printing
--------
H1. What alternative printers (laser or otherwise) may be used with
    the NeXT?  Are there limitations or other considerations of which
    I should I be aware.

  Adding supported postscript printers is rather simple:
  1- get a serial cable (e.g., Macintosh to LaserWriter Plus), but
        check whether that works with your printer 
        (see below for HP-printers)!
  2- configure using Print Manager
  3- configure printer communication according to manufacturer's 
  recommendations. (9600 baud software flow control).

  If you plan to connect an HP LaserJet (II, IIP, III, etc.) you need to make a  
special
  cable in order for the NeXT 040  and HP to get the hardware handshaking
  correct.  This is true for whatever version of the OS you are running.

  NeXT 68040 to HP LaserJet III Cable (not a Null-modem cable):
 
      Mini-Din       HP DB-25
 
      1   (DTR)      nc 
      2   (DCD)      4  (RTS)	
      3   (TXD)      3  (RXD)
      4   (GND)      7  (GND)
      5   (RXD)      2  (TXD)
      6   (RTS)      5  (CTS)
      7   (RTXC)	    nc	     
      8   (CTS)      20 (DTR)

  
  Then you may want to use hardware flow control for reliability (ie  
/dev/ttyfa)
  Sample printcap entry needs to be loaded into the netinfo database
  (you can use either niload printcap . <myprintcap, or use
  NetInfoManager to change the br and lp properties of your LaserJet.
  Using the default baud rate  and /dev/ttya will also work, for most print  
jobs.)
  LaserJet_III: \
        :note=LaserJet_III:ty=HP LaserJet III PostScript: \
        :sd=/usr/spool/NeXT/LaserJet_III:lp=/dev/ttyfa: \
        :lf=/usr/adm/lpd-errs:af=/usr/adm/lp.acct:br=19200:rw:fc#0000374: \
        :fs#0000003:xc#0:xs#0040040:mx#0:sf:sb:if=/usr/lib/transcript/psif: \
        :of=/usr/lib/transcript/psof:gf=/usr/lib/transcript/psgf: \
        :nf=/usr/lib/transcript/psnf:tf=/usr/lib/transcript/pstf: \
        :rf=/usr/lib/transcript/psrf:vf=/usr/lib/transcript/psvf: \
        :cf=/usr/lib/transcript/pscf:df=/usr/lib/transcript/psdf:

  and HP printer configuration:
	auto cont = off     (doesn't matter)
	I/O = serial		
	serial=rs-232       (for LJ III only)
	baud rate = 19200   (or whatever baud rate yo have 
				in ni database/ printcap)
	robust xon = on     (doesn't matter)
	dtr polarity = hi
	startpage = off     (doesn't matter)
	language=english
	ret = med           (you choose for LJ III only)	
 Note that if you modify the printcap this way you cannot reconfigure
 this particular printer entry with PrintManager.

 If you have problems with other printers, check the cable pinouts in
 the printer's manual against the one recommended in the zs man-page!
 
  Refer to Chapter 13 in Network and System Administration.  If you
  are using 2.0 and you use remote non-next printers, there is a bug
  that can be simply corrected by doing "dwrite system PrinterResolution
  1" for each user trying to access non-next printers on the network.
  This not a problem in 2.1.

H2. What fonts can I use on my NeXT?

  Properly packaged Type 1 or 3 postscript fonts will work on the NeXT,
  certain conversions may be necessary to get them to work.  Freeware
  and shareware fonts are available on sonata.cc.purdue.edu.  There
  are utilities on the next to download fonts into postscript printers.

  Purdue (nova and sonata) have freeware and shareware type 1 and 3
  fonts in pub/next/misc

  Each file unpacks into it's own directory.  Within each directory is a
  ReadMe.rtf and a Makefile.  See the ReadMe.rtf for more font descriptions and
  installation instructions.  (You may also find comments in the Makefile of
  interest.)
  These packages were prepared by Doug Brenner <dbrenner@umaxc.weeg.uiowa.edu>

  Fonts generated by Fontographer don't work in Display PostScript
  immediately.  They use a memory management trick that screws everything up
  in a multitasking environment like DPS.  However, there is a simple, though
  kludgy, way to make them work, worked out by Glenn Reid.  Contact Jacob
  Gore <jacob@gore.com> for details.  You will probably also want to modify 
  the .afm file headers to make the fonts fit better in the organization used
  by the NextStep Font Panel (i.e., separate the weight and angle from the 
  title).
  Fonts may be purchased from Adobe (800-USA-FONTS), RightBrain Software (800-
  4-RBRAIN), and The Font Company (800-442-FONT).

  For those interested in doing Russian documents, there is a
  CyrillicGothic.pkg file at archive sites. (right now in the
  submissions directory, it may be moved elsewhere.)

H3. How can I save my WriteNow [or other printable] documents to a
    postscript file?

  It's easy.  Just select PRINT from the main WriteNow menu, then select
  SAVE from the resulting print panel.

H4. How can I print only the even or odd pages of a document?  I wish
  print on both sides by feeding the paper through twice.

  We must recommend against re-using laser printed paper in your
  printers.  The reason is that the toner which is used is not very
  robust, in that when heated again (which happens when you print) it
  can come off the other side of the paper.  This causes a mess to
  accumulate in your printer, and probably some pretty rude things to
  happen.

  Now to address the even/odd stuff, essentially you need to write
  a postscript filter which extracts every other page.  So you
  would save your WriteNow document to postscript file, run the filters, and
  then print the two documents with lpr.  There is no packaged filter
  on the NeXT to do this.  Corey Satten <corey@cac.washington.edu> wrote 
  a toolkit to deal with this issue.  It is on ftphost.cac.washington.edu
  ps-* in the local/bin-next{1.0,2.0} directories.

H5. What can I do to prevent my NeXT printer from running all the time?

  The NeXT 400dpi printer powers up every time you boot up when the
  print daemon is started (/usr/lib/NextPrinter/npd in /etc/rc).  Apart
  from not running the daemon at boot time (commenting it out and having
  to run it by hand later), you can add the following lines to /etc/rc.local

if [ -f /usr/etc/nppower ]; then
	sleep 3
	/usr/etc/nppower off
	(echo 'powering off NeXTprinter')		>/dev/console
fi


  to immediate turn off the printer.  Once you queue a print job the printer
  daemon will automatically power up the NeXT printer for you.  The printer
  daemon will not automatically power off the machine after a print job,
  you will need to turn off the printer by typing /usr/etc/nppower off.

H6. How do I get banner pages on my printer output?

  There is a sample banner prologue file in /usr/lib/NextPrinter that is 
  sent to the printer before or after the print job depending on what
  printer attributes are set in NetInfo.  Sounds gross, but it isn't.
  Start up NetInfo on your printer machine.  Go to the printer
  directory, and open up your local printer by double clicking it.
  Select the append property from Directory menu.  Replace the
  name with BannerAfter (or BannerBefore if you want the banner page
  printed first).  The select the New Value option, and put in
  the name of the banner prologue file.  If you do not wish to do
  fancy customization of the file, simply put the path to the NeXT
  sample banner file: /usr/lib/NextPrinter/banner.pro
  Save out the netinfo modifications.

H7. How do I get [la]TeX files to print correctly on non-NeXT printers?

  If you are printing to a non-NeXT printer from NeXT TeX using dvips,
  make sure you specify the correct resolution (300 dpi, usually),
  either on the command line with -D300, or in the
  /usr/lib/tex/config.ps file with a line that looks like

  D 300

  If you are printing from within TeXView, you will have to choose
  CustomResolution and enter the correct number (300, usually) because
  of the way DefaultResolution defaults to 0.

Disks
-----
D1. What disk drives will work with the NeXT?

  First get a copy of NextAnswers and review hardware.586

  Most scsi disk drives will work with 2.0 without modifying disktab.
  You should read the Network and Systems Administrator manual provided
  with all new systems and available on-line on 2.0 extended.  There have
  been problems with the installation of boot blocks and badly formed 
  fstab generated by BuildDisk.  A disk connected to the NeXT will need
  to have a NeXT specific label written to it before it can be properly
  recognized by the system.  If you get an error message "Invalid Label..."
  this indicates that the drive was successfully seen by the NeXT machine
  but it does not have the proper label, to install a label use the
  /usr/etc/disk program on the raw disk device that the system assigned
  to the device and use the label command to write the label onto the disk.
  [how the NeXT assigns disk devices is explained in the N&SA manual]

  NeXT provides a low level disk formatter with 2.0, most drives are
  already formatted at the factory.  The sdform program does not offer
  much flexibility.

  [If someone is keeping a list of drives that work with the NeXT we
  would like to know about it (send mail to next-faq@media.mit.edu).
  This type of list would be useful to keep on sonata.cc.purdue.edu in
  the pub/next/FAQ directory.  Also there was talk about Mac drives
  *not* working on the NeXT due to their implementation of the SCSI
  standard.]

D2. How do I customize BuildDisk to create a bootable disk of my own 
  configuration?

  The BuildDisk application is extremely limited in terms of the 
  types of disks configuration it knows how to build.  Essentially it
  "knows" about swapdisks, optical disks, 330 and 660 MB SCSI disks.
  If you wish to do custom configurations you should look at existing
  BLD script files in /etc/BLD.*  There is a script which you can
  use to specify which BLD script you are using, which disktab entry,
  and other useful parameters in /usr/etc/builddisk

  Some things to note:
  - the fstab installed on the target disk is specified in the newclient
    command in the BLD script.  standard fstabs are extracted from
    /usr/template/client/fstab.*
  - the BLD scripts do not put down a new boot block on the scsi disk,
    you may want to install one by hand using the /usr/etc/disk program.
  - some disks boot fine but NeXTstep comes up with a blank window and
    no login window.  This is due sometimes to forgetting to install
    an accessible /NextLibrary/{Fonts,Sounds}  In general you need
    quite a lot of things to make a bootable disk.

  Mike Carlton adds - you can build a minimally usable bootable floppy
  (for crash recovery purposes).  There is a modified version of
  builddisk (to make it support building floppies, a minimal change) and
  a BLD script to build the boot floppy available at cs.orst.edu in
  next/sources/Bootfloppy.tar.Z.  (I put this together in response to
  several requests.)

D3. How much disk space is lost due to formatting and file system overhead?

Rex Pruess (rpruess@umaxc.weeg.uiowa.edu) offers the following explanation:
  Let's assume you bought a disk drive advertised with 400 MB unformatted
  capacity.  Vendors are not consistent with the MB definition.  You may
  have much less space less than you think you have.  Which of the following
  did you buy?

         400 * 1000 * 1000 = 400,000,000 bytes
         400 * 1024 * 1000 = 409,600,000 bytes
         400 * 1024 * 1024 = 419,430,400 bytes


  The disk must be formatted.  This is often done by the vendor, but
  occasionally by the user.  Formatting maps the disk into sectors.  Space
  is reserved for the disk geometry and bad sectors.  Formatting can take
  10-20% of the capacity depending on the sector size.  Common sector sizes
  are 512 and 1024.  Generally, bigger sectors mean less waste.

  Once formatted, the UNIX file system must be created.  On the NeXT, this
  is one of the steps performed by the BuildDisk application.  It invokes
  the mkfs command to make a file system.  This reserves space for the UNIX
  file system (e.g., superblocks, inode tables).  This overhead can take
  another 2-3% of the available disk space.

  If you issue the df command, you may be surprised to see another 10% the
  available disk space has disappeared.  The df command shows the total,
  used, and available disk space.  The df units are in kbytes (1024 bytes).
  The sum of the used and available numbers will generally be about 10%
  less than the total kbytes.  This space is reserved to allow the UNIX
  file system to be efficient in its storage allocation.  If your disk
  fills up, only the superuser can store files in the remaining 10%.

  To complete the picture, here's a snapshot of what may occur:

	 Capacity     Lost/Used/Reserved    Reason
	(in bytes)       (in bytes)
        419,430,000      19,430,000         Marketing hype (~5%)
	400,000,000      60,000,000         Formatting (~15%)
	340,000,000       6,800,000         UNIX file system (~2%)
	333,200,000      33,320,000         Efficiency & superuser (~10%)
	299,880,000          -                 -

  For more information, refer to the df and mkfs man pages.

D4. Can I run my SCSI-2 disks in synchronous mode?

  Quick answer is: No!  Reason is that the NeXT does not support synchronous
  transfers from the SCSI bus.  It does support SCSI-2 disks running in
  asynchronous mode, which all SCSI-2 disks must do.

D5. How do I configure my HP 660 to boot properly?

  It has been reported that HP drives fail to autoboot on power on or while
  other devices are on the scsi bus.  The problem seems to be with drives
  configured to spin-up automatically on power on do not get recognized at
  boot time.  To remedy this problem reliably with HP 660Mb [model number  
anyone?
  is this the HP97544?] and 1Gbyte (HP 97549) drives remove the auto spinup
  jumper on the back of the drive.  Looking at the disk from the back
  with the power connector on the lower left, it is the sixth jumper.

D6. What is the procedure for installing a Fujitsu M2263SA/SB SCSI Disk
  as the NeXT Boot Disk?

  See Izumi Ohzawa's note in /pub/next/FAQ/fujitsu.recipe available
  via anonymous ftp from sonata.cc.purdue.edu.

Misc
----
M1. Is there any way to change the text in the title bar of a terminal window?

  No.  Not even in Stuart 2.0...  However Scott Hess may be working on this
  in the future.

M2. Can I put both an 030 and an 040 system board in a single NeXT cube?

  [Note that we have no first hand experience with this problem, we
  have compiled what we consider to be an accurate report.  We acknowledge
  conflicting reports where appropriate.]

  In general Mach may be configured as a multiprocessor operating system;
  however, the NeXT kernel is only configured to deal with one processor.
  This configuration can not be changed without access to the kernel
  sources.  [hopefully NeXT will offer a multiprocessor version of the NeXT
  operating system at some future date]

  Some have asked about the possibility of installing the 030 board
  for use as a printserver or other CPU-intensive task server.  In this
  hypothetical setup, each CPU would run its own copy of the operating
  system (essentially two different computers sharing the same cube).
  
  This might be workable except for the fact that even if the NBIC
  (NextBus Interface Chip) chip is removed, the CPU board probes the 
  bus for slot ID [**a conflicting report comes from Richard Dib who
  heard that someone ran a cube with the CPU in another slot].

  You could do hardware modification to the 030 board which would
  isolate it enough to use only the cube as a power supply, however
  you can not run two monochrome monitor heads off the cube power supply.
  In this case you would probably want to first boot the 030 with a
  display head, set the boot prom to boot off ttya, and attach an
  ascii terminal to that serial port.

M3. Where is libc.a under 2.0?

  From the developer's release notes concerning the 2.0 NeXT Operating System
  Software available on-line with 2.0 extended:
  /NextLibrary/Documentation/NextDev/ReleaseNotes/OperatingSystem.rtf 

  - libc.a is not shipped with release 2.0.  All routines contained in  
    libc.a are also contained in the shared library libsys.a which
    should be used instead of libc.a.  libc.a is not shipped because 
    as a normal archive it is impossible for improvements and system
    interface changes made to library routines to be applicable to 
    existing applications without those applications being relinked.  
    Applications referencing shared libraries, because they are bound
    at runtime, always access the most recent release.  Release 1.0 
    applications linked against libc.a may not be compatible with 
    release 2.0 until they are relinked with libsys.a.

M4. How do I get pictures of people from remote sites to appear in Mail.app?

  In /LocalLibrary/Images/People put a tiff (64x64) in the form of
  person@remote.site.domain (all lowercase).  
  In /LocalLibrary/Images/People/passwd add an entry for the person:
  person@remote.site.domain:*:-2:-2::/nodir:/noshell
  (person and sitename need to be all lowercase as well)... 
  In the future anytime  you get mail from the person their
  picture should appear.

M5. How do I access the "help" facilities in Mathematica?  I am running a 1.0
  binary on a 2.0/1 system!
 
  While the help dialog doesn't show anything, you can get
  the help info by clicking on the place where the slider
  bar should be.  This tidbit doesn't seem to work on all
  systems though, and will be irrelevant once the new version
  of Mathematica comes out (WHY IS IT SO LATE!!!).

M6. How do I find out what are the defaults for a NeXT application?

***MODIFIED***  warning was incorrect, you can not damage app with gdb

  start the application under gdb, and then try the following sequence of
  commands:
     break  *0x500976a
     commands 1
     silent
     printf "%s: ", *$a2
     output {char *}(4+$a2)
     echo \n
     cont
     end
     run

M7. How do I run NextApps remotely?

  On the local machine make sure you have public window server access,
  this is set from the Preferences application.  On the foreign NeXT
  machine run the application with the -NXHost <local_machine_name>.
  Both machines should be running the same version of NeXTstep.


Editors:
Pascal Chesnais lacsap@media.mit.edu
John Garnett garnett@cs.utexas.edu
Erik Kay erikkay@athena.mit.edu

Copyright 1991 Massachusetts Institute of Technology

This compilation is meant primarily as a service to the comp.sys.next
community.  Newsletter editors wishing to excerpt from this work
for publication should consider using local electronic bulletin boards
to disseminate this information rather than preparing hardcopies.
This allows for readers to access the most recent information, and
perhaps save a couple of trees.

We do not collect any royalties, charge any fees, or compensate
anyone in connection with this endeavor.


--
Pascal Chesnais, Research Specialist, Electronic Publishing Group
Media Laboratory, E15-351, 20 Ames Street, Cambridge, Ma, 02139 (617) 253-0311
email: lacsap@plethora.media.mit.edu (NeXT)