home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / faqs / comp / answers / 386bsd-faq / part7 < prev    next >
Internet Message Format  |  1997-10-14  |  27KB

  1. Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!news-out.internetmci.com!newsfeed.internetmci.com!206.229.87.25!news-peer.sprintlink.net!news-sea-19.sprintlink.net!news-in-west.sprintlink.net!news.sprintlink.net!Sprint!204.248.21.3!neonramp.com!cynjut.neonramp.com!cynjut.neonramp.com!not-for-mail
  2. From: burgess@cynjut.neonramp.com (Dave Burgess)
  3. Newsgroups: comp.unix.bsd.netbsd.announce,comp.unix.bsd.freebsd.announce,comp.answers,news.answers,comp.unix.openbsd.announce
  4. Subject: [comp.unix.bsd] NetBSD, FreeBSD, and OpenBSD FAQ (Part 7 of 10)
  5. Supersedes: <386bsd-faq-7-875343603@cynjut.neonramp.com>
  6. Followup-To: comp.unix.bsd.netbsd.misc
  7. Date: 13 Oct 1997 02:00:22 -0500
  8. Organization: Dave's House in Omaha
  9. Lines: 575
  10. Approved: news-answers-request@MIT.Edu,cgd@sun-lamp.cs.berkeley.edu
  11. Expires: 10/31/97 01:00:03 CDT
  12. Message-ID: <386bsd-faq-7-876726003@cynjut.neonramp.com>
  13. References: <386bsd-faq-1-876726003@cynjut.neonramp.com>
  14. Reply-To: burgess@cynjut.neonramp.com (BSD FAQ Maintainer)
  15. NNTP-Posting-Host: cynjut.neonramp.com
  16. Keywords: FAQ 386bsd NetBSD FreeBSD !Linux
  17. X-Posting-Frequency: Posted on/about the 13th and the 27th of every month.
  18. Xref: senator-bedfellow.mit.edu comp.unix.bsd.netbsd.announce:560 comp.unix.bsd.freebsd.announce:731 comp.answers:28474 news.answers:114366
  19.  
  20. Posted-By: auto-faq 3.1.1.2
  21. Archive-name: 386bsd-faq/part7
  22.  
  23. Section 6.    (Interaction with MS-DOS)
  24.  
  25. 6.0    Working with DOS and BNR/2 related software.
  26.  
  27.     This section is designed to cover some of the more common 
  28.     problems that DOS will have when interacting with BNR/2.
  29.     There are other sections of the FAQ that deal with 
  30.     indirectly with this .  Try looking in sections 0, 1, and 2
  31.     to see if something in there (particularly when talking 
  32.     about DOS and *BSD coexisting on a single drive).
  33.  
  34.     
  35. 6.1    Formatting a floppy
  36.  
  37.     Formatting a floppy under NetBSD is possible through the the patch 
  38.     file stored at ftp://cynjut.neonramp.com/pub/fdformat.patch 
  39.  
  40.     This patch appears to be for NetBSD 1.2 (release).  Obviously,
  41.     use it at your own risk.
  42.  
  43.     FreeBSD (and I think OpenBSD) both have floppy formatting built
  44.     into their systems in fairly recent versions.
  45.     
  46.  
  47. 6.2    Sharing the Disk with MS-DOS
  48.  
  49.     There are a myriad of questions about how to share a disk between
  50.     *BSD and MS-DOS.  They all boils down to one of the <n> following
  51.     questions:
  52.  
  53.     1)  How can I partition my drive for both MS-DOS and *BSD?
  54.     2)  I can install using the whole disk, but I can't install when 
  55.     I try to share the drive between *BSD and MS-DOS.  Why?
  56.     3)  I can use either MS-DOS or *BSD on my hard drive,
  57.     but shutdown -todos doesn't seem to work.
  58.  
  59.  
  60. 6.2.1    How can I partition my drive to support both MS-DOS and *bsd?
  61.  
  62.     NOTE:  Before attempting to install *bsd on a computer with an
  63.     active DOS partition, ALWAYS back up your hard drive.  No one on 
  64.     the net, no matter how talented, can help you recover a hosed 
  65.     MS-DOS file system.  If you lose all of your data, it is YOUR
  66.     fault.
  67.  
  68.     During the install phase, you need to have un-allocated space left
  69.     on your disk drive.  This allows the install program to correctly
  70.     install the *bsd partition in the partition table and DOS to
  71.     peacefully co-exist with *bsd.
  72.  
  73.     If you do not have any space available on your hard drive, you will
  74.     not be able to install both.  Re-fdisk your hard drive and make
  75.     sure you have left un-allocated space in the partition table.  
  76.     This WILL wipe out your DOS partition - Permanently.
  77.  
  78.     Even though the partition table procedure above may have worked, 
  79.     there are still no guarantees that your system will boot after
  80.     the install.  This problem most often manifests itself as one of
  81.     the endless reboot problems.  You would normally be able to boot
  82.     DOS from the hard disk, but not *bsd (once that partition is
  83.     marked as active).
  84.  
  85.     Once the partition table has been correctly defined with both
  86.     DOS and *bsd, there can still be problem.  One of the most
  87.     common is that the disk drive works in some sort of translation
  88.     mode.  This is particularly common with drives that physically have
  89.     more than 1024 cylinders.  DOS cannot access a drive with more than
  90.     1024 cylinders.  Translation mode will have to be turned off, usually
  91.     by redefining your hard drive in SETUP as one of the user definable
  92.     types.  This change will normally trash your hard drive, or at least
  93.     render your DOS partition unreadable.
  94.  
  95.     The solution to this problem is to install *bsd at the end of the
  96.     hard drive.  While DOS cannot use cylinders above 1024, *bsd has
  97.     no such limitations, once it has booted.  During the boot-up phase,
  98.     some of the newer boot blocks will refer to the BIOS for some
  99.     services.  Specifically, the disk is checked for a bad sector map
  100.     on the last track.  Since the BIOS cannot deal with cylinders
  101.     higher than 1024, your bad sector map will be incorrectly
  102.     identified as 1023 if the number of cylinders is larger than that.
  103.     This problem is being worked on, and I hope to change this section
  104.     with better news later.
  105.  
  106.     NOTE:  The only people that this problem will effect are those 
  107.     MFM and ESDI users that have drives with more than 1023 tracks.  
  108.     While drives of this type are not the overwhelming majority, 
  109.     neither are they an anomaly.  People are working on it.
  110.  
  111.     As an example, if your hard disk physically has 8 heads, 16 sectors 
  112.     per track, and 2000 cylinders (128M); you MUST use some sort of disk
  113.     translation in order to use the entire drive.  An obvious geometry
  114.     for this drive (for DOS) would be 16 heads, 16 sectors, and 1000
  115.     cylinders.  Unfortunately, *bsd operates using the disk drives
  116.     native geometry as reported during the probe phase of boot up.  This
  117.     will probably be 8/16/2000, and will NOT agree with your translated
  118.     disk geometry.  This causes an endless reboot cycle.  If you change
  119.     the geometry so that the drive agrees with the disklabel, your DOS
  120.     partition is toast.
  121.  
  122.     The best way to operate in this case would be to (for example)
  123.     split the disk in half.  That leaves 64M for DOS, using a 
  124.     geometry of 8 heads, 16 sectors per track, and the first 1000 
  125.     cylinders for DOS.  The second 1000 cylinders could then safely
  126.     be used for *bsd.  The DOS partition table may even be capable of
  127.     showing this partition as it actually exists.
  128.  
  129.         ACCESSING MS-DOS PARTITIONS FROM NetBSD-i386
  130.  
  131.     First off, it's important to understand BSD disklabels.  The 
  132.     disklabel is a description of the Unix partition layout and other 
  133.     disk parameters stored on-disk, usually somewhere in the first 
  134.     couple of sectors.  There is a maximum of 8 partitions, labelled 
  135.     "a" thru "h".  Typically partition "a" is assigned to the root 
  136.     partition, partition "b" is configured as a swap area, and 
  137.     partition "c" is defined as the whole disk.  You can change these, 
  138.     but it's a good idea to stick with this scheme, as many programs 
  139.     assume that's the way things are going to be.
  140.  
  141.     If you're whole disk is dedicated to Unix, then that's all you 
  142.     need to know.  But if you're sharing your disk with DOS, then 
  143.     there are a few magical things happening.
  144.  
  145.     DOS has it's own partitioning scheme.  The way NetBSD co-exists 
  146.     with this is to fit all of the Unix partitions into one DOS 
  147.     partition.  So partitions a-h all fit inside one DOS partition, 
  148.     which has a partition type of 165 (each MS-DOS partition has a 
  149.     "partition type" associated with it.  The BSD partition type is 
  150.     165).  In this setup, partition "c" refers to the entire BSD 
  151.     partition.  But in this scheme, partition "d" refers to the ENTIRE 
  152.     disk, MS-DOS partitions and all.
  153.  
  154.     So, if you want to access your MS-DOS partition from NetBSD, first 
  155.     you'll have to create a partition that points to the MS-DOS 
  156.     partition.  You'll want to run the command:
  157.  
  158.     disklabel -e -r /dev/r??0d    (fill in with your disk type).
  159.  
  160.     You'll get popped into an editor with all the disklabel stuff in 
  161.     it.  Go down to the bottom.  You should see something like:
  162.  
  163.     6 partitions:
  164.     #        size   offset    fstype   [fsize bsize   cpg]
  165.       a:    30720   409600    4.2BSD     1024  8192    16   # (Cyl...
  166.       b:   129024   440320      swap                        # (Cyl...
  167.       c:  1617920   409600    unused        0     0         # (Cyl...
  168.       d:  2029568        0    unused        0     0         # (Cyl...
  169.       e:    61440   569344    4.2BSD     1024  8192    16   # (Cyl...
  170.       f:  1396736   630784    4.2BSD     1024  8192    16   # (Cyl...
  171.     
  172.     (or whatever it appropriate for your disk).  Note that partition 
  173.     "a" starts on cylinder 200.  That's where my BSD partition starts 
  174.     on my disk.  Also note that partition "c" starts at 200 as well 
  175.     and goes to the end of the disk.  You'll also note that partition 
  176.     "d" goes from sector 0 all the way to the end of the disk.
  177.     
  178.     Add a new line that looks something like:
  179.     
  180.       g:   409568       32    MS-DOS                  # (Cyl.    0*- 199*)
  181.     
  182.     (The comment on the end isn't necessary.  Only the partition 
  183.     letter, size, offset, and partition type are needed.  You can 
  184.     put unused in instead of MS-DOS if you want).
  185.     
  186.     *NOTE* Be sure to change the line that says "6 partitions" to the 
  187.     new number of partitions that you have!!!  Otherwise you'll get an 
  188.     obscure error.  In my case I'd change that line to be "7 partitions".  
  189.     If you aren't sure what your MS-DOS partition size and offsets are, 
  190.     you can use the NetBSD fdisk to find them out.  Don't forget that 
  191.     there's a maximum of 8 partitions.  
  192.  
  193.     Once you do that and you have MSDOSFS configured into your kernel, 
  194.     you can just do something like "mount -t msdos /dev/sd0g /msdos".  
  195.     Or you can put a line like this in your fstab:
  196.     
  197.     /dev/sd0g /msdos msdos rw 0 0
  198.     
  199.     If you want to access a DOS-only HD from NetBSD, here are some 
  200.     instructions posted by Charles Hannum a while back.  I haven't 
  201.     tried them myself, but they seem like they would work.
  202.     
  203.     Assuming you don't have something (like OS-BS) which uses the extra
  204.     sectors in the boot track, you can do the following:
  205.  
  206.     1) Use the NetBSD `fdisk' or DOS `pfdisk' to create a NetBSD 
  207.     partition in the MBR which spans the entire disk.
  208.  
  209.     2) Save a copy of the MBR:
  210.  
  211.         dd if=/dev/rsd0d of=my-mbr bs=1b count=1
  212.  
  213.     3) Use `disklabel' to create a NetBSD label with the DOS partition 
  214.     and whatnot.  Answer `y' when it asks you if you want to `overwrite 
  215.     [a] disk with [a] DOS partition table'.
  216.  
  217.     4) Put back the saved copy of the MBR:
  218.  
  219.         dd if=my-mbr of=/dev/rsd0d bs=1b count=1
  220.  
  221.     This works for me.  Your mileage may vary.
  222.  
  223.     Luke Mewburn <zak@rmit.edu.au> has provided the following tutorial on 
  224.     using the pfdisk program and making your *bsd/NetBSD partitions
  225.     peacefully coexist with DOS.  While this is kind of a 'cookbook' 
  226.     approach, please keep in mind that this is probably easily 
  227.     transferable to all BNR derived Unices.
  228.  
  229.  
  230. 6.2.2    I can install using the whole disk, but I can't install when 
  231.     I try to share the drive between *BSD and MS-DOS.  Why?
  232.  
  233.     This is an extension of the question above.  The most common 
  234.     reason for this is, once again, disk translation problems.  If 
  235.     the disklabel does not agree with the disk geometry, the install 
  236.     will fail.  Other incarnations of this problem are that you can 
  237.     install DOS, then *BSD, and DOS will be hosed, or vice versa.
  238.  
  239.     There are more than a couple of people who will blithely suggest 
  240.     that this is a good thing, and you should install *BSD exclusively,
  241.     job not withstanding.
  242.  
  243.  
  244. 6.2.4    Is there any hope of ever running MS-DOS applications under any of
  245.     the free BSD systems?
  246.  
  247.     There is currently a project in development to port the Windows 
  248.     program environment to Linux and the *BSD systems.  Here is an
  249.     excerpt from the original message announcing the project:
  250.  
  251.     As many of you already know, we are in the process of creating a
  252.     Windows emulator.  This emulator is similar to Sun's Wabi product, 
  253.     but is being developed completely independent of them.  Many of 
  254.     you are anxious to hear the latest status of the project.  I have 
  255.     created a mailing list for those of you.  To join the list, simply 
  256.     send mail to:
  257.  
  258.     wine-project-info@amscons.com
  259.  
  260.     If your mailing address is not easy to deduce from the mail 
  261.     headers, then place the following line in the body of the message 
  262.     that you send.
  263.  
  264.     Reply-To: youraddress@yourmachine
  265.  
  266.     where youraddress@yourmachine should be replaced by your actual 
  267.     mailing address.
  268.  
  269.  
  270. 6.2.5    How do I get Linux executables to run under NetBSD?
  271.  
  272.     First, you need to make certain your kernel has LINUX_COMPAT as
  273.     one of the options for your kernel.  Second, you will need the
  274.     libraries for Linux.  You can find the Linux supporting binaries 
  275.     for NetBSD i386 at ftp://ftp.enigma.net/pub/netbsd_i386.  There
  276.     are instructions there to tell you how to get the libraries
  277.     working correctly.  
  278.  
  279.     With VERY new versions of NetBSD (NetBSD 1.3A and above) the
  280.     kernel option for Linux compatibility have changed.  All ELF and
  281.     COFF executables, as well as native Linux executables will be
  282.     included as part of the same option.
  283.  
  284.  
  285. 6.3    Accessing the MS-DOS filesystem 
  286.  
  287.     One of the most common MS-DOS related questions (with the possible
  288.     exception of 6.2 above) is how to access the DOS disk partitions
  289.     from *BSD.  
  290.  
  291.     --------------------------------------------------------------------
  292.         How to mount your DOS partition from FreeBSD
  293.  
  294.     1. First, be root.  The following won't work as an ordinary user.
  295.  
  296.     2. Second, use 'fdisk' to see where your DOS partition starts.  
  297.     It will be labeled as type DOS.  On my system, 'fdisk /dev/sd0d' 
  298.     produces the following:
  299.  
  300.         ... (extraneous output, not of interest) ...
  301.     The data for partition 0 is:
  302.     sysid 6,(Primary 'big' DOS (> 32MB))
  303.         start 32, size 306400 (149 Meg), flag 0
  304.             beg: cyl 0/ sector 1/ head 1;
  305.             end: cyl 149/ sector 32/ head 39
  306.  
  307.         This shows me that my DOS partition starts at sector 32, and 
  308.     is 306400 (512 byte) sectors long.
  309.  
  310.     NOTE:  If you're trying to mount a DOS `EXTENDED' partition, then 
  311.     you need to add the number of sectors per track to this start 
  312.     address you got from fdisk in subsequent calculations, I.E. in 
  313.     the above example (assuming it was an EXTENDED partition rather 
  314.     than the Primary), you'd use `start 64, size 306400'.
  315.  
  316.     [Ed.Note.  This example assumes a SCSI disk.  For disks with a 
  317.     number of sectors per track which is different than 32, you will
  318.     probably see the 32s above replaced with your number of sectors
  319.     per track. IDE, MFM, and ESDI drives are all examples where the
  320.     number of sectors per track is likely to NOT be 32.]
  321.  
  322.     3. Next, using this information, you craft a new disk entry in your
  323.        /etc/disktab file that assigns one of your unused "UNIX" 
  324.        partitions to this DOS region.  Again, using my system as a 
  325.        default, you see I've created:
  326.  
  327.     disk0|DEC 5501:\
  328.         :ty=winchester:dt=SCSI:se#512:nt#8:ns#256:nc#1001:rm#3600:\
  329.         :pa#956416:oa#307200:ba#8192:fa#1024:ta=4.2BSD:\
  330.         :pb#131072:ob#1263616:tb=swap:\
  331.         :pc#1087488:oc#307200:tc=UNUSED:\
  332.         :pe#306400:oe#32:te=MSDOS:
  333.  
  334.        As you can see, partition 'e' now points to the DOS partition as
  335.        pointed out by fdisk.
  336.  
  337.        [Ed.Note again.  Remember what I said about the 32 above...]
  338.        
  339.        Also, there may be a problem with some versions of disklabel
  340.        not recognizing the MSDOS (or MS-DOS, depending) in the te:
  341.        entry above.  You may need to run a "disklabel -e" to get the
  342.        partition type to 'stick'. 
  343.  
  344.     4. Now we have to actually stick the label on the disk, which is done
  345.        with disklabel.  Using my example, this would be:
  346.  
  347.         disklabel -r -w sd0 disk0 SCSI /usr/mdec/sdboot /usr/mdec/bootsd
  348.  
  349.     5. Reboot your system to see the new disk label.
  350.  
  351.     6. Mount the DOS partition.  I do:
  352.  
  353.         mount -t pcfs /dev/sd0e /dos_c
  354.  
  355.        Where /dos_c is just a convenient directory to mount it.
  356.  
  357.     7. You're set!
  358.  
  359.     With the exception that the '-t' option is msdos in NetBSD, these 
  360.     instructions seem to work with the same facility for NetBSD.  I
  361.     also received a note a couple of weeks ago (that I promptly deleted
  362.     because I new that I would remember what it said) that DOS extended
  363.     partitions are readable if you skip the first 'n' blocks in your 
  364.     computations (where 'n' is your number of sectors per track).  This 
  365.     way, you skip over the 'new' part of the DOS file system.  That means 
  366.     that instead of the oe:32 above, you would need an oe:48 instead.  
  367.  
  368.     Also remember that the compressed file system in DOS 6 will probably
  369.     be completely Greek to your NetBSD/FreeBSD system.  I seriously 
  370.     doubt that you will be able to read the compressed DOS file system
  371.     anytime in the foreseeable future.
  372.      
  373.  
  374. 6.4    NFS/PC-NFS support
  375.  
  376.     The problems normally associated with PC-NFS are also associated 
  377.     with NFS in general.  
  378.  
  379.  
  380. 6.4.1    Can I use 8K packets for NFS?  When I try, I have all kinds of 
  381.     problems.  Specifically, I get 'ring buffer overflows' or the
  382.     performance is real bad.
  383.  
  384.     In addition to the NE2000 card, this problem can also manifest 
  385.     itself on other ISA networks cards that have a limited amount of
  386.     memory.  Ken Raeburn (raeburn@cambridge.cygnus.com) has identified 
  387.     a common problem with the NE2000 card and provided us with a work
  388.     around:
  389.  
  390.     --------------------------------------------------------------------
  391.     I reported previously that I was seeing problems reading files over
  392.     NFS using the NE2000 driver; timeouts would eventually be reported, no
  393.     data would be read.  Listing files and directories (small ones
  394.     anyway) were not a problem.
  395.  
  396.     In the meantime, mounting NFS file systems with "rsize=1024" does get
  397.     rid of this problem.
  398.  
  399.     Ken
  400.     --------------------------------------------------------------------
  401.  
  402.     As a matter of policy, specifying "rsize=1024,wsize=1024" works 
  403.     very well also, and makes the transfers seem to run faster.  This 
  404.     is probably because there are fewer collisions.  The disadvantage 
  405.     of this method comes from the kernel 'sync'ing after all NFS 
  406.     writes.  This can slow NFS accesses considerably.  As with most 
  407.     generalizations, this one too can do nearly as much harm as good.  
  408.     If you have trouble, reduce your default packet size until the 
  409.     problem goes away.
  410.  
  411.     With the newer drivers (especially the ed driver) most of these 
  412.     problems are solved automagically.  If you are still using the
  413.     original 386bsd 0.1 release, you REALLY need to upgrade.
  414.     
  415.     See section 6.4.5 on 'ring buffer overflows' and the 3C503 for
  416.     more discussion on this problem.
  417.  
  418.  
  419. 6.4.2    How do I get around the NFS "Permission denied" error?
  420.  
  421.     The problem is not the configuration of the server (unless there is
  422.     no real requirement to run it in "secure" mode, and you happen to
  423.     be running it that way anyway).  The problem is the fact that,
  424.     even though mount request are sent on a privileged port, NFS
  425.     connections are not.
  426.     
  427.  
  428. 6.4.3    What does the message "BAD MNT RPC: RPC Authentication error; 
  429.     why = Invalid client credential" mean when I try to mount something
  430.     from another machine?
  431.  
  432.     Hellmuth Michaelis (hm@hcshh.hcs.de) offers the solution to this
  433.     relatively common problem:
  434.  
  435.     You have to make sure that the user "root" is not present in more
  436.     than 8 entries in the "/etc/group" - file on the *BSD machine.
  437.     Simply remove some entries and the NFS mounts will succeed.  
  438.  
  439.  
  440. 6.4.4    What does the message "Bad MNT RPC: RPC: Authentication error; 
  441.     why = Client credential too weak" mean when I try to mount something
  442.     from another machine?
  443.  
  444.     This problem is a standard NFS problem; it simply means that your 
  445.     user number is not one of the ones that can mount this NFS.  
  446.     Normally, you will get this message when you are trying to mount 
  447.     a filesystem from a machine that allows 'root' to mount an NFS,
  448.     but limits other users.
  449.  
  450.     Another documented problem with "client credentials being too
  451.     weak" is the dichotomy of SunOS and 4.4 based systems.  SunOS,
  452.     and other commercial systems, do not allow NFS commands to come
  453.     in on anything but a reserved port.  There are several places
  454.     that need to be addressed if weak credentials are a problem.
  455.     The first is the mount command.  The mount itself may work, but
  456.     all references to files in the NFS will fail.  This is usually
  457.     the most common symptom of this problem.  The solution for this
  458.     is to either include the '-o resvport' keyword pair on the mount
  459.     command, or the -P option.  In addition to the resvport command
  460.     on the mount, it may become important to include an NFS volume
  461.     in your fstab.  If this is the case, you will need to ensure
  462.     that the resvport keyword is added on the mount line in the
  463.     fstab.  Finally, if you are using the automounter, you will need
  464.     to make absolutely certain that you have included the resvport
  465.     option in your automount maps as the default.
  466.  
  467.  
  468. 6.4.5    I get a lot of 'ring buffer overflow' messages using NFS and the
  469.     ed0 driver.  Is there a problem?
  470.  
  471.     David Greenman (davidg@implode.rain.com), the original author of 
  472.     the ed0 driver, provides us with some insight into the inner 
  473.     workings of the ed0 driver.
  474.  
  475.        It always surprises me that people don't just ask the original 
  476.     author these questions. :-) Anyway, the reason these are happening 
  477.     is that the access to the 8bit boards shared memory simply isn't 
  478.     fast enough to deal with full wire speeds...but the driver tries 
  479.     hard...so even though packets get dropped, your performance only 
  480.     drops to about what the ethernet board is capable of (should be 
  481.     in the 400-600k range with an 8bit card). NFS is especially bad 
  482.     because the UDP window is quite large (40k last time I looked), 
  483.     so the overflow condition can happen easily. I've explained this
  484.     for the most part in the release notes for the driver, but these 
  485.     didn't make it into either the FreeBSD or NetBSD releases (we 
  486.     couldn't find an appropriate place to put them).
  487.  
  488.     >From the release notes:
  489.  
  490.     receive
  491.     -------
  492.        The 8390 implements a shared memory ring-buffer to store 
  493.     incoming packets.  The 8bit boards (3c503, and 8003) usually have 
  494.     only 8k bytes of shared memory.  This is only enough room for about 
  495.     4 full size (1500 byte) packets. This can sometimes be a problem, 
  496.     especially on the original WD8003E and 3c503.  This is because these 
  497.     boards' shared memory access speed is also quite slow compared to 
  498.     newer boards - typically only about 1MB/second. The additional 
  499.     overhead of this slow memory access, and the fact that there is 
  500.     only room for 4 full-sized packets means that the ring-buffer 
  501.     will occasionally overflow.  When this happens, the board must 
  502.     be reset to avoid a lockup problem in early revision 8390's.  
  503.     Resetting the board will cause all of the data in the ring-buffer 
  504.     to be lost - requiring it to be re-transmitted/received...slowing 
  505.     things even further.  Because of these problems, maximum throughput 
  506.     on boards of this type is only about 400-600k per second. The 16bit 
  507.     boards (8013 series), however, have 16k of memory as well as much 
  508.     faster memory access speed. Typical memory access speed on these 
  509.     boards is about 4MB/second. These boards generally have no problems 
  510.     keeping up with full ethernet speed. The only problem I've seen 
  511.     with these boards is related to the (slow) performance of the
  512.     system's malloc code when additional mbufs must be added to the 
  513.     pool. This can sometimes increase the total time to remove a 
  514.     packet enough for a ring-buffer overflow to occur.  
  515.  
  516.     With NFS, the problem is really bad, though.  The 3c503 does not 
  517.     have enough memory on the card to support the default 8k packets 
  518.     that NFS and other protocols use as their default.  The solution 
  519.     for folks that are having a problem with ring buffer overflows 
  520.     in NFS is for them to either use the -r and -w flags to limit 
  521.     the packet size or use the define "NFS_BOOT_RWSIZE=8192".  If 
  522.     NFS doesn't work with this defined, the code will automatically 
  523.     step down to the next smaller increment.  If you KNOW that you 
  524.     will always be running a 3c503, you can set this define to 4096 
  525.     instead, just to make sure.  This should eliminate the bulk of 
  526.     the ring buffer overflows in NFS.
  527.  
  528.  
  529. 6.4.6    I am getting really poor performance out of my network,
  530.     especially when talking to older networks or when performing
  531.     short file transfers.  What's the problem?
  532.  
  533.     Try turning off rfc1323 support:
  534.  
  535.         sysctl w net.inet.tcp.rfc1323=0
  536.  
  537.     only in newer builds. In older versions you have to edit a kernel 
  538.     config file.  RFC1323 is not yet supported by all networks, and
  539.     can cause TCP performance degradation when tried.  This, for
  540.     example, is a known problem on older Sun and VAX hosted
  541.     networks, and on many networks which are using Linux as an
  542.     intermediate host.
  543.  
  544.  
  545. 6.4.7    Is there any PC software that will allow me to use my enormous PC
  546.     with all of the unsupported hardware as a PC-NFS server?
  547.  
  548.     Yes.  It is called SOSS, and is available from MANY FTP sources.
  549.     You will need the aforementioned Clarkson Packet Drivers for it
  550.     to work, but that shouldn't cause too many problems for most 
  551.     people.
  552.  
  553.  
  554. 6.5    How can I use mtools with the 'new' floppy naming convention?
  555.  
  556.     With the adoption of BSD 4.4, there is a new way of accessing
  557.     the floppy disk drive types.  The method uses the minor device
  558.     number to specify different media sizes and densities.  These
  559.     densities are established by a table from the file 
  560.     /usr/src/sys/arch/i386/isa/fd.c in NetBSD (your mileage may
  561.     vary).  The table in FreeBSD's fd.c is likely to be slightly
  562.     different.
  563.  
  564.     The order of the entries defines the order of the minor
  565.     numbers, so the table below has the following characteristics:
  566.  
  567.         /dev/fd0a    0    /* default disk type */
  568.          /dev/fd0b    1    /* 1.44MB diskette */ 
  569.         /dev/fd0c    2    /* 1.2 MB AT-diskettes */ 
  570.         /dev/fd0d    3    /* 360KB in 1.2MB drive */ 
  571.         /dev/fd0e    4    /* 360KB PC diskettes */ 
  572.         /dev/fd0f    5    /* 3.5" 720KB diskette */ 
  573.         /dev/fd0g    6    /* 720KB in 1.2MB drive */ 
  574.         /dev/fd0h    7    /* 360KB in 720KB drive */
  575.  
  576.     struct fd_type fd_types[] = {
  577.             { 18,2,0xff,0xcf,0x1b,0x6c,80,2880,1,FDC_500KBPS,2,"1.44MB"  },
  578.             { 15,2,0xff,0xdf,0x1b,0x54,80,2400,1,FDC_500KBPS,2,"1.2MB"   },
  579.             {  9,2,0xff,0xdf,0x23,0x50,40, 720,2,FDC_300KBPS,2,"360KB/AT"},
  580.             {  9,2,0xff,0xdf,0x2a,0x50,40, 720,1,FDC_250KBPS,2,"360KB/PC"},
  581.             {  9,2,0xff,0xdf,0x2a,0x50,80,1440,1,FDC_250KBPS,2,"720KB"   },
  582.             {  9,2,0xff,0xdf,0x23,0x50,80,1440,1,FDC_300KBPS,2,"720KB/x" },
  583.             {  9,2,0xff,0xdf,0x2a,0x50,40, 720,2,FDC_250KBPS,2,"360KB/x" },
  584.     };
  585.  
  586.     In order to add a new device (such as a 2.44 Meg floppy) new
  587.     tables entries are theoretically all that would be needed.  As
  588.     new entries are created, the minor device numbers would
  589.     increase and the associated device names would be added.
  590. -- 
  591. Dave Burgess                   Network Engineer - Nebraska On-Ramp, Inc.
  592. *bsd FAQ Maintainer / SysAdmin for the NetBSD system in my spare bedroom
  593. "Just because something is stupid doesn't mean there isn't someone that 
  594. doesn't want to do it...."
  595.