Hello all, I am trying to make the USRP1 work with 4 independent real signal channels (not IQ) using two RX daughterboards. In the older versions of GNURadio I was able to make this work with a custom block I had found in a repository or from somebody on the mailing list. I am using GRC to make scripts and in the newer UHD version I'm having trouble making this work with 4 channels. I can make 2 channels work by setting the Mb0:subdev specification in the UHD block to A:A A:B, or even A:B B:B, etc. When I try to make all four work by setting A:A A:B B:A B:B (four independent real channels) I get the following error: RuntimeError: ValueError: The subdevice specification "A:A A:B B:A B:B" is too long. The user specified 4 channels, but there are only 2 rx dsps on mboard 0. Does anyone know how I can properly call the subdevice specification and make this work without needing a custom block (I'm not skilled enough to write complicated blocks)? Again, in the older GNURadio version I was able to get 4 real RX channels to work independently with a custom block someone else had written. I don't think its compatible with the newer UHD version as it was done in 2009. Thank you, - Tom
on 2013-02-19 20:09
on 2013-02-19 20:17
> or even A:B B:B, etc. > version I was able to get 4 real RX channels to work independently > with a custom block someone else had written. I don't think its > compatible with the newer UHD version as it was done in 2009. > > Thank you, - Tom > For 4 RX DSPs on the USRP1, you need the 4rx FPGA image: http://files.ettus.com/uhd_docs/manual/html/usrp1....
on 2013-02-19 20:20
Oh ok I will try that out not sure why I didn't come across that in my search. Thanks so much Marcus! -Tom ________________________________ From: Marcus D. Leech <mleech@ripnet.com> To: discuss-gnuradio@gnu.org Sent: Tuesday, February 19, 2013 11:13 AM Subject: Re: [Discuss-gnuradio] USRP1 4 Channel Subdev Issue Hello all, >RuntimeError: ValueError: The subdevice specification "A:A A:B B:A B:B" is too long. >The user specified 4 channels, but there are only 2 rx dsps on mboard 0. > > > >Does anyone know how I can properly call the subdevice specification and make this work without needing a custom block (I'm not skilled enough to write complicated blocks)? Again, in the older GNURadio version I was able to get 4 real RX channels to work independently with a custom block someone else had written. I don't think its compatible with the newer UHD version as it was done in 2009. > > >Thank you, - Tom > > For 4 RX DSPs on the USRP1, you need the 4rx FPGA image: http://files.ettus.com/uhd_docs/manual/html/usrp1.... -- Principal Investigator Shirleys Bay Radio Astronomy Consortium http://www.sbrac.org
on 2013-02-20 18:52
I tried the suggestion from Marcus and was able to get the USRP1 to work with 4 real channels. I have a simple GRC script which samples the USRP at 1MS/s and then resamples the signal to 500kS/s and then writes to a file. I am getting continuous Overruns with this GRC script on my laptop. I have the same GRC script with the older GNURadio and when I ran it again on the same laptop (I booted up a prior version of ubuntu with an older gnuradio version that uses the USRP class not UHD) it writes to file with no Overruns at all. I saw that the custom quad channel USRP block has an fusb_block and fusb_nblocks setting. These are both set to 512*32 but if I lower them to something like 64*32 I start to see the Overruns. Are there similar type settings I can adjust on the 3.6.2 version of GRC or GNURadio python scripts to get rid of the overruns? I'm not sure if this is possible but I would like to not have to boot into an older ubuntu version when I need 4 real channels. The only thing that comes to mind is to adjust noutput_items and I tried this but it didn't eliminate the overruns. Thank you, -Tom ________________________________ From: Tom Hendrick <sdtom182@yahoo.com> To: Marcus D. Leech <mleech@ripnet.com>; "discuss-gnuradio@gnu.org" <discuss-gnuradio@gnu.org> Sent: Tuesday, February 19, 2013 11:19 AM Subject: Re: [Discuss-gnuradio] USRP1 4 Channel Subdev Issue Oh ok I will try that out not sure why I didn't come across that in my search. Thanks so much Marcus! -Tom ________________________________ From: Marcus D. Leech <mleech@ripnet.com> To: discuss-gnuradio@gnu.org Sent: Tuesday, February 19, 2013 11:13 AM Subject: Re: [Discuss-gnuradio] USRP1 4 Channel Subdev Issue Hello all, >RuntimeError: ValueError: The subdevice specification "A:A A:B B:A B:B" is too long. >The user specified 4 channels, but there are only 2 rx dsps on mboard 0. > > > >Does anyone know how I can properly call the subdevice specification and make this work without needing a custom block (I'm not skilled enough to write complicated blocks)? Again, in the older GNURadio version I was able to get 4 real RX channels to work independently with a custom block someone else had written. I don't think its compatible with the newer UHD version as it was done in 2009. > > >Thank you, - Tom > > For 4 RX DSPs on the USRP1, you need the 4rx FPGA image: http://files.ettus.com/uhd_docs/manual/html/usrp1.... -- Principal Investigator Shirleys Bay Radio Astronomy Consortium http://www.sbrac.org _______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
on 2013-02-20 18:55
> USRP block has an fusb_block and fusb_nblocks setting. These are both > Thank you, -Tom > > http://files.ettus.com/uhd_docs/manual/html/transp... The USB parameters shown there can be passed as device args
on 2013-02-20 21:24
Thanks for the suggestion Marcus. I tried adjusting those settings by using the following command: uhd_usrp_probe --args="serial=123456, recv_frame_size=4096,num_recv_frames=4096" The 123456 is replaced with the actual serial number of the usrp1 when I run the command. When I run that command it shows the USRP1 configuration settings and the daughtercard and then at the bottom it says "Segmentation fault (core dumped)". This happens with other values of recv_frame_size and num_recv_frames. Does anyone know what I'm doing wrong or is this even the right way to change those settings? What are the default values in case I need to set them back to what they were? I couldn't find this anywhere in the UHD documentation. Thank you, - Tom ________________________________ From: Marcus D. Leech <mleech@ripnet.com> To: Tom Hendrick <sdtom182@yahoo.com> Cc: "discuss-gnuradio@gnu.org" <discuss-gnuradio@gnu.org> Sent: Wednesday, February 20, 2013 9:53 AM Subject: Re: [Discuss-gnuradio] USRP1 4 Channel Subdev Issue I tried the suggestion from Marcus and was able to get the USRP1 to work with 4 real channels. I have a simple GRC script which samples the USRP at 1MS/s and then resamples the signal to 500kS/s and then writes to a file. I am getting continuous Overruns with this GRC script on my laptop. > >I have the same GRC script with the older GNURadio and when I ran it again on the same laptop (I booted up a prior version of ubuntu with an older gnuradio version that uses the USRP class not UHD) it writes to file with no Overruns at all. I saw that the custom quad channel USRP block has an fusb_block and fusb_nblocks setting. These are both set to 512*32 but if I lower them to something like 64*32 I start to see the Overruns. > >Are there similar type settings I can adjust on the 3.6.2 version of GRC or GNURadio python scripts to get rid of the overruns? I'm not sure if this is possible but I would like to not have to boot into an older ubuntu version when I need 4 real channels. The only thing that comes to mind is to adjust noutput_items and I tried this but it didn't eliminate the overruns. > >Thank you, -Tom > > > > http://files.ettus.com/uhd_docs/manual/html/transp... The USB parameters shown there can be passed as device args
on 2013-02-21 01:35
On 02/20/2013 02:22 PM, Tom Hendrick wrote: > What are the default values in case I need to set them back to what they were? I couldn't find this anywhere in the UHD documentation. > The values arent sticky, so you dont need to worry about that. The default libusb xfer size if 16384 bytes. I think the segfault comes from the number of frames. The default is 16, and you can change this, but 4k is probably way more pending LUTs than libusb can handle. -josh
on 2013-02-21 23:21
Thanks Josh. I've tried some different combinations of uhd_usrp_probe --args="serial=123456, recv_frame_size=16384,num_recv_frames=16" and varied recv_frame_size up to something really high like 1,000,000 and num_recv_frames up to 400 and didn't get the segementation fault error. When I run my 4 channel RX script after trying some different configurations I am still getting overruns. If I change the USRP sampling rate to 500kS/s but leave the file rate at 500kS/s the overruns go away however I want to sample the USRP at 1MS/s to have a flatter frequency response. This leads me to think the Overruns are not caused by the file writing part. The fusb_block and fusb_nblocks setting were both set to 512*32 in the older GNURadio version and custom USRP 4 channel source block. The same script in the older GNURadio version still runs with no Overruns even at 1Ms/s for each of the 4 USRP channels. Is there anything else I can try? Do I need to also alter the send_frame_size and num_send_frames in the uhd_usrp_probe calls? Thank you, Tom ________________________________ From: Josh Blum <josh@ettus.com> To: Tom Hendrick <sdtom182@yahoo.com>; "Discuss-gnuradio@gnu.org" <Discuss-gnuradio@gnu.org> Sent: Wednesday, February 20, 2013 4:34 PM Subject: Re: [Discuss-gnuradio] USRP1 4 Channel Subdev Issue On 02/20/2013 02:22 PM, Tom Hendrick wrote: > What are the default values in case I need to set them back to what they were? I couldn't find this anywhere in the UHD documentation. > The values arent sticky, so you dont need to worry about that. The default libusb xfer size if 16384 bytes. I think the segfault comes from the number of frames. The default is 16, and you can change this, but 4k is probably way more pending LUTs than libusb can handle. -josh
on 2013-02-25 18:34
I forgot to mention that I had set three channels to null and kept just one writing to a file. In this case I still see overruns. Also if I drop the sampling rate to 500 MS/s on all four channels but leave them all writing to file at 500 kS/s I don't see any overruns at all. The problem is I want 1 MS/s sampling for a flatter frequency response. Does anyone have advice on anything else I can try? Again in the older version of GNURadio/GRC, I could run four channels at 1MS/s and write all four to 500MS/s sampled files without any overruns at all. Thank you, -Tom ________________________________ From: Tom Hendrick <sdtom182@yahoo.com> To: "josh@ettus.com" <josh@ettus.com>; "Discuss-gnuradio@gnu.org" <Discuss-gnuradio@gnu.org> Sent: Thursday, February 21, 2013 2:20 PM Subject: Re: [Discuss-gnuradio] USRP1 4 Channel Subdev Issue Thanks Josh. I've tried some different combinations of uhd_usrp_probe --args="serial=123456, recv_frame_size=16384,num_recv_frames=16" and varied recv_frame_size up to something really high like 1,000,000 and num_recv_frames up to 400 and didn't get the segementation fault error. When I run my 4 channel RX script after trying some different configurations I am still getting overruns. If I change the USRP sampling rate to 500kS/s but leave the file rate at 500kS/s the overruns go away however I want to sample the USRP at 1MS/s to have a flatter frequency response. This leads me to think the Overruns are not caused by the file writing part. The fusb_block and fusb_nblocks setting were both set to 512*32 in the older GNURadio version and custom USRP 4 channel source block. The same script in the older GNURadio version still runs with no Overruns even at 1Ms/s for each of the 4 USRP channels. Is there anything else I can try? Do I need to also alter the send_frame_size and num_send_frames in the uhd_usrp_probe calls? Thank you, Tom ________________________________ From: Josh Blum <josh@ettus.com> To: Tom Hendrick <sdtom182@yahoo.com>; "Discuss-gnuradio@gnu.org" <Discuss-gnuradio@gnu.org> Sent: Wednesday, February 20, 2013 4:34 PM Subject: Re: [Discuss-gnuradio] USRP1 4 Channel Subdev Issue On 02/20/2013 02:22 PM, Tom Hendrick wrote: > What are the default values in case I need to set them back to what they were? I couldn't find this anywhere in the UHD documentation. > The values arent sticky, so you dont need to worry about that. The default libusb xfer size if 16384 bytes. I think the segfault comes from the number of frames. The default is 16, and you can change this, but 4k is probably way more pending LUTs than libusb can handle. -josh > Thank you, - Tom > > > > > ________________________________ > From: Marcus D. Leech <mleech@ripnet.com> > To: Tom Hendrick <sdtom182@yahoo.com> > Cc: "discuss-gnuradio@gnu.org" <discuss-gnuradio@gnu.org> > Sent: Wednesday, February 20, 2013 9:53 AM > fusb_nblocks setting. These are both set to 512*32 but if I
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.