I‘m trying to build a MIMO system on two E310s in network mode, but I met some problems.
We know E310 has two TRX antennas and two RX2 antennas where TRX channel can transmit and receive while RX2 channel can only receive. For the transmitter E310, I want to send on the TRX-A and TRX-B channel while for the receiver E310, I want to receive on the TRX-A and TRX-B channels.
I built a simple example to see whether it works. At the transmitter side, I have two sin waves, and connect them to an UHD sink with one mboards two channels. At the receiver side, I have an UHD-source with one mboards and two channels and connect them to a Frequency sink.
With this setting, I noticed for the transmitter, the data are transmitting through the two TRX-A and TRX-B channels. But for the receiver, the data are receiving through the two RX2-A and RX2-B channels. This is not what I'm trying to achieve. I think it's because I didn't set the parameter subdevice spec in the USRP sink and USRP source.
I noticed this parameter can be only set as A:A or A:B because it report such error when I set it something else.
self.uhd_usrp_source_0.set_subdev_spec(":A :B", 0)
File "/usr/local/lib/python2.7/dist-packages/gnuradio/uhd/uhd_swig.py", line 2767, in set_subdev_spec
return _uhd_swig.usrp_source_sptr_set_subdev_spec(self, *args, **kwargs)
RuntimeError: AssertionError: assertion failed:
:A is not a valid rx subdevice specification on mboard 0.
possible values are: [A:A, A:B].
But when I set it as A:A or A:B, I got the following error message:
File "/usr/local/lib/python2.7/dist-packages/gnuradio/uhd/uhd_swig.py", line 3581, in set_samp_rate
return _uhd_swig.usrp_sink_sptr_set_samp_rate(self, *args, **kwargs)
RuntimeError: LookupError: IndexError: multi_usrp: TX channel 1 out of range for configured TX frontends
So I'm confused now. How to make the TRX receive channel work? I wish I can get some insights and suggestions.
The simple test flowgraph is attached.