How to test USRP when you get it

Zhifeng Chen

prerequisites:
1. install Linux: need to select a OS here

2. install GNU Radio:    --http://gnuradio.org/trac/wiki

3. (optional) read the hardware documents:    --http://gnuradio.org/trac/wiki/USRP
        user guide/install guide:    --http://www.comsec.com/wiki?UsrpInstall
        All the datasheets can be downloaded here

4. (optional) read driver source code
        the source codes related to USRP:
            /usrp
                firmware: for 8051 in USB controller, mostly writen as .c and .a51
                FPGA: for FPGA, mostly writen as .v (it seems fpga only has SRAM inside, so it need to download software for fpga every time)
                host: for PC, mostly writen as .cc
            /gr-usrp
                driver for dauther board: mostly writen as .py and .cc
            /gnuradio-example/python/usrp
                example for single usrp board: all writen in .py
            /gnuradio-example/python/multi-usrp
                example for multi usrp boards: all writen in .py


begin to test:
1. How to power on and start test:
        step1. before plug in USB cable, open two terminal.
        step2. to see a real time display of all log messages: tail -f /var/log/messages (to check the usb driver is correctly installed)
    How to stop and power off:
        step1. stop the program.
        step2. disconnect USB connection and power off

2. test a script for usrp first without daughter board, which file I need to test?
--http://www.comsec.com/wiki?UsrpInstall
gnuradio\gnuradio-examples\python\usrp\usrp_siggen.py & usrp_fft.py

3. how to test the transmitter and receiver for daughter board?
The antenna should be connect by Tx/Rx SMA but NOT Rx2! there is a switch for Rx2 and the switch is off in default!
The Tx and Rx can NOT be connected directly by cable! need a attenuator about 40-50 dB!!
    1) /gnuradio-examples/python/usrp/usrp_siggen.py and usrp_fft.py to observe signal
    2) /gnuradio-examples/python/digital/benchmark_tx.py and benchmark_rx.py to test data transmission.
        The boards need to be at least 3m apart. --/home/james/gnuradio/gnuradio-examples/python/digital/README
    3) use tx_voice.py and rx_voice.py to test voice transmission.
    4) some also said to test /gnuradio-examples/python/usrp/usrp_nbfm_ptt.py to test full duplex voice call, but I can't make it works.

test voice:
1. gnuradio-examples\python\audio\dial_tone.py as tutorial
2. gnuradio-examples\python\audio\audio_copy.py
    gnuradio-examples\python\audio\audio_to_file.py
    gnuradio-examples\python\audio\audio_play.py
3. gnuradio-examples\python\digital_voice\encdec.py to test by one USRP
4. gnuradio-examples\python\digital\tx_voice.py
    gnuradio-examples\python\digital\rx_voice.py to test by two USRP

test data:
1. gnuradio-examples\python\digital\benchmark_tx.py
    gnuradio-examples\python\digital\benchmark_rx.py to test by two USRP

suggested by others:
1. http://www.nabble.com/High-packet-error-and-reception-problems-with-RFX-2400-t3522095.html
./benchmark_tx.py -f 2412M --bitrate 500k -v --tx-amplitude=30000
usrp_siggen.py and usrp_oscope.py
./benchmark_rx.py -f 2412M --bitrate 100k -v --rx-gain=75
--in digital folder

2. http://staff.washington.edu/jon/gr-osx/gr-osx-usrp.html#using
benchmark_usb.py Estimate throughput of USB
usrp_siggen.py Signal generator
usrp_oscope.py Oscilloscope (screenshot)
usrp_fft.py Spectrum analyzer (screenshot)