Firmware / FPGA bitstream for USRP2 Rev 4

Hi,

I get a new Rev4 USRP2 two weeks ago, and have not yet been able to
connect
to it.

I tried both the binary and the source code on different machines
running
different versions of Ubuntu (9.4, 9.10). I simply get “No USRP2 found.”
when I call find_usrps.

I have reached a point that I am almost certain there is something wrong
on
the USRP2 side. The LEDs look fine though (6 of them flash at startup, 2
remain on).

As a last resort, I tried to reprogram (a new) SD card. I followed the
instructions on USRP2FAQ and copied txrx.bin and u2_rev3.bin on the new
SD
card. This time, even the LEDs don’t light up, and of course I still
cannot
connect to the USRP2.

How do I know which version of firmware and FPGA bitstream I should use?
Is there a u2_rev4.bin available (since my USRP2 is revision 4)?
Any hints on what I might be doing wrong?

Thanks,
Omid

On 02/11/2010 05:47 PM, Omid F wrote:

Hi,

I get a new Rev4 USRP2 two weeks ago, and have not yet been able to
connect to it.

I tried both the binary and the source code on different machines
running different versions of Ubuntu (9.4, 9.10). I simply get “No USRP2
found.” when I call find_usrps.

Is there only one line of output that says No USRP2 found, or are there
other lines of output? Are you using a release of GNU Radio or a build
from git?

I have reached a point that I am almost certain there is something wrong
on the USRP2 side. The LEDs look fine though (6 of them flash at
startup, 2 remain on).

It is extremely unlikely that there is nothing wrong with your USRP2, as
they are all 100% tested before shipping. There are many other
variables. Is the USRP2 connected directly to the ethernet card? Are
you certain it is a gigabit ethernet card? Can you send the output of
dmesg after connecting the USRP2? Do you have a TTL serial adapter?

As a last resort, I tried to reprogram (a new) SD card. I followed the
instructions on USRP2FAQ and copied txrx.bin and u2_rev3.bin on the new
SD card. This time, even the LEDs don’t light up, and of course I still
cannot connect to the USRP2.

Then you did not copy the files correctly. You’ll need to follow the
instructions again, as those instructions work. If the LEDs don’t light
up, then the files are not on there and nothing will work.

How do I know which version of firmware and FPGA bitstream I should use?
Is there a u2_rev4.bin available (since my USRP2 is revision 4)?
Any hints on what I might be doing wrong?

No, rev3 and rev4 use the same .bin files.

Matt

On 02/11/2010 06:50 PM, Matt E. wrote:

On 02/11/2010 05:47 PM, Omid F wrote:

I have reached a point that I am almost certain there is something wrong
on the USRP2 side. The LEDs look fine though (6 of them flash at
startup, 2 remain on).

It is extremely unlikely that there is nothing wrong with your USRP2, as
they are all 100% tested before shipping.

Correction – I meant to say “It is extremely unlikely that there is
anything wrong with your USRP2.”

Matt

I copied the latest txrx.bin and u3_rev3.bin on a new 256MB SD-card.
Then I
verified and made sure it is properly copied. Still no success. LEDs
don’t
turn on. I also tried some of the older firmware/fpga. Same results!

When I use the original SD-card, the LEDs turn on properly, but for some
reason the USRP2 seems to be suppressing my ethernet interface. The
ethernet
interface on my laptop looks dead; its light is off and it even won’t
send
any packets out upon each “find_usrps” call.

Whereas when I use the newly programmed SD card, or when there is no
SD-card
in the USRP2, the ethernet interface on laptop is alive and at least it
properly sends ethernet packets out upon each call to “fins_usrps.” Very
strange situation!

Any help is highly appreciated.
Omid

On 02/13/2010 12:49 PM, Omid F wrote:

