usrp-users@lists.ettus.com

Discussion and technical support related to USRP, UHD, RFNoC

View all threads

How to record all 4 channels from an X410

MJ
Mann, John - 0662 - MITLL
Tue, Mar 18, 2025 2:48 PM

I am trying to create a simple gnuradio-companion flowgraph that uses a
Multi-USRP block to record all 4 channels from an X410 into data files on my
hard drive.  I am struggling with the subdev specifications, and keep
getting syntax errors, and sometime receiver channel number errors.  I'm
clearly not understanding how the X410 differs from the X310, which I have
used a lot in the past without any problems.

Does anybody have an example grc file that records all 4 channels from an
X410?  Or could someone just tell me what the subdev specs should be in my
Multi-USRP block?  It's my understanding that the X410 has 2 ZBX daughter
boards, and each ZBX daughter board has 2 channels.  I thought it would be
easy to do this, but I can't seem to get it working.

I am trying to create a simple gnuradio-companion flowgraph that uses a Multi-USRP block to record all 4 channels from an X410 into data files on my hard drive. I am struggling with the subdev specifications, and keep getting syntax errors, and sometime receiver channel number errors. I'm clearly not understanding how the X410 differs from the X310, which I have used a lot in the past without any problems. Does anybody have an example grc file that records all 4 channels from an X410? Or could someone just tell me what the subdev specs should be in my Multi-USRP block? It's my understanding that the X410 has 2 ZBX daughter boards, and each ZBX daughter board has 2 channels. I thought it would be easy to do this, but I can't seem to get it working.
RK
Rob Kossler
Tue, Mar 18, 2025 3:19 PM

Hi John,
Did you see this link
https://kb.ettus.com/USRP_X410/X440_Getting_Started_Guide#Subdev_Specifications
?
Rob

On Tue, Mar 18, 2025 at 10:49 AM Mann, John - 0662 - MITLL mannj@ll.mit.edu
wrote:

I am trying to create a simple gnuradio-companion flowgraph that uses a
Multi-USRP block to record all 4 channels from an X410 into data files on
my hard drive.  I am struggling with the subdev specifications, and keep
getting syntax errors, and sometime receiver channel number errors.  I’m
clearly not understanding how the X410 differs from the X310, which I have
used a lot in the past without any problems.

Does anybody have an example grc file that records all 4 channels from an
X410?  Or could someone just tell me what the subdev specs should be in my
Multi-USRP block?  It’s my understanding that the X410 has 2 ZBX daughter
boards, and each ZBX daughter board has 2 channels.  I thought it would be
easy to do this, but I can’t seem to get it working…


USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-leave@lists.ettus.com

Hi John, Did you see this link <https://kb.ettus.com/USRP_X410/X440_Getting_Started_Guide#Subdev_Specifications> ? Rob On Tue, Mar 18, 2025 at 10:49 AM Mann, John - 0662 - MITLL <mannj@ll.mit.edu> wrote: > I am trying to create a simple gnuradio-companion flowgraph that uses a > Multi-USRP block to record all 4 channels from an X410 into data files on > my hard drive. I am struggling with the subdev specifications, and keep > getting syntax errors, and sometime receiver channel number errors. I’m > clearly not understanding how the X410 differs from the X310, which I have > used a lot in the past without any problems. > > > > Does anybody have an example grc file that records all 4 channels from an > X410? Or could someone just tell me what the subdev specs should be in my > Multi-USRP block? It’s my understanding that the X410 has 2 ZBX daughter > boards, and each ZBX daughter board has 2 channels. I thought it would be > easy to do this, but I can’t seem to get it working… > _______________________________________________ > USRP-users mailing list -- usrp-users@lists.ettus.com > To unsubscribe send an email to usrp-users-leave@lists.ettus.com >
MJ
Mann, John - 0662 - MITLL
Tue, Mar 18, 2025 3:30 PM

Yes – I was aware of that.  But I still don’t know what to put into the subdev string, because nothing seems to work.

I tried:

A:01

A:0 A:1

A:0,A:1

A:0 B:0

etc….

I think my problem must be something more basic that I am missing, that is why I’d like to see a working example.

John

ZjQcmQRYFpfptBannerEnd

Hi John,

Did you see this link https://kb.ettus.com/USRP_X410/X440_Getting_Started_Guide#Subdev_Specifications ?

Rob

Yes – I was aware of that. But I still don’t know what to put into the subdev string, because nothing seems to work. I tried: A:01 A:0 A:1 A:0,A:1 A:0 B:0 etc…. I think my problem must be something more basic that I am missing, that is why I’d like to see a working example. John ZjQcmQRYFpfptBannerEnd Hi John, Did you see this link <https://kb.ettus.com/USRP_X410/X440_Getting_Started_Guide#Subdev_Specifications> ? Rob
MD
Marcus D. Leech
Tue, Mar 18, 2025 4:29 PM

On 18/03/2025 11:30, Mann, John - 0662 - MITLL wrote:

Yes – I was aware of that.  But I still don’t know what to put into
the subdev string, because nothing seems to work.

