Send USRP-users mailing list submissions to
        [email protected]

To subscribe or unsubscribe via the World Wide Web, visit
        http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
or, via email, send a message with subject or body 'help' to
        [email protected]

You can reach the person managing the list at
        [email protected]

When replying, please edit your Subject line so it is more specific
than "Re: Contents of USRP-users digest..."


Today's Topics:

   1. Re: GPSDO trouble (Nick Foster)
   2. How do I reset the DSP on the E110? (Jiang, Leaf - 1006 - MITLL)
   3. Re: How do I reset the DSP on the E110? (Thomas Tsou)
   4. Re: How do I reset the DSP on the E110?
      (Jiang, Leaf - 1006 - MITLL)
   5. Re: How do I reset the DSP on the E110? (Thomas Tsou)
   6. Re: How do I reset the DSP on the E110? (Philip Balister)
   7. Re: How to connect USRP N210 to FPGA with Ethernet IP core
      via Ethernet Phy chip? (Josh Blum)
   8. Re: "Timed Commands" feature (Jason Roehm)
   9. Re: How do I reset the DSP on the E110?
      (Jiang, Leaf - 1006 - MITLL)
  10. Re: "Timed Commands" feature (Josh Blum)
  11. Re: "Timed Commands" feature (Jason Roehm)


----------------------------------------------------------------------

Message: 1
Date: Tue, 3 Apr 2012 09:15:28 -0700
From: Nick Foster <[email protected]>
To: "Nowlan, Sean" <[email protected]>
Cc: "[email protected]" <[email protected]>
Subject: Re: [USRP-users] GPSDO trouble
Message-ID:
        <calalhjuzgu5awlwvbskj-4d1khigur0r-pdiumpldslvmv-...@mail.gmail.com>
Content-Type: text/plain; charset="iso-8859-1"

What git hash are you using?

--n

On Tue, Apr 3, 2012 at 4:38 AM, Nowlan, Sean <[email protected]>wrote:

>  I attempted to roll back from a recent git download of UHD (master
> branch) to release 003.004.000-0. I'm observing weirdness with GPSDO.
> calling usrp->get_mboard_sensor("gps_lock") returns locked, but "ref_lock"
> doesn't. Also, running uhd/utils/test_pps_input gives an error:
>
> Attempt to detect the PPS and set the time...
>
> --     1) catch time transition at pps edge
> Error: RuntimeError: Board 0 may not be getting a PPS signal!
> No PPS detected within the time interval.
> See the application notes for your device.
>
> Finally, I tried ./usrp_burn_mb_eeprom --args="addr=192.168.10.2"
> --key=gpsdo --val=internal just in case this value had been hosed somehow,
> but it didn't fix the problem.
>
> Jumper is correct. Any idea what else might be happening? uhd_usrp_probe
> output attached.
>
> Thanks,
> Sean
>
> _______________________________________________
> USRP-users mailing list
> [email protected]
> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/attachments/20120403/a410f84c/attachment-0001.html>

------------------------------

Message: 2
Date: Tue, 3 Apr 2012 14:35:15 -0400
From: "Jiang, Leaf - 1006 - MITLL" <[email protected]>
To: "[email protected]" <[email protected]>
Subject: [USRP-users] How do I reset the DSP on the E110?
Message-ID: <[email protected]>
Content-Type: text/plain; charset="us-ascii"

Hello,

I am using the E1xx  console image that includes the TI DSPLink drivers from
http://code.ettus.com/redmine/ettus/projects/usrpe1xx/wiki/Images

I have been able to load the dsplinkk kernel module and run an example program 
in /usr/share/ti/ti-dsplink-examples.  The first dsplink program that I load 
works. If I try running a different dsplink program, the console hangs for 
about a minute, times out, and reports "PROC_start () failed. Status = 
[0x80008052]"

I tried reloading the module to no avail (modprobe -r dsplinkk and then 
modprobe dsplinkk)

I think that I need to reset the DSP between each run.  Is it possible to reset 
DSP to the state as if it were its first time run? The only workaround I've 
found is to reset the board but waiting for Angstrom to boot is very time 
consuming.

