Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 13 Nov 2011 04:45:09 GMT
From:      Rory Arms <rorya+freebsd.org@TrueStep.com>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   sparc64/162513: mpt(4), mptutil(8) reports variable, erroneous drive information
Message-ID:  <201111130445.pAD4j9Kg022917@red.freebsd.org>
Resent-Message-ID: <201111130450.pAD4o7eY020056@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         162513
>Category:       sparc64
>Synopsis:       mpt(4), mptutil(8) reports variable, erroneous drive information
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-sparc64
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Nov 13 04:50:06 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator:     Rory Arms
>Release:        8.2-RELEASE
>Organization:
>Environment:
FreeBSD tatung.TrueStep 8.2-RELEASE FreeBSD 8.2-RELEASE #0: Wed Nov  9 18:00:10 EST 2011     rorya@tatung.TrueStep:/usr/obj/usr/src/sys/TATUNG  sparc64

>Description:
I have an an  LSI Logic SAS3041X-R Host Adapter 4-Port SAS RAID Controller installed in a 3.3v PCI port on a SUN AXmp based system. I have 2 1TB Hitachi drives attached to it.

The system originally had 7.1-R installed. I noticed that mpt(4) in that version would not even see 2 SATA drives that were attached. So I promptly upgraded to 8.2 where mpt(4) did detect the presence of the drives. However I have noticed issues in trying to create a volume with the drives when using mptutil(8). There are times when 'show config' shows variable number of drives, and other inconsistent results. See the following commands issued seconds between each, with no hardware configurations being made in between:


tatung[/usr/src] 0> sudo mptutil show config
Password:
mpt0 Configuration: 0 volumes, 1 drives
    drive da1 (932G) ONLINE <Hitachi HDS72101 A5N0> SATA
tatung[/usr/src] 0> sudo mptutil show drives
mpt0 Physical Drives:
 da0 (  932G) ONLINE <Hitachi HDS72101 A5N0> SATA bus 0 id 0
 da1 (  932G) ONLINE <Hitachi HDS72101 A5N0> SATA bus 0 id 1
tatung[/usr/src] 0> sudo mptutil show config
mpt0 Configuration: 0 volumes, 4 drives
    drive da1 (932G) ONLINE <Hitachi HDS72101 A5N0> SATA
tatung[/usr/src] 0> sudo mptutil show config
mpt0 Configuration: 0 volumes, 5 drives
    drive da0 (932G) ONLINE <Hitachi HDS72101 A5N0> SATA
    drive da1 (932G) ONLINE <Hitachi HDS72101 A5N0> SATA
tatung[/usr/src] 0> sudo mptutil show config
mpt0 Configuration: 0 volumes, 1 drives
    drive da1 (932G) ONLINE <Hitachi HDS72101 A5N0> SATA
tatung[/usr/src] 0> sudo mptutil show config
mpt0 Configuration: 0 volumes, 4 drives
    drive da1 (932G) ONLINE <Hitachi HDS72101 A5N0> SATA
tatung[/usr/src] 0> sudo mptutil show drives
mpt0 Physical Drives:
 da0 (  932G) ONLINE <Hitachi HDS72101 A5N0> SATA bus 0 id 0
 da1 (  932G) ONLINE <Hitachi HDS72101 A5N0> SATA bus 0 id 1
tatung[/usr/src] 0> sudo mptutil show drives
mpt0 Physical Drives:
 da1 (  932G) ONLINE <Hitachi HDS72101 A5N0> SATA bus 0 id 1

So as you can see mptutil(8) reports a variable amount of drives attached, when in actuality there are always 2 SATA drives attached

Here's the output of pciconf -lv:

tatung[/usr/src] 0> pciconf -lv
hostb0@pci0:0:0:0:      class=0x060000 card=0x00000000 chip=0x8000108e rev=0x00 hdr=0x00
    vendor     = 'Sun Microsystems'
    device     = 'STP2223BGA UPA to PCI Bus Interface Module (U2P)'
    class      = bridge
    subclass   = HOST-PCI
ebus0@pci0:0:1:0:       class=0x068000 card=0x00000000 chip=0x1000108e rev=0x01 hdr=0x00
    vendor     = 'Sun Microsystems'
    device     = 'SPARC EBUS PCIO PCI I/O Controller'
    class      = bridge