I copied the latest txrx.bin and u3_rev3.bin on a new 256MB SD-card.
Then I verified and made sure it is properly copied. Still no success.
LEDs don’t turn on. I also tried some of the older firmware/fpga. Same
results!

Not all SD cards work with the USRP2. You’ve clearly found one that
doesn’t work. Use it in your camera, but not your USRP2. It also has
nothing to do with your other problem.

When I use the original SD-card, the LEDs turn on properly, but for some
reason the USRP2 seems to be suppressing my ethernet interface. The
ethernet interface on my laptop looks dead; its light is off and it even
won’t send any packets out upon each “find_usrps” call.

This is most likely because your ethernet interface is refusing to
connect with the USRP2’s required flow control settings.

Whereas when I use the newly programmed SD card, or when there is no
SD-card in the USRP2, the ethernet interface on laptop is alive and at
least it properly sends ethernet packets out upon each call to
“fins_usrps.” Very strange situation!

When the USRP2 is powered up but not configured (i.e. no SD card or an
unusable one like you have), the PHY chip is in its default state of
“connect to anything” including 10 mbps, 100 mbps, bad flow control
settings, whatever.

Once the USRP2 is configured by the SD card, the USRP2 tells the PHY
chip to refuse to connect if the settings are bad. That is what you are
seeing. Your settings don’t match for some reason. Either your
ethernet cable is bad and won’t do gigabit, or your driver is insisting
on bad flow control settings.

Matt

Thanks for your response. Please find detailed explanations below.

On Thu, Feb 11, 2010 at 8:50 PM, Matt E. [email protected] wrote:

found." when I call find_usrps.

Is there only one line of output that says No USRP2 found, or are there
other lines of output? Are you using a release of GNU Radio or a build
from
git?

I do “sudo find_usrps” and I only get one line of output that says No
USRP2
found. I have tried both the binary and the git builds, but for the rest
of
this email I am using GNU Radio 3.2.2 installed from the binary
distribution
on Ubuntu 9.10 from the following source repositories:

deb http://gnuradio.org/ubuntu stable main
deb-src http://gnuradio.org/ubuntu stable main
deb Index of /ubuntu/ jaunty main universe

I have reached a point that I am almost certain there is something wrong
on the USRP2 side. The LEDs look fine though (6 of them flash at
startup, 2 remain on).

It is extremely unlikely that there is nothing wrong with your USRP2, as
they are all 100% tested before shipping. There are many other
variables.
Is the USRP2 connected directly to the ethernet card? Are you certain
it
is a gigabit ethernet card? Can you send the output of dmesg after
connecting the USRP2? Do you have a TTL serial adapter?

I have connected the ethernet card (which is a gigabit one) directly to
the
USRP2 and assign a manual IP using “ifconfig eth0 10.0.0.2.”

This is the output from $lspci | grep Ethernet:
00:19.0 Ethernet controller: Intel Corporation 82566MM Gigabit Network
Connection (rev 03)
03:00.0 Ethernet controller: Atheros Communications Inc. AR5212
802.11abg
NIC (rev 01)

The output from dmesg | egrep ‘(eth0|Intel)’ after connecting to USRP2:

[ 0.000000] Intel GenuineIntel
[ 0.010000] Performance Counters: Core2 events, Intel PMU driver.
[ 0.139852] CPU0: Intel(R) Core™2 Duo CPU T7300 @ 2.00GHz
stepping 0a
[ 0.291578] CPU1: Intel(R) Core™2 Duo CPU T7300 @ 2.00GHz
stepping 0a
[ 1.243274] e1000e: Intel(R) PRO/1000 Network Driver - 1.0.2-k2
[ 1.243279] e1000e: Copyright (c) 1999-2008 Intel Corporation.
[ 1.522705] 0000:00:19.0: eth0: (PCI Express:2.5GB/s:Width x1)
00:1a:6b:3a:0c:ee
[ 1.522708] 0000:00:19.0: eth0: Intel(R) PRO/1000 Network Connection
[ 1.522744] 0000:00:19.0: eth0: MAC: 6, PHY: 6, PBA No: ffffff-0ff
[ 25.421065] HDA Intel 0000:00:1b.0: PCI INT B → GSI 17 (level, low)

