diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | host/.gitignore | 1 | ||||
-rw-r--r-- | host/cmake/debian/NetworkManager-USRP | 14 | ||||
-rw-r--r-- | host/cmake/debian/README.Debian | 65 | ||||
-rw-r--r-- | host/cmake/debian/changelog | 28 | ||||
-rw-r--r-- | host/cmake/debian/compat | 1 | ||||
-rw-r--r-- | host/cmake/debian/control | 63 | ||||
-rw-r--r-- | host/cmake/debian/copyright | 1179 | ||||
-rw-r--r-- | host/cmake/debian/libuhd-dev.install | 4 | ||||
-rw-r--r-- | host/cmake/debian/libuhd003.install | 1 | ||||
-rw-r--r-- | host/cmake/debian/libuhd003.shlibs | 1 | ||||
-rw-r--r-- | host/cmake/debian/patches/series | 1 | ||||
-rwxr-xr-x | host/cmake/debian/rules | 20 | ||||
-rw-r--r-- | host/cmake/debian/source/format | 1 | ||||
-rw-r--r-- | host/cmake/debian/uhd-host.dirs | 8 | ||||
-rw-r--r-- | host/cmake/debian/uhd-host.install | 4 | ||||
-rw-r--r-- | host/cmake/debian/uhd-host.limits | 1 | ||||
-rw-r--r-- | host/cmake/debian/uhd-host.postinst | 17 | ||||
-rw-r--r-- | host/cmake/debian/uhd-host.sysctl | 3 | ||||
-rw-r--r-- | host/cmake/debian/uhd-images.dirs | 1 | ||||
-rw-r--r-- | host/docs/octoclock.dox | 213 | ||||
-rwxr-xr-x | tools/debs/convert_changelog.py | 108 | ||||
-rwxr-xr-x | tools/debs/upload_debs.sh | 149 |
23 files changed, 1822 insertions, 62 deletions
diff --git a/.gitignore b/.gitignore index 80fb99fff..ab7cc5149 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ +debian *~ *swp diff --git a/host/.gitignore b/host/.gitignore index 9b0584c23..a3d6d91bf 100644 --- a/host/.gitignore +++ b/host/.gitignore @@ -1,3 +1,4 @@ +!debian /build tags *~ diff --git a/host/cmake/debian/NetworkManager-USRP b/host/cmake/debian/NetworkManager-USRP new file mode 100644 index 000000000..1552ab5d3 --- /dev/null +++ b/host/cmake/debian/NetworkManager-USRP @@ -0,0 +1,14 @@ +[802-3-ethernet] +duplex=full + +[connection] +id=USRP +uuid=f6a7696d-4958-48f4-b1eb-c2ab9de0a838 +type=802-3-ethernet + +[ipv6] +method=auto + +[ipv4] +method=manual +addresses1=192.168.10.1;24;0.0.0.0; diff --git a/host/cmake/debian/README.Debian b/host/cmake/debian/README.Debian new file mode 100644 index 000000000..692e43980 --- /dev/null +++ b/host/cmake/debian/README.Debian @@ -0,0 +1,65 @@ +UHD, the "Universal Software Radio Peripheral" hardware driver on Debian: +========================================================================= + +usrp group +---------- + +The Debian uhd-host package installs a usrp group. +This provides two main benefits: + - Access control: + The udev rules limit access to members of the group + (at least for USB attached USRPs). + - Real Time Priority privilege: + The pam limits setting allows UHD to boost the + thread scheduling priority for usrp group members. + +To avail yourself of these benefits, add your username +to the usrp group, perhaps by running, as root something like: + + adduser myusername usrp + +substituting your user name for myusername. +Settings will not take effect until the user has logged in and out. + + +Multiple packages +----------------- + +uhd-host: + The uhd-host package contains the uhd_find_devices and + uhd_usrp_probe commands for locating and examining USRP devices + available to the host system. + + Also, under /usr/lib/uhd/ are examples, tests and utils + directories. The utils include tools for managing the + flash memory or EEPROM configuration of various USRPs. + +libuhd003: + Small package just for the library itself. + +libuhd-dev: + Small package just for developing applications + using the library itself. + +UHD Firmware / FPGA images +-------------------------- + + The uhd-images package is not part of the main Debian distribution + because the FPGA firmware requires non-free vendor tools to compile + from source. + + For USRP devices with non-volatile configuration having the firmware + images on the host is optional. But some USRPs are volatile, and + the UHD library will fetch files from the /usr/share/uhd/images/ + directory at runtime. + + The uhd_images_downloader is a python script to download from + Ettus.com and install the files. + +More Information +---------------- + +Additional HTML documentation is installed. See +file:///usr/share/doc/uhd-host/doxygen/html/index.html + + -- A. Maitland Bottoms <bottoms@debian.org>, Thu, 9 Oct 2014 23:14:19 -0400 diff --git a/host/cmake/debian/changelog b/host/cmake/debian/changelog new file mode 100644 index 000000000..40f04bf74 --- /dev/null +++ b/host/cmake/debian/changelog @@ -0,0 +1,28 @@ +uhd (3.9.2-0ubuntu1) trusty; urgency=low + + * E310: Added support for Speedgrade 3 + * B205mini: Added support + * E310: Fixed reference counting bug + * B210: Fixed external clock reference bug for devices using ADF4002 PLLs + * B210: Fixed codec loopback test + * OctoClock: Fixed firmware burning on Windows + * B2XX, E3XX, X3XX: Easier time-syncing features. Fixes bug where B210s would + only run after issuing set_time_unknown_pps(). + * X3XX: Fixed bug for IQ imbalance correction + * E310: DRAM testbenching + * Docs/Manual: Many updates and fixes + + -- Martin Braun <martin.braun@ettus.com> Wed, 30 Dec 2015 11:48:37 -0800 + +uhd (3.9.1-0ubuntu1) trusty; urgency=low + + * B200mini: Updated udev rules, removed DCM + * B200: Better USB error messages + * Cores: Fixed CORDIC scaling issue on all devices that use + dsp_core_3000 + * X300: Fixed GPIO issue + * Examples: Added PPS source option + * Docs: Multiple manual updates + + -- Nicholas Corgan <nick.corgan@ettus.com> Tue, 29 Dec 2015 03:06:31 -0800 + diff --git a/host/cmake/debian/compat b/host/cmake/debian/compat new file mode 100644 index 000000000..ec635144f --- /dev/null +++ b/host/cmake/debian/compat @@ -0,0 +1 @@ +9 diff --git a/host/cmake/debian/control b/host/cmake/debian/control new file mode 100644 index 000000000..4e41c779e --- /dev/null +++ b/host/cmake/debian/control @@ -0,0 +1,63 @@ +Source: uhd +Section: science +Priority: optional +Maintainer: Ettus Research <packages@ettus.com> +Uploaders: Martin Braun <martin.braun@ettus.com>, Nicholas Corgan <nick.corgan@ettus.com> +Build-Depends: debhelper (>= 9), cmake (>= 2.8.4+dfsg.1-3), python-dev, python-mako, doxygen, libusb-1.0-0-dev [linux-any], libusb2-dev [kfreebsd-any], libncurses5-dev, pkg-config, + libboost-dev, + libboost-date-time-dev, + libboost-filesystem-dev, + libboost-program-options-dev, + libboost-regex-dev, + libboost-system-dev, + libboost-thread-dev, + libboost-test-dev, + libboost-serialization-dev +Standards-Version: 3.9.5 +Homepage: https://www.ettus.com +Vcs-Git: git://github.com/EttusResearch/uhd.git + +Package: uhd-host +Architecture: any +Depends: libuhd003, python, adduser, python-requests, ${shlibs:Depends}, ${misc:Depends} +Recommends: python-tk, curl, procps +Suggests: gnuradio +Description: hardware driver for Ettus Research products + Host utilities for the USRP Hardware Driver for Ettus Research products. + . + The supported devices provide analog radio receiver and transmitter hardware + along with digital interfaces for getting signals to and from a software + defined radio running on the host computer. + . + This package includes the uhd_find_devices application to locate and + configure attached peripherals, and the uhd_usrp_probe application to + display hardware configuration information. + +Package: libuhd003 +Architecture: any +Section: libs +Pre-Depends: multiarch-support, ${misc:Pre-Depends} +Depends: python, adduser, ${shlibs:Depends}, ${misc:Depends} +Suggests: gnuradio +Multi-Arch: same +Description: hardware driver for Ettus Research products + Host library for the USRP Hardware Driver for Ettus Research products. + . + The supported devices provide analog radio receiver and transmitter hardware + along with digital interfaces for getting signals to and from a software + defined radio running on the host computer. + +Package: libuhd-dev +Architecture: any +Section: libdevel +Depends: libuhd003 (= ${binary:Version}), python, adduser, ${shlibs:Depends}, ${misc:Depends} +Suggests: libjs-jquery, gnuradio +Description: universal hardware driver for Ettus Research products + Host library for the USRP Hardware Driver for Ettus Research products. + . + The supported devices provide analog radio receiver and transmitter hardware + along with digital interfaces for getting signals to and from a software + defined radio running on the host computer. + . + This package contains the header files and documentation for + developing with libuhd. diff --git a/host/cmake/debian/copyright b/host/cmake/debian/copyright new file mode 100644 index 000000000..32c7060ea --- /dev/null +++ b/host/cmake/debian/copyright @@ -0,0 +1,1179 @@ +Format: http://dep.debian.net/deps/dep5/ +Upstream-Name: UHD +Upstream-Contact: http://www.ettus.com/contact +Source: http://code.ettus.com/redmine/ettus/projects/uhd/wiki#Source-code +X-Note: The upstream package source tarball was generated from the tag: + git archive --format=tar --prefix=uhd-3.7.3/ release_003_007_003 | xz > ../uhd_3.7.3.orig.tar.gz +Comment: Only the host directory of the distributed source is used to build the uhd-host package for Debian main. +Copyright: Copyright 2010-2011 Ettus Research LLC +License: GPL-3+ + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + . + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + . + On Debian systems, the complete text of the GNU General + Public License can be found in `/usr/share/common-licenses/GPL-3'. + +Files: debian/* +Copyright: © 2011-2012 A. Maitland Bottoms <bottoms@debian.org> +License: GPL-3+ + +Files: host/* not listed below: +Copyright: Copyright 2010-2011 Ettus Research LLC +License: GPL-3+ + +Files: host/cmake/Modules/FindGit.cmake +Copyright: Copyright 2010 Kitware, Inc. +License: Kitware-BSD + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + . + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + . + * Redistributions 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. + . + * Neither the names of Kitware, Inc., the Insight Software Consortium, + nor the names of their contributors may be used to endorse or promote + products derived from this software without specific prior written + permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 COPYRIGHT + HOLDER 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. + +Files: host/cmake/Modules/FindUSB1.cmake +Copyright: Copyright (c) 2006, 2008 Laurent Montel, <montel@kde.org> +License: Kitware-BSD + +Files: host/cmake/msvc/* +Copyright: Copyright (c) 2006 Alexander Chemeris +Comment: Not used for building Debian packages. +License: BSD + // Redistribution and use in source and binary forms, with or without + // modification, are permitted provided that the following conditions are met: + // + // 1. Redistributions of source code must retain the above copyright notice, + // this list of conditions and the following disclaimer. + // + // 2. Redistributions 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 the author may be used to endorse or promote products + // derived from this software without specific prior written permission. + // + // THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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. + +Files: images/* +Copyright: Copyright 2010-2011 Ettus Research LLC +License: GPL-3+ +Comment: Not used for uhd-host package + +Files: firmware/fx3/* firmware/octoclock/* firmware/x300/* +Copyright: 2013-2014 Ettus Research LLC +License: GPL-3+ + +Files: firmware/fx2/* not listed below +Copyright: 2003,2004,2006,2007 Free Software Foundation, Inc. +License: GPL-3+ + +Files: firmware/fx2/b100/CMakeLists.txt + firmware/fx2/CMakeLists.txt + firmware/fx2/config/CMakeASM_SDCCInformation.cmake + firmware/fx2/config/Rename.cmake + firmware/fx2/config/Toolchain-sdcc.cmake + firmware/fx2/usrp1/CMakeLists.txt +Copyright: 2010 Ettus Research LLC +License: GPL-3+ + +Files: firmware/fx2/config/CMakeTestASM_SDCCCompiler.cmake + firmware/fx2/config/CMakeDetermineASM_SDCCCompiler.cmake +Copyright: 2008-2009 Kitware, Inc. +License: Kitware-BSD + +Files: firmware/zpu/apps* firmware/zpu/lib/* + firmware/zpu/lwip/*.h firmware/zpu/usrp2/* + firmware/README.txt +Copyright: Copyright 2010-2011 Ettus Research LLC +License: GPL-3+ + +Files: firmware/zpu/apps* firmware/zpu/bin/* firmware/zpu/lib/* + firmware/zpu/lwip/*.h firmware/zpu/usrp2/* +Copyright: Copyright 2007-2009 Free Software Foundation, Inc. +License: GPL-3+ + +Files: firmware/zpu/lwip/lwip-1.3.1 +Copyright: (c) 2001-2004 Swedish Institute of Computer Science. +License: lwip-BSD + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions 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 the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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. +Comment: liIP Author Adam Dunkels <adam@sics.se> + http://savannah.nongnu.org/projects/lwip/ + Also includes other BSD licensed code from additional copyright + holders outlined in detail below... + +Files: firmware/zpu/lwip/lwip-1.3.1/src/core/dns.c firmware/zpu/lwip/lwip-1.3.1/src/include/lwip/dns.h +Copyright: (c) 2002-2003, Adam Dunkels. +License: lwip-BSD +Comments: + * Port to lwIP from uIP + * by Jim Pettinato April 2007 + * ported from uIP resolv.c + +Files: firmware/zpu/lwip/lwip-1.3.1/src/core/ipv4/autoip.c firmware/zpu/lwip/lwip-1.3.1/src/include/ipv4/lwip/autoip.h +Copyright: (c) 2007 Dominik Spies <kontakt@dspies.de> + * All rights reserved. +License: lwip-BSD + +Files: firmware/zpu/lwip/lwip-1.3.1/src/core/dhcp.c + firmware/zpu/lwip/lwip-1.3.1/src/netif/etharp.c + firmware/zpu/lwip/lwip-1.3.1/src/include/netif/etharp.h + firmware/zpu/lwip/lwip-1.3.1/src/include/lwip/snmp.h +Copyright: (c) 2001-2004 Leon Woestenberg <leon.woestenberg@gmx.net> +License: lwip-BSD + +Files: firmware/zpu/lwip/lwip-1.3.1/src/include/netif/etharp.h + firmware/zpu/lwip/lwip-1.3.1/src/include/lwip/snmp.h + firmware/zpu/lwip/lwip-1.3.1/src/include/lwip/snmp_asn1.h + firmware/zpu/lwip/lwip-1.3.1/src/include/lwip/snmp_msg.h + firmware/zpu/lwip/lwip-1.3.1/src/include/lwip/snmp_structs.h + firmware/zpu/lwip/lwip-1.3.1/src/core/dhcp.c + firmware/zpu/lwip/lwip-1.3.1/src/core/snmp/mib2.c + firmware/zpu/lwip/lwip-1.3.1/src/core/snmp/msg_out.c + firmware/zpu/lwip/lwip-1.3.1/src/core/snmp/msg_in.c + firmware/zpu/lwip/lwip-1.3.1/src/core/snmp/asn1_dec.c + firmware/zpu/lwip/lwip-1.3.1/src/core/snmp/asn1_enc.c + firmware/zpu/lwip/lwip-1.3.1/src/core/snmp/mib_structs.c + firmware/zpu/lwip/lwip-1.3.1/src/netif/etharp.c +Copyright: (c) 2001-2004,2006 Axon Digital Design B.V., The Netherlands. +License: lwip-BSD +Comment: Christiaan Simons <christiaan.simons@axon.tv> + +Files: firmware/zpu/lwip/lwip-1.3.1/src/netif/ppp/pppdebug.h: +Copyright: (c) 2003 by Marc Boucher, Services Informatiques (MBSI) inc. + portions Copyright (c) 1998 Global Election Systems Inc. + portions Copyright (c) 2001 by Cognizant Pty Ltd. +License: MBSI-BSD + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice and the following disclaimer are included verbatim in any + * distributions. No written agreement, license, or royalty fee is required + * for any of the authorized uses. + * + * THIS SOFTWARE IS PROVIDED BY THE 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 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. + +Files: firmware/zpu/lwip/lwip-1.3.1/src/netif/ppp/randm.c firmware/zpu/lwip/lwip-1.3.1/src/netif/ppp/randm.h +Copyright: (c) 2003 by Marc Boucher, Services Informatiques (MBSI) inc. + Copyright (c) 1998 Global Election Systems Inc. +License: MBSI-BSD +Comments: + * 03-01-01 Marc Boucher <marc@mbsi.ca> + * Ported to lwIP. + * 98-06-03 Guy Lancaster <lancasterg@acm.org>, Global Election Systems Inc. + * Extracted from avos. + +Files: firmware/zpu/lwip/lwip-1.3.1/src/netif/ppp/chpms.c firmware/zpu/lwip/lwip-1.3.1/src/netif/ppp/chpms.h + firmware/zpu/lwip/lwip-1.3.1/src/netif/ppp/chap.c firmware/zpu/lwip/lwip-1.3.1/src/netif/ppp/chap.h +Copyright: (c) 2003 by Marc Boucher, Services Informatiques (MBSI) inc. + portions Copyright (c) 1998 Global Election Systems Inc. +License: MBSI-BSD + +Files: firmware/zpu/lwip/lwip-1.3.1/src/netif/ppp/auth.c firmware/zpu/lwip/lwip-1.3.1/src/netif/ppp/auth.h + firmware/zpu/lwip/lwip-1.3.1/src/netif/ppp/magic.c firmware/zpu/lwip/lwip-1.3.1/src/netif/ppp/magic.h + firmware/zpu/lwip/lwip-1.3.1/src/netif/ppp/fsm.c firmware/zpu/lwip/lwip-1.3.1/src/netif/ppp/fsm.h + firmware/zpu/lwip/lwip-1.3.1/src/netif/ppp/ppp.c firmware/zpu/lwip/lwip-1.3.1/src/netif/ppp/ppp.h + firmware/zpu/lwip/lwip-1.3.1/src/netif/ppp/pap.c firmware/zpu/lwip/lwip-1.3.1/src/netif/ppp/pap.h + firmware/zpu/lwip/lwip-1.3.1/src/netif/ppp/lcp.c firmware/zpu/lwip/lwip-1.3.1/src/netif/ppp/lcp.h + firmware/zpu/lwip/lwip-1.3.1/src/netif/ppp/ipcp.c firmware/zpu/lwip/lwip-1.3.1/src/netif/ppp/ipcp.h +Copyright: (c) 2003 by Marc Boucher, Services Informatiques (MBSI) inc. + portions Copyright (c) 1997,1998 by Global Election Systems Inc. +License: MBSI-BSD + +Files: firmware/zpu/lwip/lwip-1.3.1/src/netif/ppp/chpms.c firmware/zpu/lwip/lwip-1.3.1/src/netif/ppp/chpms.h +Copyright: (c) 1995 Eric Rosenquist, Strata Software Limited. + * All rights reserved. +License: + * Redistribution and use in source and binary forms are permitted + * provided that the above copyright notice and this paragraph are + * duplicated in all such forms and that any documentation, + * advertising materials, and other materials related to such + * distribution and use acknowledge that the software was developed + * by Eric Rosenquist. The name of the author may not be used to + * endorse or promote products derived from this software without + * specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. +Comments: http://www.strataware.com/ + +Files: firmware/zpu/lwip/lwip-1.3.1/src/netif/ppp/chap.c firmware/zpu/lwip/lwip-1.3.1/src/netif/ppp/chap.h +Copyright: (c) 1991 Gregory M. Christy + * All rights reserved. +License: + * Redistribution and use in source and binary forms are permitted + * provided that the above copyright notice and this paragraph are + * duplicated in all such forms and that any documentation, + * advertising materials, and other materials related to such + * distribution and use acknowledge that the software was developed + * by Gregory M. Christy. The name of the author may not be used to + * endorse or promote products derived from this software without + * specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. + +Files: firmware/zpu/lwip/lwip-1.3.1/src/netif/ppp/ppp.c firmware/zpu/lwip/lwip-1.3.1/src/netif/ppp/ppp.h + firmware/zpu/lwip/lwip-1.3.1/src/netif/ppp/auth.c + firmware/zpu/lwip/lwip-1.3.1/src/netif/ppp/chap.c firmware/zpu/lwip/lwip-1.3.1/src/netif/ppp/chap.h +Copyright: (c) 1993,1994 The Australian National University. + * All rights reserved. +License: + * Permission to use, copy, modify, and distribute this software and its + * documentation is hereby granted, provided that the above copyright + * notice appears in all copies. This software is provided without any + * warranty, express or implied. The Australian National University + * makes no representations about the suitability of this software for + * any purpose. + * + * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY + * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES + * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF + * THE AUSTRALIAN NATIONAL UNIVERSITY HAVE BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS + * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO + * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, + * OR MODIFICATIONS. + +Files: firmware/zpu/lwip/lwip-1.3.1/src/netif/ppp/ppp.c firmware/zpu/lwip/lwip-1.3.1/src/netif/ppp/ppp.h + firmware/zpu/lwip/lwip-1.3.1/src/netif/ppp/auth.c firmware/zpu/lwip/lwip-1.3.1/src/netif/ppp/auth.h + firmware/zpu/lwip/lwip-1.3.1/src/netif/ppp/pap.c firmware/zpu/lwip/lwip-1.3.1/src/netif/ppp/pap.h + firmware/zpu/lwip/lwip-1.3.1/src/netif/ppp/lcp.c firmware/zpu/lwip/lwip-1.3.1/src/netif/ppp/lcp.h + firmware/zpu/lwip/lwip-1.3.1/src/netif/ppp/ipcp.c firmware/zpu/lwip/lwip-1.3.1/src/netif/ppp/ipcp.h + firmware/zpu/lwip/lwip-1.3.1/src/netif/ppp/fsm.c firmware/zpu/lwip/lwip-1.3.1/src/netif/ppp/fsm.h + firmware/zpu/lwip/lwip-1.3.1/src/netif/ppp/magic.c firmware/zpu/lwip/lwip-1.3.1/src/netif/ppp/magic.h +Copyright: (c) 1989 Carnegie Mellon University. + * All rights reserved. +License: + * Redistribution and use in source and binary forms are permitted + * provided that the above copyright notice and this paragraph are + * duplicated in all such forms and that any documentation, + * advertising materials, and other materials related to such + * distribution and use acknowledge that the software was developed + * by Carnegie Mellon University. The name of the + * University may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. + +Files: firmware/zpu/lwip/lwip-1.3.1/src/netif/ppp/ppp_oe.c firmware/zpu/lwip/lwip-1.3.1/src/include/netif/ppp_oe.h +Copyright: (c) 2006 by Marc Boucher, Services Informatiques (MBSI) inc. +License: MBSI-BSD + +Files: firmware/zpu/lwip/lwip-1.3.1/src/core/ipv4/igmp.c firmware/zpu/lwip/lwip-1.3.1/src/include/ipv4/lwip/igmp.h +Copyright: (c) 2002 CITEL Technologies Ltd. + * All rights reserved. +License: CITEL-BSD + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions 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. Neither the name of CITEL Technologies Ltd nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY CITEL TECHNOLOGIES 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 CITEL TECHNOLOGIES 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. + * + * This file is a contribution to the lwIP TCP/IP stack. + * The Swedish Institute of Computer Science and Adam Dunkels + * are specifically granted permission to redistribute this + * source code. + +Files: firmware/zpu/lwip/lwip-1.3.1/src/netif/ppp/ppp_oe.c firmware/zpu/lwip/lwip-1.3.1/src/include/netif/ppp_oe.h +Copyright: (c) 2002 The NetBSD Foundation, Inc. +License: NetBSD + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions 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. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. +Comments: + /* based on NetBSD: if_pppoe.c,v 1.64 2006/01/31 23:50:15 martin Exp */ + * This code is derived from software contributed to The NetBSD Foundation + * by Martin Husemann <martin@NetBSD.org>. + +Files: firmware/zpu/lwip/lwip-1.3.1/src/netif/ppp/vj.c + firmware/zpu/lwip/lwip-1.3.1/src/netif/ppp/vj.h +Copyright: (c) 1989 Regents of the University of California. + * All rights reserved. +License: VJ-BSD + * Redistribution and use in source and binary forms are permitted + * provided that the above copyright notice and this paragraph are + * duplicated in all such forms and that any documentation, + * advertising materials, and other materials related to such + * distribution and use acknowledge that the software was developed + * by the University of California, Berkeley. The name of the + * University may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. +Comments: + * Van Jacobson (van@helios.ee.lbl.gov), Dec 31, 1989: + * Initial distribution. + * + * Modified June 1993 by Paul Mackerras, paulus@cs.anu.edu.au, + * so that the entire packet being decompressed doesn't have + * to be in contiguous memory (just the compressed header). + * + * Modified March 1998 by Guy Lancaster, glanca@gesn.com, + * for a 16 bit processor. + +Files: firmware/zpu/lwip/lwip-1.3.1/src/netif/ppp/md5.c + firmware/zpu/lwip/lwip-1.3.1/src/netif/ppp/md5.h +Copyright: (C) 1990, RSA Data Security, Inc. All rights reserved. +License: RSA-BSD + ** License to copy and use this software is granted provided that ** + ** it is identified as the "RSA Data Security, Inc. MD5 Message- ** + ** Digest Algorithm" in all material mentioning or referencing this ** + ** software or this function. ** + ** ** + ** License is also granted to make and use derivative works ** + ** provided that such works are identified as "derived from the RSA ** + ** Data Security, Inc. MD5 Message-Digest Algorithm" in all ** + ** material mentioning or referencing the derived work. ** + ** ** + ** RSA Data Security, Inc. makes no representations concerning ** + ** either the merchantability of this software or the suitability ** + ** of this software for any particular purpose. It is provided "as ** + ** is" without express or implied warranty of any kind. ** + ** ** + ** These notices must be retained in any copies of any part of this ** + ** documentation and/or software. ** + + +Files: fpga/* not listed below +Copyright: 2008-2012 Ettus Research LLC +License: GPL-3+ +Comment: Not used for uhd-host package + +Files: fpga/usrp2/opencores/spi_boot/COPYING + fpga/usrp1/rbf/rev2/Makefile.am + fpga/usrp1/rbf/Makefile.am + fpga/usrp1/rbf/rev4/Makefile.am + fpga/usrp1/Makefile.am + fpga/usrp1/gen_makefile_extra.py + fpga/usrp1/toplevel/mrfm/mrfm_fft.py + fpga/usrp1/toplevel/mrfm/mrfm.py + fpga/usrp1/toplevel/usrp_inband_usb/usrp_inband_usb.v +Copyright: Copyright (C) 1989,1991,2004-2007,2009 Free Software Foundation, Inc. +License: GPL-3+ + +Files: fpga/usrp1/sdr_lib/master_control.v fpga/usrp1/sdr_lib/atr_delay.v +Copyright: (C) 2007 Corgan Enterprises LLC +License: GPL-2+ + +Files: fpga/usrp1/sdr_lib/master_control_multi.v + fpga/usrp1/toplevel/include/common_config_2rx_0tx.vh + fpga/usrp1/toplevel/include/common_config_2rxhb_0tx.vh + fpga/usrp1/toplevel/usrp_multi/config.vh + fpga/usrp1/toplevel/usrp_multi/usrp_multi.v +Copyright: (C) 2006 Martin Dudok van Heel +License: GPL-2+ + +Files: fpga/usrp2/sdr_lib/round_reg.v + fpga/usrp2/sdr_lib/ddc.v + fpga/usrp2/sdr_lib/cordic_z24.v + fpga/usrp2/sdr_lib/duc.v + fpga/usrp2/sdr_lib/cordic_stage.v + fpga/usrp2/sdr_lib/cic_interp.v + fpga/usrp2/sdr_lib/clip.v + fpga/usrp2/sdr_lib/clip_reg.v + fpga/usrp2/sdr_lib/round.v + fpga/usrp2/sdr_lib/cordic.v + fpga/usrp2/sdr_lib/cic_dec_shifter.v + fpga/usrp2/sdr_lib/hb/halfband_decim.v + fpga/usrp2/sdr_lib/clip_and_round.v + fpga/usrp2/sdr_lib/round_tb.v + fpga/usrp2/sdr_lib/cic_decim.v + fpga/usrp2/sdr_lib/cic_int_shifter.v + fpga/usrp2/sdr_lib/clip_and_round_reg.v + fpga/usrp2/sdr_lib/cic_strober.v + fpga/usrp2/sdr_lib/sign_extend.v + fpga/usrp1/sdr_lib/ddc.v + fpga/usrp1/sdr_lib/master_control.v + fpga/usrp1/sdr_lib/clk_divider.v + fpga/usrp1/sdr_lib/tx_chain_hb.v + fpga/usrp1/sdr_lib/duc.v + fpga/usrp1/sdr_lib/tx_buffer.v + fpga/usrp1/sdr_lib/cordic_stage.v + fpga/usrp1/sdr_lib/cic_interp.v + fpga/usrp1/sdr_lib/rx_chain_dual.v + fpga/usrp1/sdr_lib/cordic.v + fpga/usrp1/sdr_lib/rx_chain.v + fpga/usrp1/sdr_lib/cic_dec_shifter.v + fpga/usrp1/sdr_lib/hb/halfband_decim.v + fpga/usrp1/sdr_lib/dpram.v + fpga/usrp1/sdr_lib/ext_fifo.v + fpga/usrp1/sdr_lib/cic_decim.v + fpga/usrp1/sdr_lib/rx_buffer.v + fpga/usrp1/sdr_lib/strobe_gen.v + fpga/usrp1/sdr_lib/serial_io.v + fpga/usrp1/sdr_lib/cic_int_shifter.v + fpga/usrp1/sdr_lib/gen_sync.v + fpga/usrp1/sdr_lib/tx_chain.v + fpga/usrp1/sdr_lib/sign_extend.v + fpga/usrp1/sdr_lib/io_pins.v + fpga/usrp1/sdr_lib/phase_acc.v + fpga/usrp1/tb/interp_tb.v + fpga/usrp1/tb/decim_tb.v + fpga/usrp1/tb/justinterp_tb.v + fpga/usrp1/tb/usrp_tasks.v + fpga/usrp1/tb/cordic_tb.v + fpga/usrp1/tb/fullchip_tb.v + fpga/usrp1/models/pll.v + fpga/usrp1/toplevel/usrp_std/usrp_std.v + fpga/usrp1/toplevel/usrp_std/config.vh + fpga/usrp1/toplevel/include/common_config_bottom.vh + fpga/usrp1/toplevel/include/common_config_2rx_0tx.vh + fpga/usrp1/toplevel/include/common_config_2rxhb_0tx.vh + fpga/usrp1/toplevel/include/common_config_4rx_0tx.vh + fpga/usrp1/toplevel/include/common_config_1rxhb_1tx.vh + fpga/usrp1/toplevel/include/common_config_2rxhb_2tx.vh + fpga/usrp1/toplevel/mrfm/shifter.v + fpga/usrp1/toplevel/mrfm/mrfm.v + fpga/usrp1/toplevel/sizetest/sizetest.v + fpga/usrp1/toplevel/usrp_inband_usb/usrp_inband_usb.v + fpga/usrp1/toplevel/usrp_inband_usb/config.vh + fpga/usrp1/toplevel/usrp_multi/config.vh + fpga/usrp1/toplevel/usrp_multi/usrp_multi.v +Copyright: (C) 2003-2008 Matt Ettus +License: GPL-3+ + +Files: fpga/usrp2/sdr_lib/integrate.v + fpga/usrp2/sdr_lib/hb_interp.v + fpga/usrp2/sdr_lib/Makefile.srcs + fpga/usrp2/sdr_lib/small_hb_int_tb.v + fpga/usrp2/sdr_lib/dspengine_8to16.v + fpga/usrp2/sdr_lib/pipectrl.v + fpga/usrp2/sdr_lib/add2.v + fpga/usrp2/sdr_lib/add2_and_round.v + fpga/usrp2/sdr_lib/hb_dec.v + fpga/usrp2/sdr_lib/med_hb_int.v + fpga/usrp2/sdr_lib/small_hb_dec_tb.v + fpga/usrp2/sdr_lib/halfband_tb.v + fpga/usrp2/sdr_lib/tx_control.v + fpga/usrp2/sdr_lib/small_hb_dec.v + fpga/usrp2/sdr_lib/dsp_rx_glue.v + fpga/usrp2/sdr_lib/hb_dec_tb.v + fpga/usrp2/sdr_lib/rx_dcoffset_tb.v + fpga/usrp2/sdr_lib/rssi.v + fpga/usrp2/sdr_lib/hb/ram16_2sum.v + fpga/usrp2/sdr_lib/hb/ram16_2port.v + fpga/usrp2/sdr_lib/hb/ram32_2sum.v + fpga/usrp2/sdr_lib/hb/halfband_interp.v + fpga/usrp2/sdr_lib/hb/hbd_tb/test_hbd.v + fpga/usrp2/sdr_lib/hb/mac.v + fpga/usrp2/sdr_lib/hb/acc.v + fpga/usrp2/sdr_lib/hb/mult.v + fpga/usrp2/sdr_lib/hb/coeff_ram.v + fpga/usrp2/sdr_lib/hb/coeff_rom.v + fpga/usrp2/sdr_lib/duc_chain.v + fpga/usrp2/sdr_lib/acc.v + fpga/usrp2/sdr_lib/dspengine_16to8.v + fpga/usrp2/sdr_lib/hb_interp_tb.v + fpga/usrp2/sdr_lib/hb_tb.v + fpga/usrp2/sdr_lib/rx_dcoffset.v + fpga/usrp2/sdr_lib/dummy_rx.v + fpga/usrp2/sdr_lib/halfband_ideal.v + fpga/usrp2/sdr_lib/dsp_tx_glue.v + fpga/usrp2/sdr_lib/pipestage.v + fpga/usrp2/sdr_lib/ddc_chain.v + fpga/usrp2/sdr_lib/add2_reg.v + fpga/usrp2/sdr_lib/small_hb_int.v + fpga/usrp2/sdr_lib/add2_and_round_reg.v + fpga/usrp2/sdr_lib/rx_control.v + fpga/usrp2/serdes/Makefile.srcs + fpga/usrp2/serdes/serdes.v + fpga/usrp2/serdes/serdes_rx.v + fpga/usrp2/serdes/serdes_tx.v + fpga/usrp2/serdes/serdes_fc_tx.v + fpga/usrp2/serdes/serdes_fc_rx.v + fpga/usrp2/serdes/serdes_tb.v + fpga/usrp2/fifo/dsp_framer36.v + fpga/usrp2/fifo/Makefile.srcs + fpga/usrp2/fifo/fifo36_to_fifo19.v + fpga/usrp2/fifo/fifo19_mux.v + fpga/usrp2/fifo/packet_tb.v + fpga/usrp2/fifo/buffer_int2.v + fpga/usrp2/fifo/fifo19_to_ll8.v + fpga/usrp2/fifo/packet_verifier.v + fpga/usrp2/fifo/buffer_int.v + fpga/usrp2/fifo/fifo_2clock.v + fpga/usrp2/fifo/fifo19_pad.v + fpga/usrp2/fifo/packet_generator32.v + fpga/usrp2/fifo/fifo36_to_ll8.v + fpga/usrp2/fifo/packet_verifier32.v + fpga/usrp2/fifo/fifo_19to36_tb.v + fpga/usrp2/fifo/packet_dispatcher36_x3.v + fpga/usrp2/fifo/buffer_pool_tb.v + fpga/usrp2/fifo/fifo_2clock_cascade.v + fpga/usrp2/fifo/fifo_tb.v + fpga/usrp2/fifo/fifo72_to_fifo36.v + fpga/usrp2/fifo/fifo36_to_fifo72.v + fpga/usrp2/fifo/packet_router.v + fpga/usrp2/fifo/fifo19_to_fifo36.v + fpga/usrp2/fifo/crossbar36.v + fpga/usrp2/fifo/splitter36.v + fpga/usrp2/fifo/fifo_long.v + fpga/usrp2/fifo/buffer_int_tb.v + fpga/usrp2/fifo/packet32_tb.v + fpga/usrp2/fifo/fifo_short.v + fpga/usrp2/fifo/ll8_to_fifo19.v + fpga/usrp2/fifo/ll8_shortfifo.v + fpga/usrp2/fifo/packet_generator.v + fpga/usrp2/fifo/fifo_pacer.v + fpga/usrp2/fifo/fifo36_mux.v + fpga/usrp2/fifo/ll8_to_fifo36.v + fpga/usrp2/fifo/fifo36_demux.v + fpga/usrp2/fifo/buffer_pool.v + fpga/usrp2/fifo/fifo_cascade.v + fpga/usrp2/fifo/add_routing_header.v + fpga/usrp2/fifo/valve36.v + fpga/usrp2/control_lib/Makefile.srcs + fpga/usrp2/control_lib/bin2gray.v + fpga/usrp2/control_lib/mux_32_4.v + fpga/usrp2/control_lib/mux8.v + fpga/usrp2/control_lib/srl.v + fpga/usrp2/control_lib/settings_bus_16LE.v + fpga/usrp2/control_lib/reset_sync.v + fpga/usrp2/control_lib/ram_harv_cache.v + fpga/usrp2/control_lib/quad_uart.v + fpga/usrp2/control_lib/gray2bin.v + fpga/usrp2/control_lib/user_settings.v + fpga/usrp2/control_lib/wb_output_pins32.v + fpga/usrp2/control_lib/double_buffer.v + fpga/usrp2/control_lib/shortfifo.v + fpga/usrp2/control_lib/oneshot_2clk.v + fpga/usrp2/control_lib/ram_harvard.v + fpga/usrp2/control_lib/settings_bus.v + fpga/usrp2/control_lib/sd_spi_wb.v + fpga/usrp2/control_lib/wb_bridge_16_32.v + fpga/usrp2/control_lib/clock_control.v + fpga/usrp2/control_lib/longfifo.v + fpga/usrp2/control_lib/dbsm.v + fpga/usrp2/control_lib/simple_uart.v + fpga/usrp2/control_lib/bootram.v + fpga/usrp2/control_lib/sd_spi_tb.v + fpga/usrp2/control_lib/system_control.v + fpga/usrp2/control_lib/wb_semaphore.v + fpga/usrp2/control_lib/dpram32.v + fpga/usrp2/control_lib/dcache.v + fpga/usrp2/control_lib/clock_bootstrap_rom.v + fpga/usrp2/control_lib/v5icap_wb.v + fpga/usrp2/control_lib/s3a_icap_wb.v + fpga/usrp2/control_lib/priority_enc.v + fpga/usrp2/control_lib/simple_uart_tx.v + fpga/usrp2/control_lib/wb_regfile_2clock.v + fpga/usrp2/control_lib/gray_send.v + fpga/usrp2/control_lib/decoder_3_8.v + fpga/usrp2/control_lib/wb_ram_dist.v + fpga/usrp2/control_lib/wb_bus_writer.v + fpga/usrp2/control_lib/traffic_cop.v + fpga/usrp2/control_lib/icache.v + fpga/usrp2/control_lib/setting_reg.v + fpga/usrp2/control_lib/wb_sim.v + fpga/usrp2/control_lib/atr_controller16.v + fpga/usrp2/control_lib/ram_2port_mixed_width.v + fpga/usrp2/control_lib/atr_controller.v + fpga/usrp2/control_lib/ram_2port.v + fpga/usrp2/control_lib/ss_rcvr.v + fpga/usrp2/control_lib/wb_readback_mux_16LE.v + fpga/usrp2/control_lib/ram_harvard2.v + fpga/usrp2/control_lib/settings_bus_crossclock.v + fpga/usrp2/control_lib/fifo_to_wb.v + fpga/usrp2/control_lib/mux4.v + fpga/usrp2/control_lib/fifo_to_wb_tb.v + fpga/usrp2/control_lib/double_buffer_tb.v + fpga/usrp2/control_lib/medfifo.v + fpga/usrp2/control_lib/simple_uart_rx.v + fpga/usrp2/control_lib/ram_loader.v + fpga/usrp2/control_lib/system_control_tb.v + fpga/usrp2/control_lib/ram_wb_harvard.v + fpga/usrp2/control_lib/spi.v + fpga/usrp2/control_lib/sd_spi.v + fpga/usrp2/control_lib/clock_control_tb.v + fpga/usrp2/control_lib/wb_ram_block.v + fpga/usrp2/control_lib/gpio_atr.v + fpga/usrp2/control_lib/wb_readback_mux.v + fpga/usrp2/udp/Makefile.srcs + fpga/usrp2/udp/add_onescomp.v + fpga/usrp2/udp/prot_eng_tx_tb.v + fpga/usrp2/udp/udp_wrapper.v + fpga/usrp2/udp/prot_eng_tx.v + fpga/usrp2/udp/fifo19_rxrealign.v + fpga/usrp2/udp/prot_eng_rx.v + fpga/usrp2/opencores/Makefile.srcs + fpga/usrp2/gpif/Makefile.srcs + fpga/usrp2/gpif/packet_reframer.v + fpga/usrp2/gpif/packet_splitter.v + fpga/usrp2/gpif/gpif_wr_tb.v + fpga/usrp2/gpif/slave_fifo.v + fpga/usrp2/gpif/gpif_tb.v + fpga/usrp2/gpif/gpif_wr.v + fpga/usrp2/gpif/gpif.v + fpga/usrp2/gpif/gpif_rd.v + fpga/usrp2/gpif/packet_splitter_tb.v + fpga/usrp2/testbench/single_u2_sim.v + fpga/usrp2/coregen/Makefile.srcs + fpga/usrp2/vrt/Makefile.srcs + fpga/usrp2/vrt/vita_rx_control.v + fpga/usrp2/vrt/gen_context_pkt.v + fpga/usrp2/vrt/vita_rx_tb.v + fpga/usrp2/vrt/vita_tx_chain.v + fpga/usrp2/vrt/trigger_context_pkt.v + fpga/usrp2/vrt/vita_pkt_gen.v + fpga/usrp2/vrt/vita_rx_chain.v + fpga/usrp2/vrt/vita_tx_deframer.v + fpga/usrp2/vrt/vita_tx_engine_glue.v + fpga/usrp2/vrt/vita_rx_framer.v + fpga/usrp2/vrt/vita_tx_control.v + fpga/usrp2/vrt/vita_rx_engine_glue.v + fpga/usrp2/vrt/vita_tx_tb.v + fpga/usrp2/timing/Makefile.srcs + fpga/usrp2/timing/time_compare.v + fpga/usrp2/timing/timer.v + fpga/usrp2/timing/time_transfer_tb.v + fpga/usrp2/timing/time_sender.v + fpga/usrp2/timing/time_64bit.v + fpga/usrp2/timing/time_sync.v + fpga/usrp2/timing/time_receiver.v + fpga/usrp2/timing/simple_timer.v + fpga/usrp2/gpmc/Makefile.srcs + fpga/usrp2/gpmc/cross_clock_reader.v + fpga/usrp2/gpmc/gpmc_wb.v + fpga/usrp2/gpmc/fifo_to_gpmc.v + fpga/usrp2/gpmc/gpmc_to_fifo.v + fpga/usrp2/gpmc/gpmc.v + fpga/usrp2/simple_gemac/eth_tasks_f36.v + fpga/usrp2/simple_gemac/Makefile.srcs + fpga/usrp2/simple_gemac/crc.v + fpga/usrp2/simple_gemac/flow_ctrl_rx.v + fpga/usrp2/simple_gemac/simple_gemac_wrapper_tb.v + fpga/usrp2/simple_gemac/simple_gemac.v + fpga/usrp2/simple_gemac/simple_gemac_tx.v + fpga/usrp2/simple_gemac/simple_gemac_tb.v + fpga/usrp2/simple_gemac/ll8_to_txmac.v + fpga/usrp2/simple_gemac/simple_gemac_wb.v + fpga/usrp2/simple_gemac/simple_gemac_wrapper.v + fpga/usrp2/simple_gemac/rxmac_to_ll8.v + fpga/usrp2/simple_gemac/flow_ctrl_tx.v + fpga/usrp2/simple_gemac/eth_tasks.v + fpga/usrp2/simple_gemac/ethtx_realign.v + fpga/usrp2/simple_gemac/address_filter.v + fpga/usrp2/simple_gemac/simple_gemac_wrapper_f36_tb.v + fpga/usrp2/simple_gemac/simple_gemac_rx.v + fpga/usrp2/simple_gemac/delay_line.v + fpga/usrp2/simple_gemac/address_filter_promisc.v + fpga/usrp2/simple_gemac/ethrx_realign.v + fpga/usrp2/simple_gemac/eth_tasks_f19.v + fpga/usrp2/models/M24LC02B.v + fpga/usrp2/models/CY7C1356C/cy1356.v + fpga/usrp2/models/CY7C1356C/testbench.v + fpga/usrp2/models/cpld_model.v + fpga/usrp2/models/adc_model.v + fpga/usrp2/models/serdes_model.v + fpga/usrp2/models/MULT18X18S.v + fpga/usrp2/models/gpmc_model_async.v + fpga/usrp2/models/xlnx_glbl.v + fpga/usrp2/models/gpmc_model_sync.v + fpga/usrp2/models/miim_model.v + fpga/usrp2/models/uart_rx.v + fpga/usrp2/models/M24LC024B.v + fpga/usrp2/models/math_real.v + fpga/usrp2/custom/power_trig_tb.v + fpga/usrp2/custom/custom_dsp_tx.v + fpga/usrp2/custom/custom_engine_tx.v + fpga/usrp2/custom/custom_engine_rx.v + fpga/usrp2/custom/power_trig.v + fpga/usrp2/custom/custom_dsp_rx.v + fpga/usrp2/extramfifo/Makefile.srcs + fpga/usrp2/extramfifo/nobl_fifo.v + fpga/usrp2/extramfifo/refill_randomizer.v + fpga/usrp2/extramfifo/nobl_if.v + fpga/usrp2/extramfifo/ext_fifo.v + fpga/usrp2/extramfifo/test_sram_if.v + fpga/usrp2/extramfifo/ext_fifo_tb.v + fpga/usrp2/top/python/check_timing.py + fpga/usrp2/top/python/check_inout.py + fpga/usrp2/top/tcl/ise_helper.tcl + fpga/usrp2/top/USRP2/u2_rev3.v + fpga/usrp2/top/USRP2/u2_core.v + fpga/usrp2/top/USRP2/Makefile + fpga/usrp2/top/Makefile.common + fpga/usrp2/top/E1x0/u1e.v + fpga/usrp2/top/E1x0/Makefile.E100 + fpga/usrp2/top/E1x0/tb_u1e.v + fpga/usrp2/top/E1x0/Makefile.E110 + fpga/usrp2/top/E1x0/u1e_core.v + fpga/usrp2/top/E1x0/Makefile + fpga/usrp2/top/B100/u1plus.v + fpga/usrp2/top/B100/u1plus_core.v + fpga/usrp2/top/B100/B100.v + fpga/usrp2/top/B100/Makefile.B100 + fpga/usrp2/top/B100/Makefile + fpga/usrp2/top/N2x0/Makefile.N210R3 + fpga/usrp2/top/N2x0/u2plus.v + fpga/usrp2/top/N2x0/u2plus_core.v + fpga/usrp2/top/N2x0/capture_ddrlvds.v + fpga/usrp2/top/N2x0/Makefile.N200R4 + fpga/usrp2/top/N2x0/Makefile.N200R3 + fpga/usrp2/top/N2x0/Makefile.N210R4 + fpga/usrp2/top/N2x0/Makefile +Copyright: 2008-2012 Ettus Research LLC +License: GPL-3+ + +Files: fpga/usrp1/megacells/* + fpga/usrp1/toplevel/*.qsf fpga/usrp1/toplevel/*.qpf +Copyright: (C) 1991-2004 Altera Corporation +License: + Any megafunction design, and related netlist (encrypted or decrypted), + support information, device programming or simulation file, and any other + associated documentation or information provided by Altera or a partner + under Altera's Megafunction Partnership Program may be used only + to program PLD devices (but not masked PLD devices) from Altera. Any + other use of such megafunction design, netlist, support information, + device programming or simulation file, or any other related documentation + or information is prohibited for any other purpose, including, but not + limited to modification, reverse engineering, de-compiling, or use with + any other silicon devices, unless such use is explicitly licensed under + a separate agreement with Altera or a megafunction partner. Title to the + intellectual property, including patents, copyrights, trademarks, trade + secrets, or maskworks, embodied in any such megafunction design, netlist, + support information, device programming or simulation file, or any other + related documentation or information provided by Altera or a megafunction + partner, remains with Altera, the megafunction partner, or their respective + licensors. No other licenses, including any licenses needed under any third + party's intellectual property, are provided herein. +Comment: Boilerplate terms prepended to files which include design + parameters for the project licensed GPL-3+. + . + Not used for uhd-host package. + +Files: fpga/usrp2/coregen/fifo* + fpga/usrp2/models/FIFO_GENERATOR_V4_3.v + fpga/usrp2/models/FIFO_GENERATOR_V4_3.v + fpga/usrp2/models/BUFG.v + fpga/usrp2/models/IOBUF.v + fpga/usrp2/models/RAMB16_S36_S36.v + fpga/usrp2/models/RAMB16_S36_S36.v + fpga/usrp2/models/SRLC16E.v + fpga/usrp2/models/SRL16E.v + fpga/usrp2/models/FIFO_GENERATOR_V6_1.v + fpga/usrp2/extramfifo/icon.v + fpga/usrp2/extramfifo/ila.v +Copyright: (c) 1995-2010 Xilinx, Inc. +License: + This file is owned and controlled by Xilinx and must be used + solely for design, simulation, implementation and creation of + design files limited to Xilinx devices or technologies. Use + with non-Xilinx devices or technologies is expressly prohibited + and immediately terminates your license. + . + XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS" + SOLELY FOR USE IN DEVELOPING PROGRAMS AND SOLUTIONS FOR + XILINX DEVICES. BY PROVIDING THIS DESIGN, CODE, OR INFORMATION + AS ONE POSSIBLE IMPLEMENTATION OF THIS FEATURE, APPLICATION + OR STANDARD, XILINX IS MAKING NO REPRESENTATION THAT THIS + IMPLEMENTATION IS FREE FROM ANY CLAIMS OF INFRINGEMENT, + AND YOU ARE RESPONSIBLE FOR OBTAINING ANY RIGHTS YOU MAY REQUIRE + FOR YOUR IMPLEMENTATION. XILINX EXPRESSLY DISCLAIMS ANY + WARRANTY WHATSOEVER WITH RESPECT TO THE ADEQUACY OF THE + IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OR + REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE FROM CLAIMS OF + INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + FOR A PARTICULAR PURPOSE. +Comment: Boilerplate terms prepended to files which include design + parameters for the project licensed GPL-3+. + . + Not used for uhd-host package. + +Files: fpga/usrp2/opencores/8b10b +Copyright: (c)2002 Chuck Benz, Hollis, NH +License: + The information and description contained herein is the + property of Chuck Benz. + . + Permission is granted for any reuse of this information + and description as long as this copyright notice is + preserved. Modifications may be made as long as this + notice is preserved. + +Files: fpga/usrp2/opencores/aemb +Copyright: (C) 2004-2007 Shawn Tan Ser Ngiap <shawn.tan@aeste.net> +License: LGPL-3+ + AEMB is free software: you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + . + AEMB is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General + Public License for more details. + . + You should have received a copy of the GNU Lesser General Public + License along with AEMB. If not, see <http://www.gnu.org/licenses/>. + . + On Debian systems, the complete text of the GNU Lesser General + Public License can be found in `/usr/share/common-licenses/LGPL-3'. + +Files: fpga/usrp2/opencores/i2c/* + fpga/usrp2/opencores/simple_gpio/* + fpga/usrp2/opencores/simple_pic/* +Copyright: (C) 2000,2001,2002,2004 Richard Herveille +License: + This source file may be used and distributed without + restriction provided that this copyright statement is not + removed from the file and that any derivative work contains + the original copyright notice and the associated disclaimer. + . + THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL THE AUTHOR + 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. + + +Files: fpga/usrp2/opencores/spi +Copyright: (C) 2002 Simon Srot (simons@opencores.org) +License: + This source file may be used and distributed without + restriction provided that this copyright statement is not + removed from the file and that any derivative work contains + the original copyright notice and the associated disclaimer. + . + This source file is free software; you can redistribute it + and/or modify it under the terms of the GNU Lesser General + Public License as published by the Free Software Foundation; + either version 2.1 of the License, or (at your option) any + later version. + . + This source is distributed in the hope that it will be + useful, but WITHOUT ANY WARRANTY; without even the implied + warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + PURPOSE. See the GNU Lesser General Public License for more + details. + . + You should have received a copy of the GNU Lesser General + Public License along with this source; if not, download it + from http://www.opencores.org/lgpl.shtml + . + On Debian systems, the complete text of the GNU Lesser General + Public License can be found in `/usr/share/common-licenses/LGPL-2.1'. + +Files: fpga/usrp2/opencores/spi_boot/* +Copyright: (c) 2005, Arnim Laeuger (arniml@opencores.org) +License: GPL-2 + Redistribution and use in source and synthezised forms, with or without + modification, are permitted provided that the following conditions are met: + . + Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + . + Redistributions in synthesized 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. + . + Neither the name of the author nor the names of other contributors may + be used to endorse or promote products derived from this software without + specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 AUTHOR 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. + . + Please report bugs to the author, but before you do so, please + make sure that this is not a derivative work and that + you have the latest version of this file. + . + The latest version of this file can be found at: + http://www.opencores.org/projects.cgi/web/spi_boot/overview +Comment: + COPYING file is GPL-2. + . + On Debian systems, the complete text of the GNU General + Public License can be found in `/usr/share/common-licenses/GPL-2'. + +Files: fpga/usrp2/opencores/wb_zbt +Copyright: (C) 2008 Sebastien Bourdeauducq - http://lekernel.net +License: LGPL-2+ + * Milkymist is free software; you can redistribute it and/or modify it + * under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, + * USA. + +Files: fpga/usrp2/opencores/zpu/* +Copyright: 2004-2008 oharboe - �yvind Harboe - oyvind.harboe@zylin.com +License: + The FreeBSD license + . + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + . + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions 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. + . + THIS SOFTWARE IS PROVIDED BY THE ZPU PROJECT ``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 + ZPU PROJECT 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. + . + The views and conclusions contained in the software and documentation + are those of the authors and should not be interpreted as representing + official policies, either expressed or implied, of the ZPU Project. + +License: lwip-BSD + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions 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 the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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. + +License: MBSI-BSD + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice and the following disclaimer are included verbatim in any + * distributions. No written agreement, license, or royalty fee is required + * for any of the authorized uses. + * + * THIS SOFTWARE IS PROVIDED BY THE 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 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. + +License: Kitware-BSD + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + . + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + . + * Redistributions 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. + . + * Neither the names of Kitware, Inc., the Insight Software Consortium, + nor the names of their contributors may be used to endorse or promote + products derived from this software without specific prior written + permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 COPYRIGHT + HOLDER 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. + +License: GPL-2+ + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + . + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + . + On Debian systems, the complete text of the GNU General + Public License can be found in `/usr/share/common-licenses/GPL-3'. + +License: GPL-3+ + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + . + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + . + On Debian systems, the complete text of the GNU General + Public License can be found in `/usr/share/common-licenses/GPL-3'. diff --git a/host/cmake/debian/libuhd-dev.install b/host/cmake/debian/libuhd-dev.install new file mode 100644 index 000000000..ba27ac3af --- /dev/null +++ b/host/cmake/debian/libuhd-dev.install @@ -0,0 +1,4 @@ +usr/include +usr/lib/*/pkgconfig +usr/lib/*/libuhd.so +usr/share/doc/uhd/doxygen /usr/share/doc/libuhd-dev/ diff --git a/host/cmake/debian/libuhd003.install b/host/cmake/debian/libuhd003.install new file mode 100644 index 000000000..3de3b10a4 --- /dev/null +++ b/host/cmake/debian/libuhd003.install @@ -0,0 +1 @@ +usr/lib/*/*.so.* diff --git a/host/cmake/debian/libuhd003.shlibs b/host/cmake/debian/libuhd003.shlibs new file mode 100644 index 000000000..2d5028dd4 --- /dev/null +++ b/host/cmake/debian/libuhd003.shlibs @@ -0,0 +1 @@ +libuhd 003 libuhd003 diff --git a/host/cmake/debian/patches/series b/host/cmake/debian/patches/series new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/host/cmake/debian/patches/series @@ -0,0 +1 @@ + diff --git a/host/cmake/debian/rules b/host/cmake/debian/rules new file mode 100755 index 000000000..842e5247f --- /dev/null +++ b/host/cmake/debian/rules @@ -0,0 +1,20 @@ +#!/usr/bin/make -f +DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) +export DEB_HOST_MULTIARCH + +%: + dh $@ --parallel --sourcedirectory=host --builddirectory=build + +override_dh_auto_configure: + dh_auto_configure -- -DLIB_SUFFIX="/$(DEB_HOST_MULTIARCH)" -DPKG_LIB_DIR="/usr/lib/uhd" -DUHD_RELEASE_MODE="release" + +# The test suite for this package is busted on powerpc. +override_dh_auto_test: + - if [ $(DEB_BUILD_ARCH) != powerpc ]; then dh_auto_test; fi + +override_dh_auto_install: + cp debian/uhd-host.limits debian/uhd-host/etc/security/limits.d/uhd.conf + cp debian/uhd-host.sysctl debian/uhd-host/etc/sysctl.d/uhd-usrp2.conf + dh_auto_install + - rm -f debian/tmp/usr/share/doc/uhd/doxygen/html/jquery.js + ln -s /usr/share/javascript/jquery/jquery.js debian/tmp/usr/share/doc/uhd/doxygen/html/jquery.js diff --git a/host/cmake/debian/source/format b/host/cmake/debian/source/format new file mode 100644 index 000000000..163aaf8d8 --- /dev/null +++ b/host/cmake/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/host/cmake/debian/uhd-host.dirs b/host/cmake/debian/uhd-host.dirs new file mode 100644 index 000000000..bd43debd6 --- /dev/null +++ b/host/cmake/debian/uhd-host.dirs @@ -0,0 +1,8 @@ +etc/security/limits.d +etc/sysctl.d +usr/bin +usr/include/uhd +usr/lib +usr/lib/uhd/examples +usr/lib/uhd/tests +usr/lib/uhd/utils diff --git a/host/cmake/debian/uhd-host.install b/host/cmake/debian/uhd-host.install new file mode 100644 index 000000000..6efbf8fe6 --- /dev/null +++ b/host/cmake/debian/uhd-host.install @@ -0,0 +1,4 @@ +usr/bin +usr/lib/uhd +usr/share/doc/uhd/doxygen /usr/share/doc/uhd-host/ +debian/NetworkManager-USRP /etc/NetworkManager/system-connections/USRP diff --git a/host/cmake/debian/uhd-host.limits b/host/cmake/debian/uhd-host.limits new file mode 100644 index 000000000..caedea13b --- /dev/null +++ b/host/cmake/debian/uhd-host.limits @@ -0,0 +1 @@ +@usrp - rtprio 99 diff --git a/host/cmake/debian/uhd-host.postinst b/host/cmake/debian/uhd-host.postinst new file mode 100644 index 000000000..1d9d31cd2 --- /dev/null +++ b/host/cmake/debian/uhd-host.postinst @@ -0,0 +1,17 @@ +#! /bin/sh + +set -e +if [ "$1" = "configure" ]; then + # Create usrp group for udev access + if ! getent group usrp >/dev/null; then + addgroup --system usrp + fi + # Apply usrp2 networking optimization + if [ -x "`which sysctl 2>/dev/null`" ]; then + sysctl -p /etc/sysctl.d/uhd-usrp2.conf + fi +fi + +#DEBHELPER# + +exit 0 diff --git a/host/cmake/debian/uhd-host.sysctl b/host/cmake/debian/uhd-host.sysctl new file mode 100644 index 000000000..038628fc5 --- /dev/null +++ b/host/cmake/debian/uhd-host.sysctl @@ -0,0 +1,3 @@ +# USRP2 gigabit ethernet transport tuning +net.core.rmem_max=50000000 +net.core.wmem_max=1048576 diff --git a/host/cmake/debian/uhd-images.dirs b/host/cmake/debian/uhd-images.dirs new file mode 100644 index 000000000..73752c9ae --- /dev/null +++ b/host/cmake/debian/uhd-images.dirs @@ -0,0 +1 @@ +usr diff --git a/host/docs/octoclock.dox b/host/docs/octoclock.dox index 362ee779f..23faff8f3 100644 --- a/host/docs/octoclock.dox +++ b/host/docs/octoclock.dox @@ -5,107 +5,196 @@ \section octoclock_features Feature list - Hardware Capabilities: - - Fully integrated timing source with 8-Way distribution (10 MHz and 1 PPS) - - User selection between internal GPSDO (when present) or external 10 MHz/1 PPS source + - Fully integrated timing and clocking source with 8-way distribution (10 MHz and 1 PPS) + - User selection between internal GPSDO (OctoClock-G) or external 10 MHz/1 PPS source - Ethernet bootloader for easy firmware upgrade - - Source detection with automatic switch over in case of failure or disconnect + - Source detection with automatic switch-over in case of failure or disconnect - Streaming GPS time and NMEA strings over Ethernet (OctoClock-G only) -\section octoclock_load Loading Firmware onto the Octoclock +\section detecting_new_unit Detecting an Ethernet-compatible device -First, the OctoClock's bootloader needs to be loaded onto the device. Connect the AVR programmer to J108, as -specified on the <a href="http://files.ettus.com/schematics/octoclock/octoclock.pdf">schematics</a>. Once you -verify that the programmer is properly connected, run the following commands to load the bootloader: +Early OctoClock and OctoClock-G units did not have Ethernet functionality and will need to be upgraded +to utilize it. To test whether or not you have this early model, connect your device via Ethernet to a computer +with <b>UHD 3.9.2</b> or above. The OctoClock will have a default IP address of <b>192.168.10.3</b>. - cd <install path>/share/uhd/images - avrdude -p atmega128 -c <programmer name> -P usb -U efuse:w:0xFF:m -U hfuse:w:0x80:m -U lfuse:w:0xEF:m -U flash:w:octoclock_r4_fw.hex:i +Open a terminal and run this command: -When the bootloader is loaded, it will have a default IP address of `192.168.10.3`. + ping 192.168.10.3 -\b Note: -On Linux, `sudo avrdude ...` might be necessary to gain access to the programmer. +If you see an output similar to the following: -\section octoclock_network Setting Up Networking + 64 bytes from 192.168.10.3: icmp_seq=1 ttl=64 time=3.01 ms + 64 bytes from 192.168.10.3: icmp_seq=2 ttl=64 time=1.92 ms + 64 bytes from 192.168.10.3: icmp_seq=3 ttl=64 time=1.78 ms -\subsection host_interface Setting up the host interface +then you have an Ethernet-compatible device. If not, follow the instructions in the next section to +upgrade your device. -The OctoClock communicates with the host machine at the UDP layer over Ethernet. The default device -of the OctoClock is `192.168.10.3`. You will need to configure the host machine's Ethernet interface with -a static IP address to enable communication. An address of `192.168.10.1` and a subnet mask of -`255.255.255.0` is recommended. +<b>NOTE:</b> OctoClock and OctoClock-G devices must be used on 1-Gigabit Ethernet or higher. -\b Note: -When using UHD software, if an IP address for the OctoClock is not specified, the software will -use UDP broadcast packets to locate the OctoClock. On some systems, the firewall will block UDP broadcast -packets. It is recommended that you change your firewall settings. +\section upgrading_device Upgrading your device -\subsection changing_ip Changing the OctoClock's IP address +Follow these steps to upgrade your device. -You may need to change the OctoClock's IP address for various reasons. +\subsection getting_latest Getting the latest firmware images -- To satisfy your particular network configuration -- To use multiple OctoClocks on the same host computer +The OctoClock's firmware is divided into two image files: <b>octoclock_bootloader.hex</b> and +<b>octoclock_r4_fw.hex</b>. All image files can be found <a href="http://files.ettus.com/binaries/images/">here</a>, +in version-specific ZIP files. Download the version corresponding to the version of UHD that you're running. You must use at least version 3.9.2. -To change the OctoClock's IP address, run the following commands (using the default IP address as an example): +Alternatively, if you already have UHD installed, then the correct images can be obtained by using +the <b>uhd_images_downloader</b> utility. Once this is done, check your images directory, which is the +following by default: - cd <install path>/lib/uhd/utils - ./octoclock_burn_eeprom --args="<optional device args>" --values="ip-addr=192.168.10.3" +- <b>UNIX/Linux:</b> /usr/local/share/uhd/images +- <b>Windows:</b> C:\\Program Files\\UHD\\share\\uhd\\images -\section addressing Addressing the Device +\subsection bootloader Burning the bootloader onto the device -There are two ways to address the OctoClock from UHD software: the IP address, and the serial. +To burn the bootloader, you will need a 6-pin Atmel AVR programmer. We recommend the +<a href="http://www.atmel.com/tools/atatmel-ice.aspx">Atmel-ICE</a> kit. The +<a href="http://www.atmel.com/tools/AVRISPMKII.aspx">AVRISP mkII</a> programmer, which is no longer sold but is still popular, is also +compatible. -To use the IP address, address it as follows: +You will also need the <b>AVRDude</b> utility. To install it on a Linux system, run the following command, as +appropriate: - "addr=<ip address>" +- <b>Ubuntu:</b> sudo apt-get install avrdude +- <b>Fedora:</b> sudo yum install avrdude -If you want to use multiple OctoClock devices, address it as follows: +Most other UNIX/Linux package distribution systems include the utility under the name <b>avrdude</b>. - "addr0=<ip address 1>,addr1=<ip address 2>" +<b>NOTE:</b> To use AVRDude with the Atmel-ICE programmer, you need at least version 6.1. -To use the serial, address it as follows: +For Windows users, we provide an AVRDude executable +<a href="http://files.ettus.com/binaries/octoclock/avrdude-6.1-svn-20131205-mingw32.zip">here</a>. Download +and unzip the file, and you will see a directory containing the <b>avrdude.exe</b> executable. - "serial=<serial>" +Once AVRDude is set up on your machine, navigate to the directory containing the OctoClock firmware images +and run the following command: -\section hardware_setup Hardware Setup Notes + avrdude -p atmega128 -c atmelice_isp -P usb -U efuse:w:0xFF:m -U hfuse:w:0x80:m -U lfuse:w:0xEF:m -U flash:w:octoclock_bootloader.hex:i + +If you are using a programmer other than the Atmel-ICE, replace "atmelice_isp" with the appropriate string for your programmer. Run the command: + + avrdude -c help + +to see the corresponding string for each programmer. + +If all three LEDs in the left column on the front panel are lit, then the bootloader was successfully loaded onto the device. + +On Linux, it might be necessary to run the avrdude commands as root, which can be done by preceding them with "sudo". + +\subsection firmware Uploading the firmware via Ethernet + +Once the bootloader is installed on the device, run the <b>uhd_find_devices</b> utility. You should see an output +similar to the following: + +\verbatim +-------------------------------------------------- +-- UHD Device 0 +-------------------------------------------------- +Device Address: + addr: 192.168.10.3 + type: octoclock-bootloader +\endverbatim + +This means that UHD successfully recognizes your device's bootloader and can download the firmware image. Run the +following command: + + uhd_image_loader --args="type=octoclock,addr=192.168.10.3" + +Once this completes, your OctoClock will load its firmware. Run the <b>uhd_find_devices</b> utility again, and +the output should be similar to the following: + +\verbatim +-------------------------------------------------- +-- UHD Device 0 +-------------------------------------------------- +Device Address: + addr: 192.168.10.3 + type: octoclock + name: + serial: +\endverbatim + +\subsection eeprom Updating the device's EEPROM + +As a final step, the device's EEPROM will need to be updated. On the back of your device, you will see a label sticker with a serial number (labelled S/N) and a MAC address (labeled MAC). For later use, the MAC address will have to be used in a different format than is on the label. As an example, if the label lists the MAC address as <b>00802F112233</b>, you will need to format it as <b>00:80:2F:11:22:33</b>. + +Update your device's EEPROM with the following command: + + (UHD INSTALL DIRECTORY)/lib/uhd/utils/octoclock_burn_eeprom --args="addr=192.168.10.3" --values="mac-addr=(MAC HERE),ip-addr=192.168.10.3,netmask=255.255.255.0,gateway=192.168.10.1,serial=(SERIAL HERE),revision=4" + +Power-cycle your device, and it should now be fully operational. To confirm, you can query your device in one of two ways. + +Run the <b>uhd_find_devices</b> utility, and you will see basic information regarding the device. To see more specific information, +run the following command: + + octoclock_burn_eeprom --args="addr=192.168.10.3" --read-all + +\section usage Using your device + +\subsection boot_process The boot process + +When the device is turned on, it will wait in the bootloader for one second, after which it +will move into the primary firmware. + +\subsection selecting Selecting a reference + +Both OctoClock models can input a 10 MHz reference and a 1 PPS signal via the SMA connectors <b>EXT 10 MHZ INPUT</b> and <b>EXT PPS INPUT</b>, respectively, located on the front of the device. Additionally, the OctoClock-G contains an internal GPSDO which provides its +own internal references to the device. + +There is a switch on the front panel of the device with two positions <b>INTERNAL</b> and <b>EXTERNAL</b> that specifies which reference will be used, when applicable. For the OctoClock, there is no internal timing or clocking source, so the OctoClock will always use external 10 MHz and 1 PPS sources, regardless of the position of the switch. For the OctoClock-G, there is an internal GPSDO which provides an internal 10 MHz and 1 PPS, so the switch will specify whether to use that internal timing and clocking source from the GPSDO, or whether to use an external timing and clocking source, such as those provided by a signal generator. + +The LEDs in the left column show which reference (if any) the device is using. The top and middle LEDs, labeled +<b>INTERNAL</b> and <b>EXTERNAL</b>, respectively, show which of the two references the device is using. The bottom +LED indicates whether or not the device is actively using a reference. If no LEDs are lit, then the OctoClock is not +using any reference and is not distributing a clock signal. The only situation in which all three LEDs are lit is when +the device is in its bootloader, as described above. + +Once the device is using a reference, connect SMA cables from any of the <b>10 MHz OUT</b> and <b>PPS OUT</b> SMA +connectors to distribute the signals to other devices. \subsection front_panel_leds Front Panel LEDs The LEDs on the front panel show the current status of the device. Each LED is described below: -- **Internal:** the device is using the internal GPSDO -- **External:** the device is using an external reference -- **Status:** the device is successfully distributing a 10 MHz and PPS signal -- **PPS:** lights up when a PPS signal is detected -- **GPS Lock:** the internal GPSDO has achieved a lock (not necessary to distribute the signals) +- **Internal:** the device is using the internal GPSDO as the timing and clocking reference +- **External:** the device is using an external reference as the timing and clocking reference +- **Status:** the device is successfully distributing a 10 MHz and 1 PPS signal +- **PPS:** the device has detected a 1 PPS signal +- **GPS Lock:** the internal GPSDO has achieved a GPS lock (not necessary to distribute the signals) - **Power:** the device is receiving power -\subsection front_panel_switch Front Panel Switch +\subsection uhd Communication with UHD -The front panel switch, marked **Primary Ref** determines which reference the OctoClock will prefer to use. If it is receiving -both an internal and external reference, the device will use whichever one the switch specifies. +As with USRP devices, an OctoClock will appear when you run the <b>uhd_find_devices</b> utility. You can narrow your +search to a specific device with the <b>--args</b> option, as seen below: -However, if it is only receiving an internal reference, it will use this reference no matter what position the switch is in. -The same applies for an external signal. + uhd_find_devices --args="addr=192.168.10.3" + uhd_find_devices --args="serial=F12345" -\section misc Miscellaneous +UHD provides a C++ API for communicating with an OctoClock device, the uhd::usrp_clock::multi_usrp_clock class. To +instantiate the device or devices, use the factory function as seen below: -\subsection available_sensors Available Sensors + uhd::usrp_clock::multi_usrp_clock::sptr clock = uhd::usrp_clock::multi_usrp_clock::make("addr=192.168.10.3"); + uhd::usrp_clock::multi_usrp_clock::sptr clocks = uhd::usrp_clock::multi_usrp_clock::make("addr0=192.168.10.4,addr1=192.168.10.5"); -The following sensors are available on both the OctoClock and Octoclock-G; -these can be queried through the API (see uhd::usrp_clock::multi_usrp_clock::get_sensor()). +Once UHD starts a session with your device, you can use the uhd::usrp_clock::multi_usrp_clock::get_sensor() function to +query for different information from your device. All OctoClock devices provide the following sensors: -- `ext_ref_detected:` whether or not the device detects an external reference -- `gps_detected:` whether or not the device detects an internal GPSDO -- `using_ref:` which reference the device is using (internal or external) -- `switch_pos:` the position of the front switch (internal or external) +- <b>ext_ref_detected:</b> whether or not an external reference is connected ("true", "false") +- <b>gps_detected:</b> whether or not the device has an internal GPSDO ("true", "false") +- <b>using_ref:</b> which reference the device is using ("none", "internal", "external") +- <b>switch_pos:</b> switch position ("Prefer internal", "Prefer external") -On the OctoClock-G, the following sensors are added: +Additionally, the OctoClock-G provides the following sensors to query information from the internal GPSDO: -- `gps_gpgga:` the latest GPGGA string sent by the GPSDO -- `gps_gprmc:` the latest GPRMC string sent by the GPSDO -- `gps_time:` the time reported by the GPSDO -- `gps_locked:` whether or not the GPSDO is locked (true/false) -- `gps_servo:` the latest debug trace information sent by the GPSDO +- <b>gps_gpgga:</b> raw GPGGA NMEA sentence +- <b>gps_gprmc:</b> raw GPRMC NMEA sentence +- <b>gps_time:</b> GPS epoch time +- <b>gps_locked:</b> GPSDO lock status ("locked", "unlocked") +- <b>gps_servo:</b> GPSDO servo status */ diff --git a/tools/debs/convert_changelog.py b/tools/debs/convert_changelog.py new file mode 100755 index 000000000..5d12a958c --- /dev/null +++ b/tools/debs/convert_changelog.py @@ -0,0 +1,108 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Copyright 2015 National Instruments Corp. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# +""" +Converts our changelog into a format suitable for Debian packaging +""" + +import datetime +from optparse import OptionParser +import os +import re +import sys + +# Pass in first line of Debian changelog file, should contain last version +def detect_last_version(line): + return convert_version_string(re.search("[0-9]+\.[0-9]+\.[0-9]", line).group(), False) + +# "## 003.008.005" to "3.8.5" or vice versa +def convert_version_string(version, to_debian=True): + if version == None: + return "" + + if to_debian: + return ".".join(list(str(int(num)) for num in re.split('[ .]', version)[1:])) + else: + return "## {0}".format(".".join("{0:03d}".format(int(num)) for num in version.split("."))) + +# +# The "trusty" string below doesn't need to be changed, even when Trusty loses support. The script +# to upload packages replaces it anyway. +# +def get_header(version): + return "uhd ({0}-0ubuntu1) trusty; urgency=low\n\n".format(convert_version_string(version)) + +def get_footer(uploader_name, uploader_email): + return " -- {0} <{1}> {2}\n\n".format(uploader_name, uploader_email, datetime.datetime.now().strftime("%a, %d %b %Y %I:%M:%S %Z-0800")) + +if __name__ == "__main__": + + parser = OptionParser() + parser.add_option("--input-file", type="string", help="Input UHD top-level changelog file") + parser.add_option("--output-file", type="string", help="Output Debian changelog file (will append onto existing)") + parser.add_option("--uploader-name", type="string", help="Uploader name (must match GPG key)") + parser.add_option("--uploader-email", type="string", help="Uploader email (must match GPG key)") + parser.add_option("--last-version", type="string", help="Manually specify last version (Debian format)", default="") + (options, args) = parser.parse_args() + + # Input file + f = open(options.input_file, "r") + lines_in = f.readlines() + f.close() + + # Output file + if os.path.exists(os.path.normpath(options.output_file)): + g = open(options.output_file, "r") + lines_out = g.readlines() + g.close() + else: + lines_out = [] + + g = open(options.output_file, "w") + + if options.last_version == "": + if(len(lines_out) > 0): + last_version = detect_last_version(lines_out[0]) + check_last_version = True + else: + last_version = "" + check_last_version = False # Will do every version + else: + last_version = convert_version_string(options.last_version, False) + check_last_version = True + + new_lines_out = [] + for line in lines_in[3:]: + if line.rstrip() == last_version and last_version != "": + # We've fully updated, stop here + break + elif re.search("^## [0-9]{3}\.[0-9]{3}\.[0-9]{3}", line): + # New version + new_lines_out += [get_header(line.rstrip())] + elif line == "\n": + # End of version + new_lines_out += ["\n"] + new_lines_out += [get_footer(options.uploader_name, options.uploader_email)] + else: + # Actual changes + new_lines_out += [" " + line] + + new_lines_out += lines_out + for line in new_lines_out: + g.write(line) + g.close() diff --git a/tools/debs/upload_debs.sh b/tools/debs/upload_debs.sh new file mode 100755 index 000000000..c14096997 --- /dev/null +++ b/tools/debs/upload_debs.sh @@ -0,0 +1,149 @@ +#!/bin/bash +# +# Copyright 2015 National Instruments Corp. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# + +if ! ls | grep host > /dev/null +then + echo "This script must be run from UHD's top-level directory." + exit 1 +fi +if [ -f fpga-src/README.md ]; then + echo "This script requires a clean repository without fpga-src checked out!." + exit 1 +fi + +FORCE_YES=0 +if [ $# -eq 1 ] +then + if [ "$1" = "-y" ] + then + FORCE_YES=1 + fi +fi + +UHD_TOP_LEVEL=$PWD + +# Get version info +VERSION=`head -1 host/cmake/debian/changelog | grep -o '[0-9.]*' | head -1` +ORIG_RELEASE=`head -1 host/cmake/debian/changelog | sed 's/.*) \(.*\);.*/\1/'` + +# +# Currently supported versions can be found here: +# https://launchpad.net/ubuntu/+ppas +# +RELEASES="precise trusty vivid wily xenial" +PPA=ppa:ettusresearch/uhd + +# +# Make sure this is the intended version. +# +# This is based on the contents of debian/changelog. If convert_changelog.py was not +# run on this version, it will show the previous release. +# +echo "Will generate installer configuration files for UHD "$VERSION +if [ $FORCE_YES -ne 1 ] +then + echo "Is this correct? (yes/no)" + read response + if [ "$response" != "yes" ] + then + exit 0 + fi +fi + +# Generate the TAR file to be uploaded. +echo "Creating UHD source archive." +tar --exclude='*git*' --exclude='./debian' --exclude='*.swp' --exclude='fpga-src' --exclude='build' --exclude='./images/*.pyc' --exclude='./images/uhd-*' --exclude='tags' -cJf ../uhd_${VERSION}.orig.tar.xz . +if [ $? != 0 ] +then + echo "Failed to create UHD source archive." + exit 1 +fi + +# debuild expects our directory name to be ${source package}-${version} +rm -f ${UHD_TOP_LEVEL}/../uhd-${VERSION} +ln -s ${UHD_TOP_LEVEL} ${UHD_TOP_LEVEL}/../uhd-${VERSION} +cd ${UHD_TOP_LEVEL}/../uhd-${VERSION} + +# +# Generate package info for each version. +# +# This script substitutes each version string into the debian/changelog file to +# create package info for each version. We need to store the original outside the +# UHD repo, or dpkg-source will detect the change and error out. +# +cp -r host/cmake/debian . +cp host/utils/uhd-usrp.rules debian/uhd-host.udev +find host/docs -name '*.1' > debian/uhd-host.manpages +rm -f debian/postinst.in debian/postrm.in debian/preinst.in debian/prerm.in + +if [ $FORCE_YES -ne 1 ] +then + echo "Proceed to generate package info? (yes/no)" + read response + if [ "$response" != "yes" ] + then + exit 0 + fi +fi + +for RELEASE in ${RELEASES} +do + cp debian/changelog ../changelog.backup + sed -i "s/${ORIG_RELEASE}/${RELEASE}/;s/0ubuntu1/0ubuntu1~${RELEASE}1/" debian/changelog + debuild -S -i -sa + if [ $? != 0 ] + then + echo "Failed to generate package info for" ${RELEASE} + mv ../changelog.backup debian/changelog + exit 1 + fi + mv ../changelog.backup debian/changelog +done + +if [ $FORCE_YES -ne 1 ] +then + echo "Proceed to upload to launchpad? (yes/no)" + read response + if [ "$response" != "yes" ] + then + exit 0 + fi +fi + +# Upload package into to Launchpad, which will automatically build packages +for RELEASE in ${RELEASES} +do + dput ${PPA} ../uhd_${VERSION}-0ubuntu1~${RELEASE}1_source.changes + if [ $? != 0 ] + then + echo "Failed to upload" ${VERSION} "package info to Launchpad." + exit 1 + fi +done + +if [ $FORCE_YES -ne 1 ] +then + echo + echo "Clean up build artifacts? (yes/no)" + read response + if [ "$response" = "yes" ] + then + cd .. + rm -r ${UHD_TOP_LEVEL}/debian uhd-${VERSION} uhd_${VERSION}.orig.tar.xz uhd*dsc uhd*changes uhd*debian.tar.xz uhd*_source.build uhd*.upload + fi +fi |