I've read that the lpm module might be able to reset the dsp.  I tried loading 
the module lpm_omap3530 module but get the following error:

modprobe -f lpm_omap3530
FATAL: Error inserting lpm_omap3530 
(/lib/modules/3.0.0/kernel/drivers/dsp/lpm_omap3530.ko): Invalid module format

Is there an updated lpm_omap3530 module that was compiled to match the console 
kernel?

Best,
Leaf
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/attachments/20120403/bf189bf3/attachment-0001.html>

------------------------------

Message: 3
Date: Tue, 3 Apr 2012 14:57:56 -0400
From: Thomas Tsou <[email protected]>
To: "Jiang, Leaf - 1006 - MITLL" <[email protected]>
Cc: "[email protected]" <[email protected]>
Subject: Re: [USRP-users] How do I reset the DSP on the E110?
Message-ID:
        <caf5feschgf0+heeomjmgfuafwlkkbrpifpcwa9xl_uwxa67...@mail.gmail.com>
Content-Type: text/plain; charset=ISO-8859-1

On Tue, Apr 3, 2012 at 2:35 PM, Jiang, Leaf - 1006 - MITLL
<[email protected]> wrote:
> I think that I need to reset the DSP between each run. ?Is it possible
> to?reset DSP to the state as if it were its first time?run? The only
> workaround I've found is to reset the board but waiting for Angstrom to boot
> is very time consuming.

I have a power strip underneath my desk that I can easily reset with my foot...

But, LPM is the recommended method. From the OMAP3530 DSP/BIOS Link
Install Guide:

"When cache is enabled, a MMU fault is seen when one application is
run followed by
a run of another application. This issue is not seen when one application is run
followed by a run of the same application. To overcome this issue the
LPM module is
used to power cycle the EVM between runs."

The same guide also lists the following example. I don't have LPM
installed on this particular image, so I can't tell you if it works or
not.

$ ./lpmOFF.x470uc
$ ./lpmON.x470uc
$ ./messagegpp message.out 10000

Let us know if that, or any other solution, works out.

  Thomas



------------------------------

Message: 4
Date: Tue, 3 Apr 2012 15:12:29 -0400
From: "Jiang, Leaf - 1006 - MITLL" <[email protected]>
To: Thomas Tsou <[email protected]>
Cc: "[email protected]" <[email protected]>
Subject: Re: [USRP-users] How do I reset the DSP on the E110?
Message-ID: <[email protected]>
Content-Type: text/plain; charset="us-ascii"

Hi Thomas,

Thank you for the reply.  It's good to know that lpm is the right way to reset 
the DSP.

I tried lpmON and lpmOFF and got the result

root@e110-leaf:~# /usr/share/ti/ti-lpm-utils/lpmON.xv5T
==== LPM ON Test ====
app: LPM_open
app: Error: LPM_open failed

root@e110-leaf:~# /usr/share/ti/ti-lpm-utils/lpmOFF.xv5T
==== LPM OFF Test ====
app: LPM_open
app: Error: LPM_open failed

but I believe lpmON and lpmOFF failed to open because I can't load the 
lpm_omap3530 module.

root@e110-leaf:~# modprobe -f lpm_omap3530
FATAL: Error inserting lpm_omap3530 
(/lib/modules/3.0.0/kernel/drivers/dsp/lpm_omap3530.ko): Invalid module format

Is there an E1xx image that supports lpm?

Best,
Leaf



On Apr 3, 2012, at 2:57 PM, Thomas Tsou wrote:

