First experiences with MinGW/Windows XP and a possible driver bug (?)

Hi,

I have just started to work with GNU radio. In this mail I would like to
post
about my installation experiences following the link at

http://gnuradio.org/trac/wiki/MingwInstallMain

I still have some problems running the USRP on Windows (at the end of
this mail), maybe someone
could comment on these.

INSTALLATION

My system is an IBM R51 laptop running Windows XP SP2. The installation
was based on
MinGW and MSYS. Since all sources are very well linked on the website
the installation
procedure was straight forward but some little problems arised which can
be solved as follows:

  1. The description mentions that the following packages of the MinGW are
    required:

“Candidate”, “g++”, and “MinGW make”

In order to install automake-1.9.5, autoconf-2.59, and libtool-1.5.22, I
needed to install also the packages
“core-gcc”, “w32api” and the “binutils”. I am not sure if , “runtime” is
also needed.

  1. The “C:/…” references must be replaced in the automake and aclocal
    script. In the installation description on the website,
    an sed command is given. In my case, this command did not work, so I had
    to modify the corresponding
    positions by hand which is not a big problem.

  2. Patching GnuRadio 3.1.2 with the makefiles-3.1.2.patch did not work.
    During the call
    of the bootstrap scrip, some of the M4 macros could not be resolved. At
    first I switched over
    to a Linux system and was able to patch the sources. Finally I installed
    automake-1.10 and autoconf-2.61
    from the sources which also let me apply the patch in Windows.

  3. When running the ./configure command for GnuRadio-3.1.2, the SDL
    library test fails because the SDL.dll can not
    be found. I tried some things, adding the LD_LIBRARY_PATH in MSYS and
    also setting the PATH variable in Windows
    but neither worked. Finally I copied the SDL.dll library to the
    gnuradio-3.1.2 directory and was able to configure the SDL package.
    The problem seems to be related to only the configure script because all
    applications using the SDL library worked properly
    after installing GnuRadio.

Compilation of all packages finally worked. Using MinGW, the
installation is very slow. It took me the complete sunday to build the
fftw library.
Anybody got an idea why minGW/MSYS is so slow?

RUNNING THE FIRST EXAMPLES AND THE MAIN QUESTION

After the system was setup, we tested our USRP devices. We have the
RFX2400 transceiver. We ran some of the tests in the
gnuradio-examples/python/usrp and the gnuradio-examples/python/apps
directories.
I have to admit that we are not (yet) experts in this field and hence
did not really know what should be the output. We identified,
however, that there seems to be a problem with the driver since we got
the error message

usb_control_msg failed: usb_control_msg: sending control message failed,
win error: Ein an das System angeschlossenes Gerät funktioniert nicht.

The german part of the message, “Ein an das System angeschlossenes Gerät
funktioniert nicht.”, means that a device connected to the system does
not funtion properly.

The error message is identical for both devices which we tested so we
assume that it is not a hardware problem.
Also in Linux, we did not get this error message. Anyone got an idea how
to solve this problem? I would really like to get the system working
under Windows…
At the end of the message I have added the output for some test runs in
Windows…

Thanks in advance for any help,

best regards,

Hauke

TEST RESULTS

Following is the output of some of the tests we did:

a) ----> Call of gnuradio-examples/python/usrp/gnu
usrp_benchmark_usb.py:

/START OUTPUT************
Testing 2MB/sec… usb_throughput = 2M
ntotal = 1000000
nright = 998522
runlength = 998522
delta = 1478
OK
Testing 4MB/sec… usb_throughput = 4M
ntotal = 2000000
nright = 1998820
runlength = 1998820
delta = 1180
OK
Testing 8MB/sec… usb_throughput = 8M
ntotal = 4000000
nright = 3996376
runlength = 3996376
delta = 3624
OK
Testing 16MB/sec… usb_throughput = 16M
ntotal = 8000000
nright = 7994532
runlength = 7994532
delta = 5468
OK
Testing 32MB/sec… usb_throughput = 32M
ntotal = 16000000
nright = 15987788
runlength = 15987788
delta = 12212
OK
Max USB/USRP throughput = 32MB/sec
usb_control_msg failed: usb_control_msg: sending control message failed,
win error: Ein an das System angeschlossenes Gerät funktioniert nicht.
(10x)
/STOP OUTPUT************

