diff options
Diffstat (limited to 'debian')
32 files changed, 37 insertions, 393 deletions
diff --git a/debian/changelog b/debian/changelog index 9bbcdf74a..58ffa0248 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -gnuradio (3.1.0svn) UNRELEASED; urgency=low +gnuradio (3.0svn) UNRELEASED; urgency=low * fix build failure with gcc-4.3 by adding a #include, closes: #420896 * update copyright assertion on the debian/ contents, since I have diff --git a/debian/control b/debian/control index 366c1b1c6..f0c814656 100644 --- a/debian/control +++ b/debian/control @@ -8,192 +8,35 @@ Build-Depends-Indep: python-all-dev Standards-Version: 3.7.2 XS-Python-Version: >= 2.3 -Package: gnuradio +Package: libgnuradio-omnithread0c2a +Section: libs Architecture: any -Section: comm -Depends: ${shlibs:Depends}, ${misc:Depends}, python, gnuradio-doc, libgnuradio-core0-dev, libgnuradio-core0c2a, libgnuradio-core0c2a-dbg, python-gnuradio (= ${Source-Version}), python-wxgtk2.6, gnuradio-examples -Suggests: usrp -Conflicts: gr-audio-alsa, gr-audio-oss, gr-audio-jack -Replaces: gr-audio-alsa, gr-audio-oss, gr-audio-jack -XB-Python-Version: ${python:Versions} -Description: Software Defined Radio - This is a meta-package that depends on the various components of a complete - installation of the GNU Radio softare defined radio system. - . - If you have a USRP, you probably also want to install the usrp package as - suggested, which lives in contrib because the FPGA bitstrings require - non-free tools to build. - -Package: gnuradio-doc -Section: doc -Architecture: all -Depends: ${shlibs:Depends} +Depends: ${shlibs:Depends}, ${misc:Depends} +Conflicts: +Replaces: +Recommends: +Suggests: Description: Software Defined Radio - This package contains the documentation for the GNU Radio software - defined radio system. + This package is a fork of the omniORB-4.0.1 threading library + for use with GNU Radio. -Package: libgnuradio-core0-dev +Package: libgnuradio-omnithread0-dev Section: libdevel Architecture: any -Depends: libgnuradio-core0c2a (= ${Source-Version}) +Depends: libgnuradio-omnithread0c2a (= ${Source-Version}) Description: Software Defined Radio - This library contains Signal Processing routines that implement - the functionality of traditional radio receivers and transmitters. - . - The GNU Radio homepage is http://www.gnu.org/software/gnuradio + This package is a fork of the omniORB-4.0.1 threading library + for use with GNU Radio. . This package contains header files needed by developers. Package: libgnuradio-core0c2a Section: libs Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends} +Depends: ${shlibs:Depends}, ${misc:Depends}, libgnuradio-omnithread0c2a Conflicts: libgnuradio-core0, libgnuradio-core0c2 Replaces: libgnuradio-core0, libgnuradio-core0c2 -Recommends: python-gnuradio -Suggests: gnuradio-doc, gnuradio-examples +Recommends: +Suggests: Description: Software Defined Radio This package contains the core GNU Radio libraries. - -Package: libgnuradio-core0c2a-dbg -Section: libdevel -Architecture: any -Depends: libgnuradio-core0c2a (= ${Source-Version}), ${shlibs:Depends} -Description: Software Defined Radio - This package contains the debug symbols needed to debug programs that - use the GNU Radio core libraries. - -Package: usrp -Section: contrib/comm -Architecture: any -Depends: ${shlibs:Depends}, python, libusrp0-dev, libusrp0c2a-dbg, python-usrp (= ${Source-Version}) -Recommends: gnuradio, hotplug, usrp-doc, usrp-firmware -XB-Python-Version: ${python:Versions} -Description: control applications and firmware for the USRP - The Universal Software Radio Peripheral (USRP) is an USB-connected, - low-cost and open board. It features four high-speed analog-to-digital - and digital-to-analog converters, an FPGA and a microcontroller. It's - ideal for capturing or transmitting various signals, usually in - combination with GNU Radio. The design schemas are available under a - free license. Visit ettus.com for more information on the USRP. - . - This package contains a tool for loading firmware and doing other - simple administrative tasks for the USRP (usrper), as well as the - actual firmware binaries for the microcontroller. - . - This package also depends on all of the other USRP-related packages - so that installing this package will pull in all the pieces you might - want or need to successfully use the USRP with GNU Radio. - -Package: usrp-doc -Section: doc -Architecture: all -Depends: ${shlibs:Depends} -Description: Software Defined Radio with USRP - This package contains the documentation for the USRP support that is - part of the GNU Radio software defined radio system. - -Package: usrp-firmware -Section: contrib/comm -Architecture: all -Recommends: usrp -Description: control applications and firmware for the USRP - The Universal Software Radio Peripheral (USRP) is an USB-connected, - low-cost and open board. It features four high-speed analog-to-digital - and digital-to-analog converters, an FPGA and a microcontroller. It's - ideal for capturing or transmitting various signals, usually in - combination with GNU Radio. The design schemas are available under a - free license. - . - This package contains the basic FPGA bitstrings for normal USRP operation, - which need non-free tools to build. - -Package: libusrp0-dev -Provides: libusrp-dev -Conflicts: libusrp-dev -Section: contrib/libdevel -Architecture: any -Depends: libusrp0c2a (= ${Source-Version}), ${shlibs:Depends} -Description: development library files for the USRP - The Universal Software Radio Peripheral (USRP) is an USB-connected, - low-cost and open board. It features four high-speed analog-to-digital - and digital-to-analog converters, an FPGA and a microcontroller. It's - ideal for capturing or transmitting various signals, usually in - combination with GNU Radio. The design schemas are available under a - free license. - . - This package contains development files for the client-side library. - -Package: libusrp0c2a -Section: contrib/libs -Architecture: any -Depends: ${shlibs:Depends} -Recommends: usrp -Conflicts: libusrp0 -Replaces: libusrp0 -Description: client side library for the USRP - The Universal Software Radio Peripheral (USRP) is an USB-connected, - low-cost and open board. It features four high-speed analog-to-digital - and digital-to-analog converters, an FPGA and a microcontroller. It's - ideal for capturing or transmitting various signals, usually in - combination with GNU Radio. The design schemas are available under a - free license. - . - This package contains the client-side library, providing an easy interface - for communicating with the USRP. - -Package: libusrp0c2a-dbg -Priority: extra -Section: contrib/libdevel -Architecture: any -Depends: libusrp0c2a (= ${Source-Version}), ${shlibs:Depends} -Description: client side library debugging symbols for the USRP - The Universal Software Radio Peripheral (USRP) is an USB-connected, - low-cost and open board. It features four high-speed analog-to-digital - and digital-to-analog converters, an FPGA and a microcontroller. It's - ideal for capturing or transmitting various signals, usually in - combination with GNU Radio. The design schemas are available under a - free license. - . - This package contains the debug symbols needed to debug programs that - use the USRP client-side library. - -Package: python-gnuradio -Architecture: any -Depends: ${python:Depends}, libgnuradio-core0c2a, python-numeric -Conflicts: gr-wxgui -Replaces: gr-wxgui -Provides: ${python:Provides} -Section: python -XB-Python-Version: ${python:Versions} -Description: Python bindings for GNU Radio - This provides the module that enable one to use gnuradio from Python - scripts. You will need Python and gnuradio-dev installed to use this. - -Package: python-usrp -Section: contrib/libs -Architecture: any -Depends: ${shlibs:Depends}, ${python:Depends} -Replaces: python2.3-usrp -Conflicts: python2.3-usrp -Provides: ${python:Provides} -XB-Python-Version: ${python:Versions} -Description: Python binding for the USRP client side library - The Universal Software Radio Peripheral (USRP) is an USB-connected, - low-cost and open board. It features four high-speed analog-to-digital - and digital-to-analog converters, an FPGA and a microcontroller. It's - ideal for capturing or transmitting various signals, usually in - combination with GNU Radio. The design schemas are available under a - free license. - . - This package contains the Python bindings for the client-side library. - -Package: gnuradio-examples -Architecture: all -Depends: ${python:Depends}, libgnuradio-core0c2a, python-gnuradio -XB-Python-Version: ${python:Versions} -Description: Example programs to test and use GNU Radio - This package contains Python programs which uses and tests - the GNU Radio libraries. The examples include dialtone generation, - complete FM receiver and many more exciting applications. - diff --git a/debian/gnuradio-doc.install b/debian/gnuradio-doc.install deleted file mode 100644 index 08f1e5de5..000000000 --- a/debian/gnuradio-doc.install +++ /dev/null @@ -1,2 +0,0 @@ -usr/share/doc/gnuradio*/html usr/share/doc/gnuradio-doc -usr/share/doc/gnuradio*/README /usr/share/doc/gnuradio-doc diff --git a/debian/gnuradio-examples.dirs b/debian/gnuradio-examples.dirs deleted file mode 100644 index 208fc242d..000000000 --- a/debian/gnuradio-examples.dirs +++ /dev/null @@ -1,2 +0,0 @@ -usr/share/doc/gnuradio-examples -usr/share/gnuradio diff --git a/debian/gnuradio.docs b/debian/gnuradio.docs deleted file mode 100644 index 6f83607c1..000000000 --- a/debian/gnuradio.docs +++ /dev/null @@ -1,3 +0,0 @@ -AUTHORS -NEWS -README diff --git a/debian/gnuradio.install b/debian/gnuradio.install deleted file mode 100644 index 3462501c0..000000000 --- a/debian/gnuradio.install +++ /dev/null @@ -1 +0,0 @@ -etc/gnuradio/conf.d diff --git a/debian/libgnuradio-core0-dev.dirs b/debian/libgnuradio-core0-dev.dirs deleted file mode 100644 index 44188162e..000000000 --- a/debian/libgnuradio-core0-dev.dirs +++ /dev/null @@ -1,2 +0,0 @@ -usr/lib -usr/include diff --git a/debian/libgnuradio-core0-dev.install b/debian/libgnuradio-core0-dev.install deleted file mode 100644 index 0002b2aef..000000000 --- a/debian/libgnuradio-core0-dev.install +++ /dev/null @@ -1,4 +0,0 @@ -usr/include/gnuradio -usr/lib/libgnuradio-core*.la -usr/lib/libgnuradio-core*.so -usr/lib/pkgconfig/gnuradio-core.pc diff --git a/debian/libgnuradio-core0c2a.install b/debian/libgnuradio-core0c2a.install index 05eea5943..fa67d1830 100644 --- a/debian/libgnuradio-core0c2a.install +++ b/debian/libgnuradio-core0c2a.install @@ -1 +1,2 @@ -usr/lib/libgnuradio-core*.so.* +usr/lib/libgnuradio-core.la +usr/lib/libgnuradio-core.so.* diff --git a/debian/libgnuradio-omnithread0-dev.dirs b/debian/libgnuradio-omnithread0-dev.dirs new file mode 100644 index 000000000..a1143b562 --- /dev/null +++ b/debian/libgnuradio-omnithread0-dev.dirs @@ -0,0 +1 @@ +usr/include/gnuradio diff --git a/debian/libgnuradio-omnithread0-dev.install b/debian/libgnuradio-omnithread0-dev.install new file mode 100644 index 000000000..4bbc352d3 --- /dev/null +++ b/debian/libgnuradio-omnithread0-dev.install @@ -0,0 +1,2 @@ +usr/include/gnuradio/omnithread.h +usr/include/gnuradio/ot_posix.h diff --git a/debian/libusrp0c2a.dirs b/debian/libgnuradio-omnithread0c2a.dirs index 68457717b..f5b3beeb4 100644 --- a/debian/libusrp0c2a.dirs +++ b/debian/libgnuradio-omnithread0c2a.dirs @@ -1 +1,2 @@ usr/lib + diff --git a/debian/libgnuradio-omnithread0c2a.install b/debian/libgnuradio-omnithread0c2a.install new file mode 100644 index 000000000..e574bf642 --- /dev/null +++ b/debian/libgnuradio-omnithread0c2a.install @@ -0,0 +1,3 @@ +usr/lib/libgromnithread.la +usr/lib/libgromnithread.so + diff --git a/debian/libusrp0-dev.dirs b/debian/libusrp0-dev.dirs deleted file mode 100644 index 44188162e..000000000 --- a/debian/libusrp0-dev.dirs +++ /dev/null @@ -1,2 +0,0 @@ -usr/lib -usr/include diff --git a/debian/libusrp0-dev.install b/debian/libusrp0-dev.install deleted file mode 100644 index 35797f2cc..000000000 --- a/debian/libusrp0-dev.install +++ /dev/null @@ -1,4 +0,0 @@ -usr/include/usrp* -usr/lib/libusrp*.la -usr/lib/libusrp*.so -usr/lib/pkgconfig/usrp.pc diff --git a/debian/libusrp0c2a.install b/debian/libusrp0c2a.install deleted file mode 100644 index fa24edac8..000000000 --- a/debian/libusrp0c2a.install +++ /dev/null @@ -1 +0,0 @@ -usr/lib/libusrp*.so.* diff --git a/debian/python-gnuradio.dirs b/debian/python-gnuradio.dirs deleted file mode 100644 index d751d827a..000000000 --- a/debian/python-gnuradio.dirs +++ /dev/null @@ -1 +0,0 @@ -usr/lib/python2.4/site-packages/gnuradio diff --git a/debian/python-gnuradio.install b/debian/python-gnuradio.install deleted file mode 100644 index 394b6db05..000000000 --- a/debian/python-gnuradio.install +++ /dev/null @@ -1 +0,0 @@ -usr/lib/python*/site-packages/gnuradio diff --git a/debian/python-usrp.dirs b/debian/python-usrp.dirs deleted file mode 100644 index a16703392..000000000 --- a/debian/python-usrp.dirs +++ /dev/null @@ -1 +0,0 @@ -usr/lib/python*/site-packages diff --git a/debian/python-usrp.install b/debian/python-usrp.install deleted file mode 100644 index e2d79ffc3..000000000 --- a/debian/python-usrp.install +++ /dev/null @@ -1 +0,0 @@ -usr/lib/python*/site-packages/*usrp* diff --git a/debian/rules b/debian/rules index 4f066494d..2fe14ac5f 100755 --- a/debian/rules +++ b/debian/rules @@ -75,8 +75,8 @@ install: dh_installdirs $(MAKE) install DESTDIR=$(CURDIR)/debian/tmp - install -m 0755 debian/usrp.hotplug \ - $(CURDIR)/debian/usrp/etc/hotplug.d/usb/ +# install -m 0755 debian/usrp.hotplug \ +# $(CURDIR)/debian/usrp/etc/hotplug.d/usb/ : # make python scripts starting with '#!' executable for i in `find debian -mindepth 2 -type f ! -perm 755`; do \ @@ -88,19 +88,19 @@ install: dh_install --sourcedir=debian/tmp --list-missing - cp -r gnuradio-examples/python/* \ - debian/gnuradio-examples/usr/share/gnuradio/ - find debian/gnuradio-examples -type f -name Makefile\* -exec rm {} \; - find debian/gnuradio-examples -type d -name CVS -exec rm {} \; - find debian/gnuradio-examples -name \*.py -exec chmod +x {} \; +# cp -r gnuradio-examples/python/* \ +# debian/gnuradio-examples/usr/share/gnuradio/ +# find debian/gnuradio-examples -type f -name Makefile\* -exec rm {} \; +# find debian/gnuradio-examples -type d -name CVS -exec rm {} \; +# find debian/gnuradio-examples -name \*.py -exec chmod +x {} \; # mv debian/gnuradio/usr/bin/microtune.py \ # debian/gnuradio/usr/bin/microtune - mv debian/usrp/usr/bin/usrp_ra_receiver.py \ - debian/usrp/usr/bin/usrp_ra_receiver - mv debian/usrp/usr/bin/usrp_psr_receiver.py \ - debian/usrp/usr/bin/usrp_psr_receiver +# mv debian/usrp/usr/bin/usrp_ra_receiver.py \ +# debian/usrp/usr/bin/usrp_ra_receiver +# mv debian/usrp/usr/bin/usrp_psr_receiver.py \ +# debian/usrp/usr/bin/usrp_psr_receiver # Must not depend on anything. This is to be called by # binary-arch/binary-indep diff --git a/debian/usrp-doc.install b/debian/usrp-doc.install deleted file mode 100644 index 9a2cb477d..000000000 --- a/debian/usrp-doc.install +++ /dev/null @@ -1,2 +0,0 @@ -usr/share/doc/gnuradio*/usrp/html usr/share/doc/usrp-doc -usr/share/doc/gnuradio*/usrp/README /usr/share/doc/usrp-doc diff --git a/debian/usrp-firmware.dirs b/debian/usrp-firmware.dirs deleted file mode 100644 index 6195915ec..000000000 --- a/debian/usrp-firmware.dirs +++ /dev/null @@ -1,2 +0,0 @@ -/usr/share/usrp/rev2 -/usr/share/usrp/rev4 diff --git a/debian/usrp-firmware.install b/debian/usrp-firmware.install deleted file mode 100644 index ad8d95021..000000000 --- a/debian/usrp-firmware.install +++ /dev/null @@ -1 +0,0 @@ -usr/share/usrp/rev*/*.rbf diff --git a/debian/usrp-firmware.postinst b/debian/usrp-firmware.postinst deleted file mode 100644 index 0c02817b1..000000000 --- a/debian/usrp-firmware.postinst +++ /dev/null @@ -1,43 +0,0 @@ -#! /bin/sh - -set -e - -#DEBHELPER# - -if [ "$1" != "configure" ]; then - exit 0 -fi - -# -# Activate any unactivated USRPs that are plugged in at install time. -# This is basically a duplication of the loop in /etc/hotplug/usb.rc, -# but Md claims it's the best solution for synthesizing hotplug events -# for the USRPs plugged in at installation time. -# - -# -# Don't bother doing this unless we have all the firmware we need, and -# /sbin/hotplug working. (Rationale: If we don't have hotplug working, -# this will not work next boot/plugin anyhow, so it would be very confusing -# for the user to have it all work up _until_ the next boot/plugin.) -# -[ -r /usr/share/usrp/rev2/std_4rx_0tx.rbf ] || exit 0 -[ -x /sbin/hotplug ] || [ -x /sbin/udevd ] || exit 0 - -# We need sysfs to do this. -[ -d /sys/bus/usb/devices/ ] || exit 0 - -# Go through all USB devices and find unconfigured USRPs (ie. FX2 chips). -for device in /sys/bus/usb/devices/[0-9]*:*; do - devlink=$(readlink -f $device) - DEVPATH=${devlink#/sys} - - [ -f $devlink/../idVendor ] || continue - PRODUCT="$(cat $devlink/../idVendor)/$(cat $devlink/../idProduct)/$(cat $devlink/../bcdDevice)" - - if [ "$PRODUCT" = "fffe/0002/0002" ] || [ "$PRODUCT" = "fffe/0002/0004" ]; then - /usr/bin/usrper load_standard_bits - fi -done - -exit 0 diff --git a/debian/usrp.dirs b/debian/usrp.dirs deleted file mode 100644 index 253c03330..000000000 --- a/debian/usrp.dirs +++ /dev/null @@ -1,2 +0,0 @@ -etc/hotplug.d/usb -usr/sbin diff --git a/debian/usrp.docs b/debian/usrp.docs deleted file mode 100644 index 231ec26f7..000000000 --- a/debian/usrp.docs +++ /dev/null @@ -1,3 +0,0 @@ -usrp/AUTHORS -usrp/ChangeLog -usrp/README diff --git a/debian/usrp.hotplug b/debian/usrp.hotplug deleted file mode 100644 index e8b943204..000000000 --- a/debian/usrp.hotplug +++ /dev/null @@ -1,47 +0,0 @@ -#! /bin/sh - -GROUP=usrp - -# Set the permissions for the USRP devices right. -set_permissions() { - if [ -f "$1" ] - then - if getent group $GROUP > /dev/null; then - chmod 660 "$DEVICE" - chown root.$GROUP "$1" - fi - fi -} - -# -# If we do not have /sbin/hotplug, we are being called by post-sarge udev -# emulating hotplug. In that case, all of this is handled by our udev rules, -# so we don't need to duplicate the work done here. -# -if ! [ -x /sbin/hotplug ]; then - exit -fi - -if [ "$ACTION" != "add" ]; then - exit -fi - -# FIXME: Map the USB device ID to usrper's idea of "which USRP". -# For now, we just assume the user only has a single one. - -case $PRODUCT in - # USRP without loaded firmware - fffe/2/2 | fffe/2/4) - sleep 1 # required on some machines - /usr/bin/usrper load_standard_bits - set_permissions "$DEVICE" - ;; - - # USRP with loaded firmware - fffe/2/102 | fffe/2/104) - set_permissions "$DEVICE" - ;; -esac - - - diff --git a/debian/usrp.install b/debian/usrp.install deleted file mode 100644 index 599ad27ab..000000000 --- a/debian/usrp.install +++ /dev/null @@ -1,5 +0,0 @@ -usr/bin/usrper -usr/bin/usrp_cal_dc_offset -usr/bin/usrp_ra_receiver.py -usr/bin/usrp_psr_receiver.py -usr/share/usrp/rev*/*.ihx diff --git a/debian/usrp.postinst b/debian/usrp.postinst deleted file mode 100644 index 60faa2cf1..000000000 --- a/debian/usrp.postinst +++ /dev/null @@ -1,56 +0,0 @@ -#! /bin/sh - -set -e - -if [ "$1" != "configure" ]; then - exit 0 -fi - -# -# The debhelper udev fragments are broken; they only check for -z "$2", -# not for upgrades from versions without the udev script. -# -if [ -z "$2" ] || dpkg --compare-versions "$2" lt "0.10-3"; then - ln -sf ../usrp.rules /etc/udev/rules.d/z60_usrp.rules -fi - -# Create usrp group. -if ! getent group usrp >/dev/null; then - addgroup --system usrp -fi - -# -# Activate any unactivated USRPs that are plugged in at install time. -# This is basically a duplication of the loop in /etc/hotplug/usb.rc, -# but Md claims it's the best solution for synthesizing hotplug events -# for the USRPs plugged in at installation time. -# - -# -# Don't bother doing this unless we have all the firmware we need, and -# hotplugging working. (Rationale: If we don't have hotplug working, -# this will not work next boot/plugin anyhow, so it would be very confusing -# for the user to have it all work up _until_ the next boot/plugin.) -# -[ -r /usr/share/usrp/rev2/std_4rx_0tx.rbf ] || exit 0 -[ -x /sbin/hotplug ] || [ -x /sbin/udevd ] || exit 0 - -# We need sysfs to do this. -[ -d /sys/bus/usb/devices/ ] || exit 0 - -# Go through all USB devices and find unconfigured USRPs (ie. FX2 chips). -for device in /sys/bus/usb/devices/[0-9]*:*; do - devlink=$(readlink -f $device) - DEVPATH=${devlink#/sys} - - [ -f $devlink/../idVendor ] || continue - PRODUCT="$(cat $devlink/../idVendor)/$(cat $devlink/../idProduct)/$(cat $devlink/../bcdDevice)" - - if [ "$PRODUCT" = "fffe/0002/0002" ] || [ "$PRODUCT" = "fffe/0002/0004" ]; then - /usr/bin/usrper load_standard_bits - fi -done - -#DEBHELPER# - -exit 0 diff --git a/debian/usrp.postrm b/debian/usrp.postrm deleted file mode 100644 index bde96a2d4..000000000 --- a/debian/usrp.postrm +++ /dev/null @@ -1,13 +0,0 @@ -#! /bin/sh - -set -e - -if [ "$1" != "remove" ]; then - exit 0 -fi - -rm -f /etc/udev/rules.d/z60_usrp.rules - -#DEBHELPER# - -exit 0 diff --git a/debian/usrp.udev b/debian/usrp.udev deleted file mode 100644 index 546a943c5..000000000 --- a/debian/usrp.udev +++ /dev/null @@ -1,8 +0,0 @@ -# USRP without loaded firmware (FX2) -BUS=="usb", SYSFS{idVendor}=="fffe", SYSFS{idProduct}=="0002", SYSFS{bcdDevice}=="0002", GROUP="usrp", RUN+="/usr/bin/usrper load_standard_bits" -BUS=="usb", SYSFS{idVendor}=="fffe", SYSFS{idProduct}=="0002", SYSFS{bcdDevice}=="0004", GROUP="usrp", RUN+="/usr/bin/usrper load_standard_bits" - -# USRP with loaded firmware -BUS=="usb", SYSFS{idVendor}=="fffe", SYSFS{idProduct}=="0002", SYSFS{bcdDevice}=="0102", GROUP="usrp" -BUS=="usb", SYSFS{idVendor}=="fffe", SYSFS{idProduct}=="0002", SYSFS{bcdDevice}=="0104", GROUP="usrp" - |