Git Product home page Git Product logo

hackrf's Introduction

HackRF

This repository contains hardware designs and software for HackRF, a low cost, open source Software Defined Radio platform.

HackRF One

(photo by fd0 from https://github.com/fd0/hackrf-one-pictures)

principal author: Michael Ossmann [email protected]

Information on HackRF and purchasing HackRF: https://greatscottgadgets.com/hackrf/


Documentation

Documentation for HackRF can be viewed on Read the Docs. The raw documentation files for HackRF are in the docs folder in this repository and can be built locally by installing Sphinx Docs and running make html. Documentation changes can be submitted through pull request and suggestions can be made as GitHub issues.

To create a PDF of the HackRF documentation from the HackRF repository while on Ubuntu:

  • run sudo apt install latexmk texlive-latex-extra
  • navigate to hackrf/docs on command line
  • run the command make latex
  • run the command make latexpdf

Getting Help

Before asking for help with HackRF, check to see if your question is listed in the FAQ.

For assistance with HackRF general use or development, please look at the issues on the GitHub project. This is the preferred place to ask questions so that others may locate the answer to your question in the future.

We invite you to join our community discussions on Discord. Note that while technical support requests are welcome here, we do not have support staff on duty at all times. Be sure to also submit an issue on GitHub if you've found a bug or if you want to ensure that your request will be tracked and not overlooked.

If you wish to see past discussions and questions about HackRF, you may also view the mailing list archives.

GitHub issues on this repository that are labelled "technical support" by Great Scott Gadgets employees can expect a response time of two weeks. We currently do not have expected response times for other GitHub issues or pull requests for this repository.

hackrf's People

Contributors

bgamari avatar bvernoux avatar cederom avatar ckuethe avatar cottsay avatar dizcza avatar dominicgs avatar dovecho avatar gitcolt avatar grvvy avatar hessu avatar icb- avatar jboone avatar martinling avatar matioupi avatar miek avatar mossmann avatar mrbubble62 avatar muellermartin avatar rgerganov avatar sasszem avatar scateu avatar schneider42 avatar sec42 avatar smburdick avatar smunaut avatar straithe avatar willcode avatar wishi avatar yhetti avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hackrf's Issues

multi-device support

libhackrf and hackrf-tools should support multiple HackRF devices connected over USB. It should be possible to select a particular device for a given operation. It should be straightforward to use two HackRF devices together for full-duplex operation.

push libopencm3 upstream

HackRF firmware compilation currently depend's on mossmann's libopencm3 fork. This fork should be pushed upstream.

.svn dir in firmware/blinky

the .svn dir in firmware/blinky makes it impossible to checkout from github using subversion.

"svn: E155000: Failed to add directory 'xxxxxxxxxxxxx/hhackrf/firmware/blinky/.svn': object of the same name as the administrative directory"

".data" section problem with .bin generated

".data" section problem with .bin generated

Just replace in firmware/common/Makefile_inc.mk b/firmware/common/Makefile_inc.mk
$(Q)$(OBJCOPY) -Obinary -j .text -j .ARM.exidx $().elf $().bin
by
$(Q)$(OBJCOPY) -Obinary $().elf $().bin

See fix in patch:

From 11a2b2de9384633ccebf4c24c2996b37543c7d2b Mon Sep 17 00:00:00 2001
From: TitanMKD [email protected]
Date: Fri, 9 Nov 2012 22:18:25 +0100
Subject: [PATCH 5/5] Fix problem with ".data" section which was not included,
now it include all loadable section defined in elf. Fix
problem with .bin generated without .data section (only
.text) !!


firmware/common/Makefile_inc.mk | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/firmware/common/Makefile_inc.mk b/firmware/common/Makefile_inc.mk
index 891495c..2145fab 100644
--- a/firmware/common/Makefile_inc.mk
+++ b/firmware/common/Makefile_inc.mk
@@ -91,7 +91,7 @@ program: $(BINARY).dfu

%.bin: %.elf
@#printf " OBJCOPY $(*).bin\n"

  • $(Q)$(OBJCOPY) -Obinary -j .text -j .ARM.exidx $().elf $().bin
  • $(Q)$(OBJCOPY) -Obinary $().elf $().bin

%.hex: %.elf

@#printf " OBJCOPY $(*).hex\n"

1.7.10.msysgit.1

hackrf-tools compile failure with libhackrf in /usr

If libhackrf is installed in /usr (and perhaps anywhere other than /usr/local), hackrf-tools doesn't use it. Part of this problem can be solved by:

cmake -DLIBHACKRF_INCLUDE_DIR=/usr/include ../

But then I still get:

/tmp/test1/hackrf-tools/src/hackrf_cpldjtag.c:24:20: fatal error: hackrf.h: No such file or directory
compilation terminated.
make[2]: *** [src/CMakeFiles/hackrf_cpldjtag.dir/hackrf_cpldjtag.c.o] Error 1
make[1]: *** [src/CMakeFiles/hackrf_cpldjtag.dir/all] Error 2
make: *** [all] Error 2

libhackrf is installed in /usr by the Gentoo ebuild.

Suspend and resume does not work correctly

Hackrf does not work with autosuspended USB, which seems to be the default (at least under Ubuntu). Typical rtl-sdr devices (and actually all other devices I use) have no problem with autosuspend. Only hackrf does have a problem during resume.

Replicate:
On Ubuntu 14.04 default install, Hackrf firmware git-44df9d1, hackrf progs and lib git-31c82a8:

$ hackrf_info
hackrf_open() failed: HACKRF_ERROR_NOT_FOUND (-5)
$ hackrf_info
Found HackRF board.
Board ID Number: 2 (HackRF One)
Firmware Version: git-44df9d1
Part ID Number: ...
Serial Number: ...

Wait two seconds:
$ hackrf_info
hackrf_open() failed: HACKRF_ERROR_NOT_FOUND (-5)

The first call seems to wake up hackrf, but errors out. The second call (within 2 seconds!) works. Waiting longer than two seconds, hackrf is suspended again and the next call will fail again (but will wake the device).

Disabling autosuspend for the hackrf device "echo on > /sys/bus/usb/devices/5-1.1/power/control" does solve the problem temporarily (until the device is disconnected and reconnected).

Add man pages for hackrf utilities

Having man pages for the hackrf utilities would be an improvement over the --help output. I highly suggest using one of the many utilities that can convert Markdown into Roff, and then commit the resulting Roff files.

┆Issue is synchronized with this Basecamp todo by Unito

DFU instructions

Some work is needed on the firmware update instructions. Probably:
dfu-util --device 1fc9:000c --alt 0 --download hackrf_usb_ram.dfu

dfu blinky failed

I have a HackRF One.

on version f9ffe90, I still can use

cd firmware/blinky;sudo make program

but on version 7f34c6c, when I try to run blinky via dfu mode, it just doesn't work.

dfu-util version: 0.7

f9ffe90 dfu log:

dfu-util 0.7

Copyright 2005-2008 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2012 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to [email protected]

Filter on vendor = 0x1fc9 product = 0x000c
Opening DFU capable USB device... ID 1fc9:000c
Run-time device DFU version 0100
Claiming USB DFU Runtime Interface...
Determining device status: state = dfuIDLE, status = 0
Found Runtime: [1fc9:000c] devnum=0, cfg=1, intf=0, alt=0, name="DFU"
Claiming USB DFU Interface...
Setting Alternate Setting #0 ...
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 0100
Device returned transfer size 2048
bytes_per_hash=138
Copying data from PC to DFU device
Starting download: [##################################################] finished!

dfu log on version 7f34c6c

dfu-util 0.7

Copyright 2005-2008 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2012 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to [email protected]

Filter on vendor = 0x1fc9 product = 0x000c
Opening DFU capable USB device... ID 1fc9:000c
Run-time device DFU version 0100
Claiming USB DFU Runtime Interface...
Determining device status: state = dfuIDLE, status = 0
Found Runtime: [1fc9:000c] devnum=0, cfg=1, intf=0, alt=0, name="DFU"
Claiming USB DFU Interface...
Setting Alternate Setting #0 ...
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 0100
Device returned transfer size 2048
bytes_per_hash=218
Copying data from PC to DFU device
Starting download: [##################################################] finished!

HackRF One RX spectrum

I use a walkie talkie to transmit 455.550MHz signal.

on version f9ffe90 ,

osmocom_fft -f 455M

good

but when using firmware on latest version 7f34c6c,

bad

I think the IQ was swapped, actually in gqrx, I can enable "Swap I/Q" to temporarily "fix" it.

Feature request: gpio control via usb

It would be nice if hackrf driver exposed sysct for some of the gpio on the board for turning on or off the upconverter, or other filters and antennas. mentioned this as a feature request to you in irc mossmann

┆Issue is synchronized with this Basecamp todo by Unito

Usage of old Version of DFU-Tool

Hello,
you are using a older version of the DFU-Tool.
You can see here https://github.com/mossmann/hackrf/blob/master/firmware/common/Makefile_inc.mk#L13 that you're using the option -s.

As you may see in the official Repo, this option ist not used any more (2014) https://gitorious.org/dfu-util/dfu-util/source/fc81c6cc4eba30eaadf0010deb3d38f3be93ecd1:src/suffix.c#L52

So I tried to find a version with this option.
It seems like you are using an older (2012) version https://github.com/Stefan-Schmidt/dfu-util ... with this version all your scripts and manuals are working quite fine. The problem is that this version isn't developed anymore.

Both versions are version 0.7 so this problem gets even worse.
A clarification would be very nice.

Fedora Packaging

As per Fedora packaging regulations, this is a notification that this software is being packaged as part of Fedora Linux. When the packaging is complete, I'll post a link to the package information and close this issue.

Thanks,

--scott

migrate to Cortex-M0

Move current firmware functions to the Cortex-M0 core, freeing the M4 for other things.

timed operations

Implement timed TX and RX operations: The host requests an operation to start and/or stop at a particular time in the future.

See also: #85

┆Issue is synchronized with this Basecamp todo by Unito

hackrf_si5351c multisynth 6&7 support

"the output of hackrf_si5351c is wrong for the last two multisynths (6&7)"
"they are not like the others, they are integer only, and they lack p2 and p3"

complex float input and output

hackrf_transfer should have an option to store samples in complex float format (GNU Radio's complex data type) for compatibility. A switch (-c for complex float?) could enable this mode instead of the default unsigned 8 bit format for both -r and -t operations.

spiflash crashes when byte count exceeds 131072

When running the spiflash command and setting the length to be output to a file, if you set the bytes requested as 131073 or more the application says...

Reading 256 bytes from 0x01fd00.
Reading 256 bytes from 0x01fe00.
Reading 256 bytes from 0x01ff00.
Reading 1 bytes from 0x020000.

and then Halts.

Terminating the program and trying with a smaller number or any other hackrf command shows the error...

hackrf_open() failed: HACKRF_ERROR_LIBUSB (-1000)

After removing and adding the USB plug, the HackRF will respond to other commands.

I found this error using Win7 64bit

remove 5 Msps option

5 Msps is not supported by the MAX5864 (though it has worked fine). We should remove this configuration until it is supported via decimation/interpolation.

decimation and interpolation

Implement decimation and interpolation on the Cortex-M4 to support sample rates lower than 8 Msps over USB. It probably isn't practical to support arbitrary decimation/interpolation rates, but half, quarter, etc. should be possible. A rudimentary implementation without any digital filtering would be useful down to 2 Msps in conjunction with the MAX2837's baseband filter, but we'll probably want to try implementing digital filtering in the long run.

┆Issue is synchronized with this Basecamp todo by Unito

Wiki/FAQ needs better fix for "I can't seem to access my HackRF under Linux"

The group plugdev is eschewed by several mainstream distro devs: https://bugzilla.redhat.com/show_bug.cgi?id=815093#c4 (I realize fedora is unlikely to be used for RF hacking but Arch appears to have abandoned plugdev as well). Arch apparently has recently introduced Access Control Lists (Aug 17, 2014 https://wiki.archlinux.org/index.php/Access_Control_Lists) but they do not seem to be in wide spread use as of yet (Sept 20, 2014: filesystems are not yet mounted with the acl option).

For the time being running hackrf_info etc. and gnuradio-companion as root appears to be the easiest fix - I will not attempt to re-add plugdev to my Arch system. However, documentation on how to use ACL to access usb devices can hopefully be added soon.

external clock input

Implement operation with an external reference clock connected to P16 (CLKIN). This will require some soldering and firmware hacking.

external clock output

Implement clock output to P2 (CLKOUT). This will require some soldering and firmware hacking.

MacPorts install fails on gnuradio with py27-SciPy (no universal variant)

Maybe it's me (not an expert) but I can't get gr-osmosdr to install on a Mac x86_64 running 10.8.5. I keep getting this error:

imacoffice:private username$ sudo port install gr-osmosdr +full
Password:
---> Computing dependencies for gr-osmosdr
Error: Cannot install gnuradio for the arch(s) 'i386 x86_64' because
Error: its dependency py27-scipy does not build for the required arch(s) by default
Error: and does not have a universal variant.
Error: Unable to execute port: architecture mismatch

I found a similar issue someone else had with this explanation:

"py-scipy deliberately disables its universal variant. Therefore no port that depends on py-scipy can have a universal variant either. Sorry, you cannot install py-pandas universal; you'll have to install it for a single architecture only."

Tag stable releases

Hi,

as discussed with TitanMKD on IRC, please tag stable releases tested on different operating systems. Also include a pre-compiled firmware binary that works with the host tools included in the tagged commit.

Thanks!

[USB] Hack rf fails usb compliance tests.

Compliance tools can be found at : http://www.usb.org/developers/tools/

Test log initialized.
User Input module initialized
Windows 7 (Build 7601)
Service Pack 1.0
CVExe.exe ver 1.4.7.0
CommandVerifierLog.dll ver 1.4.8.0
TSMFCGuiDialogHelperDLL.dll ver 1.4.7.0
TestUtilities.dll ver 1.4.7.0
TestSuiteEngine.dll ver 1.4.7.0
xhci_DevIOCTL.dll ver 1.0.2.1
xhci_TestServices.dll ver 1.0.2.1
USBUtilities.dll ver 1.4.5.0
StackSwitcher.dll ver 1.4.5.1
xhci_USBCommandVerifier.dll ver 1.0.2.1
USB20_USBCommandVerifier.dll ver 1.0.2.1
Host selected: xHCI Host: VID=0x8086, PID=0x1e31 (PCI bus 0, device 20, function 0)
DUT selected: HS Device addr=1: VID=1d50, PID=604b
Topology: XHCI HC -- DUT
High Speed Device
USB Version number of device: 2.00
Number of configurations: 1
USB Version number of device: 2.00
Number of Other Speed configurations: 1
Start time: Thu Mar 06 16:55:21 2014

Set Configuration failed for Configuration Value : 0
Get Configuration failed
Device descriptor length : 0x12
Device descriptor type : 0x1
Major version : 0x2
Minor version : 0x0
Each interface specifies its own device class type
Device sub class : 0x0
Device protocol : 0x0
Device MaxPacketSize0 : 0x40
Vendor information for VendorID : 0x1D50, OpenMoko
Device ProductID : 0x604B
Device BCD : 0x100
ENGLISH_US language string descriptor is : Great Scott Gadgets
ENGLISH_US language string descriptor is : HackRF
Device Serial Number String : 0x0
Number of configurations device supports : 0x1

Stop time: Thu Mar 06 16:55:22 2014
Duration: 1 second.
Stopping Test [ TD 9.1 - Device Descriptor Test (Configuration Index 0) - default:
Number of: Fails (0); Aborts (0); Warnings (0) ]

Start time: Thu Mar 06 16:55:22 2014

Configuration descriptor contains descriptor of type : 0x4 (Interface Descriptor)
Configuration descriptor contains descriptor of type : 0x5 (Endpoint Descriptor)
Configuration descriptor contains descriptor of type : 0x5 (Endpoint Descriptor)
Number of interface descriptors found 0x1
Number of alternate interface descriptors found : 0x0
Number of endpoint descriptors found : 0x2
Configuration descriptor length : 0x9
Configuration descriptor type : 0x2
Configuration descriptor TotalLength : 0x20
Configuration descriptor NumInterfaces : 0x1
Configuration descriptor ConfigurationValue: 0x1
Configuration descriptor string descriptor index : 0x0
Configuration descriptor bmAttributes : 0x80
Device does not support remote wake up
MaxPower = 250 PowerMultiplier = 2
Maximum power device requires : 500mA
Device is BUS POWERED

Stop time: Thu Mar 06 16:55:23 2014
Duration: 1 second.
Stopping Test [ TD 9.2 - Configuration Descriptor Test (Configuration Index 0) - default:
Number of: Fails (0); Aborts (0); Warnings (0) ]

Start time: Thu Mar 06 16:55:23 2014

Found Interface Descriptor with number : 0

This device does not contain an Interface Association Descriptor

Stop time: Thu Mar 06 16:55:24 2014
Duration: 1 second.
Stopping Test [ TD 9.3 Interface Association Descriptor Test (Config 0):
Number of: Fails (0); Aborts (0); Warnings (0) ]

Start time: Thu Mar 06 16:55:24 2014

Bandwidth check passed
Testing Interface number : 0x0 Alternate setting : 0x0
Interface descriptor length : 0x9
Interface descriptor bDescriptorType : 0x4
Interface descriptor bAlternateSetting : 0x0
Interface descriptor bNumEndPoints: 0x2
Interface descriptor bInterfaceClass is vendor-specific
Interface descriptor bInterfaceSubClass : 0xFF
Device uses a vendor-specific protocol for this interface
Interface descriptor iInterface : 0x0

Stop time: Thu Mar 06 16:55:25 2014
Duration: 1 second.
Stopping Test [ TD 9.4 - Interface Descriptor Test (Configuration Index 0) - default:
Number of: Fails (0); Aborts (0); Warnings (0) ]

Start time: Thu Mar 06 16:55:25 2014

Testing Interface number : 0x0 Alternate setting : 0x0
Endpoint descriptor length : 0x7
Endpoint descriptor type : 0x5
Endpoint Type : Bulk, Number : 0x1, Direction : IN
Endpoint descriptor bmAttributes : 0x2
Endpoint descriptor raw MaxPacketSize : 0x200
Endpoint descriptor interval : 0x0
Endpoint descriptor length : 0x7
Endpoint descriptor type : 0x5
Endpoint Type : Bulk, Number : 0x2, Direction : OUT
Endpoint descriptor bmAttributes : 0x2
Endpoint descriptor raw MaxPacketSize : 0x200
Endpoint descriptor interval : 0x0

Stop time: Thu Mar 06 16:55:26 2014
Duration: 1 second.
Stopping Test [ TD 9.5 - Endpoint Descriptor Test (Configuration Index 0) - default:
Number of: Fails (0); Aborts (0); Warnings (0) ]

Start time: Thu Mar 06 16:55:26 2014

Configuration Index 0x00 has a Configuration Value of 1
USB Version number of device: 2.00
Device supports version of the USB Protocol that does not support BOS Descriptor

Stop time: Thu Mar 06 16:55:27 2014
Duration: 1 second.
Stopping Test [ TD 9.7 - BOS Descriptor Test - Device State Default:
Number of: Fails (0); Aborts (0); Warnings (0) ]

Start time: Thu Mar 06 16:55:27 2014

Device descriptor length : 0x12
Device descriptor type : 0x1
Major version : 0x2
Minor version : 0x0
Each interface specifies its own device class type
Device sub class : 0x0
Device protocol : 0x0
Device MaxPacketSize0 : 0x40
Vendor information for VendorID : 0x1D50, OpenMoko
Device ProductID : 0x604B
Device BCD : 0x100
ENGLISH_US language string descriptor is : Great Scott Gadgets
ENGLISH_US language string descriptor is : HackRF
Device Serial Number String : 0x0
Number of configurations device supports : 0x1

Stop time: Thu Mar 06 16:55:28 2014
Duration: 1 second.
Stopping Test [ TD 9.1 - Device Descriptor Test (Configuration Index 0) - addressed:
Number of: Fails (0); Aborts (0); Warnings (0) ]

Start time: Thu Mar 06 16:55:28 2014

Configuration descriptor contains descriptor of type : 0x4 (Interface Descriptor)
Configuration descriptor contains descriptor of type : 0x5 (Endpoint Descriptor)
Configuration descriptor contains descriptor of type : 0x5 (Endpoint Descriptor)
Number of interface descriptors found 0x1
Number of alternate interface descriptors found : 0x0
Number of endpoint descriptors found : 0x2
Configuration descriptor length : 0x9
Configuration descriptor type : 0x2
Configuration descriptor TotalLength : 0x20
Configuration descriptor NumInterfaces : 0x1
Configuration descriptor ConfigurationValue: 0x1
Configuration descriptor string descriptor index : 0x0
Configuration descriptor bmAttributes : 0x80
Device does not support remote wake up
MaxPower = 250 PowerMultiplier = 2
Maximum power device requires : 500mA
Device is BUS POWERED
(1.1.100) Devices must support a GetStatus Standard Request
Test failed

Stop time: Thu Mar 06 16:55:29 2014
Duration: 1 second.
Stopping Test [ TD 9.2 - Configuration Descriptor Test (Configuration Index 0) - addressed:
Number of: Fails (1); Aborts (1); Warnings (0) ]

Start time: Thu Mar 06 16:55:29 2014

Found Interface Descriptor with number : 0

This device does not contain an Interface Association Descriptor

Stop time: Thu Mar 06 16:55:30 2014
Duration: 1 second.
Stopping Test [ TD 9.3 Interface Association Descriptor Test (Config 0):
Number of: Fails (0); Aborts (0); Warnings (0) ]

Start time: Thu Mar 06 16:55:30 2014

Bandwidth check passed
Testing Interface number : 0x0 Alternate setting : 0x0
Interface descriptor length : 0x9
Interface descriptor bDescriptorType : 0x4
Interface descriptor bAlternateSetting : 0x0
Interface descriptor bNumEndPoints: 0x2
Interface descriptor bInterfaceClass is vendor-specific
Interface descriptor bInterfaceSubClass : 0xFF
Device uses a vendor-specific protocol for this interface
Interface descriptor iInterface : 0x0

Stop time: Thu Mar 06 16:55:31 2014
Duration: 1 second.
Stopping Test [ TD 9.4 - Interface Descriptor Test (Configuration Index 0) - addressed:
Number of: Fails (0); Aborts (0); Warnings (0) ]

Start time: Thu Mar 06 16:55:31 2014

Testing Interface number : 0x0 Alternate setting : 0x0
Endpoint descriptor length : 0x7
Endpoint descriptor type : 0x5
Endpoint Type : Bulk, Number : 0x1, Direction : IN
Endpoint descriptor bmAttributes : 0x2
Endpoint descriptor raw MaxPacketSize : 0x200
Endpoint descriptor interval : 0x0
Endpoint descriptor length : 0x7
Endpoint descriptor type : 0x5
Endpoint Type : Bulk, Number : 0x2, Direction : OUT
Endpoint descriptor bmAttributes : 0x2
Endpoint descriptor raw MaxPacketSize : 0x200
Endpoint descriptor interval : 0x0

Stop time: Thu Mar 06 16:55:32 2014
Duration: 1 second.
Stopping Test [ TD 9.5 - Endpoint Descriptor Test (Configuration Index 0) - addressed:
Number of: Fails (0); Aborts (0); Warnings (0) ]

Start time: Thu Mar 06 16:55:32 2014

Configuration Index 0x00 has a Configuration Value of 1
USB Version number of device: 2.00
Device supports version of the USB Protocol that does not support BOS Descriptor

Stop time: Thu Mar 06 16:55:33 2014
Duration: 1 second.
Stopping Test [ TD 9.7 - BOS Descriptor Test - Device State Addressed:
Number of: Fails (0); Aborts (0); Warnings (0) ]

Start time: Thu Mar 06 16:55:33 2014

Device descriptor length : 0x12
Device descriptor type : 0x1
Major version : 0x2
Minor version : 0x0
Each interface specifies its own device class type
Device sub class : 0x0
Device protocol : 0x0
Device MaxPacketSize0 : 0x40
Vendor information for VendorID : 0x1D50, OpenMoko
Device ProductID : 0x604B
Device BCD : 0x100
ENGLISH_US language string descriptor is : Great Scott Gadgets
ENGLISH_US language string descriptor is : HackRF
Device Serial Number String : 0x0
Number of configurations device supports : 0x1

Stop time: Thu Mar 06 16:55:34 2014
Duration: 1 second.
Stopping Test [ TD 9.1 - Device Descriptor Test (Configuration Index 0) - configured:
Number of: Fails (0); Aborts (0); Warnings (0) ]

Start time: Thu Mar 06 16:55:34 2014

Configuration descriptor contains descriptor of type : 0x4 (Interface Descriptor)
Configuration descriptor contains descriptor of type : 0x5 (Endpoint Descriptor)
Configuration descriptor contains descriptor of type : 0x5 (Endpoint Descriptor)
Number of interface descriptors found 0x1
Number of alternate interface descriptors found : 0x0
Number of endpoint descriptors found : 0x2
Configuration descriptor length : 0x9
Configuration descriptor type : 0x2
Configuration descriptor TotalLength : 0x20
Configuration descriptor NumInterfaces : 0x1
Configuration descriptor ConfigurationValue: 0x1
Configuration descriptor string descriptor index : 0x0
Configuration descriptor bmAttributes : 0x80
Device does not support remote wake up
MaxPower = 250 PowerMultiplier = 2
Maximum power device requires : 500mA
Device is BUS POWERED
(1.1.100) Devices must support a GetStatus Standard Request
Test failed

Stop time: Thu Mar 06 16:55:35 2014
Duration: 1 second.
Stopping Test [ TD 9.2 - Configuration Descriptor Test (Configuration Index 0) - configured:
Number of: Fails (1); Aborts (1); Warnings (0) ]

Start time: Thu Mar 06 16:55:35 2014

Found Interface Descriptor with number : 0

This device does not contain an Interface Association Descriptor

Stop time: Thu Mar 06 16:55:36 2014
Duration: 1 second.
Stopping Test [ TD 9.3 Interface Association Descriptor Test (Config 0):
Number of: Fails (0); Aborts (0); Warnings (0) ]

Start time: Thu Mar 06 16:55:36 2014

Bandwidth check passed
Testing Interface number : 0x0 Alternate setting : 0x0
Interface descriptor length : 0x9
Interface descriptor bDescriptorType : 0x4
Interface descriptor bAlternateSetting : 0x0
Interface descriptor bNumEndPoints: 0x2
Interface descriptor bInterfaceClass is vendor-specific
Interface descriptor bInterfaceSubClass : 0xFF
Device uses a vendor-specific protocol for this interface
Interface descriptor iInterface : 0x0
SetInterface with interface number : 0x0 failed.

Stop time: Thu Mar 06 16:55:37 2014
Duration: 1 second.
Stopping Test [ TD 9.4 - Interface Descriptor Test (Configuration Index 0) - configured:
Number of: Fails (0); Aborts (0); Warnings (1) ]

Start time: Thu Mar 06 16:55:37 2014

Testing Interface number : 0x0 Alternate setting : 0x0
Endpoint descriptor length : 0x7
Endpoint descriptor type : 0x5
Endpoint Type : Bulk, Number : 0x1, Direction : IN
Endpoint descriptor bmAttributes : 0x2
Endpoint descriptor raw MaxPacketSize : 0x200
Endpoint descriptor interval : 0x0
Endpoint descriptor length : 0x7
Endpoint descriptor type : 0x5
Endpoint Type : Bulk, Number : 0x2, Direction : OUT
Endpoint descriptor bmAttributes : 0x2
Endpoint descriptor raw MaxPacketSize : 0x200
Endpoint descriptor interval : 0x0

Stop time: Thu Mar 06 16:55:38 2014
Duration: 1 second.
Stopping Test [ TD 9.5 - Endpoint Descriptor Test (Configuration Index 0) - configured:
Number of: Fails (0); Aborts (0); Warnings (0) ]

Start time: Thu Mar 06 16:55:38 2014

Configuration Index 0x00 has a Configuration Value of 1
Initializing the device to the Configured state with Configuration Value 1

USB Version number of device: 2.00
Device supports version of the USB Protocol that does not support BOS Descriptor

Stop time: Thu Mar 06 16:55:39 2014
Duration: 1 second.
Stopping Test [ TD 9.7 - BOS Descriptor Test (Configuration Index 0) - Device State Configured:
Number of: Fails (0); Aborts (0); Warnings (0) ]

Start time: Thu Mar 06 16:55:39 2014

Testing Interface number : 0x0 Alternate setting : 0x0
SetInterface with interface number : 0x0 failed.
Testing EndPoint type : Bulk, Address : 0x81
Endpoint GetStatus request failed for endpoint 0x81
Endpoint is currently not halted for endpoint 0x81
Setting feature endpoint halt for endpoint 0x81
Setting feature endpoint halt failed for endpoint 0x81
Endpoint GetStatus request failed for endpoint 0x81
Clearing feature endpoint halt for endpoint 0x81
Endpoint GetStatus request failed for endpoint 0x81
(1.2.91) A device that has Bulk/Interrupt endpoints must support the
Halt Endpoint request on those endpoints.
Testing EndPoint type : Bulk, Address : 0x2
Endpoint GetStatus request failed for endpoint 0x02
Endpoint is currently not halted for endpoint 0x02
Setting feature endpoint halt for endpoint 0x02
Setting feature endpoint halt failed for endpoint 0x02
Endpoint GetStatus request failed for endpoint 0x02
Clearing feature endpoint halt for endpoint 0x02
Endpoint GetStatus request failed for endpoint 0x02
(1.2.91) A device that has Bulk/Interrupt endpoints must support the
Halt Endpoint request on those endpoints.

Stop time: Thu Mar 06 16:55:40 2014
Duration: 1 second.
Stopping Test [ TD 9.9 - Halt Endpoint Test (Configuration Index 0):
Number of: Fails (2); Aborts (0); Warnings (1) ]

Start time: Thu Mar 06 16:55:40 2014

SetConfiguration with configuration value : 0x1
Set Configuration failed for Configuration Value : 0
Get Configuration failed
Unconfigured the device
Set Configuration failed for Configuration Value : 1
Get Configuration failed
SetConfiguration with configuration value : 0x1 failed
(1.1.7) Devices must support a SetConfiguration request.

Stop time: Thu Mar 06 16:55:41 2014
Duration: 1 second.
Stopping Test [ TD 9.13 - SetConfiguration Test (Configuration Index 0):
Number of: Fails (1); Aborts (0); Warnings (0) ]

Start time: Thu Mar 06 16:55:41 2014

Suspended the parent port of the Device Under Test.
Resumed the parent port of the Device Under Test.
Get Device Descriptor failed after resuming device.
(1.1.30) A suspended device must resume normal operation when resume
signaling is seen on its upstream port.
Reenumerated device under test.

Stop time: Thu Mar 06 16:55:44 2014
Duration: 3 seconds.
Stopping Test [ TD 9.14 - Suspend/Resume Test (Configuration Index 0):
Number of: Fails (1); Aborts (0); Warnings (0) ]

Start time: Thu Mar 06 16:55:44 2014

The device does not support remote wakeup

Stop time: Thu Mar 06 16:55:45 2014
Duration: 1 second.
Stopping Test [ TD 9.12 - Remote Wakeup Test (Configuration Index 0) - Enabled::
Number of: Fails (0); Aborts (0); Warnings (0) ]

Start time: Thu Mar 06 16:55:45 2014

The device does not support remote wakeup

Stop time: Thu Mar 06 16:55:46 2014
Duration: 1 second.
Stopping Test [ TD 9.12 - Remote Wakeup Test (Configuration Index 0) - Disabled::
Number of: Fails (0); Aborts (0); Warnings (0) ]

Start time: Thu Mar 06 16:55:46 2014

Checking Device Under Test for LPM Compatibility...
USB version of device is 2.00.
LPM is only supported in USB version 2.01 and above.

Stop time: Thu Mar 06 16:55:47 2014
Duration: 1 second.
Stopping Test [ L1Suspend/Resume Test (Configuration Index 0):
Number of: Fails (0); Aborts (0); Warnings (0) ]

Start time: Thu Mar 06 16:55:47 2014

Set Configuration failed for Configuration Value : 0
Get Configuration failed
(1.1.3) Devices must support a GetDescriptor(Device) request.

Stop time: Thu Mar 06 16:55:48 2014
Duration: 1 second.
Stopping Test [ TD 9.17 - Other Speed Configuration Test (Configuration Index 0 OtherSpeedConfiguration Index 0) - addressed:
Number of: Fails (1); Aborts (0); Warnings (0) ]

Start time: Thu Mar 06 16:55:48 2014

Get configuration descriptor failed for Configuration Descriptor index : 0x0
Could not get configuration value for configuration index 0x0
(1.1.1) Devices must have a corresponding configuration value for a
valid configuration index.

Stop time: Thu Mar 06 16:55:49 2014
Duration: 1 second.
Stopping Test [ TD 9.4 - Interface Descriptor Test (Configuration Index 0 OtherSpeedConfiguration Index 0) - addressed:
Number of: Fails (1); Aborts (0); Warnings (0) ]

Start time: Thu Mar 06 16:55:49 2014

Get configuration descriptor failed for Configuration Descriptor index : 0x0
Could not get configuration value for configuration index 0x0
(1.1.1) Devices must have a corresponding configuration value for a
valid configuration index.

Stop time: Thu Mar 06 16:55:50 2014
Duration: 1 second.
Stopping Test [ TD 9.5 - Endpoint Descriptor Test (Configuration Index 0 OtherSpeedConfiguration Index 0) - addressed:
Number of: Fails (1); Aborts (0); Warnings (0) ]

Start time: Thu Mar 06 16:55:50 2014

Get configuration descriptor failed for Configuration Descriptor index : 0x0
Could not get configuration value for configuration index 0x0
(1.1.1) Devices must have a corresponding configuration value for a
valid configuration index.

Stop time: Thu Mar 06 16:55:51 2014
Duration: 1 second.
Stopping Test [ TD 9.18 - Device Qualifier Descriptor Test (Configuration Index 0) - addressed:
Number of: Fails (1); Aborts (0); Warnings (0) ]

Start time: Thu Mar 06 16:55:51 2014

Get configuration descriptor failed for Configuration Descriptor index : 0x0
Could not get configuration value for configuration index 0x0
(1.1.1) Devices must have a corresponding configuration value for a
valid configuration index.

Stop time: Thu Mar 06 16:55:52 2014
Duration: 1 second.
Stopping Test [ TD 9.18 - Device Qualifier Descriptor Test (Configuration Index 0) - configured:
Number of: Fails (1); Aborts (0); Warnings (0) ]

Start time: Thu Mar 06 16:55:52 2014

Get configuration descriptor failed for Configuration Descriptor index : 0x0
Could not get configuration value for config index 0x0
(1.1.1) Devices must have a corresponding configuration value for a
valid configuration index.

Stop time: Thu Mar 06 16:55:53 2014
Duration: 1 second.
Stopping Test [ TD 9.17 - Other Speed Configuration Test (Configuration Index 0 OtherSpeedConfiguration Index 0) - configured:
Number of: Fails (1); Aborts (0); Warnings (0) ]

Start time: Thu Mar 06 16:55:53 2014

Get configuration descriptor failed for Configuration Descriptor index : 0x0
Could not get configuration value for configuration index 0x0
(1.1.1) Devices must have a corresponding configuration value for a
valid configuration index.

Stop time: Thu Mar 06 16:55:54 2014
Duration: 1 second.
Stopping Test [ TD 9.4 - Interface Descriptor Test (Configuration Index 0 OtherSpeedConfiguration Index 0) - configured:
Number of: Fails (1); Aborts (0); Warnings (0) ]

Start time: Thu Mar 06 16:55:54 2014

Get configuration descriptor failed for Configuration Descriptor index : 0x0
Could not get configuration value for configuration index 0x0
(1.1.1) Devices must have a corresponding configuration value for a
valid configuration index.

Stop time: Thu Mar 06 16:55:55 2014
Duration: 1 second.
Stopping Test [ TD 9.5 - Endpoint Descriptor Test (Configuration Index 0 OtherSpeedConfiguration Index 0) - configured:
Number of: Fails (1); Aborts (0); Warnings (0) ]

Start time: Thu Mar 06 16:55:55 2014

Device speed is High
Beginning enumeration test with 150 enumerations. This may take several minutes to complete.
Enumerated 150 iterations.

Stop time: Thu Mar 06 16:56:36 2014
Duration: 41 seconds.
Stopping Test [ TD 9.16 - Enumeration Test (repeat 150 times):
Number of: Fails (0); Aborts (0); Warnings (0) ]

Summary Log Counts [ Fails (14); Aborts (2); Warnings (2) ]

┆Issue is synchronized with this Basecamp todo by Unito

Bandwidth

Why does the hackrf and sdr devices in general limit the incoming bandwidth.
If one can capture 2GHz why would the same capture not also contain all the lower rf to?

Harmonics of the LO

I met the same problem as described in the #109.
the desired signal is polluted because of with Harmonics of the LO.
Do you solve the problem in your latest firmware.
Manually choose Lo and IF can solve such problem but is not convenient.

gain control in libhackrf

gr-osmosdr is configuring various gain options by manipulation of registers of ICs on Jawbreaker through what was intended to be a debug interface. This functionality should be provided by the libhackrf API without the caller having to know the details of specific registers on specific chips.

Low sample rate support for HackRF

Due to MAX5864's limit, the lowest sample rate for HackRF is 8Msps.
In some application, we need low sample rate such as 1Msps or something to reduce computer's realtime pressure.

Maybe we can add some decimation/interpolation code for CPLD to provide low sample rate function.

sample timestamps

Deliver timestamps with samples heading to the host over USB during RX. For bonus points, synchronize with 1 PPS input on a GPIO pin.

┆Issue is synchronized with this Basecamp todo by Unito

configurable IF

The Intermediate Frequency (IF) should be user-selectable. This is the frequency that the MAX2837 is tuned to.

hackrf_is_streaming segfaults

Test Case

#include <malloc.h>
#include <stdio.h>
#include <libhackrf/hackrf.h>

int main()
{
    hackrf_device *device = NULL;

    hackrf_init();

    hackrf_open(&device);

    if (hackrf_is_streaming(device))
    {
        puts("is streaming");
    }

    hackrf_close(device);
    hackrf_exit();
    return 0;
}

Steps to Reproduce

$ gcc -lhackrf test.c -o test
$ ./test

Expected Result

streaming

Actual Result

#0  0x00007ffff7bdab51 in hackrf_is_streaming ()
   from /usr/local/lib/libhackrf.so.0
#1  0x0000000000400852 in main () at test.c:12

Additional Info

  • Fedora Linux 20 (x86-64)
  • libusb-1.0.19
  • hackrf master and 2014.04.1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.