From owner-freebsd-bugs Tue Jun 16 08:40:58 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id IAA27833 for freebsd-bugs-outgoing; Tue, 16 Jun 1998 08:40:58 -0700 (PDT) (envelope-from owner-freebsd-bugs@FreeBSD.ORG) Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id IAA27825 for ; Tue, 16 Jun 1998 08:40:56 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.8.8/8.8.5) id IAA25838; Tue, 16 Jun 1998 08:40:01 -0700 (PDT) Received: (from nobody@localhost) by hub.freebsd.org (8.8.8/8.8.8) id IAA27618; Tue, 16 Jun 1998 08:39:54 -0700 (PDT) (envelope-from nobody) Message-Id: <199806161539.IAA27618@hub.freebsd.org> Date: Tue, 16 Jun 1998 08:39:54 -0700 (PDT) From: jose@we.lc.ehu.es To: freebsd-gnats-submit@FreeBSD.ORG X-Send-Pr-Version: www-1.0 Subject: kern/6966: AHC driver fails to read SEEPROM on Iwill PIILS mb (AIC7880 embedded) Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >Number: 6966 >Category: kern >Synopsis: AHC driver fails to read SEEPROM on Iwill PIILS mb (AIC7880 embedded) >Confidential: no >Severity: serious >Priority: high >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Tue Jun 16 08:40:01 PDT 1998 >Last-Modified: >Originator: Jose M. Alcaide >Organization: Univ. del Pais Vasco - Dept. Electronica >Release: 2.2.6-STABLE (980612) >Environment: FreeBSD defiant.we.lc.ehu.es 2.2.6-STABLE FreeBSD 2.2.6-STABLE #0: Fri Jun 12 14:10:09 CEST 1998 jose@defiant.we.lc.ehu.es:/usr/src/sys/compile/DEFIANT i386 >Description: When the AHC driver tries to read the serial EEPROM at startup, the operation fails with a "checksum error". The system is based on an Iwill PIILS mb, which has the AIC7880 controller onboard. The source of the problem is in sys/pci/aic7870.c: the SEEPROM type (93c46, c56, c66) is determined from the controller chip type. The Adaptec 2940UW uses the AIC7880 and the 93c46 SEEPROM. However, this is not the case for the Iwill PIILS mb (and perhaps other motherboards with embedded SCSI). The PIILS uses a 93c56 SEEPROM, so that AHC fails when trying to read a 93c46. I have assigned a "serious" severity to this problem because the AHC driver uses the BIOS defaults when it cannot read the SEEPROM, and it just works. However, some features (i.e. Ultra speed) are disabled. >How-To-Repeat: boot -v on any Iwill PIILS-based system. >Fix: Modify sys/pci/aic7870.c for not associating the SEEPROM type to the controller chip type. Instead, if the read of a 93c46 fails, then it should try to read a 93c56 or 93c66. I have patched aic7870.c, forcing a 93c56 SEEPROM type and it works fine. However, this is not a general solution; it's only a workaround for my system. >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message