From 8cd0cf1b0e0b94f39cd9d65650e095c3f69882fb Mon Sep 17 00:00:00 2001 From: Dominic Spill Date: Tue, 21 Jul 2015 16:42:24 +0100 Subject: [PATCH] Use rad1o's PID --- host/libhackrf/53-hackrf.rules | 1 + host/libhackrf/src/hackrf.c | 14 ++++++++++++-- host/libhackrf/src/hackrf.h | 1 + host/misc/udev/53-hackrf.rules.in | 2 ++ host/python/max2837_dump.py | 4 ++++ host/python/set_transceiver_mode.py | 8 ++++++-- 6 files changed, 26 insertions(+), 4 deletions(-) diff --git a/host/libhackrf/53-hackrf.rules b/host/libhackrf/53-hackrf.rules index 0338ea8c..a982f4a4 100644 --- a/host/libhackrf/53-hackrf.rules +++ b/host/libhackrf/53-hackrf.rules @@ -1,3 +1,4 @@ ATTR{idVendor}=="1d50", ATTR{idProduct}=="604b", SYMLINK+="hackrf-jawbreaker-%k", MODE="660", GROUP="plugdev" ATTR{idVendor}=="1d50", ATTR{idProduct}=="6089", SYMLINK+="hackrf-one-%k", MODE="660", GROUP="plugdev" +ATTR{idVendor}=="1d50", ATTR{idProduct}=="cc15", SYMLINK+="rad1o-%k", MODE="660", GROUP="plugdev" ATTR{idVendor}=="1fc9", ATTR{idProduct}=="000c", SYMLINK+="nxp-dfu-%k", MODE="660", GROUP="plugdev" diff --git a/host/libhackrf/src/hackrf.c b/host/libhackrf/src/hackrf.c index 4471cace..dcba7f65 100644 --- a/host/libhackrf/src/hackrf.c +++ b/host/libhackrf/src/hackrf.c @@ -122,6 +122,7 @@ volatile bool do_exit = false; static const uint16_t hackrf_usb_vid = 0x1d50; static const uint16_t hackrf_jawbreaker_usb_pid = 0x604b; static const uint16_t hackrf_one_usb_pid = 0x6089; +static const uint16_t rad1o_usb_pid = 0xcc15; static libusb_context* g_libusb_context = NULL; @@ -362,7 +363,9 @@ hackrf_device_list_t* ADDCALL hackrf_device_list() libusb_get_device_descriptor(list->usb_devices[i], &device_descriptor); if( device_descriptor.idVendor == hackrf_usb_vid ) { - if( (device_descriptor.idProduct == hackrf_one_usb_pid) || (device_descriptor.idProduct == hackrf_jawbreaker_usb_pid) ) { + if((device_descriptor.idProduct == hackrf_one_usb_pid) || + (device_descriptor.idProduct == hackrf_jawbreaker_usb_pid) || + (device_descriptor.idProduct == rad1o_usb_pid)) { int idx = list->devicecount++; list->usb_board_ids[idx] = device_descriptor.idProduct; list->usb_device_index[idx] = i; @@ -431,7 +434,9 @@ libusb_device_handle* hackrf_open_usb(const char* const desired_serial_number) libusb_get_device_descriptor(devices[i], &device_descriptor); if( device_descriptor.idVendor == hackrf_usb_vid ) { - if( (device_descriptor.idProduct == hackrf_one_usb_pid) || (device_descriptor.idProduct == hackrf_jawbreaker_usb_pid) ) { + if((device_descriptor.idProduct == hackrf_one_usb_pid) || + (device_descriptor.idProduct == hackrf_jawbreaker_usb_pid) || + (device_descriptor.idProduct == rad1o_usb_pid)) { printf("USB device %4x:%4x:", device_descriptor.idVendor, device_descriptor.idProduct); if( desired_serial_number != NULL ) { @@ -548,6 +553,11 @@ int ADDCALL hackrf_open(hackrf_device** device) usb_device = libusb_open_device_with_vid_pid(g_libusb_context, hackrf_usb_vid, hackrf_jawbreaker_usb_pid); } + if( usb_device == NULL ) + { + usb_device = libusb_open_device_with_vid_pid(g_libusb_context, hackrf_usb_vid, rad1o_usb_pid); + } + if( usb_device == NULL ) { return HACKRF_ERROR_NOT_FOUND; diff --git a/host/libhackrf/src/hackrf.h b/host/libhackrf/src/hackrf.h index 503e4ec3..a73d7555 100644 --- a/host/libhackrf/src/hackrf.h +++ b/host/libhackrf/src/hackrf.h @@ -72,6 +72,7 @@ enum hackrf_board_id { enum hackrf_usb_board_id { USB_BOARD_ID_JAWBREAKER = 0x604B, USB_BOARD_ID_HACKRF_ONE = 0x6089, + USB_BOARD_ID_RAD1O = 0xCC15, USB_BOARD_ID_INVALID = 0xFFFF, }; diff --git a/host/misc/udev/53-hackrf.rules.in b/host/misc/udev/53-hackrf.rules.in index 951c424d..05144a7f 100644 --- a/host/misc/udev/53-hackrf.rules.in +++ b/host/misc/udev/53-hackrf.rules.in @@ -2,5 +2,7 @@ ATTR{idVendor}=="1d50", ATTR{idProduct}=="604b", SYMLINK+="hackrf-jawbreaker-%k", MODE="660", GROUP="@HACKRF_GROUP@" # HackRF One ATTR{idVendor}=="1d50", ATTR{idProduct}=="6089", SYMLINK+="hackrf-one-%k", MODE="660", GROUP="@HACKRF_GROUP@" +# HackRF One +ATTR{idVendor}=="1d50", ATTR{idProduct}=="CC15", SYMLINK+="rad1o-%k", MODE="660", GROUP="@HACKRF_GROUP@" # HackRF DFU ATTR{idVendor}=="1fc9", ATTR{idProduct}=="000c", SYMLINK+="nxp-dfu-%k", MODE="660", GROUP="@HACKRF_GROUP@" diff --git a/host/python/max2837_dump.py b/host/python/max2837_dump.py index c1732b2e..d0e80f48 100755 --- a/host/python/max2837_dump.py +++ b/host/python/max2837_dump.py @@ -32,6 +32,10 @@ else: if device: print 'Find: HackRF One' else: + device = usb.core.find(idVendor=0x1d50, idProduct=0xCC15) + if device: + print 'Find: Rad1o' + else: print 'Not find any HackRF device.' sys.exit() device.set_configuration() diff --git a/host/python/set_transceiver_mode.py b/host/python/set_transceiver_mode.py index c1307532..fe013709 100755 --- a/host/python/set_transceiver_mode.py +++ b/host/python/set_transceiver_mode.py @@ -31,8 +31,12 @@ else: if device: print 'Find: HackRF One' else: - print 'Not find any HackRF device.' - sys.exit() + device = usb.core.find(idVendor=0x1d50, idProduct=0xCC15) + if device: + print 'Find: Rad1o' + else: + print 'Not find any HackRF device.' + sys.exit() device.set_configuration() def set_rx():