Suse10.1 walkthrough and a question concerning crosstalk

When I inject a signal at a -45 dBm level on the “RX-B” sma connector on
a
Basic RX daughtercard, I see a copy of the signal on the “RX-A” side
when I
use usrp_fft.py. The level is 10-20 dB below that of what I see if I
move
the signal from “RX-B” to “RX-A,” but this seems like too much coupling.
Using a 50 ohm termination on the unconnected sma connector helps a
little
bit. I see no copy of the signal from either input of the other Basic RX
daughtercard. Any thoghts, anyone?

Best regards,

Mark S.

Here is a walkthough I put together for Suse10.1. I found a few
“gotchas”
not described in the build instructions on the Wiki.

Installing GnuRadio and the USRP on Suse 10.1 for the Linux-impaired.

Version 0.1 22 September 2006

What you will need:

PC with USB 2.0 and DVD drive,
Suse 10.1 DVD,
USRP,
An internet connection,
The better part of an afternoon.

INSTALLING LINUX

Boot from the DVD. Don’t use the CD version; it is missing fftw3f.pc and
the
FFTW package will
not install.

Choose your language of choice and click on NEXT.
Select “YES” to accept the license and click on NEXT.
On the “System Analysis” screen select “New Installation” and click on
NEXT.
On the “Time Zone” screen set up your clock and click on NEXT.
On the “Desktop” screen select “Gnome” and click on NEXT.
On the “Installation Summary” screen click on “Software” (it should be
displaying “Standard Software
Gnome 2”).
The “Software Selection” screen appears. Click on “Details” to customize
your selection.
Select “Package Groups” as the Filter; you should get a tree on the left
of
the screen.
Click on the “development” branch; click on the “package” menu on the
toolbar, scroll down to
“All in this list,” in the pull down menu, then select “Install.”
Under the “Development” tree, click on “KDE” sub-branch; click on the
“package” menu on the toolbar,
scroll down to “All in this list,” in the pull down menu, then select
“Do
not install.”
Under the “Productivity” tree, click on “Scientific” sub-branch; click
on
the “package” menu on the toolbar,
scroll down to “All in this list,” in the pull down menu, then select
“Install.”
Click on the “Libraries” tree; click on the “package” menu on the
toolbar,
scroll down to “All in this list,” in the pull down menu, then select
“Install.”
Click on “Accept.”
You will get a pop-up window with three warnings. Click on the circles
next
to
“do not install flex-old” for the first two warnings and click on the
circle
next to “do not install gtkl-compat-devel” for the remaining warning.
Click on the “OK, try again” button at the bottom of the pop up window.
An Adobe license window appears; click on the “Accept” button.
A flash player license window appears, click on the “Cancel” button.
The “Installation Settings” window reappears after a long pause.
Click on “Accept” at the lower right hand corner.
A “Confirm” window appears; click “Install.”
A “Package Installation” screen appears. Click on the “Details” tab to
watch
the
progress of the install. This would be a good time to take a break;
installation will
take about 1 hour to complete.
The system will reboot and the Install screen re-appears.
Enter your hostname and domain and click on Next.
Enter your root password and click on Next. Write down your root
password so
you don’t
forget it!
A “Network Configuration” screen appears. If you have DHCP set up,
select
that option and click on Next.
A “Test Connection” window appears. Click on Next. Assuming all is well
with
the connection,
click on Next again after the test is complete.
An “Online Update” screen appears; select “Configure now” and click on
Next.
Wait for a while for the server to be selected.
An “Online Update Configuration” window appears; click on “OK.”
Click on the circle next to “Run Update,” then click on Next.
A “Update Select” screen appears; click on “Accept”
The YAST package will now be updated. You can update the rest of your
system
later.
After “Total Progress” reaches 100%, click on Next.
After a pause, the “Update Select” screen reappears. Click on Cancel.
The “Authentication Method” screen appears. Click on the circle next to
“Local.”
The “New Local User” screen appears. Enter your name, username, and
password.
The “Release Notes” screen appears. Click on Next.
The “Hardware Configuration” screen appears. Click on Next.
The “Installation Complete” screen appears. Click on Finish.
Congratulations! You have a shiny new Suse 10.1 box!

INSTALLING SDCC

Log on to your account (not root).
You need to install the SDCC package. Get the source tarball from
Sourceforge at
Small Device C Compiler - Browse Files at SourceForge.net.
(it will be called “sdcc-src-2.6.0.tar.gz” unless a newer version is
available now)
Do NOT load the Suse RPMs- the pair of RPMs depend upon each other, and
the
RPM command
won’t install either. Put the tarball in your home directory.
Double-click on the icon for the tarball. A window will appear; click on
“Extract.”
Click on “Extract” in the new window that appears. This will create a
directory called
“SDCC” in your home directory.
Open up a terminal. (Click on “Applications” on the menu toolbar,scroll
up
to
“System” in the menu that appears,scroll down to “Terminal” in the
next
menu that
appears, then click on “Gnome Terminal” in yet another menu that
appears)
In the terminal window, type “cd SDCC” and hit Enter.
Now type “./configure” and hit Enter.
Now type “make” and hit Enter.
now type “sudo make install” and hit Enter.
When asked for the root password, enter it.
type “cd …” and hit Enter.

INSTALLING GNURADIO

Now it’s time to install GnuRadio itself.
Type “svn co http://gnuradio.org/svn/gnuradio/trunk/gnuradio” and hit
Enter.
The most current version of GnuRadio is now being loaded onto you
machine.
When
it’s done, note the revision number for future reference.
Type “cd gnuradio” and hit Enter.
Type “./bootstrap” and hit Enter.
Type “./configure” and hit Enter.
You are now ready to install everything except:
gr-audio-osx
gr-audio-portaudio
gr-audio-windows
gr-comedi
gr-ezdop
ezdop

