From owner-freebsd-hackers Thu Jul 22 9:46:59 1999 Delivered-To: freebsd-hackers@freebsd.org Received: from skynet.ctr.columbia.edu (skynet.ctr.columbia.edu [128.59.64.70]) by hub.freebsd.org (Postfix) with SMTP id 7553C14C20; Thu, 22 Jul 1999 09:46:41 -0700 (PDT) (envelope-from wpaul@skynet.ctr.columbia.edu) Received: (from wpaul@localhost) by skynet.ctr.columbia.edu (8.6.12/8.6.9) id MAA02834; Thu, 22 Jul 1999 12:47:06 -0400 From: Bill Paul Message-Id: <199907221647.MAA02834@skynet.ctr.columbia.edu> Subject: Update on Adaptec AIC-6915 "starfire" driver To: hackers@freebsd.org, hardware@freebsd.org Date: Thu, 22 Jul 1999 12:47:04 -0400 (EDT) X-Mailer: ELM [version 2.4 PL24] Content-Type: text Content-Length: 2873 Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG I haven't received any feedback yet on the Adaptec "Starfire" driver, however I made a few updates that people should know about: - I created a version of the driver for FreeBSD 2.2.x. You can find it at http://www.freebsd.org/~wpaul/Adaptec/2.2. Note: while I have verified that this code compiles, I have not been able to test it. There should not be any problems, but as always, Murphy's Law applies. - I found a bug today which is that sf_stats_update() required splimp() protection. I use the indirect register access method which is done in two stages: first you set the indirect address register to the register offset that you want to play with, then you access it via the indirect data register. However sf_stats_update() was interruptible which means that it was possible for the interrupt handler to run in between the first and second stages, which caused the stats updater to modify incorrect register locations. This bug would manifest itself in the form of watchdog timeouts and the 'collisions' counter sometimes reporting wildly incorrect values. I corrected this problem and updated the driver sources for each FreeBSD version (including 2.2.x) and recompiled the KLD module for FreeBSD 4.0-current. - The pre-compiled KLD module for FreeBSD 4.0-current now includes BPF support, since I have been told that there stubs that should allow BPF-enabled drivers to work even if BPF support isn't compiled into the kernel. - I added a README at http://www.freebsd.org/~wpaul/Adaptec which explains how to install the driver on FreeBSD 2.2.x, 3.x and 4.0. Also, a quick note about the Adaptec cards. I said previously that the Duralink adapters were Adaptec's replacement for their older DEC tulip-based cards. Adaptec still sells multiport adapters based on the 21x4x chip, however I believe they use the 21143 now since Intel discontinued production of the 21140 and supplies are drying up. It is possible that Adaptec may stop production on the older cards though now that they have their own high performance chipset. The Duralink cards may also be preferable in some cases since they are 64-bit PCI devices. Anyway: I would appreciate it if people could test the driver and get back to me with some feedback. I hope to merge this into the -current branch soon. -Bill -- ============================================================================= -Bill Paul (212) 854-6020 | System Manager, Master of Unix-Fu Work: wpaul@ctr.columbia.edu | Center for Telecommunications Research Home: wpaul@skynet.ctr.columbia.edu | Columbia University, New York City ============================================================================= "It is not I who am crazy; it is I who am mad!" - Ren Hoek, "Space Madness" ============================================================================= To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message