Actually, I think you just need to configure and reload your udev rules as
noted in this KB under “configuring USB”:

https://kb.ettus.com/Building_and_Installing_the_USRP_Open-Source_Toolchain_(UHD_and_GNU_Radio)_on_Linux#Configuring_USB


-Sam

On Sat, Oct 10, 2020 at 3:20 AM David Taylor (manx.net) <drtay...@manx.net>
wrote:

>
>
>
>
>
>
>
>
> Sam,
>
>
>
>
>
> Thanks for your input.
>
>
> In my rather foolhardy attempt at obtaining a UHD device handle in my GRC
>
> code, I used UHD b2xx_fx3_utils to alter the USB pid value on my B210.
>
>
> The App note [2] (page 10/14) is slightly conflicting in the specification
>
> of the B2xx pid values, giving two value options. Having a genuine NI
> part, I
>
> tried 0x7814.!
>
>
>
>
>
> uhd_find_devices fails with “No UHD Devices
>
> Found”
>
>
>
>
>
> however
>
>
> ./b2xx_fx3_utils –init-device –write-vid 0x2500
>
> –write-pid 0x7814
>
>
> responds with
>
>
> Device opened (VID=0x2500, PID=0x7814)
>
>
> B2xx detected...Failed to communicate with the device!
>
>
> ...
>
>
> and UHD 3.15.0 response
>
>
> [ERROR [USB] USB open failed: insufficient permissions.
>
>
> See the application notes for your device.
>
>
>
>
>
> Perhaps a very cautious patch to the programmer code might help as a
>
> workaround?
>
>
> I will take a look.
>
>
>
>
>
> Best regards,
>
>
> David Taylor
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> *From:* Sam
>
> Reiter
>
>
> *Sent:* Friday, October 9, 2020 10:01 PM
>
>
> *To:* David Taylor (manx.net)
>
>
> *Cc:* Marcus D. Leech ; usrp-users (usrp-users@lists.ettus.com)
>
>
>
> *Subject:* Re: [USRP-users] B210 USRP object
>
> creation
>
>
>
>
>
>
>
> David,
>
>
>
>
> To clarify, you used "write-vid" and "write-pid" arguments with UHD
>
> b2xx_fx3_utils  [1] to convert your NI-2901 to a B210 using the VID and
> PID
>
> values found in the "About the Motherboard and Daughtercard EEPROM on USRP
>
> Devices" KB [2]. Correct? And after changing these values, you are no
> longer
>
> able to reach the device using uhd_find_devices? Does the behavior change
> if you
>
> feed in arguments for the unit's serial number? e.g. uhd_find_devices
> --args
>
> serial=<xxxxx>
>
>
>
>
>
> If memory serves, I'd expect you to still be able to find the device with
>
> uhd_find_devices irrespective of the programmed VID and PID. However,
> those
>
> values are necessary for basically anything else as they're used to
> determine
>
> the FPGA image that is loaded onto the unit at runtime.
>
>
>
>
>
> [1]
> https://github.com/EttusResearch/uhd/blob/master/host/utils/b2xx_fx3_utils.cpp
>
>
> [2]
> https://kb.ettus.com/About_the_Motherboard_and_Daughtercard_EEPROM_on_USRP_Devices#USB_VID.2FPID
>
>
>
>
>
>
>
> On Fri, Oct 9, 2020 at 10:09 AM David Taylor (manx.net) via USRP-users
>
> <usrp-users@lists.ettus.com> wrote:
>
>
>
>>
>>
>>
>>
>>
>>
>>
>> Marcus,
>>
>>
>>
>>
>>
>> Thanks again.
>>
>>
>>
>>
>>
>> I am using the GRC as a test-bed for writing gr-code as the flow-graph
>>
>> method promotes well defined partitioning of the signal processing
>> functions,
>>
>> including of course the UHD interface.
>>
>>
>>
>>
>>
>> The project which I may have mentioned previously is Direct Sequence
>>
>> Spread Spectrum based and GRC C++ OOT blocks have been developed. These
>>
>> generate PRN sequences for transmission and then acquire and track the
>> carrier
>>
>> and PRN code phases in a modular receiver.
>>
>>
>> Much of the concept development can therefore be done using the GRC
>>
>> stand-alone or using the USRP in RF loopback with a simple BPSK
>>
>> modulator/demodulator pair.
>>
>>
>>
>>
>>
>> I am aware of the GRC scheduler shortcomings particularly in terms of
>>
>> throughput timing stability, however for now, some form of primitive
>> access to
>>
>> the UHD hardware is required for external timing event signalling through
>> the
>>
>> GPIO.
>>
>>
>>
>>
>>
>> I will have look at some of Balint Seeber’s old code and run some of the
>>
>> UHD test code as suggested.
>>
>>
>>
>>
>>
>> Finally to add to my woes, the B210 is no longer “found” after my vid and
>>
>> pid experiment.
>>
>>
>> USB finds the device with the vid and pid as written, but it can no
>>
>> longer be accessed through UHD application. I have tried carefully
>> editing the
>>
>> uhd-usrp.rules file to comply with the new pid value, but without
>>
>> success.
>>
>>
>> Perhaps a cautionary warning should be added to the EEPROM on USRP
>>
>> devices note!
>>
>>
>>
>>
>>
>> Regards,
>>
>>
>> David
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> *From:* Marcus D. Leech via
>>
>> USRP-users
>>
>>
>> *Sent:* Thursday, October 8, 2020 8:42 PM
>>
>>
>> *To:* usrp-users@lists.ettus.com
>>
>>
>> *Subject:* Re: [USRP-users] B210 USRP object
>>
>> creation
>>
>>
>>
>>
>>
>>
>>
>> On 10/08/2020 03:33 PM, David Taylor (manx.net) via USRP-users wrote:
>>
>>
>>
>>
>>
>>
>>
>>
>> Point taken. - I didn’t actually check the original default values of
>>
>> the VID and PID, but they were reset according to the table provided, so
>>
>> that they could be tested as arguments in the make statement below.
>>
>>
>> “About the Motherboard and Daughtercard EEPROM on USRP Devices (5th
>>
>> August 2020)”
>>
>>
>>
>>
>>
>> The aim is to be able to manipulate some GPIO bits in the block work
>>
>> function and to align events using the 1PPS input.
>>
>>
>>
>>
>>
>> Regards,
>>
>>
>> David GD4FMB
>>
>>
>>
>>
>> Ok, so presumably you're using Gnu
>>
>> Radio, since you're talking about "block work functions".
>>
>> So this issue
>>
>> straddles the two universes--UHD/USRP and Gnu Radio.
>>
>> I'd encourage you
>>
>> to use the UHD test tools to confirm sanity of your setup and then move
>> on to
>>
>> a stupid-simple flow-graph with standard
>>   blocks.  Once THAT
>>
>> works, then one can think about grabbing the usrp source/sink "object"
>> and
>>
>> being able to use it in your own
>>   processing "block".
>>
>> There used to be a way to do this even within GRC but I fear that it was
>> a
>>
>> custom block (perhaps from the old
>>   gr-balint set of blocks) that
>>
>> would allow you to grab an object handle and pass it as a variable into
>> your
>>
>> own functions.
>>
>> It's something I've wanted to do myself from time to
>>
>> time.   Of course if you're coding in "naked" GR, without using GRC,
>>
>> it's easy.
>>   But GRC uses a "data flow" model, and is less
>>
>> "procedural", so it gives an added layer of abstraction that makes it
>>
>> difficult to do
>>   what you want to do.   The gr-uhd module
>>
>> provides GPIO functions:
>>
>>
>> https://www.gnuradio.org/doc/doxygen-v3.7.9.1/classgr_1_1uhd_1_1usrp__block.html#ab09502e1c8c43a546616b9a998f137f1
>>
>> But
>>
>> they aren't exposed in any meaningful way into GRC that I know of.
>>
>> I'll
>>
>> note that in GR3.9, there is support for something called "code snippets"
>>
>> which would let you "dip down into the lower layers" without
>>   having
>>
>> to post-facto edit generated Python code.
>>
>>
>>
>>
>> ------------------------------
>>
>>
>> _______________________________________________
>> USRP-users mailing
>>
>> list
>> USRP-users@lists.ettus.com
>> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
>> _______________________________________________
>> USRP-users
>>
>> mailing list
>> USRP-users@lists.ettus.com
>> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
>>
>
>
>
_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

Reply via email to