> On Tue, Apr 3, 2012 at 2:35 PM, Jiang, Leaf - 1006 - MITLL
> <[email protected]> wrote:
>> I think that I need to reset the DSP between each run.  Is it possible
>> to reset DSP to the state as if it were its first time run? The only
>> workaround I've found is to reset the board but waiting for Angstrom to boot
>> is very time consuming.
> 
> I have a power strip underneath my desk that I can easily reset with my 
> foot...
> 
> But, LPM is the recommended method. From the OMAP3530 DSP/BIOS Link
> Install Guide:
> 
> "When cache is enabled, a MMU fault is seen when one application is
> run followed by
> a run of another application. This issue is not seen when one application is 
> run
> followed by a run of the same application. To overcome this issue the
> LPM module is
> used to power cycle the EVM between runs."
> 
> The same guide also lists the following example. I don't have LPM
> installed on this particular image, so I can't tell you if it works or
> not.
> 
> $ ./lpmOFF.x470uc
> $ ./lpmON.x470uc
> $ ./messagegpp message.out 10000
> 
> Let us know if that, or any other solution, works out.
> 
>  Thomas





------------------------------

Message: 5
Date: Tue, 3 Apr 2012 15:33:39 -0400
From: Thomas Tsou <[email protected]>
To: "Jiang, Leaf - 1006 - MITLL" <[email protected]>
Cc: "[email protected]" <[email protected]>
Subject: Re: [USRP-users] How do I reset the DSP on the E110?
Message-ID:
        <caf5fesdomcyjott6sa1jfj-+rusqvbp3lnfcmsmrvkn+87b...@mail.gmail.com>
Content-Type: text/plain; charset=ISO-8859-1

On Tue, Apr 3, 2012 at 3:12 PM, Jiang, Leaf - 1006 - MITLL
<[email protected]> wrote:
> root@e110-leaf:~# /usr/share/ti/ti-lpm-utils/lpmOFF.xv5T
> ==== LPM OFF Test ====
> app: LPM_open
> app: Error: LPM_open failed
>
> but I believe lpmON and lpmOFF failed to open because I can't load the 
> lpm_omap3530 module.
>
> root@e110-leaf:~# modprobe -f lpm_omap3530
> FATAL: Error inserting lpm_omap3530 
> (/lib/modules/3.0.0/kernel/drivers/dsp/lpm_omap3530.ko): Invalid module format

The module failing to load is problematic. I'm surprised that the
dsplink module would load but not lpm. What is your kernel version?

I copied the lpm kernel module and utilities from another image onto
my current filesystem, and can confirm that the method works.

  Thomas



------------------------------

Message: 6
Date: Tue, 03 Apr 2012 12:37:13 -0700
From: Philip Balister <[email protected]>
To: Thomas Tsou <[email protected]>,"Jiang, Leaf - 1006 - MITLL"
        <[email protected]>
Cc: "[email protected]" <[email protected]>
Subject: Re: [USRP-users] How do I reset the DSP on the E110?
Message-ID: <[email protected]>
Content-Type: text/plain; charset="utf-8"

This is my fault. The new image should work and I will check if I have the 
upkeep to fix the issue.

Philip
-- 
Sent from my Android phone with K-9 Mail. Please excuse my brevity.

Thomas Tsou <[email protected]> wrote:

On Tue, Apr 3, 2012 at 3:12 PM, Jiang, Leaf - 1006 - MITLL
<[email protected]> wrote:
> root@e110-leaf:~# /usr/share/ti/ti-lpm-utils/lpmOFF.xv5T
> ==== LPM OFF Test ====
> app: LPM_open
> app: Error: LPM_open failed
>
> but I believe lpmON and lpmOFF failed to open because I can't load the 
> lpm_omap3530 module.
>
> root@e110-leaf:~# modprobe -f lpm_omap3530
> FATAL: Error inserting lpm_omap3530 
> (/lib/modules/3.0.0/kernel/drivers/dsp/lpm_omap3530.ko): Invalid module format

The module failing to load is problematic. I'm surprised that the
dsplink module would load but not lpm. What is your kernel version?

I copied the lpm kernel module and utilities from another image onto
my current filesystem, and can confirm that the method works.

Thomas

_____________________________________________

USRP-users mailing list
[email protected]
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/attachments/20120403/ced88f34/attachment-0001.html>

------------------------------

Message: 7
Date: Tue, 03 Apr 2012 14:44:35 -0700
From: Josh Blum <[email protected]>
To: [email protected]
Subject: Re: [USRP-users] How to connect USRP N210 to FPGA with
        Ethernet IP core via Ethernet Phy chip?
