Forum: GNU Radio Problem in text file transmission using USRP and GNU Radio (3.1.3)

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
836e2979a94445195bd7abdd306196ad?d=identicon&s=25 CNS Lee (Guest)
on 2008-11-11 11:20
(Received via mailing list)
Hi,

I have got GNU Radio (3.1.3) installed on Ubuntu 8.04. The
installation is followed the guide
(http://gnuradio.org/trac/wiki/UbuntuInstall). It works well with USRP
on two laptops after running some tests, such as
"./test_usrp_standard_tx","./usrp_benchmark_usb.py", "./tunnel.py -f
2.4G", "./benchmark_tx.py -f 2.4G".
Then I tried to test three demos.
 1. The first demo is to test TCP/IP connection between two USRPs. It
runs OK;
 2. The second demo is to test transferring ASCII code. It runs OK;
 3. The third demo is to test text file transmission. I got problem
with this test.
The detailed operation is described in the following.


The FIRST demo is similar to the description in the README which can
be found under " ~/gnuradio/gnuradio-examples/python/digital/ ", I
test TCP/IP connection between two USRPs.
     - -------------------
     On machine A:
       $ su
       # ./tunnel.py --f 2.4G
       # # in another window on A, also as root...
       # ifconfig gr0 192.168.200.1

     On machine B:
       $ su
       # ./tunnel.py --f 2.4G
       # # in another window on B, also as root...
       # ifconfig gr0 192.168.200.2
     - -------------------
I can get some output for each packet if "ping 192.168.200.2" from A
and "ping 192.168.200.1" from B.


In the SECOND demo, I test the ASCII code transmission through USRP
using following set up.
   - -------------------
   On machine A:
     $ su
     # ./tunnel.py --f 2.4G
     # # in another window on A, also as root...
     # ifconfig gr0 192.168.200.1
     # tcpdump –i gr0

   On machine B:
     $ su
     # ./benchmark_tx.py --f 2.4G
   - -------------------
Output of tcpdump in Machine A:

  0x0030:  6060 6060 6060 6060 6060 6060 6060 6060  ````````````````
  0x0040:  6060 6060 6060 6060 6060 6060 6060 6060  ````````````````
  0x0050:  6060                                     ``
16:21:14.943425 61:61:61:61:61:61 (oui Unknown) > 02:61:61:61:61:61
(oui Unknown), ethertype Unknown (0x6161),

length 1500:
  0x0000:  6161 6161 6161 6161 6161 6161 6161 6161  aaaaaaaaaaaaaaaa
  0x0010:  6161 6161 6161 6161 6161 6161 6161 6161  aaaaaaaaaaaaaaaa
  0x0020:  6161 6161 6161 6161 6161 6161 6161 6161  aaaaaaaaaaaaaaaa
  0x0030:  6161 6161 6161 6161 6161 6161 6161 6161  aaaaaaaaaaaaaaaa
  0x0040:  6161 6161 6161 6161 6161 6161 6161 6161  aaaaaaaaaaaaaaaa
  0x0050:  6161                                     aa
16:21:14.968508 62:62:62:62:62:62 (oui Unknown) > 02:62:62:62:62:62
(oui Unknown), ethertype Unknown (0x6262),

length 1500:
  0x0000:  6262 6262 6262 6262 6262 6262 6262 6262  bbbbbbbbbbbbbbbb
  0x0010:  6262 6262 6262 6262 6262 6262 6262 6262  bbbbbbbbbbbbbbbb
  0x0020:  6262 6262 6262 6262 6262 6262 6262 6262  bbbbbbbbbbbbbbbb
  0x0030:  6262 6262 6262 6262 6262 6262 6262 6262  bbbbbbbbbbbbbbbb
  0x0040:  6262 6262 6262 6262 6262 6262 6262 6262  bbbbbbbbbbbbbbbb
  0x0050:  6262                                     bb
16:21:14.993629 63:63:63:63:63:63 (oui Unknown) > 02:63:63:63:63:63
(oui Unknown), ethertype Unknown (0x6363),

length 1500:
  0x0000:  6363 6363 6363 6363 6363 6363 6363 6363  cccccccccccccccc
  0x0010:  6363 6363 6363 6363 6363 6363 6363 6363  cccccccccccccccc

ASCII code in the output list is generated and sent by
"benchmark_tx.py" by default. This demo works very well.


In the THIRD demo, the text file transmission is tested which is done
based on the Second demo. The setup is similar

except the command using on machine B.
    ---------------------------
     $ su
     # ./benchmark_tx.py --f 2.4G --from-file README
    ---------------------------

Output in machine A:
In the First window, I got:
   >>> gr_fir_fff: using SSE
   modulation:     gmsk
   freq:           2.4G
   bitrate:        500kb/sec
   samples/symbol:   2
   Carrier sense threshold: 30 dB

   Allocated virtual ethernet interface: gr0
   You must now use ifconfig to set its IP address. E.g.,

     $ sudo ifconfig gr0 192.168.200.1

   Be sure to use a different address in the same subnet for each
machine.

   uOuOuOuOuOuOuO
   BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBRx: ok = False  len(payload) = 1500

In the Second window, tcpdump shows:
   14:10:39.494834 IP (tos 0x0, ttl 255, id 0, offset 0, flags [DF],
proto UDP (17), length 68) lee-desktop.local.mdns > 224.0.0.251.mdns:
0 PTR (QM)? _pgpkey-hkp._tcp.local. (40)
The output indicates machine A failed receiving the file README.


Then, instead of "README"(size: 3.5 KB), I tried to send another file
"receive_path.py" (size: 10.9 KB) with same setup above except using
command on machine B:
     # ./benchmark_tx.py --f 2.4G --from-file receive_path.py

Output in machine A:
In the first window, I got:
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBuOuOuOuOuOuOuOuOuOuOuOuOuOuOuOuORx:
ok = True  len(payload) = 1500
Rx: ok = True  len(payload) = 1500
Rx: ok = False  len(payload) = 1500
uOuOuOuOuOuOuOuO

In the second window, tcpdump shows:
14:13:44.692138 0a:20:20:20:20:20 (oui Unknown) > 00:01:75:72:65:0a
(oui Unknown), ethertype Unknown (0x2020),

length 1500:
                0x0000:  206f 7074 696f 6e73 203d 2063 6f70 792e
.options.=.copy.
                0x0010:  636f 7079 286f 7074 696f 6e73 2920 2020
copy(options)...
                0x0020:  2023 206d 616b 6520 6120 636f 7079 2073
.#.make.a.copy.s
                0x0030:  6f20 7765 2063 616e 2064 6573 7472 7563
o.we.can.destruc
                0x0040:  7469 7665 6c79 206d 6f64 6966 790a 0a20
tively.modify...
                0x0050:  2020                                     ..
14:13:44.715214 72:78:5f:67:61:69 (oui Unknown) > 00:02:6f:6e:73:2e
(oui Unknown), ethertype Unknown (0x6e29),

length 1500:
                0x0000:  0a0a 2020 2020 2020 2020 7365 6c66 2e73
..........self.s
                0x0010:  6574 5f61 7574 6f5f 7472 2854 7275 6529
et_auto_tr(True)
                0x0020:  2020 2020 2020 2020 2020 2020 2020 2020
................
                0x0030:  2023 2065 6e61 626c 6520 4175 746f 2054
.#.enable.Auto.T
                0x0040:  7261 6e73 6d69 742f 5265 6365 6976 6520
ransmit/Receive.
                0x0050:  7377                                     sw

The output indicates that I did receive the file, but only part of it.
Reading from the tcpdump output, machine A could not receive the file
from beginning. Why?
Considering transmitting the smaller file "README", why I cannot even
receive it?

Please help me. Thanks.
This topic is locked and can not be replied to.