Date: Mon, 17 Jul 1995 02:38:35 -0700 (PDT) From: "Rodney W. Grimes" <rgrimes@gndrsh.aac.dev.com> To: filo@yahoo.com (David Filo) Cc: hardware@freebsd.org Subject: Re: Ideal hardware config for FreeBSD? Message-ID: <199507170938.CAA01233@gndrsh.aac.dev.com> In-Reply-To: <199507170910.CAA16517@lobo.yahoo.com> from "David Filo" at Jul 17, 95 02:10:50 am
next in thread | previous in thread | raw e-mail | index | archive | help
>
> Hi,
>
> I would appreciate suggestions on what people feel is the best
> hardware setup to run FreeBSD for highest performance. Mainly I'm
> interested in which SCSI and Ethernet cards to use. Currently we're
> using Buslogic 946C and 3Com 3c509 cards along with an ASUS P54TP4
> motherboard and a Pentium 100.
For something that works very well, and reasonably fast use an ASUS SC-200
NCR 53C810 based controller (in stock $72.00), and a Compex ENET32-PCI (in
stock $103.00) for 10Mb/s or SMC 9332 (in stock $156.00) for 10/100Mb/s.
> The Buslogic card is currently giving us problems because it's not
> being recognized as a PCI device (instead it shows up as an async ISA
> device). I've seen this problem discussed in the archives but didn't
> see any solutions. Only solution I have is to use an older version of
> the Buslogic firmware. That is, we have problems with version 4.25J
> while version 4.23 seems to work fine. Which SCSI card is generally
> thought to give the best performance?
The bt946 and aha2940 may have a slight edge over the NCR card due to
the fact they have local memory for firmware, but given the recent
headaches with bt946 cards I would either go for an NCR card or a 2940,
given cost I would (and am) running NCR cards.
I have yet to get the 946C revision E cards to play cleanly in a system,
though I can now get them to at least boot on 4 different MB's. At the
end of this email is a patch that has been commited to FreeBSD that will
snap these revision E boards into sync mode for you (this is relative
to 2.0.5R):
Can you describe the ``problems'' you see running the 4.25J firmware?
I am getting device timeouts mostly, which it does not recover from,
so once one of the occurs it dies. On another MB it cases EISA watchdog
times outs (and this is a PCI/ISA board, go figure :-().
> As for Ethernet, we aren't having any problems with the 3Com card.
> Just wondering if there is a better solution, like the 3Com 3c590 for
> example assuming it's supported.
Get the Compex card, can't say enough about them, the FreeBSD driver for
this card is one of the best drivers we have! (This is a DEC 21040 based
card that uses the if_de.c driver by Matt Thomas.) It is the card I
sell with every PCI system that wants ethernet, in my book there are no
other options for PCI 10Mb/s ethernet.
> So in general any info on how to construct a high performance FreeBSD
> box would be greatly appreciated.
Talk to me via email or telephone (finger my email address for the phone
number) that is what I do for a living now :-)
Index: bt742a.c
===================================================================
RCS file: /home/ncvs/src/sys/i386/isa/bt742a.c,v
retrieving revision 1.36
retrieving revision 1.38
diff -c -r1.36 -r1.38
*** 1.36 1995/05/30 08:01:21
--- 1.38 1995/06/25 17:45:05
***************
*** 12,18 ****
* on the understanding that TFS is not responsible for the correct
* functioning of this software in any circumstances.
*
! * $Id: bt742a.c,v 1.36 1995/05/30 08:01:21 rgrimes Exp $
*/
/*
--- 12,18 ----
* on the understanding that TFS is not responsible for the correct
* functioning of this software in any circumstances.
*
! * $Id: bt742a.c,v 1.38 1995/06/25 17:45:05 joerg Exp $
*/
/*
***************
*** 121,128 ****
/* The following command appeared at FirmWare 3.31 */
#define BT_ROUND_ROBIN 0x8f /* Enable/Disable(default) round robin */
! #define BT_DISABLE 0x00 /* Parameter value for Disable */
! #define BT_ENABLE 0x01 /* Parameter value for Enable */
struct bt_cmd_buf {
u_char byte[16];
--- 121,128 ----
/* The following command appeared at FirmWare 3.31 */
#define BT_ROUND_ROBIN 0x8f /* Enable/Disable(default) round robin */
! #define BT_STRICT_ROUND_ROBIN 0x00 /* Parameter value for strict mode */
! #define BT_AGRES_ROUND_ROBIN 0x01 /* Parameter value for backword comp */
struct bt_cmd_buf {
u_char byte[16];
***************
*** 334,340 ****
u_char num_mbx; /* Number of mailbox */
int32 mbx_base; /* mailbox base address */
struct {
! u_char resv1:2; /* ??? */
u_char maxsync:1; /* ON: 10MB/s , OFF: 5MB/s */
u_char resv2:2; /* ??? */
u_char sync:1; /* ON: Sync, OFF: async ONLY!! */
--- 334,341 ----
u_char num_mbx; /* Number of mailbox */
int32 mbx_base; /* mailbox base address */
struct {
! u_char resv1:1; /* ??? */
! u_char force:1; /* ON: force sync */
u_char maxsync:1; /* ON: 10MB/s , OFF: 5MB/s */
u_char resv2:2; /* ??? */
u_char sync:1; /* ON: Sync, OFF: async ONLY!! */
***************
*** 1306,1311 ****
--- 1307,1317 ----
* If board has a capbility of Syncrhonouse mode,
* Get a SCSI Synchronous value
*/
+
+ if (info->s.force) { /* Assume fast sync capability */
+ info->s.sync = 1; /* It's appear at 4.25? version */
+ info->s.maxsync = 1;
+ }
if ( info->s.sync ) {
bt_cmd(unit, 1, sizeof(sync), 100,
&sync,BT_GET_SYNC_VALUE,sizeof(sync));
***************
*** 1383,1392 ****
* BT_ROUND_ROBIN command amurai@spec.co.jp
*/
if ( bID.firm_revision >= '3' ) {
! printf("bt%d: Enabling Round robin scheme\n", unit);
! bt_cmd(unit, 1, 0, 0, 0, BT_ROUND_ROBIN, BT_ENABLE);
} else {
! printf("bt%d: Not Enabling Round robin scheme\n", unit);
}
}
--- 1389,1398 ----
* BT_ROUND_ROBIN command amurai@spec.co.jp
*/
if ( bID.firm_revision >= '3' ) {
! printf("bt%d: Using Strict Round robin scheme\n", unit);
! bt_cmd(unit, 1, 0, 0, 0, BT_ROUND_ROBIN, BT_STRICT_ROUND_ROBIN);
} else {
! printf("bt%d: Not using Strict Round robin scheme\n", unit);
}
}
--
Rod Grimes rgrimes@gndrsh.aac.dev.com
Accurate Automation Company Reliable computers for FreeBSD
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199507170938.CAA01233>