IRQ 17
[ 25.421094] HDA Intel 0000:00:1b.0: setting latency timer to 64
[ 26.450512] ADDRCONF(NETDEV_UP): eth0: link is not ready

And this is from ifconfig:
eth0 Link encap:Ethernet HWaddr 00:1a:6b:3a:0c:ee
inet addr:10.0.0.2 Bcast:10.255.255.255 Mask:255.0.0.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Memory:fe200000-fe220000

Please note that with the original SD-card, despite the lights being on,
I
don’t see anything going out of my machine when I call find_usrps (using
wireshark). But when I connect the USRP2 to my laptop without the
SD-card,
the light on the ethernet interface on the laptop goes on and for every
call
to find_usrps I can see an ethernet packet going out (on wireshark).

As a last resort, I tried to reprogram (a new) SD card. I followed the
instructions on USRP2FAQ and copied txrx.bin and u2_rev3.bin on the new
SD card. This time, even the LEDs don’t light up, and of course I still
cannot connect to the USRP2.

Then you did not copy the files correctly. You’ll need to follow the
instructions again, as those instructions work. If the LEDs don’t light
up,
then the files are not on there and nothing will work.

I will re-do this with a new SD-card and report the results.

How do I know which version of firmware and FPGA bitstream I should use?
Is there a u2_rev4.bin available (since my USRP2 is revision 4)?
Any hints on what I might be doing wrong?

No, rev3 and rev4 use the same .bin files.

Matt

I highly appreciate your time.
Thanks,
Omid

Thanks Matt for the helpful suggestions. I apologize for the long back
and
forths! I really appreciate your help.

I checked the ethernet interface on two of my laptops. On both, I made
sure
this is the setting:

Pause parameters for eth0:
Autonegotiate: on
RX: on
TX: on

I tried “ethtool -r eth0” several times, but nothing happened. The
interfaces on both sides look completely dead. Any suggestion on how to
exactly set the control flow settings on my ethernet card? In case it
helps
this is the output from “ethtool eth0” on the Lenovo:

ethtool eth0
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised auto-negotiation: Yes
Speed: Unknown!
Duplex: Unknown! (255)
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pumbag
Wake-on: g
Current message level: 0x00000001 (1)
Link detected: no

Thanks!
Omid

Hi,

Did you put a static IP address in your Ethernet?
Tip, put any dummy static IP address, and you will find your USRP2!!!

Best Regard,

Firas

I had tried that. Didn’t help!

Thanks though.

Best Regards,
Omid

On Sat, Feb 13, 2010 at 11:38:27PM -0600, Omid F wrote:

Thanks Matt for the helpful suggestions. I apologize for the long back and
forths! I really appreciate your help.

I checked the ethernet interface on two of my laptops. On both, I made sure
this is the setting:

Pause parameters for eth0:
Autonegotiate: on
RX: on
TX: on

Actually what you want is

Rx: on
Tx: off

Eric

Hi all,

I tried this the following on three machines with Gigabit interfaces,
and
got the same results:

When I restrict the ethernet card to only advertise 1Gbps connections
(ethtool -s eth0 advertise 0x020 or ox010), the link stays down.
Therefore,
each find_usprs call is not even sending any packet out.

When I let it freely advertise anything, it settles for 10Mbps or
100Mbps,
but the link is up and it actually sends packets out. After each packet
is
sent, the orange light on the ethernet interface of the USRP2 goes
orange
for a sec. But I still get no response from it!

I have tried all possible pause combinations as well (autoneg = on/off,
rx=on/off, tx=on/off), but I get the same results.

I apologize again for sending so many (long) emails.

Thanks,
Omid