Message-ID: <[email protected]>
Content-Type: text/plain; charset=ISO-8859-1

Jiao,

Did you see my last email? I had the replies inline, so you might have
missed them.

Cheers,
-josh

On 04/02/2012 10:39 PM, Jiao Xianjun wrote:
> Hi,
> 
> 
> Instead of computer, I want to use standalone FPGA to do signal processing.
> I have a FPGA dev board with 1000M Ethernet port, and the board can
> send/recv UDP packet with computer now.
> 
> If I want to use the FPGA board to control and use USRP N210 directly, what
> should I do?
> 
> I have to implement a CPU in FPGA and run Linux on it? Or is there a simple
> way?
> 
> Is there any information on protocol (between USRP and computer).?
> 
> 
> Thanks!
> 
> BR
> 
> 
> 
> 
> _______________________________________________
> USRP-users mailing list
> [email protected]
> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com



------------------------------

Message: 8
Date: Wed, 04 Apr 2012 09:27:25 -0400
From: Jason Roehm <[email protected]>
To: [email protected]
Subject: Re: [USRP-users] "Timed Commands" feature
Message-ID: <[email protected]>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed



On 04/02/2012 03:30 PM, Josh Blum wrote:
>
> On 04/02/2012 11:35 AM, Jason Roehm wrote:
>> I'm interested in using the timed commands functionality on my USRP
>> N200. Since it is still under development and I'm not interested in
>> being on the bleeding edge, I haven't pulled the "next" branch to try it
>> out. Based on Josh Blum's description of the feature in the last UHD
>> release announcement, it sounds very powerful. I had a couple questions
>> regarding what it will provide:
>>
>> - Will queueing of timed commands be supported? I envision a scenario
>> where I want to tell my USRP to synchronously sweep across a specified
>> band of spectrum and collect fixed-length packets of samples. The
>> command sequence would look something like this:
>>
>>      - At time T, set RX tune frequency to 1 GHz
>>      - At time T + 2 msec (or some other period of time, to allow the LO
>> to settle), issue stream command to stream N samples and then stop
>>      - At time T + 2 msec + N/(Rx rate), set tune frequency to 1.01 GHz
>>      - ...
>>
>> It would be nice if I could program a whole sequence of these queued
>> commands into the USRP and allow it to execute a sweep almost
>> automatically. I understand that there would need to be at a minimum
>> some reasonable limit to the number of commands that be queued, but it
>> was unclear from the description whether multiple commands with
>> different execution times could be outstanding at any given time.
>>
> The current implementation is basically a single command queue (64
> entries). All commands back-up behind the newest command in queue, and
> then after that it blocks in the host past 64 entries.
>
> When a command is completed, the next packet in the queue is processed.
> Any packets with "late" time are sent ASAP. This means that although you
> get determinism, but poor scheduling can yield undesired results.
>
> So, I you see how multiple queues might give greater flexibility. On the
> other hand, it does use a non-trivial amount of resources. It would be
> nice to see what can be done with one queue implementation first. :-)
>

Josh,

One other way to accomplish what I'm looking for without adding multiple 
queues would be the addition of a dummy "pause" command that could be 
inserted in the command list. This command would simply hold off 
processing any more commands from the queue until the delay has expired. 
Taking my example from above, the command sequence would be:

- At time T, set RX tune frequency to 1 GHz
- Pause 2 msec
- Issue stream command to stream N samples and then stop
- Pause N/(Rx rate) sec
- Set tune frequency to 1.01 GHz
- Pause 2 msec
- ...

The extra commands to do the timing would take up extra space in the 
queue, but it would obviate the need for multiple queues that are 
scheduled at arbitrary times. I could see it getting hairy with multiple 
queues, also. For example, what if I scheduled two separate command 
queues that overlapped in time? The one-queue approach is simpler and I 
think if such a "pause" or "delay" command was available, you could 
emulate most aspects of having multiple independent queues. What do you 
think?

Jason




------------------------------