I tried:

A:01

A:0 A:1

A:0,A:1

A:0 B:0

etc….

I think my problem must be something more basic that I am missing,
that is why I’d like to see a working example.

John

Try a subdev spec of:

A:0 A:1 B:0 B:1

Make sure you've set the source block to use 4 channels, also what
device address and args are you using?

Do you get any error messages?   Please share them here.

On 18/03/2025 11:30, Mann, John - 0662 - MITLL wrote: > > Yes – I was aware of that.  But I still don’t know what to put into > the subdev string, because nothing seems to work. > > I tried: > > A:01 > > A:0 A:1 > > A:0,A:1 > > A:0 B:0 > > etc…. > > I think my problem must be something more basic that I am missing, > that is why I’d like to see a working example. > > John > > Try a subdev spec of: A:0 A:1 B:0 B:1 Make sure you've set the source block to use 4 channels, also what device address and args are you using? Do you get any error messages?   Please share them here.
MJ
Mann, John - 0662 - MITLL
Tue, Mar 18, 2025 5:48 PM

Thanks Marcus,

Your recommended syntax seems to have fixed my syntax and channel number
errors.  I thought the subdev specs were set for each daughter board, and
since each board has 2 channels, I had only been specifying 2 suibdevs for
each.

I was still getting this error:

File "/home/jo13815/./Record_4Chan_X410.py", line 60, in init

self.uhd_usrp_source_0.set_rx_agc(False, 0)

RuntimeError: RuntimeError: NotImplementedError: set_rx_agc() is not supported
on this radio!

After commenting out the set_rx_agc function calls, the script now seems to
run fine, and I get 4 data files.  I still need to check out the files to make
sure they look correct, but they seem to be the correct size!

John

Try a subdev spec of:

A:0 A:1 B:0 B:1

Make sure you've set the source block to use 4 channels, also what device
address and args are you using?

Do you get any error messages?  Please share them here.

Thanks Marcus, Your recommended syntax seems to have fixed my syntax and channel number errors. I thought the subdev specs were set for each daughter board, and since each board has 2 channels, I had only been specifying 2 suibdevs for each. I was still getting this error: File "/home/jo13815/./Record_4Chan_X410.py", line 60, in __init__ self.uhd_usrp_source_0.set_rx_agc(False, 0) RuntimeError: RuntimeError: NotImplementedError: set_rx_agc() is not supported on this radio! After commenting out the set_rx_agc function calls, the script now seems to run fine, and I get 4 data files. I still need to check out the files to make sure they look correct, but they seem to be the correct size! John Try a subdev spec of: A:0 A:1 B:0 B:1 Make sure you've set the source block to use 4 channels, also what device address and args are you using? Do you get any error messages? Please share them here.
MD
Marcus D. Leech
Tue, Mar 18, 2025 5:52 PM

On 18/03/2025 13:48, Mann, John - 0662 - MITLL wrote:

Thanks Marcus,

Your recommended syntax seems to have fixed my syntax and channel
number errors.  I thought the subdev specs were set for each daughter
board, and since each board has 2 channels, I had only been specifying
2 suibdevs for each.

I was still getting this error:

  File "/home/jo13815/./Record_4Chan_X410.py", line 60, in init

self.uhd_usrp_source_0.set_rx_agc(False, 0)

RuntimeError: RuntimeError: NotImplementedError: set_rx_agc() is not
supported on this radio!

After commenting out the set_rx_agc function calls, the script now
seems to run fine, and I get 4 data files.  I still need to check out
the files to make sure they look correct, but they seem to be the
correct size!

John

If you leave that parameter at "Default" rather than explicitly
"Enabled" or "Disabled", the code to set the rx_agc won't
  get generated.

Try a subdev spec of:

A:0 A:1 B:0 B:1

Make sure you've set the source block to use 4 channels, also what
device address and args are you using?

Do you get any error messages?   Please share them here.

On 18/03/2025 13:48, Mann, John - 0662 - MITLL wrote: > > Thanks Marcus, > > Your recommended syntax seems to have fixed my syntax and channel > number errors.  I thought the subdev specs were set for each daughter > board, and since each board has 2 channels, I had only been specifying > 2 suibdevs for each. > > I was still getting this error: > >   File "/home/jo13815/./Record_4Chan_X410.py", line 60, in __init__ > > self.uhd_usrp_source_0.set_rx_agc(False, 0) > > RuntimeError: RuntimeError: NotImplementedError: set_rx_agc() is not > supported on this radio! > > After commenting out the set_rx_agc function calls, the script now > seems to run fine, and I get 4 data files.  I still need to check out > the files to make sure they look correct, but they seem to be the > correct size! > > John > If you leave that parameter at "Default" rather than explicitly "Enabled" or "Disabled", the code to set the rx_agc won't   get generated. > Try a subdev spec of: > > A:0 A:1 B:0 B:1 > > Make sure you've set the source block to use 4 channels, also what > device address and args are you using? > > Do you get any error messages?   Please share them here. >