If you needed any of these you willl need to track down the missing
dependencies and
install them.

type “make” and hit Enter.
type “make check” and hit Enter.
type “sudo make install” and hit Enter.
When asked for the root password, enter it.

At this point, with a little luck, you have an operational installation.

EXPLORING THE USRP

Connect your USRP (power and USB 2 cables)
There is a tiny little green LED underneath the “A” side receive
daughtercard.
It should be flashing at a few times per second.

For the moment you will need to have root priviledges to access the
USRP. A
procedure to
remove this requirement will appear in the next version of this
walkthrough.

type “su” and hit Enter. When prompted for a password, type the root
password and hit Enter.
type “export PYTHONPATH=~/gnuradio/lib/python2.4/site-packages” and hit
Enter.

You should put this command in your startup file so you won’t have to
enter
it
every time you start up a shell. Instructions will appear will appear in
the
next version
of this walkthrough.

Type “cd gnuradio-examples/python/usrp” and hit Enter.
Type “python test_counting.py” and hit Enter.
The green LED should be blinking more slowly to indicate a successful
load.
You should see messages from “gr_check_counting,” with the final message
saying something about “enter_LOCKED.”
Type a “control-C” character to exit the test.
Type “python benchmark_usb.py” anfd hit Enter.
You should see tests of the USB link up to 32 MB/sec with “OK” displayed
after each test.
If you have a daughtercard installed in the “A” connector, you can run a
spectrum analyzer.
Type “python usrp_fft.py -d 64 -f 10000000” and hit Enter.
You are now looking at a GUI display of a 1 MHz segment of spectrum
centered
at 10 MHz.
To change the bandwidth, enter a power of two decimation factor (256 or
lower) into the “Decim” field.
To change the center frequency, enter the frequency (in Hz) into the
“Center
freq” field.
You can also enter the frequency in Mhz followed by a capital “M”

At this point you are ready to start exploring the full potential of
your
new system!

On Fri, Sep 22, 2006 at 05:38:54PM -0400, Mark S. wrote:

Mark S.
Hi Mark,

There’s a chance that the code that determines the rx digital mux
setting isn’t handling this case properly.

Assuming that the Basic Rx is on the “A” side, please try this:

$ usrp_fft.py -R a:0 -f

and try moving the test signal from RX-A to RX-B

and this:

$ usrp-fft.py -R a:1 -f

and move the test signal from RX-A to RX-B

What happens?

Thanks,
Eric

Mark S. wrote:

When I inject a signal at a -45 dBm level on the “RX-B” sma connector
on a Basic RX daughtercard, I see a copy of the signal on the “RX-A”
side when I use usrp_fft.py. The level is 10-20 dB below that of what
I see if I move the signal from “RX-B” to “RX-A,” but this seems like
too much coupling. Using a 50 ohm termination on the unconnected sma
connector helps a little bit. I see no copy of the signal from either
input of the other Basic RX daughtercard. Any thoghts, anyone?

I don’t know what’s happening here, but I see about -80dB coupling
between the channels.

Here is a walkthough I put together for Suse10.1. I found a few
“gotchas” not described in the build instructions on the Wiki.

Thanks! I put this on the wiki, but didn’t “wikify” the formatting.
Feel free to edit it. It is linked to from the Suse install page.

Matt

On 9/22/06, Mark S. [email protected] wrote:

available now)
“System” in the menu that appears,scroll down to “Terminal” in the next
menu that
appears, then click on “Gnome Terminal” in yet another menu that appears)
In the terminal window, type “cd SDCC” and hit Enter.
Now type “./configure” and hit Enter.
Now type “make” and hit Enter.
now type “sudo make install” and hit Enter.
When asked for the root password, enter it.
type “cd …” and hit Enter.

(…)

Yeah, when trying a command like ‘rpm -ivh sdcc-xxx.rpm’, the system
complains about dependencies with sdcc-common and when trying ‘rpm -ivh
sdcc-common-xxx.rpm’, it complains about dependencies with sdcc…

But, if you download both packages in the same directory and try ‘rpm
-ivh
sdcc*.rpm’, it works! Rpm will find cross-dependencies between package
if
they are installed at the same time.

Pascal,

Thanks for the tip, I’ll add that to version 0.2. I can tell that you
are
much less “linux impaired” than I!

Best regards,

Mark S.

Eric,

As an additional experiment I hacked multi_file.py in the multi-antenna
folder so that the multiplexor was set to channel 0 for all four “I”
inputs;
with a carrier injected into channel 1, I saw identical leakage. I then
changed the mux setting to channel 1 for all “I” and saw the injected
carrier. This isn’t sounding like software.

Best regards,

Mark S.

Matt,

Coupling problem solved. Doh! -45 dBm is way too low; only the very
low
order A/D bits were toggling. When I put in something closer to +10 dBm
I
get a nice strong signal and the image on the other port of the same
daughtercard is down about 60 dB. I can’t measure the crosstalk from one
daughtercard to the other. I guess that the tiny amount of crosstalk at
-45
dBm was just enough to flip the LSB of the unconnected port often enough
to
give me a spectral line at a very low level. With more amplitude the
A/Ds
are acting more “linear” and I can now see the difference in levels more
accurately. The upside is that I know a lot more about the code now than
when I started.

Best regards,

Mark S.