hme0@pci0:0:1:1:        class=0x020000 card=0x00000000 chip=0x1001108e rev=0x01 hdr=0x00
    vendor     = 'Sun Microsystems'
    device     = 'Happy Meal Ethernet (PCIO)'
    class      = network
    subclass   = ethernet
em0@pci0:0:3:0: class=0x020000 card=0x002e8086 chip=0x100e8086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'Gigabit Ethernet Controller (82540EM)'
    class      = network
    subclass   = ethernet
hostb1@pci1:128:0:0:    class=0x060000 card=0x00000000 chip=0x8000108e rev=0x00 hdr=0x00
    vendor     = 'Sun Microsystems'
    device     = 'STP2223BGA UPA to PCI Bus Interface Module (U2P)'
    class      = bridge
    subclass   = HOST-PCI
mpt0@pci1:128:1:0:      class=0x010000 card=0x30201000 chip=0x00501000 rev=0x03 hdr=0x00
    vendor     = 'LSI Logic (Was: Symbios Logic, NCR)'
    device     = 'SAS 3000 series, 4-port with 1064 -StorPort'
    class      = mass storage
    subclass   = SCSI
hostb2@pci2:0:0:0:      class=0x060000 card=0x00000000 chip=0x8000108e rev=0x00 hdr=0x00
    vendor     = 'Sun Microsystems'
    device     = 'STP2223BGA UPA to PCI Bus Interface Module (U2P)'
    class      = bridge
    subclass   = HOST-PCI
sym0@pci2:0:6:0:        class=0x010000 card=0x00000000 chip=0x000f1000 rev=0x14 hdr=0x00
    vendor     = 'LSI Logic (Was: Symbios Logic, NCR)'
    device     = 'LSI53C875/E,LSI53C876/E PCI to Ultra SCSI I/O Processor'
    class      = mass storage
    subclass   = SCSI
sym1@pci2:0:6:1:        class=0x010000 card=0x00000000 chip=0x000f1000 rev=0x14 hdr=0x00
    vendor     = 'LSI Logic (Was: Symbios Logic, NCR)'
    device     = 'LSI53C875/E,LSI53C876/E PCI to Ultra SCSI I/O Processor'
    class      = mass storage
    subclass   = SCSI
machfb0@pci2:0:2:0:     class=0x030000 card=0x00801002 chip=0x47501002 rev=0x5c hdr=0x00
    vendor     = 'ATI Technologies Inc. / Advanced Micro Devices, Inc.'
    device     = 'ATI 3D Rage Pro 215GP (ATI 3D Rage Pro 215GP)'
    class      = display
    subclass   = VGA
hostb3@pci3:128:0:0:    class=0x060000 card=0x00000000 chip=0x8000108e rev=0x00 hdr=0x00
    vendor     = 'Sun Microsystems'
    device     = 'STP2223BGA UPA to PCI Bus Interface Module (U2P)'
    class      = bridge
    subclass   = HOST-PCI

I use a the following custom kernel config:


cpu             SUN4U
ident           TATUNG



makeoptions     DEBUG=-g                # Build kernel with gdb(1) debug symbols


