-
Notifications
You must be signed in to change notification settings - Fork 4
Testing UmTRX
This guide will help you test UmTRX and/or UHD release.
- Build and install UHD
The usual procedure (change git clone argument if you want to install Fairwaves version of UHD):
git clone https://github.com/EttusResearch/uhd.git
cd uhd/host
mkdir build
cd build
cmake ../
make
make test
sudo make install
sudo ldconfig
(Currently, if you want to test UHD-Fairwaves umtrx_update branch, you need to do the above and then install UHD from umtrx_update again.)
- Boot UmTRX
Connect UmTRX USB debug port to your computer USB port, listen to it:
picocom -b 230400 /dev/ttyUSB0
(run sudo apt-get install picocom if picocom is not installed; run C-a C-x to exit)
Now turn on UmTRX. You should see something this from picocom:
USRP N210 UDP bootloader
FPGA compatibility number: 8
Firmware compatibility number: 11
Production image = 0
Checking for valid production FPGA image...
Valid production FPGA image found. Attempting to boot.
USRP N210 UDP bootloader
FPGA compatibility number: 9
Firmware compatibility number: 12
Production image = 1
Valid production firmware found. Loading...
Finished loading. Starting image.
TxRx-UHD-ZPU
FPGA compatibility number: 9
Firmware compatibility number: 12
LMS1 chip version = 0x0
LMS2 chip version = 0x0
00:1F:11:02:19:37
192.168.10.2
ethernet flow control: WE_TX
Speed set to 1000
eth link changed: speed = 1000
- Find UmTRX
Test if UHD can find UmTRX:
uhd_find_devices
Expected output:
linux; GNU C++ version 4.6.3; Boost_104800; UHD_003.007.001-68-gc4b1f810
-- UHD Device 0
Device Address:
type: umtrx
addr: 192.168.10.2
name: UmTRX
serial: 55
- Probe UmTRX
Show detailed UmTRX information:
uhd_usrp_probe
Expected output:
linux; GNU C++ version 4.6.3; Boost_104800; UHD_003.007.001-68-gc4b1f810
-- Opening a UmTRX device... 192.168.10.2
-- user_mtu.recv_mtu = 1472
-- user_mtu.send_mtu = 1472
-- Time register self-test... pass
|_____________________________________________________
/
| Device: UmTRX Device
| _____________________________________________________
| /
| | Mboard: UMTRX-REV0
| | hardware: 64000
| | mac-addr: 00:1f:11:02:19:37
| | ip-addr: 192.168.10.2
| | subnet: 255.255.255.255
| | gateway: 255.255.255.255
| | gpsdo: none
| | serial: 55
| | name: UmTRX
| | tcxo-dac: 1962
| | FW Version: 12.0
| | FPGA Version: 9.0
| |
| | Time sources: none, external, _external_
| | Clock sources: internal, external
| | Sensors:
| | _____________________________________________________
| | /
| | | RX DSP: 0
| | | Freq range: -13.000 to 13.000 Mhz
| | _____________________________________________________
| | /
| | | RX DSP: 1
| | | Freq range: -13.000 to 13.000 Mhz
| | _____________________________________________________
| | /
| | | RX Dboard: A
| | | ID: Unknown (0xfa07)
| | | Serial: 55.A
| | | _____________________________________________________
| | | /
| | | | RX Frontend: 0
| | | | Name: LMS-RX-FE
| | | | Antennas: RX0, RX1, RX2, RX3, CAL
| | | | Sensors: lo_locked
| | | | Freq range: 232.500 to 3720.000 Mhz
| | | | Gain range VGA1: 0.0 to 126.0 step 1.0 dB
| | | | Gain range VGA2: 0.0 to 30.0 step 3.0 dB
| | | | Connection Type: IQ
| | | | Uses LO offset: No
| | | _____________________________________________________
| | | /
| | | | RX Codec: A
| | | | Name: RX LMS ADC
| | | | Gain Elements: None
| | _____________________________________________________
| | /
| | | RX Dboard: B
| | | ID: Unknown (0xfa07)
| | | Serial: 55.B
| | | _____________________________________________________
| | | /
| | | | RX Frontend: 0
| | | | Name: LMS-RX-FE
| | | | Antennas: RX0, RX1, RX2, RX3, CAL
| | | | Sensors: lo_locked
| | | | Freq range: 232.500 to 3720.000 Mhz
| | | | Gain range VGA1: 0.0 to 126.0 step 1.0 dB
| | | | Gain range VGA2: 0.0 to 30.0 step 3.0 dB
| | | | Connection Type: IQ
| | | | Uses LO offset: No
| | | _____________________________________________________
| | | /
| | | | RX Codec: B
| | | | Name: RX LMS ADC
| | | | Gain Elements: None
| | _____________________________________________________
| | /
| | | TX DSP: 0
| | | Freq range: -13.000 to 13.000 Mhz
| | _____________________________________________________
| | /
| | | TX DSP: 1
| | | Freq range: -13.000 to 13.000 Mhz
| | _____________________________________________________
| | /
| | | TX Dboard: A
| | | ID: Unknown (0xfa09)
| | | Serial: 55.A
| | | _____________________________________________________
| | | /
| | | | TX Frontend: 0
| | | | Name: LMS-TX-FE
| | | | Antennas: TX0, TX1, TX2, CAL
| | | | Sensors: lo_locked
| | | | Freq range: 232.500 to 3720.000 Mhz
| | | | Gain range VGA: -35.0 to 21.0 step 1.0 dB
| | | | Connection Type: IQ
| | | | Uses LO offset: No
| | | _____________________________________________________
| | | /
| | | | TX Codec: A
| | | | Name: TX LMS DAC
| | | | Gain Elements: None
| | _____________________________________________________
| | /
| | | TX Dboard: B
| | | ID: Unknown (0xfa09)
| | | Serial: 55.B
| | | _____________________________________________________
| | | /
| | | | TX Frontend: 0
| | | | Name: LMS-TX-FE
| | | | Antennas: TX0, TX1, TX2, CAL
| | | | Sensors: lo_locked
| | | | Freq range: 232.500 to 3720.000 Mhz
| | | | Gain range VGA: -35.0 to 21.0 step 1.0 dB
| | | | Connection Type: IQ
| | | | Uses LO offset: No
| | | _____________________________________________________
| | | /
| | | | TX Codec: B
| | | | Name: TX LMS DAC
| | | | Gain Elements: None
- Test osmo-trx
Run osmo-trx:
osmo-trx -c 2 -s 4 -l DEBUG
Expected output:
linux; GNU C++ version 4.6.3; Boost_104800; UHD_003.007.001-68-gc4b1f810
Config Settings
Log Level............... DEBUG
Device args.............
TRX Base Port........... 5700
TRX Address............. 127.0.0.1
Channels................ 1
Samples-per-Symbol...... 4
External Reference...... Disabled
C0 Filler Table......... Disabled
Diversity............... Disabled
Tuning offset........... 0
-- Opening a UmTRX device... 192.168.10.2
-- user_mtu.recv_mtu = 1472
-- user_mtu.send_mtu = 1472
-- Time register self-test... pass
-- Setting UmTRX 4 SPS
-- Transceiver active with 2 channel(s)
Watch for error messages here or on UmTRX debug port. Here is how osmo-trx could fail:
ALERT 139815784093440 19:02:10.0 UHDDevice.cpp:832:check_rx_md_err: UHD: Receive timed out
An example of UmTRX failure on USB debug:
!Error in control packet handler: Expected compatibility number 12, but got 1
!Error in control packet handler: Expected payload length 36, but got 16
If there are errors you may wish to try osmo-trx with single channel (-c 1) or with lower (GSM) samples/symbol (-s 1).
- tx_samples_from_file --rate 1083333 --freq 9550e5 --bw 1500000 --file multiframe_norm.dat --type float --repeat --gain 18 --subdev A:0 (OK)
linux; GNU C++ version 4.6.3; Boost_104800; UHD_003.007.001-68-gc4b1f810 Creating the usrp device with: ... -- Opening a UmTRX device... 192.168.10.2 -- user_mtu.recv_mtu = 1472 -- user_mtu.send_mtu = 1472 -- Time register self-test... pass Using Device: Single USRP: Device: UmTRX Device Mboard 0: UMTRX-REV0 RX Channel: 0 RX DSP: 0 RX Dboard: A RX Subdev: LMS-RX-FE RX Channel: 1 RX DSP: 1 RX Dboard: B RX Subdev: LMS-RX-FE TX Channel: 0 TX DSP: 0 TX Dboard: A TX Subdev: LMS-TX-FE
Setting TX Rate: 1.083333 Msps... Actual TX Rate: 1.083333 Msps...
Setting TX Freq: 955.000000 MHz... Actual TX Freq: 955.000000 MHz...
Setting TX Gain: 18.000000 dB... Actual TX Gain: 18.000000 dB...
Setting TX Bandwidth: 1500000.000000 MHz... Actual TX Bandwidth: 1500000.000000 MHz...
Checking TX: LO: locked ... Press Ctrl + C to stop streaming... ^C Done!
- tx_samples_from_file --rate 1083333 --freq 9550e5 --bw 1500000 --file multiframe_norm.dat --type float --repeat --gain 18 --subdev B:0 (not working!)
linux; GNU C++ version 4.6.3; Boost_104800; UHD_003.007.001-68-gc4b1f810 Creating the usrp device with: ... -- Opening a UmTRX device... 192.168.10.2 -- user_mtu.recv_mtu = 1472 -- user_mtu.send_mtu = 1472 -- Time register self-test... pass Error: AssertionError: spec[i].db_name == "A" in void umtrx_impl::update_tx_subdev_spec(const uhd::usrp::subdev_spec_t&) at /usr/local/src/new/UHD-Fairwaves/host/umtrx_io_impl.cpp:80
- rx_samples_to_file --freq 9512e5 --rate 1083333 --gain 18 --bw 1500000 --type float --subdev A:0 --ant RX1 --file umtrx_rx_test_6.dat (OK)
linux; GNU C++ version 4.6.3; Boost_104800; UHD_003.007.001-68-gc4b1f810 Creating the usrp device with: ... -- Opening a UmTRX device... 192.168.10.2 -- user_mtu.recv_mtu = 1472 -- user_mtu.send_mtu = 1472 -- Time register self-test... pass Using Device: Single USRP: Device: UmTRX Device Mboard 0: UMTRX-REV0 RX Channel: 0 RX DSP: 0 RX Dboard: A RX Subdev: LMS-RX-FE TX Channel: 0 TX DSP: 0 TX Dboard: A TX Subdev: LMS-TX-FE TX Channel: 1 TX DSP: 1 TX Dboard: B TX Subdev: LMS-TX-FE
Setting RX Rate: 1.083333 Msps... Actual RX Rate: 1.083333 Msps...
Setting RX Freq: 951.200000 MHz... Actual RX Freq: 951.200000 MHz...
Setting RX Gain: 18.000000 dB... Actual RX Gain: 18.000000 dB...
Setting RX Bandwidth: 1500000.000000 MHz... Actual RX Bandwidth: 1500000.000000 MHz...
Waiting for "lo_locked": ++++++++++ locked. Press Ctrl + C to stop streaming... ^C Done!
- rx_samples_to_file --freq 9512e5 --rate 1083333 --gain 18 --bw 1500000 --type float --subdev B:0 --ant RX1 --file umtrx_rx_test_10.dat (OK)
linux; GNU C++ version 4.6.3; Boost_104800; UHD_003.007.001-68-gc4b1f810
Creating the usrp device with: ... -- Opening a UmTRX device... 192.168.10.2 -- user_mtu.recv_mtu = 1472 -- user_mtu.send_mtu = 1472 -- Time register self-test... pass Using Device: Single USRP: Device: UmTRX Device Mboard 0: UMTRX-REV0 RX Channel: 0 RX DSP: 0 RX Dboard: B RX Subdev: LMS-RX-FE TX Channel: 0 TX DSP: 0 TX Dboard: A TX Subdev: LMS-TX-FE TX Channel: 1 TX DSP: 1 TX Dboard: B TX Subdev: LMS-TX-FE
Setting RX Rate: 1.083333 Msps... Actual RX Rate: 1.083333 Msps...
Setting RX Freq: 951.200000 MHz... Actual RX Freq: 951.200000 MHz...
Setting RX Gain: 18.000000 dB... Actual RX Gain: 18.000000 dB...
Setting RX Bandwidth: 1500000.000000 MHz... Actual RX Bandwidth: 1500000.000000 MHz...
Waiting for "lo_locked": ++++++++++ locked.
Press Ctrl + C to stop streaming... ^C Done!