sparc64/162513: mpt(4), mptutil(8) reports variable,
erroneous drive information
Rory Arms
rorya+freebsd.org at TrueStep.com
Sun Nov 13 04:50:07 UTC 2011
>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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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:
More information about the freebsd-sparc64
mailing list