Message: 9
Date: Wed, 4 Apr 2012 09:59:20 -0400
From: "Jiang, Leaf - 1006 - MITLL" <[email protected]>
To: Philip Balister <[email protected]>
Cc: "[email protected]" <[email protected]>
Subject: Re: [USRP-users] How do I reset the DSP on the E110?
Message-ID: <[email protected]>
Content-Type: text/plain; charset="us-ascii"

Hi Philip and Thomas,

I just tried the new image from http://files.ettus.com/e1xx_images/current/
and the lpm module loads without error.  The only problem now is that lpm 
doesn't seem
to be resetting the dsp.  The output below shows that the first program 
(loopgpp) runs fine, but the second program (messagegpp) freezes.  Even after 
running lpmON/OFF, the second program still freezes.  Any ideas why?

Best,
Leaf


root@usrp-e1xx:/usr/share/ti/ti-dsplink-examples# modprobe dsplinkk

root@usrp-e1xx:/usr/share/ti/ti-dsplink-examples# modprobe lpm_omap3530

root@usrp-e1xx:/usr/share/ti/ti-dsplink-examples# ./loopgpp loop.out 1024 2000 0
=============== Sample Application : LOOP ==========
==== Executing sample for DSP processor Id 0 ====
Entered LOOP_Create ()
Leaving LOOP_Create ()
Entered LOOP_Execute ()
Transferred 1000 buffers
Transferred 2000 buffers
Leaving LOOP_Execute ()
Entered LOOP_Delete ()
Leaving LOOP_Delete ()
====================================================
root@usrp-e1xx:/usr/share/ti/ti-dsplink-examples# ./messagegpp message.out 
10000 0
========== Sample Application : MESSAGE ==========
Entered MESSAGE_Create ()
^C^Croot@usrp-e1xx:/usr/share/ti/ti-dsplink-examples#

root@usrp-e1xx:/usr/share/ti/ti-dsplink-examples# ../ti-lpm-utils/lpmOFF.xv5T
==== LPM OFF Test ====
app: LPM_open
app: LPM_set(LPM_CTRL_REFCOUNTOVR)
app: LPM_off
app: LPM_close
==== LPM OFF test completed ====

root@usrp-e1xx:/usr/share/ti/ti-dsplink-examples# ../ti-lpm-utils/lpmON.xv5T
==== LPM ON Test ====
app: LPM_open
app: LPM_set(LPM_CTRL_REFCOUNTOVR)
app: LPM_on
app: LPM_close
==== LPM ON completed ====

root@usrp-e1xx:/usr/share/ti/ti-dsplink-examples# ./messagegpp message.out 
10000 0
========== Sample Application : MESSAGE ==========
Entered MESSAGE_Create ()
PROC_start () failed. Status = [0x80008052]
Leaving MESSAGE_Create ()
Entered MESSAGE_Delete ()
MSGQ_release () failed. Status = [0x8000800b]
Leaving MESSAGE_Delete ()
====================================================


On Apr 3, 2012, at 3:37 PM, Philip Balister wrote:

This is my fault. The new image should work and I will check if I have the 
upkeep to fix the issue.

Philip
--
Sent from my Android phone with K-9 Mail. Please excuse my brevity.

Thomas Tsou <[email protected]<mailto:[email protected]>> wrote:

On Tue, Apr 3, 2012 at 3:12 PM, Jiang, Leaf - 1006 - MITLL
<[email protected]<mailto:[email protected]>> wrote:
> root@e110-leaf:~# /usr/share/ti/ti-lpm-utils/lpmOFF.xv5T
> ==== LPM OFF Test ====
> app: LPM_open
> app: Error: LPM_open failed
>
> but I believe lpmON and lpmOFF failed to open because I can't load the 
> lpm_omap3530 module.
>
> root@e110-leaf:~# modprobe -f lpm_omap3530
> FATAL: Error inserting lpm_omap3530 
> (/lib/modules/3.0.0/kernel/drivers/dsp/lpm_omap3530.ko): Invalid module format

The module failing to load is problematic. I'm surprised that the
dsplink module would load but not lpm. What is your kernel version?

I copied the lpm kernel module and utilities from another image onto
my current filesystem, and can confirm that the method works.

  Thomas