b) ----> Call of usrp_test_loopback.py:

/START OUTPUT************
gr_check_counting: enter_SEARCHING at offset 0 (0x00000000)
gr_check_counting: expected 0 (0x0000) got 41470 (0xa1fe)
offset 0 (0x00000000)
gr_check_counting: expected 41471 (0xa1ff) got 41471 (0xa1ff)
offset 1 (0x00000001)
gr_check_counting: expected 41472 (0xa200) got 41470 (0xa1fe)
offset 2 (0x00000002)
gr_check_counting: expected 41471 (0xa1ff) got 41471 (0xa1ff)
offset 3 (0x00000003)
gr_check_counting: expected 41472 (0xa200) got 41470 (0xa1fe)
offset 4 (0x00000004)
gr_check_counting: expected 41471 (0xa1ff) got 41471 (0xa1ff)
offset 5 (0x00000005)
gr_check_counting: expected 41472 (0xa200) got 41470 (0xa1fe)
offset 6 (0x00000006)
gr_check_counting: expected 41471 (0xa1ff) got 41471 (0xa1ff)
offset 7 (0x00000007)
gr_check_counting: expected 41472 (0xa200) got 41470 (0xa1fe)
offset 8 (0x00000008)
gr_check_counting: expected 41471 (0xa1ff) got 41471 (0xa1ff)
offset 9 (0x00000009)
gr_check_counting: expected 41472 (0xa200) got 41470 (0xa1fe)
offset 10 (0x0000000a)
gr_check_counting: expected 41471 (0xa1ff) got 41471 (0xa1ff)
offset 11 (0x0000000b)
gr_check_counting: expected 41472 (0xa200) got 41470 (0xa1fe)
offset 12 (0x0000000c)
gr_check_counting: expected 41471 (0xa1ff) got 41471 (0xa1ff)
offset 13 (0x0000000d)
/STOP OUTPUT************

c) ----> Call of usrp_tv_rcv.py:

Application starts with a noisy TV view. As soon as I change the
frequency, I get a
windows fatal error message.

d)----> Call of usrp_tv_rcv_nogui.py:

/START OUTPUT************
SDL screen_mode 32 bits-per-pixel
SDL overlay_mode 842094169
usb_control_msg failed: usb_control_msg: sending control message failed,
win error: Ein an das System angeschlossenes Gerät funktioniert nicht.

Using RX d’board A: Flex 2400 Rx MIMO B
video sample rate 8M
/STOP OUTPUT************

Application stops with fatal error message.

e) Call of gnuradio-examples/python/apps/hf_radio/radio.py:

/START OUTPUT************
usb_control_msg failed: usb_control_msg: sending control message failed,
win error: Ein an das System angeschlossenes Gerät funktioniert nicht.

gr_fir_ccc: using SSE
gr_fir_fff: using SSE
aUaUaUaUaUaUaUaUaUaUaUaUaUaUaU
/STOP OUTPUT************

f) ----> Call of gnuradio-examples/python/apps/hf_explorer/hfx2.py:

/START OUTPUT************
usb_control_msg failed: usb_control_msg: sending control message failed,
win error: Ein an das System angeschlossenes Gerät funktioniert nicht.

gr_fir_ccc: using SSE
aUaUaUaUaUaUaUaUUnable to find PowerMate or Contour Shuttle
Exception exceptions.TypeError: “‘NoneType’ object is not callable” in
<wx.lib.pubsub._NodeCallback instance at 0x01FC3E90> ignored
Exception exceptions.TypeError: “‘NoneType’ object is not callable” in
<wx.lib.pubsub._NodeCallback instance at 0x01FCF058> ignored

Using Default Device
Microsoft Soundmapper - Output is the chosen device using MME as the
host
Latency = 0.02133, requested sampling_rate = 32000
d_portaudio_buffer_size_frames = 683
/STOP OUTPUT************