--- /dev/null
+Current versions:
+
+ql2100_fw.bin -- 1.19.38 TP
+ql2200_fw.bin -- 2.02.08 TP
+ql2300_fw.bin -- 3.03.28 IPX
+ql2322_fw.bin -- 3.03.28 IPX
+ql2400_fw.bin -- 5.03.07 MID
+ql2500_fw.bin -- 5.03.07 MIDQ
+
+Other versions:
+
+* All 24xx/25xx released firmware are now MID capable. The
+ *_mid (ql2400_fw.bin_mid) firmware variants are no longer
+ needed.
+
+* ql2100_fw.bin.1.17.38 -- some users have reported greater
+ stability with qla2100 cards when using this version of
+ firmware.
+
+* ql2300_fw.bin.3.03.20
+* ql2322_fw.bin.3.03.20
+
+* ql2400_fw.bin.4.00.16 -- does not support ISP54XX parts.
+* ql2400_fw.bin.4.00.18
+* ql2400_fw.bin.4.00.22
+* ql2400_fw.bin.4.00.23
+* ql2400_fw.bin.4.00.27
+* ql2400_fw.bin.4.04.00
+* ql2400_fw.bin.4.04.04
+* ql2400_fw.bin.4.04.05
+
+* ql2500_fw.bin.4.04.00
+* ql2500_fw.bin.4.04.05
+
+* ql6312_fw.bin.3.03.18 -- this separate firmware image has
+ been retired as ISP6312 and ISP6322 chips are support via
+ the ql2300_fw.bin and ql2322_fw.bin images.
--- /dev/null
+Copyright (c) 2003-2010 QLogic Corporation
+QLogic Linux Fibre Channel Adapter Firmware
+
+Redistribution and use in binary form, without modification, for use in conjunction
+with QLogic authorized products is permitted provided that the following conditions
+are met:
+
+1. Redistribution in binary form must reproduce the above copyright notice, this
+ list of conditions and the following disclaimer in the documentation and/or
+ other materials provided with the distribution.
+2. The name of QLogic Corporation may not be used to endorse or promote products
+ derived from this software without specific prior written permission.
+3. Reverse engineering, decompilation, or disassembly of this firmware is not
+ permitted.
+
+REGARDLESS OF WHAT LICENSING MECHANISM IS USED OR APPLICABLE,THIS PROGRAM IS
+PROVIDED BY QLOGIC CORPORATION "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 AUTHOR
+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.
+
+USER ACKNOWLEDGES AND AGREES THAT USE OF THIS PROGRAM WILL NOT CREATE OR GIVE
+GROUNDS FOR A LICENSE BY IMPLICATION, ESTOPPEL, OR OTHERWISE IN ANY INTELLECTUAL
+PROPERTY RIGHTS (PATENT, COPYRIGHT, TRADE SECRET, MASK WORK, OR OTHER PROPRIETARY
+RIGHT) EMBODIED IN ANY OTHER QLOGIC HARDWARE OR SOFTWARE EITHER SOLELY OR IN
+COMBINATION WITH THIS PROGRAM.
--- /dev/null
+Copyright (c) 2003-2006 QLogic Corporation
+QLogic Linux Fibre Channel HBA Firmware
+
+You may redistribute the hardware specific firmware binary file
+under the following terms:
+
+ 1. Redistribution of source code (only if applicable),
+ must retain the above copyright notice, this list of
+ conditions and the following disclaimer.
+
+ 2. Redistribution in binary form must reproduce the above
+ copyright notice, this list of conditions and the
+ following disclaimer in the documentation and/or other
+ materials provided with the distribution.
+
+ 3. The name of QLogic Corporation may not be used to
+ endorse or promote products derived from this software
+ without specific prior written permission
+
+REGARDLESS OF WHAT LICENSING MECHANISM IS USED OR APPLICABLE,
+THIS PROGRAM IS PROVIDED BY QLOGIC CORPORATION "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 AUTHOR
+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.
+
+USER ACKNOWLEDGES AND AGREES THAT USE OF THIS PROGRAM WILL NOT
+CREATE OR GIVE GROUNDS FOR A LICENSE BY IMPLICATION, ESTOPPEL, OR
+OTHERWISE IN ANY INTELLECTUAL PROPERTY RIGHTS (PATENT, COPYRIGHT,
+TRADE SECRET, MASK WORK, OR OTHER PROPRIETARY RIGHT) EMBODIED IN
+ANY OTHER QLOGIC HARDWARE OR SOFTWARE EITHER SOLELY OR IN
+COMBINATION WITH THIS PROGRAM.
--- /dev/null
+#!/bin/bash
+ARGV=( $0 $@ )
+ARGC=$#
+NAME="${0##*\/}"
+INITIAL_PWD=$PWD # `pwd`
+#############################################################################
+#
+# pullQLogicFirmware
+#
+
+#echo
+#echo "$NAME : $ARGC : $ARGV"
+#echo
+#echo "$INITIAL_PWD"
+
+CP="/bin/cp"
+MKDIR="/bin/mkdir"
+RM="/bin/rm"
+
+if (( $ARGC == 0 )); then
+ rootDir="$INITIAL_PWD"
+elif (( $ARGC == 1 )); then
+ rootDir="${ARGV[1]}"
+ if [[ "${rootDir%%\/*}" == \.* ]]; then
+ rootDir="${INITIAL_PWD}/${rootDir}"
+ fi
+else
+ echo
+ echo "Error : too many args"
+ echo
+ exit $ARGC
+fi
+
+if [[ ! -d "$rootDir" ]]; then
+ echo
+ echo "Error : Bad rootDir : $rootDir"
+ echo
+ echo " iPWD: $INITIAL_PWD"
+ echo
+ exit $ARGC
+fi
+
+QLogic_ftpSite="ftp://ftp.qlogic.com/outgoing/linux/firmware"
+QLogic_getCmd="wget -nv -nd -r"
+
+if (( 0 )); then
+
+ QLogic_docsToGet=( CURRENT_VERSIONS
+ LICENSE
+ )
+else
+ QLogic_docsToGet=()
+fi
+if (( 0 )); then
+ # version from CURRENT_VERSIONS on 2006-05-30
+ QLogic_firmwareToGet=( ql2100_fw.bin #-- 1.19.38 TP
+ ql2200_fw.bin #-- 2.02.08 TP
+ ql2300_fw.bin #-- 3.03.20 IPX
+ ql2322_fw.bin #-- 3.03.20 IPX
+ ql2400_fw.bin #-- 4.00.22 IP
+ )
+else
+ QLogic_firmwareToGet=()
+fi
+
+QLogic_firmwareDir="${rootDir}/lib/firmware/"
+QLogic_docDir="${rootDir}/usr/share/doc/packages/qlogic-firmware/"
+
+QLogic_wget_tmpDir="${rootDir}/QLogic_wget_tmpDir/"
+
+if [[ -d "${QLogic_wget_tmpDir}" ]]; then
+ echo
+ echo "Error : QLogic_wget_tmpDir ALREADY exists : ${QLogic_wget_tmpDir}"
+ echo
+ exit $ARGC
+fi
+
+echo
+echo "QLogic_ftpSite: ${QLogic_ftpSite}"
+echo "QLogic_getCmd: ${QLogic_getCmd}"
+echo
+if (( ${#QLogic_docsToGet} > 0 )); then
+ echo "QLogic_docsToGet: ${QLogic_docsToGet[@]}"
+else
+ echo "QLogic_docsToGet: *_fw.bin* <== All_Except"
+fi
+if (( ${#QLogic_firmwareToGet} > 0 )); then
+ echo "QLogic_firmwareToGet: ${QLogic_firmwareToGet[@]}"
+else
+ echo "QLogic_firmwareToGet: *_fw.bin"
+fi
+echo
+echo "QLogic_docDir: ${QLogic_docDir}"
+echo "QLogic_firmwareDir: ${QLogic_firmwareDir}"
+echo
+echo "QLogic_wget_tmpDir: ${QLogic_wget_tmpDir}"
+echo
+echo "########################################################################"
+echo
+
+#exit 0
+
+$MKDIR "$QLogic_wget_tmpDir"
+
+if [[ ! -d "${QLogic_wget_tmpDir}" ]]; then
+ echo
+ echo "Error : '${MKDIR} ${QLogic_wget_tmpDir}' failed"
+ echo
+ exit -1
+fi
+
+#pushd "${QLogic_docDir}" > /dev/null
+ pushd "${QLogic_wget_tmpDir}" > /dev/null
+echo "cPWD: $PWD" # `pwd`
+echo
+
+if (( ${#QLogic_docsToGet} > 0 )); then
+
+ for theDoc in ${QLogic_docsToGet[@]}
+ do
+ echo "${QLogic_getCmd} ${QLogic_ftpSite}/${theDoc}"
+ $QLogic_getCmd "${QLogic_ftpSite}/${theDoc}"
+ done
+
+else
+ $QLogic_getCmd -R"*_fw.bin*" "${QLogic_ftpSite}/*"
+fi
+
+popd > /dev/null
+echo
+#pushd "${QLogic_firmwareDir}" > /dev/null
+ pushd "${QLogic_wget_tmpDir}" > /dev/null
+echo "cPWD: $PWD" # `pwd`
+echo
+
+if (( ${#QLogic_firmwareToGet} > 0 )); then
+
+ for theFirmware in ${QLogic_firmwareToGet[@]}
+ do
+ echo "${QLogic_getCmd} ${QLogic_ftpSite}/${theFirmware}"
+ $QLogic_getCmd "${QLogic_ftpSite}/${theFirmware}"
+ done
+
+else
+ $QLogic_getCmd -A"*_fw.bin" "${QLogic_ftpSite}/*"
+fi
+
+popd > /dev/null
+
+echo
+exit 0
+#
+# END
+#############################################################################