________________________________

USRP-users mailing
list
[email protected]<mailto:[email protected]>
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com


-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/attachments/20120404/0caf0280/attachment-0001.html>

------------------------------

Message: 10
Date: Wed, 04 Apr 2012 08:07:00 -0700
From: Josh Blum <[email protected]>
To: [email protected]
Subject: Re: [USRP-users] "Timed Commands" feature
Message-ID: <[email protected]>
Content-Type: text/plain; charset=ISO-8859-1


> 
> Josh,
> 
> One other way to accomplish what I'm looking for without adding multiple
> queues would be the addition of a dummy "pause" command that could be
> inserted in the command list. This command would simply hold off
> processing any more commands from the queue until the delay has expired.
> Taking my example from above, the command sequence would be:
> 
> - At time T, set RX tune frequency to 1 GHz
> - Pause 2 msec
> - Issue stream command to stream N samples and then stop
> - Pause N/(Rx rate) sec
> - Set tune frequency to 1.01 GHz
> - Pause 2 msec
> - ...
> 
> The extra commands to do the timing would take up extra space in the
> queue, but it would obviate the need for multiple queues that are
> scheduled at arbitrary times. I could see it getting hairy with multiple
> queues, also. For example, what if I scheduled two separate command
> queues that overlapped in time? The one-queue approach is simpler and I
> think if such a "pause" or "delay" command was available, you could
> emulate most aspects of having multiple independent queues. What do you
> think?
> 

Multiple queues would definitely have some hairy-ness to them :-)

Perhaps I am misreading, but the capability of delay/pause can be
achieved by setting the command time of the next command (after this
pause). Basically, the pause is created by the command queue waiting on
command's time to expire; think of it like setting an alarm clock.

Use set_command_time and clear_command_time around any call you wish to
schedule.
http://files.ettus.com/uhd_docs/doxygen/html/classuhd_1_1usrp_1_1multi__usrp.html#a191b78b00d051d3d51c2f719361c1fb5

Any commands that do not have a time set simply back up behind that last
command with the time value set. Once they hit the front of the queue,
they get executed immediately.

-Josh



------------------------------

Message: 11
Date: Wed, 04 Apr 2012 11:13:22 -0400
From: Jason Roehm <[email protected]>
To: [email protected]
Subject: Re: [USRP-users] "Timed Commands" feature
Message-ID: <[email protected]>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed

On 04/04/2012 11:07 AM, Josh Blum wrote:
> Multiple queues would definitely have some hairy-ness to them :-)
>
> Perhaps I am misreading, but the capability of delay/pause can be
> achieved by setting the command time of the next command (after this
> pause). Basically, the pause is created by the command queue waiting on
> command's time to expire; think of it like setting an alarm clock.
>
> Use set_command_time and clear_command_time around any call you wish to
> schedule.
> http://files.ettus.com/uhd_docs/doxygen/html/classuhd_1_1usrp_1_1multi__usrp.html#a191b78b00d051d3d51c2f719361c1fb5
>
> Any commands that do not have a time set simply back up behind that last
> command with the time value set. Once they hit the front of the queue,
> they get executed immediately.
>

Maybe I misread your previous answer, but I took it to mean that I could 
not have two commands queued at the same time that have different 
execution times (for instance, "tune at time T" and then "start 
streaming at time T + 2 msec"). The benefit of the "pausing" would come 
from the fact that I could queue up a bunch of timed commands in the 
USRP that would tune, stream, retune, etc. repeatedly at precise times 
without requiring really-low-latency response from my host program to 
issue the commands right at the time they are needed. After reading your 
initial response to my question, I thought that the timed-command-queue 
is a single data structure with an execution time: once that time hits, 
all commands in the queue are processed in order. If, instead, the 
execution time is stored on a command-by-command basis, then I think the 
existing functionality is sufficient (although a deeper queue could be 
nice for some applications).

Jason



------------------------------

_______________________________________________
USRP-users mailing list
[email protected]
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com


End of USRP-users Digest, Vol 20, Issue 4
*****************************************

Reply via email to