options         SCHED_4BSD              # 4BSD scheduler
options         INET                    # InterNETworking
options         INET6                   # IPv6 communications protocols
options         SCTP                    # Stream Control Transmission Protocol
options         FFS                     # Berkeley Fast Filesystem
options         SOFTUPDATES             # Enable FFS soft updates support
options         UFS_ACL                 # Support for access control lists
options         UFS_DIRHASH             # Improve performance on big directories
options         UFS_GJOURNAL            # Enable gjournal-based UFS journaling
options         MD_ROOT                 # MD is a potential root device
options         NFSCLIENT               # Network Filesystem Client
options         NFSSERVER               # Network Filesystem Server
options         NFSLOCKD                # Network Lock Manager
options         NFS_ROOT                # NFS usable as /, requires NFSCLIENT
options         CD9660                  # ISO 9660 Filesystem
options         PROCFS                  # Process filesystem (requires PSEUDOFS)
options         PSEUDOFS                # Pseudo-filesystem framework
options         GEOM_PART_GPT           # GUID Partition Tables.
options         GEOM_LABEL              # Provides labelization
options         COMPAT_43TTY            # BSD 4.3 TTY compat (sgtty)
options         COMPAT_FREEBSD7         # Compatible with FreeBSD7
options         SCSI_DELAY=5000         # Delay (in ms) before probing SCSI
options         KTRACE                  # ktrace(1) support
options         STACK                   # stack(9) support
options         SYSVSHM                 # SYSV-style shared memory
options         SYSVMSG                 # SYSV-style message queues
options         SYSVSEM                 # SYSV-style semaphores
options         P1003_1B_SEMAPHORES     # POSIX-style semaphores
options         _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
options         PRINTF_BUFR_SIZE=128    # Prevent printf output being interspersed.
options         HWPMC_HOOKS             # Necessary kernel hooks for hwpmc(4)
options         AUDIT                   # Security event auditing
options         MAC                     # TrustedBSD MAC Framework
options         INCLUDE_CONFIG_FILE     # Include this file in kernel

options         KDB                     # Kernel debugger related code
options         KDB_TRACE               # Print a stack trace for a panic

options         SMP                     # Symmetric MultiProcessor Kernel

device          ebus
device          pci
device          central
device          fhc


device          ata
device          atadisk         # ATA disk drives

                                        # output.  Adds ~128k to driver.
device          isp             # Qlogic family
device          ispfw           # Firmware module for Qlogic host adapters
device          mpt             # LSI-Logic MPT-Fusion
device          sym             # NCR/Symbios/LSI Logic 53C8XX/53C1010/53C1510D

device          scbus           # SCSI bus (required for SCSI)
device          ch              # SCSI media changers
device          da              # Direct Access (disks)
device          sa              # Sequential Access (tape etc)
device          cd              # CD
device          pass            # Passthrough device (direct SCSI access)
device          ses             # SCSI Environmental Services (and SAF-TE)



device          kbdmux          # keyboard multiplexer

device          sc
device          machfb          # ATI Mach64 framebuffers
device          splash          # Splash screen and screen saver support
options         KBD_INSTALL_CDEV # install a CDEV entry in /dev

device          auxio           # auxiliary I/O device
device          eeprom          # eeprom (really a front-end for the MK48Txx)
device          mk48txx         # Mostek MK48Txx clocks
device          rtc             # rtc (really a front-end for the MC146818)
device          mc146818        # Motorola MC146818 and compatible clocks

device          scc             # Serial communications controllers.
device          uart            # Multi-uart driver


device          em              # Intel PRO/1000 adapter Gigabit Ethernet Card

device          miibus          # MII bus support
device          fxp             # Intel EtherExpress PRO/100B (82557, 82558)
device          hme             # Sun HME (Happy Meal Ethernet)

device          wlan            # 802.11 support
options         IEEE80211_DEBUG # enable debug msgs
options         IEEE80211_AMPDU_AGE     # age frames in AMPDU reorder q's
options         IEEE80211_SUPPORT_MESH  # enable 802.11s D3.0 support
device          wlan_wep        # 802.11 WEP support
device          wlan_ccmp       # 802.11 CCMP support
device          wlan_tkip       # 802.11 TKIP support
device          wlan_amrr       # AMRR transmit rate control algorithm
device          ath             # Atheros pci/cardbus NIC's
device          ath_hal         # Atheros HAL (Hardware Access Layer)
options         AH_SUPPORT_AR5416       # enable AR5416 tx/rx descriptors
device          ath_rate_sample # SampleRate tx rate control for ath

device          loop            # Network loopback
device          random          # Entropy device
device          ether           # Ethernet support
device          vlan            # 802.1Q VLAN support
device          tun             # Packet tunnel.
device          pty             # BSD-style compatibility pseudo ttys
device          md              # Memory "disks"
device          gif             # IPv6 and IPv4 tunneling
device          faith           # IPv6-to-IPv4 relaying (translation)
device          firmware        # firmware assist module

device          bpf             # Berkeley packet filter

>How-To-Repeat:
repeated runs of mpiutil(8) commands with 'show config' and 'show drives'  returns inconsistent results.
>Fix:


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201111130445.pAD4j9Kg022917>