[hpsdr] Observations on the new HPSDR firmware/PowerSDR
Dan Quigley
dquigley at msn.com
Mon Jun 1 07:34:36 PDT 2009
I see the same problem this morning with an HPSDR cold start - PC was left
on all night:
Settings:
Buffer size is set at 2048 for this entire test
14.045500 MHz - USB - No DSP filters
192k bandwidth: D6 on Mercury "weakly" flashes in a quick (faster than 1Hz)
but erratic fashion, audio has loud pops which correspond to D6 flashing,
relay clicks from Mercury - no or little evidence of typical band noise.
Strange display on PowerSDR (I missed the opportunity to take a screen
capture of this).
96k bandwidth: No discernable D6 flashes. Audio has loud pops - at a
slower rate than 192k, some evidence of typical band noise but distorted.
CPU spikes on pops
48k bandwidth: Works as expected.
Transmit ok.
Run at 48k for 5 minutes....
192k bandwidth: same behavior - but much less frequent. D6 flashes
erratically, but ~2-5Hz - flashes correspond to pops
96k bandwidth: similar behavior - band noise is good between pops - every
10 secs or so. CPU spikes on pops
48k bandwidth: works as expected.
Transmit ok.
Run at 48k for 10 minutes...
Same behavior - but pops less frequent (10 seconds on 192k, 96k almost
usable - no D6 flashes on drop-out pops)
Transmit ok.
Run at 96k for 15 minutes...
Similar behavior - pops are once a minute or so on 96k, 192k is usable but
pops about 15-30 secs apart. D6 does not flash on pops (at least that I can
see in daylight).
Transmit ok.
Run at 192k for 15 minutes...
System is mostly useable at 192k now - there are drop outs once every
several minutes. CPU cycles between 18% and 45% (higher than what I
typically see: 20-30%)
Best,
Dan (N7HQ)
-----Original Message-----
From: hpsdr-bounces at lists.openhpsdr.org
[mailto:hpsdr-bounces at lists.openhpsdr.org] On Behalf Of Dan Quigley
Sent: Sunday, May 31, 2009 10:22 PM
To: 'Bill Tracey'; hpsdr at openhpsdr.org
Subject: Re: [hpsdr] Observations on the new HPSDR firmware/PowerSDR
***** High Performance Software Defined Radio Discussion List *****
Hi Bill,
Yes I am using Process Explorer. This is an odd one, but I believe it is
germane to problems others have reported. The length of time appears to be
random from my experience. (after today from 0 to a couple of hours) I am
90% convinced it is a PowerSDR issue and related to (or exacerbated by)
sample rate but I have not found a reproducible trigger. There may be a
correlation to the GC - I watched the .NET runtime and its memory heap was
definitely fluid during PowerSDR abnormal operations but that may be a
reaction to something else. This does smell a bit like a race condition
issue but it is too early to be sure.
Some additional observations:
Last night I chatted for 2 hours on 75m phone using HPSDR without any issue.
Rx was stellar and CPU stayed under 30% for the most part and there were no
unusual audio reports on tx.
Early this morning I wanted to make some CQWW WPX contacts on 20m. When I
powered up the rig, I observed the relay chatter and distorted audio
(described by others), the CPU was north of 80% and the system was totally
unusable (Mode or DSP functions did not matter). When I dropped the sample
rate to 48k it settled right down. An hour later I changed the sample rate
back to 192k and it worked fine for an hour or so. During contest ops
today, I had to stop PowerSDR three times and restart it, but I never
observed the morning chatter/distortion issues later in the day. I have not
found it necessary to power cycle the hardware.
This may be two separate problems. The only time I have seen the
chatter/distortion issue was after this morning's cold start. The
degradation/pop issue is reproducible, but on a random basis.
Tonight I am on 75m phone again and have encountered no problems.
Wash-Rinse-Repeat... I'll try 20m tomorrow morning again.
If you can send or point me to PowerSDR release symbol files, my stack
traces may be more helpful...
Best,
Dan
-----Original Message-----
From: Bill Tracey [mailto:bill at ewjt.com]
Sent: Sunday, May 31, 2009 9:45 PM
To: Dan Quigley; hpsdr at openhpsdr.org
Subject: Re: [hpsdr] Observations on the new HPSDR firmware/PowerSDR
Hi Dan,
Interesting observations -- will have to look
into it. How long does it take it to degrade to
where you're hearing bands and pops? I've had
mine running listening to a tone for the last 30
mins or so and haven't heard it glitch. I'm on
a Quad Core on Vista so have a bit different setup than you do.
A time oriented degradation leads me to the
perhaps garbage collection issues, but I did not
think any of our main path (audio buffers) stuff
relied on garbage collection.
How are grabbing the call stacks - Process Explorer?
Looks like it might be time to learn a bit on .NET profiling.
Cheers
Bill (kd5tfd)
At 04:52 PM 5/30/2009, Dan Quigley wrote:
>***** High Performance Software Defined Radio Discussion List *****
>
>
>Content-Type: multipart/alternative;
> boundary="----=_NextPart_000_0006_01C9E136.326233F0"
>Content-Language: en-us
>
>I hope this helps.
>
>On my WinXP box running on an Intel 2.1Ghz duo
>core with 3GB of ram, PowerSDR works fine (read
>great!) for a "while" then the receive function
>gradually starts degrading (drop outs/pops etc)
>until audio eventually stops. CPU also rises
>with the incidence of popping/drop outs. How
>long it takes to degrade appears to be related
>to audio buffer size and sample rate
>settings. The higher the sample rate the less
>amount of time it takes for performance to
>degrade. Transmitting also appears to
>accelerate the time it takes to degrade.
>
>Good performance returns when you restart
>PowerSDR (first waiting for the previous
>instance to unload, which can take a while.
>
>When running fine (e.g. no drop outs) , the
>thread that consumes most of the CPU cycles in
>the PowerSDR.exe process has this call
>stack (or one very similar), at 192K bandwidth.
>
>Thread 5-11% cpu
>ntkrnlpa.exe!NtBuildNumber+0x43
>ntkrnlpa.exe!MmIsDriverVerifying+0xbb0
>ntkrnlpa.exe!MmIsDriverVerifying+0x1492
>ntkrnlpa.exe!PoShutdownBugCheck+0x39e9
>ntkrnlpa.exe!KeSynchronizeExecution+0x30c
>ntdll.dll!KiFastSystemCallRet
>KERNEL32.dll!WaitForMultipleObjects+0x18
>pthreadVC.dll!pthread_exit+0x111
>
>Once performance degrades and drop outs begin to
>occur frequently. This thread and call stack
>floats quickly to the top of the sorted by cpu
>list. Then stays at the top. This thread jumps
>to 50% cpu when you close PowerSDR and stays
>there for a minute or so. When it eventually
>terminates, PowerSDR is unloaded from memory:
>
>Thread 34% cpu
>Stack:
>ntkrnlpa.exe!NtBuildNumber+0x43
>ntkrnlpa.exe!MmIsDriverVerifying+0xbb0
>hal.dll!HalClearSoftwareInterrupt+0x342
>DttSP.dll!SetKeyerSampleRate+0x27c8
>DttSP.dll!PolyPhaseFIRF+0x28ca
>
>When the system has totally degraded this thread stays at 15% cpu
>Thread 15% cpu
>Stack:
>ntkrnlpa.exe!NtBuildNumber+0x43
>ntkrnlpa.exe!MmIsDriverVerifying+0xbb0
>ntkrnlpa.exe!MmIsDriverVerifying+0x1492
>ntkrnlpa.exe!PoShutdownBugCheck+0x3702
>ntkrnlpa.exe!KeSynchronizeExecution+0x30c
>ntdll.dll!KiFastSystemCallRet
>KERNEL32.dll!WaitForSingleObject+0x12
>libusb0.dll!usb_set_debug+0x266
>libusb0.dll!usb_reap_async+0xf
>libusb0.dll!usb_bulk_write+0x1e
>JanusAudio.dll!OzyBulkWrite+0x21
_______________________________________________
HPSDR Discussion List
To post msg: hpsdr at openhpsdr.org
Subscription help:
http://lists.openhpsdr.org/listinfo.cgi/hpsdr-openhpsdr.org
HPSDR web page: http://openhpsdr.org
Archives: http://lists.openhpsdr.org/pipermail/hpsdr-openhpsdr.org/
More information about the Hpsdr
mailing list