SeaChest Info
SeaChest Info
SeaChest Info
===============================================================================
SeaChest_Info - Seagate drive utilities
Copyright (c) 2014-2021 Seagate Technology LLC and/or its Affiliates, All Rights
Reserved
See Version History below.
===============================================================================
Welcome to Seagate's SeaChest_Info diagnostic software.
Disk drives are constantly monitoring and analyzing their own performance,
integrity and environment. The current state of this technology is the result
of more than 20 years of innovative Seagate engineering focused on self-testing.
With the backing of personal computer manufacturers, the disk drive industry
adopted an analysis system in the 1990's called Self Monitoring Analysis and
Reporting Technology, or SMART. The idea then and today is to predict a failure
before it happens. Various attributes are being monitored and measured against
certain threshold limits. If any one attribute exceeds a threshold then a
general SATA SMART Status test will change from Pass to Fail.
Many computers automatically check SATA SMART Status when they start up which is
when most people become aware of the issue. If still under warranty, then SMART
Status FAIL is a valid condition for warranty replacement.
When a SMART Status test has a FAIL it is extremely important that you back up
all of your important data. SMART Status FAIL is a near-term prediction of
drive failure and the drive usually functions like normal. Unfortunately, there
is no way to specifically predict when the failure will occur, so your best
response is to back up your data as soon as possible.
Tests and commands which are completely data safe will run on any disk drive.
Tests and commands which change the drive (like firmware download or data
erasure or setting the maximum capacity, etc) are limited to Seagate disk
drives (this includes Seagate, Maxtor, Samsung and LaCie). Be careful using
SeaChest because some of the features, like the data erasure options, will
cause data loss. Seagate is not responsible for lost user data.
Note: One gigabyte, or GB, equals one billion bytes when referring to hard
drive capacity. This software may use information provided by the operating
system to display capacity and volume size. The Windows file system uses a
binary calculation for gibibyte or GiB (2^30) which causes the abbreviated size
to appear smaller. The total number of bytes on a disk drive divided by the
decimal calculation for gigabyte or GB (10^9) shows the expected abbreviated
size. See this FAQ for more information
<http://knowledge.seagate.com/articles/en_US/FAQ/172191en?language=en_US>.
Examples - Linux
================
sudo SeaChest_Info --scan
sudo SeaChest_Info -d /dev/sg2 -i
Examples - Windows
==================
SeaChest_Info --scan
SeaChest_Info -d PD0 -i
===================================================================================
=======
SeaChest_Info - Seagate drive utilities - NVMe Enabled
Copyright (c) 2014-2021 Seagate Technology LLC and/or its Affiliates, All Rights
Reserved
SeaChest_Info Version: 2.1.0-2_2_3 X86_64
Build Date: Jun 17 2021
Today: Thu Jun 17 17:11:33 2021 User: tyler
===================================================================================
=======
Usage
=====
SeaChest_Info [-d <sg_device>] {arguments} {options}
Examples
========
SeaChest_Info --scan
SeaChest_Info -d /dev/sg? -i
Return codes
============
Generic/Common exit codes
0 = No Error Found
1 = Error in command line options
2 = Invalid Device Handle or Missing Device Handle
3 = Operation Failure
4 = Operation not supported
5 = Operation Aborted
6 = File Path Not Found
7 = Cannot Open File
8 = File Already Exists
9 = Need Elevated Privileges
Anything else = unknown error
Utility Options
===============
--echoCommandLine
Echo the command line entered into the utility on the screen.
--enableLegacyUSBPassthrough
Only use this option on old USB or IEEE1394 (Firewire)
products that do not otherwise work with the tool.
This option will enable a trial and error method that
attempts sending various ATA Identify commands through
vendor specific means. Because of this, certain products
that may respond in unintended ways since they may interpret
these commands differently than the bridge chip the command
was designed for.
--forceATA
Using this option will force the current drive to
be treated as a ATA drive. Only ATA commands will
be used to talk to the drive.
--forceSCSI
Using this option will force the current drive to
be treated as a SCSI drive. Only SCSI commands will
be used to talk to the drive.
-h, --help
Show utility options and example usage (this output you see now)
Please report bugs/suggestions to seaboard@seagate.com.
Include the output of --version information in the email.
--license
Display the Seagate End User License Agreement (EULA).
--modelMatch [model Number]
Use this option to run on all drives matching the provided
model number. This option will provide a closest match although
an exact match is preferred. Ex: ST500 will match ST500LM0001
--onlySeagate
Use this option to match only Seagate drives for the options
provided
-q, --quiet
Run SeaChest_Info in quiet mode. This is the same as
-v 0 or --verbose 0
-v [0-4], --verbose [0 | 1 | 2 | 3 | 4]
Show verbose information. Verbosity levels are:
0 - quiet
1 - default
2 - command descriptions
3 - command descriptions and values
4 - command descriptions, values, and data buffers
Example: -v 3 or --verbose 3
-V, --version
Show SeaChest_Info version and copyright information & exit
Utility Arguments
=================
-d, --device deviceHandle
Use this option with most commands to specify the device
handle on which to perform an operation. Example: /dev/sg?
-i, --deviceInfo
Show information and features for the storage device
-s, --scan
Scan the system and list all storage devices with logical
/dev/sg? assignments. Shows model, serial and firmware
numbers. If your device is not listed on a scan immediately
after booting, then wait 10 seconds and run it again.
-S, --Scan
This option is the same as --scan or -s,
however it will also perform a low level rescan to pick up
other devices. This low level rescan may wake devices from low
power states and may cause the OS to re-enumerate them.
Use this option when a device is plugged in and not discovered in
a normal scan.
NOTE: A low-level rescan may not be available on all interfaces or
all OSs. The low-level rescan is not guaranteed to find additional
devices in the system when the device is unable to come to a ready
state.
--SATInfo
Displays SATA device information on any interface
using both SCSI Inquiry / VPD / Log reported data
(translated according to SAT) and the ATA Identify / Log
reported data.
--testUnitReady
Issues a SCSI Test Unit Ready command and displays the
status. If the drive is not ready, the sense key, asc,
ascq, and fru will be displayed and a human readable
translation from the SPC spec will be displayed if one
is available.
--deviceStatistics
Use this option to display the device statistics reported
by the device. On SATA, this uses the Device Statistics
log, and the notifications log (if DSN feature is supported)
to display these statistics. On SAS, various log pages are
read to collect a bunch of reported parameter information.
--showConcurrentRanges
Use this option to display the concurrent positioning ranges
supported by a device. Concurrent positioning ranges are used
to inform which actuator is used for a given range in LBA space.
SATA Only:
=========
--smartAttributes [raw | analyzed] (SATA Only)
The drive will display its list of supported SMART attributes.
Some attributes names are commonly standard and most others are
vendor unique. In either case, the attribute thresholds are
always vendor unique. Most attributes are informational and not
used to determine a warranty return. Use the --smartCheck
command to determine if one of the warranty attributes has been
tripped. Seagate Support does not help to analyze SMART
attributes.
SAS Only:
=========
--defectFormat [ # | shortBlock | longBlock | xbfi | xchs | bfi | chs ]
(SAS Only)
This option set the format of the defects to output.
Not all drives will support all defect modes!
SSDs will only support block modes!
Arguments: (name | #)
shortBlock | 0 - show the defects in short block address mode (drives
< 32bit LBA)
xbfi | 1 - show the defects in extended bytes from index mode
xchs | 2 - show the defects in extended physical cylinder-head-
sector mode
longBlock | 3 - show the defects in long block address mode (drives >
32bit LBA)
bfi | 4 - show the defects in bytes from index mode
chs | 5 - show the defects in physical cylinder-head-sector
mode
================
Tool Usage Hints
================
See Sample Output examples below.
First, run the SeaChest -s option to determine what /dev/sg? or PD? device
handle assignment lines up to your disk drive. This option will also show you
other details about the drive including the current firmware revision.
Linux:
Vendor Handle Model Number Serial Number FwRev
ATA /dev/sg0 ST94813AS 3AA043KP 3.03
SEAGATE /dev/sg1 ST1000NM0011 ZAA15VAS SN03
Windows:
Vendor Handle Model Number Serial Number FwRev
IDE PD0 ST94813AS 3AA043KP 3.03
SEAGATE PD1 ST1000NM0011 ZAA15VAS SN03
You can use SeaChest -s --onlySeagate to limit the display to just Seagate.
All utility arguments will require you to identify the specific drive by
providing the sg or PD device handle (-d, --device).
You may combine multiple tests with a single command line. For example,
in Linux, SeaChest_Basics -d /dev/sg0 -i --smartCheck runs both identify and
SMART. In Windows, SeaChest_Basics -d PD0 -i --smartCheck runs both
identify and SMART.
Multiple device handles can be given by adding -d /dev/sg# for each additional
handle. Devices are processed in sequential order. For example, in Linux,
SeaChest_Basics -d /dev/sg0 -d /dev/sg3 -i runs identify on these two
devices. In Windows, SeaChest_Basics -d PD0 -d PD3 -i runs identify on
these two devices.
Caution: All device handles may be specified. However, great care should be
taken to fully anticipate the consequences of running a command on all storage
devices in a system. For example, a command to erase data on all drives could
be catastrophic or exactly what you want. The shortcut to select all devices is
-d all. Seagate is not responsible for lost user data. Along with the
designation for all devices, you can narrow the tasks to specific types of
drives by using the --onlySeagate, --modelMatch and --onlyFW filters.
If the task is an OFFLINE command like format unit or short DST, meaning that
the drive works on the task in the background and the tool quickly returns to
the command prompt (there is little or no I/O to the system), then you can
expect the system to run normally. If the task has high I/O to the system like
a sequential read of all sectors on the drive, then you can expect the system
to slow down with each additional device.
The discussion above is about starting SEQUENTIAL tests, or one after the
other. When the task does not return to the command prompt for a very long
time, then you have a few options to run tests in PARALLEL, also called
simultaneous, in other words all at the same time. One way is to start
different drives in different Terminal windows, if available. There are other
more sophisticated methods using parallel processing, for information about
these methods please see the information at this link:
https://github.com/Seagate/ToolBin/tree/master/SeaChest/parallel_testing
Tests which take a very long time to complete or erase all user data on the
drive will require a longer command line argument than indicated in the --help
output to the screen. This approach is taken to eliminate the possibility of
accidental data loss or the commitment of long test times. The longer command
arguments are similar to -I-understand-this-command-will-take-a-long-time or
-I-understand-this-command-will-erase-all-data.
Tests which alter the firmware or erase user data on the drive are limited to
Seagate-only products which include Seagate, Maxtor, Samsung and LaCie.
Advanced SAS installations may use dual ports. These are listed as Port 0 and
Port 1 on the device information report. When both ports are active, each one
may have a unique /dev/sg designation. The scan option may indicate that there
are two drives in the system with the same serial number. Dual port
installations will also report two different Worldwide Numbers (WWN).
When drives are in a RAID, the PD device handle is usually not available and
the CSMI handle may provide an alternate way to talk to the drive. Just
because a device has a CSMI handle doesn't mean it is part of a RAID.
If you want to see both handles, add --scanFlags allowDuplicates to the command
line. If you don't want to see any CSMI devices, add --scanFlags ignoreCSMI to
the command line. SeaChest_Info -d csmi:?:?:? --csmiInfo is useful when
troubleshooting CSMI device handles questions.
=========================
Linux General Usage Hints
=========================
Remember that Linux file names and command line arguments are cAsE SeNsiTiVe.
The tool will require root privileges to run using either sudo or su commands.
Also, verify that the tool has executable rights.
Shut down the files system and remove the power with the command:
poweroff
Save a log file by redirecting the screen output to a text file by adding space
&>test.log at the end of your command line. Choose your own file name. To
append the screen output to an existing log file use >>test.log.
To save a log and display results at the conclusion of the tests, you can use
the "tee" command. Tee command writes to the STDOUT and to a file.
For example,
SeaChest --echoCommandLine -d /dev/sg0 -i --smartCheck | tee -a mySeaChestLog.txt
Display a log or text file with the Linux "less" command: less myfile.log
Press the letter q to quit displaying the file. Similarly, you can easily
read the Seagate License agreement by piping the output to the less
command with SeaChest --license |less
sg devices include the following interfaces: SATA, USB, SCSI (SCSI, SAS and FC)
Add the command word 'time' on the same command line before the SeaChest
command to see how much time it takes to run a test.
For example, time ./SeaChest -d /dev/sg0 --shortDST --poll
You need to do "modprobe sg" as root to load the sg module (since it wasn't
compiled into the kernel), then you will get sg devices that we can scan and
find. Once you run the modprobe command and sg is successfully loaded, then you
can re-run "ls /dev/sg*" and see SG device nodes. SeaChest tools should
then be able to find devices once again.
If your notebook has a Thunderbolt interface connection then you may be able to
test a wide range of devices. External Thunderbolt expansion systems provide a
PCIe slot in a chassis that can hold a SAS, NVMe, or SATA host adapter. The
host adapters would have cables that go out to your test bench where you would
provide the drive and an external power supply for the drives. Thunderbolt 2
expansion systems work in Linux by default. Thunderbolt 3 expansion systems
need to be enabled in the kernel with boot time options before it will be
recognized by the Linux operating system. See
https://www.kernel.org/doc/html/v4.14/admin-guide/thunderbolt.html for
information about how to activate the interface.
===========================
Windows General Usage Hints
===========================
The tool will require Administrative privileges to run.
Also, verify that the tool has executable rights.
Save a log file by redirecting the screen output to a text file by adding space
&>test.log at the end of your command line. Choose your own file name. To
append the screen output to an existing log file use >>test.log.
To save a log and display results at the conclusion of the tests, you can use
the powershell "tee" command. Tee command writes to the STDOUT and to a file.
For example:
powershell ".\SeaChest --echoCommandLine -d PD1 --smartCheck | tee -append
mySeaChestLog.txt"
This is a command line tool and the requirement is to open a Command Prompt as
Administrator. There are two easy ways to do this:
1. Windows Accessories, right-click the Command Prompt icon and select Run as
Administrator.
2. Click Windows Start. In the Start Search box, type cmd, and then press
CTRL+SHIFT+ENTER.
Then change drives or directory to where the SeaChest utility is located and
run the tool file name from there.
=============
Sample Output
=============
The drive will display its list of supported SMART attributes. Some attributes
are industry standard and most others are vendor unique. Most attributes are
informational and not used to determine a warranty return. Use the --smartCheck
command to determine if one of the warranty attributes has been tripped.
===============
Version History - SeaChest_Info
===============
SeaChest_Info is branched off from SeaChest Basics v2.0.3.
SeaChest diagnostics are command line utilities which are available for expert
users. These command line tools assume the user is knowledgeable about running
software from the operating system command prompt. CLI tools are in the
English language only and use "command line arguments" to define the various
tasks and specific devices. SeaChest diagnostics are available for both Linux
and Windows environments.
In addition, Seagate offers a tool to build a bootable USB SeaChest flash drive
which boots to a 64-bit Linux command prompt. This is a Windows executable
file which formats a USB Flash drive you provide. It copies over all the files
needed to use it as a bootable device for the SeaChest diagnostic software.
All data on the USB Flash drive will be erased so be sure to protect any
valuable files.
Technical Support for SeaChest drive utilities is not available. If you have
the time to send us some feedback about this software, especially if you notice
something we should fix or improve, we would greatly appreciate hearing from
you. To report your comments and suggestions, please use this email
seaboard@seagate.com. Please let us know the name and version of the tool you
are using.
SeaChest drive utilities support SATA, SAS and USB interface devices.
Other SeaChest "break out" utilities are available and listed below which offer
more in-depth functionality in specific areas. These are:
SeaChest Erase - The focus is on data erasure. There are many different
choices for erasing data from simple boot track erase to full cryptographic
erasure (when supported). Be sure to back up important data before using this
tool. Seagate is not responsible for lost user data. This tool only works on
Seagate drives.
SeaChest Firmware - Seagate products are run by firmware. Having the latest
firmware can improve performance and or reliability of your product. Seagate
recommends applying new firmware to enhance the performance and or reliability
of your drive. Most products may see one or two firmware updates within the
early life of the product.
SeaChest Format - Storage products which utilize the SAS, SCSI or Fibre
Channel interfaces are able to perform a full low-level media format in the
field. The SCSI Format Unit command offers many specialty options to
accommodate a variety of conditions and to fine tune the procedure. This
complex command deserves its own "break out" utility.
SeaChest GenericTests - Read Tests are the original disk drive diagnostic which
is to just read every sector on the drive, sequentially. This tool offers
several common read tests which can be defined by either time or range. In
addition, the Long Generic test has the ability to repair problem sectors,
possibly eliminating an unnecessary drive return.
SeaChest Info - Historical generic activity logs (like total bytes written and
power on hours) and performance logs (like temperature) are available for
analytical review. Identification and inquiry data stored on the drive is also
provided. A view of SMART and device statistics is available when supported by
the drive.
SeaChest SMART - This tool provides a closer look at the collected SMART
attributes data. SMART stands for Self-Monitoring, Analysis and Reporting
Technology. Short Drive Self Test is included as one of the standard SMART
commands. In addition, the DST & Clean test has the ability to repair problem
sectors, possibly eliminating an unnecessary drive return.
=================================
Support and Open Source Statement
=================================
Seagate offers technical support for disk drive installation. If you have any
questions related to Seagate products and technologies, feel free to submit
your request on our web site. See the web site for a list of world-wide
telephone numbers.
Seagate Support:
http://www.seagate.com/support-home/
Contact Us:
http://www.seagate.com/contacts/
This software uses open source packages obtained with permission from the
relevant parties. For a complete list of open source components, sources and
licenses, please see our Linux USB Boot Maker Utility FAQ for additional
information.
SeaChest Utilities use libraries from the opensea source code projects. These
projects are maintained at http://github.com/seagate.
The libraries in use are opensea-common, opensea-transport and
opensea-operations. These libraries are available under the Mozilla Public
License 2.0, license shown below.
The newest online version of the SeaChest Utilities documentation, open source
usage and acknowledgement licenses can be found at:
http://support.seagate.com/seachest/SeaChest_Combo_UserGuides.html
The USB Boot Maker Utility for Windows utilizes the NSIS Installer
v2.46.5-Unicode (http://nsis.sourceforge.net).
All Linux versions of the SeaChest Utilities are compiled using GCC, the GNU
Compiler Collection, license shown below.
All Windows versions of the SeaChest Utilities uses an open source project
named wingetopt, license shown below.
SeaChest_Firmware uses two open source projects named mbedtls and zlib.h,
licenses shown below.
Copyright (c) 2014-2020 Seagate Technology LLC and/or its Affiliates, All Rights
Reserved
======================================================================
PLEASE READ THIS END USER LICENSE AGREEMENT ("EULA") CAREFULLY. BY CLICKING
"I AGREE" OR TAKING ANY STEP TO DOWNLOAD, SET-UP, INSTALL OR USE ALL OR ANY
PORTION OF THIS PRODUCT (INCLUDING, BUT NOT LIMITED TO, THE SOFTWARE AND
ASSOCIATED FILES (THE "SOFTWARE"), HARDWARE ("HARDWARE"), DISK (S), OR OTHER
MEDIA) (COLLECTIVELY, THE "PRODUCT") YOU AND YOUR COMPANY ACCEPT ALL THE
TERMS AND CONDITIONS OF THIS EULA. IF YOU ACQUIRE THIS PRODUCT FOR YOUR
COMPANY'S USE, YOU REPRESENT THAT YOU ARE AN AUTHORIZED REPRESENTATIVE WHO
HAS THE AUTHORITY TO LEGALLY BIND YOUR COMPANY TO THIS EULA. IF YOU DO NOT
AGREE, DO NOT CLICK "I AGREE" AND DO NOT DOWNLOAD, SET-UP, INSTALL OR USE THE
SOFTWARE.
2. Product License. Subject to your compliance with the terms of this EULA,
Seagate grants you a personal, non-exclusive, non-transferable, limited
license to install and use one (1) copy of the Software on one (1) device
residing on your premises, internally and only for the purposes described in
the associated documentation. Use of some third party software included on
the media provided with the Product may be subject to terms and conditions of
a separate license agreement; this license agreement may be contained in a
"Read Me" file located on the media that accompanies that Product. The
Software includes components that enable you to link to and use certain
services provided by third parties ("Third Party Services"). Your use of the
Third Party Services is subject to your agreement with the applicable third
party service provider. Except as expressly stated herein, this EULA does
not grant you any intellectual property rights in the Product. Seagate and
its suppliers reserve all rights not expressly granted to you. There are no
implied rights.
2.1 Software. You are also permitted to make a single copy of the
Software strictly for backup and disaster recovery purposes. You may not
alter or modify the Software or create a new installer for the Software. The
Software is licensed and distributed by Seagate for use with its storage
products only, and may not be used with non-Seagate storage product.
10. International Trade Compliance. The Software and any related technical
data made available for download under this EULA are subject to the customs
and export control laws and regulations of the United States ("U.S.") and may
also be subject to the customs and export laws and regulations of the country
in which the download is contemplated. Further, under U.S. law, the Software
and any related technical data made available for download under this EULA
may not be sold, leased or otherwise transferred to restricted countries, or
used by a restricted end-user (as determined on any one of the U.S.
government restricted parties lists, found at
http://www.bis.doc.gov/complianceandenforcement/liststocheck.htm) or an
end-user engaged in activities related to weapons of mass destruction
including, without limitation, activities related to designing, developing,
producing or using nuclear weapons, materials, or facilities, missiles or
supporting missile projects, or chemical or biological weapons. You
acknowledge that you are not a citizen, national, or resident of, and are not
under control of the governments of Cuba, Iran, North Korea, Sudan or Syria;
are not otherwise a restricted end-user as defined by U.S. export control
laws; and are not engaged in proliferation activities. Further, you
acknowledge that you will not download or otherwise export or re-export the
Software or any related technical data directly or indirectly to the
above-mentioned countries or to citizens, nationals, or residents of those
countries, or to any other restricted end user or for any restricted end-use.
11. General. This EULA between Licensee and Seagate is governed by and
construed in accordance with the laws of the State of California without
regard to conflict of laws principles. The EULA constitutes the entire
agreement between Seagate and you relating to the Product and governs your
use of the Product, superseding any prior agreement between you and Seagate
relating to the subject matter hereof. If any provision of this EULA is held
by a court of competent jurisdiction to be contrary to law, such provision
will be changed and interpreted so as to best accomplish the objectives of
the original provision to the fullest extent allowed by law and the remaining
provisions of the EULA will remain in force and effect. The Product and any
related technical data are provided with restricted rights. Use,
duplication, or disclosure by the U.S. government is subject to the
restrictions as set forth in subparagraph (c)(1)(iii) of DFARS 252.227-7013
(The Rights in Technical Data and Computer Product) or subparagraphs (c)(1)
and (2) of 48 CFR 52.227-19 (Commercial Computer Product - Restricted
Rights), as applicable. The manufacturer is Seagate. You may not transfer
or assign this EULA or any rights under this EULA, except that you may make a
one-time, permanent transfer of this EULA and the Software to another end
user, provided that (i) you do not retain any copies of the Software, the
Hardware, the media and printed materials, Upgrades (if any), and this EULA,
and (ii) prior to the transfer, the end user receiving this EULA and the
Software agrees to all the EULA terms. Any attempted assignment in violation
of this Section is void. Seagate, the Seagate logo, and other Seagate names
and logos are the trademarks of Seagate.
5.4.2016
===========================================================================
Various Open Source Licenses
This version of the GNU Lesser General Public License incorporates the terms
and conditions of version 3 of the GNU General Public License, supplemented
by the additional permissions listed below.
0. Additional Definitions.
As used herein, "this License" refers to version 3 of the GNU Lesser General
Public License, and the "GNU GPL" refers to version 3 of the GNU General
Public License.
"The Library" refers to a covered work governed by this License, other than
an Application or a Combined Work as defined below.
The "Corresponding Application Code" for a Combined Work means the object
code and/or source code for the Application, including any data and utility
programs needed for reproducing the Combined Work from the Application, but
excluding the System Libraries of the Combined Work.
You may convey a covered work under sections 3 and 4 of this License without
being bound by section 3 of the GNU GPL.
* a) under this License, provided that you make a good faith effort to ensure
that, in the event an Application does not supply the function or data, the
facility still operates, and performs whatever part of its purpose remains
meaningful, or
* b) under the GNU GPL, with none of the additional permissions of this
License applicable to that copy.
The object code form of an Application may incorporate material from a header
file that is part of the Library. You may convey such object code under terms
of your choice, provided that, if the incorporated material is not limited to
numerical parameters, data structure layouts and accessors, or small macros,
inline functions and templates (ten or fewer lines in length), you do both of
the following:
* a) Give prominent notice with each copy of the object code that the Library
is used in it and that the Library and its use are covered by this License.
* b) Accompany the object code with a copy of the GNU GPL and this license
document.
4. Combined Works.
You may convey a Combined Work under terms of your choice that, taken
together, effectively do not restrict modification of the portions of the
Library contained in the Combined Work and reverse engineering for debugging
such modifications, if you also do each of the following:
* a) Give prominent notice with each copy of the Combined Work that the
Library is used in it and that the Library and its use are covered by this
License.
* b) Accompany the Combined Work with a copy of the GNU GPL and this license
document.
5. Combined Libraries.
You may place library facilities that are a work based on the Library side by
side in a single library together with other library facilities that are not
Applications and are not covered by this License, and convey such a combined
library under terms of your choice, if you do both of the following:
* a) Accompany the combined library with a copy of the same work based on the
Library, uncombined with any other library facilities, conveyed under the
terms of this License.
The Free Software Foundation may publish revised and/or new versions of the
GNU Lesser General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
If the Library as you received it specifies that a proxy can decide whether
future versions of the GNU Lesser General Public License shall apply, that
proxy's public statement of acceptance of any version is permanent
authorization for you to choose that version for the Library.
===========================================================================
AUTHORS:
Permission to use, copy, modify, and distribute this software for any purpose
with or without fee is hereby granted, provided that the above copyright notice
and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS "AS
IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
======================================================================
SOURCE CODE files of the opensea open source project have been made available
to you under the Mozilla Public License 2.0 (MPL). Mozilla is the custodian of
the Mozilla Public License ("MPL"), an open source/free software license.
https://www.mozilla.org/en-US/MPL/
1. Definitions
--------------
1.1. "Contributor"
means each individual or legal entity that creates, contributes to
the creation of, or owns Covered Software.
1.3. "Contribution"
means Covered Software of a particular Contributor.
(a) that the initial Contributor has attached the notice described
in Exhibit B to the Covered Software; or
(b) that the Covered Software was made available under the terms of
version 1.1 or earlier of the License, but not also under the
terms of a Secondary License.
1.8. "License"
means this document.
1.9. "Licensable"
means having the right to grant, to the maximum extent possible,
whether at the time of the initial grant or subsequently, any and
all of the rights conveyed by this License.
1.10. "Modifications"
means any of the following:
(a) any file in Source Code Form that results from an addition to,
deletion from, or modification of the contents of Covered
Software; or
(b) any new file in Source Code Form that contains any Covered
Software.
2.1. Grants
(b) under Patent Claims of such Contributor to make, use, sell, offer
for sale, have made, import, and otherwise transfer either its
Contributions or its Contributor Version.
The licenses granted in this Section 2 are the only rights granted under
this License. No additional rights or licenses will be implied from the
distribution or licensing of Covered Software under this License.
Notwithstanding Section 2.1(b) above, no patent license is granted by a
Contributor:
(a) for any code that a Contributor has removed from Covered Software;
or
(b) for infringements caused by: (i) Your and any other third party's
modifications of Covered Software, or (ii) the combination of its
Contributions with other software (except as part of its Contributor
Version); or
(c) under Patent Claims infringed by Covered Software in the absence of
its Contributions.
This License does not grant any rights in the trademarks, service marks,
or logos of any Contributor (except as may be necessary to comply with
the notice requirements in Section 3.4).
2.5. Representation
This License is not intended to limit any rights You have under
applicable copyright doctrines of fair use, fair dealing, or other
equivalents.
2.7. Conditions
Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
in Section 2.1.
3. Responsibilities
-------------------
(a) such Covered Software must also be made available in Source Code
Form, as described in Section 3.1, and You must inform recipients of
the Executable Form how they can obtain a copy of such Source Code
Form by reasonable means in a timely manner, at a charge no more
than the cost of distribution to the recipient; and
(b) You may distribute such Executable Form under the terms of this
License, or sublicense it under different terms, provided that the
license for the Executable Form does not attempt to limit or alter
the recipients' rights in the Source Code Form under this License.
3.3. Distribution of a Larger Work
You may create and distribute a Larger Work under terms of Your choice,
provided that You also comply with the requirements of this License for
the Covered Software. If the Larger Work is a combination of Covered
Software with a work governed by one or more Secondary Licenses, and the
Covered Software is not Incompatible With Secondary Licenses, this
License permits You to additionally distribute such Covered Software
under the terms of such Secondary License(s), so that the recipient of
the Larger Work may, at their option, further distribute the Covered
Software under the terms of either this License or such Secondary
License(s).
3.4. Notices
You may not remove or alter the substance of any license notices
(including copyright notices, patent notices, disclaimers of warranty,
or limitations of liability) contained within the Source Code Form of
the Covered Software, except that You may alter any license notices to
the extent required to remedy known factual inaccuracies.
You may choose to offer, and to charge a fee for, warranty, support,
indemnity or liability obligations to one or more recipients of Covered
Software. However, You may do so only on Your own behalf, and not on
behalf of any Contributor. You must make it absolutely clear that any
such warranty, support, indemnity, or liability obligation is offered by
You alone, and You hereby agree to indemnify every Contributor for any
liability incurred by such Contributor as a result of warranty, support,
indemnity or liability terms You offer. You may include additional
disclaimers of warranty and limitations of liability specific to any
jurisdiction.
5. Termination
--------------
5.1. The rights granted under this License will terminate automatically
if You fail to comply with any of its terms. However, if You become
compliant, then the rights granted under this License from a particular
Contributor are reinstated (a) provisionally, unless and until such
Contributor explicitly and finally terminates Your grants, and (b) on an
ongoing basis, if such Contributor fails to notify You of the
non-compliance by some reasonable means prior to 60 days after You have
come back into compliance. Moreover, Your grants from a particular
Contributor are reinstated on an ongoing basis if such Contributor
notifies You of the non-compliance by some reasonable means, this is the
first time You have received notice of non-compliance with this License
from such Contributor, and You become compliant prior to 30 days after
Your receipt of the notice.
5.3. In the event of termination under Sections 5.1 or 5.2 above, all
end user license agreements (excluding distributors and resellers) which
have been validly granted by You or Your distributors under this License
prior to termination shall survive termination.
************************************************************************
* *
* 6. Disclaimer of Warranty *
* ------------------------- *
* *
* Covered Software is provided under this License on an "as is" *
* basis, without warranty of any kind, either expressed, implied, or *
* statutory, including, without limitation, warranties that the *
* Covered Software is free of defects, merchantable, fit for a *
* particular purpose or non-infringing. The entire risk as to the *
* quality and performance of the Covered Software is with You. *
* Should any Covered Software prove defective in any respect, You *
* (not any Contributor) assume the cost of any necessary servicing, *
* repair, or correction. This disclaimer of warranty constitutes an *
* essential part of this License. No use of any Covered Software is *
* authorized under this License except under this disclaimer. *
* *
************************************************************************
************************************************************************
* *
* 7. Limitation of Liability *
* -------------------------- *
* *
* Under no circumstances and under no legal theory, whether tort *
* (including negligence), contract, or otherwise, shall any *
* Contributor, or anyone who distributes Covered Software as *
* permitted above, be liable to You for any direct, indirect, *
* special, incidental, or consequential damages of any character *
* including, without limitation, damages for lost profits, loss of *
* goodwill, work stoppage, computer failure or malfunction, or any *
* and all other commercial damages or losses, even if such party *
* shall have been informed of the possibility of such damages. This *
* limitation of liability shall not apply to liability for death or *
* personal injury resulting from such party's negligence to the *
* extent applicable law prohibits such limitation. Some *
* jurisdictions do not allow the exclusion or limitation of *
* incidental or consequential damages, so this exclusion and *
* limitation may not apply to You. *
* *
************************************************************************
8. Litigation
-------------
9. Miscellaneous
----------------
You may distribute the Covered Software under the terms of the version
of the License under which You originally received the Covered Software,
or under the terms of any subsequent version published by the license
steward.
If you create software not governed by this License, and you want to
create a new license for such software, you may create and use a
modified version of this License if you rename the license and remove
any references to the name of the license steward (except to note that
such modified license differs from this License).
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at http://mozilla.org/MPL/2.0/.
If it is not possible or desirable to put the notice in a particular
file, then You may include the notice in a location (such as a LICENSE
file in a relevant directory) where a recipient would be likely to look
for such a notice.