Jason,

Thanks for information.
If I am not wrong,  I think your problem is from the CSMA threshold. In the
single link case of my mail, A and B shoule always send packet at different
time.

In addition, I am using SBX board. The duplex detail is still devil for me.
:<

On Mon, Jun 18, 2012 at 11:17 PM, Jason Tran <jasonat...@yahoo.com> wrote:

> I had a similar problem way back and found collided packets (corrupted
> packets with ok=False). I started digging and found that my
> gr_probe_mag_sqrd_X was not returning a high enough magnitude for the
> carrier sense to be tripped. This also had to do with an issue I was having
> getting the xcvr2450 to tune to the right tx/rx frequencies...
>
> I suggest printing out the result of the magnitude squared to see if this
> is the case as well for you guys.
>
> Regards,
> Jason T.
>
>   ------------------------------
> *From:* Alex Zhang <cingular.a...@gmail.com>
> *To:* j...@ettus.com
> *Cc:* Tom Rondeau <trondeau1...@gmail.com>; gnuradio mailing list <
> discuss-gnuradio@gnu.org>
> *Sent:* Monday, June 18, 2012 9:07 PM
> *Subject:* [Discuss-gnuradio] tunnel.py destination host unreachable -
> Temporarily solution, due to too fast reply!
>
> Hello Josh,
>
> I have seen many guys complaining the tunnel.py failed in PING by the
> "destination host unreachable", for both the OFDM and Narrowband.
> This problem is caused by crushed ARP reply. I previously use the static
> ARP table to work round this problem, but today I did some investigating
> and test, and now I believe the too fast ARP reply from the destination
> causes that the transmitter can not receive this reply or receive it with
> corrupted packets.
>
> For example, if the usrp A send the ARP request at time T, then usrp B
> send back the ARP reply at time T+delta. If the delta is too small, then A
> will definitely fails to receive it.
>
> The  temp solution is as below (tunnel.py in csma_mac.main_loop), just add
> a small delay for B  to send back the ARP reply. This solution works well.
>
>  ... ...**
>
> @@ -185,7 +185,10 @@ def main_loop(self):
>
> 185 185**
>
>              if not payload:
>
> 186 186**
>
>                  self.tb.send_pkt(eof=True)
>
> 187 187**
>
>                  break
>
> 188  **
>
> -
>
>   188**
>
> +
>
>   189**
>
> +            time.sleep(0.009) # delay 9ms before sending out the reply
>
>   190**
>
> +            t2 = self.tb.source.u.get_time_now().get_real_secs()
>
>   191**
>
> +            print 'reply at time ', t
>
> 189 192**
>
>              if self.verbose:
>
> 190 193**
>
>                  print "Tx: len(payload) = %4d" % (len(payload),)
>
>
> The root cause for this problem, I guess, should be that the duplex
> switching time bwteen the TX and RX at USRP is not small enough. More
> details should be about the duplex mechanism of the SBX daughter board. I
> hope there are some other way to solve this problem. For example, I tried
> to specify the TX and RX at different antennas (TX/RX for transmitter, RX2
> for receiver) of the SBX, but unfortunately it seems impossible.
>
> Looking forward to your further comments.
>
> Thanks,
>
> Alex(Changchun) Zhang
> Cognitive Radio Institute @ Tennessee Tech Univ.
>
> ---------- Forwarded message ----------
> From: *Alex Zhang* <cingular.a...@gmail.com>
> Date: Mon, Jun 18, 2012 at 4:53 PM
> Subject: Re: [Discuss-gnuradio] tunnel.py destination host unreachable
> To: Weixian Zhou <idea...@gmail.com>
> Cc: j...@ettus.com, gnuradio mailing list <discuss-gnuradio@gnu.org>
>
>
> Weixian,
>
> Here is a temp solution, not sure it works or not:
>
> In the csma_mac.main_loop() of your tunnel.py, add a
> time_sleep(fixed_delay) right after the payload is read from the OS. You
> can set fixed_delay as 0.01 to 0.1 and test the result.
>
> And also, please set the CSMA threshold carefully to avoid
> possible collision.
>
> Alex
>
> On Mon, Jun 18, 2012 at 10:10 AM, Weixian Zhou <idea...@gmail.com> wrote:
>
> The following is the messages of the transmitter after I ping. The
> packages of len(payload)=42 failed CRC check, but other packages succeed.
> *URx: ok = True  len(payload) =  101*
> *Tx: len(payload) =   90*
> *Tx: len(payload) =   54*
> *UTx: len(payload) =  220*
> *UTx: len(payload) =  326*
> *URx: ok = False  len(payload) =  326*
> *Tx: len(payload) =   81*
>  *UTx: len(payload) =  326*
> *UTx: len(payload) =  326*
> *UTx: len(payload) =  302*
> *URx: ok = False  len(payload) =  302*
> *Tx: len(payload) =   78*
> *UTx: len(payload) =  220*
> *URx: ok = False  len(payload) =  220*
> *Tx: len(payload) =   81*
> *UTx: len(payload) =  302*
> *URx: ok = False  len(payload) =  302*
> *Tx: len(payload) =   70*
> *UTx: len(payload) =  110*
> *UTx: len(payload) =  240*
> *URx: ok = False  len(payload) =  240*
> *Tx: len(payload) =  404*
>  *Tx: len(payload) =  201*
> *UTx: len(payload) =  101*
> *UTx: len(payload) =  404*
> *Tx: len(payload) =  201*
> *Tx: len(payload) =   54*
> *UTx: len(payload) =  404*
> *Tx: len(payload) =  201*
> *Tx: len(payload) =  114*
> *UTx: len(payload) =  380*
> *Tx: len(payload) =  189*
> *Rx: ok = False  len(payload) =  380*
> *UTx: len(payload) =  240*
> *UTx: len(payload) =  101*
> *UTx: len(payload) =  318*
> *UTx: len(payload) =   81*
> *UTx: len(payload) =  380*
> *Tx: len(payload) =  189*
> *Rx: ok = False  len(payload) =  380*
> *URx: ok = False  len(payload) =  189*
> *Tx: len(payload) =  302*
> *UTx: len(payload) =   90*
> *UTx: len(payload) =  350*
> *UTx: len(payload) =  101*
> *UTx: len(payload) =  380*
> *Tx: len(payload) =  189*
> *Rx: ok = False  len(payload) =  380*
> *UTx: len(payload) =   70*
>  *UTx: len(payload) =   81*
> *UTx: len(payload) =  101*
> *UTx: len(payload) =   70*
> *UTx: len(payload) =   42*
> *UTx: len(payload) =   42*
> *UTx: len(payload) =   42*
> *URx: ok = True  len(payload) =   81*
> *Tx: len(payload) =   42*
> *UTx: len(payload) =   42*
> *URx: ok = True  len(payload) =  101*
> *Tx: len(payload) =   42*
> *UTx: len(payload) =   81*
> *UTx: len(payload) =   42*
> *URx: ok = False  len(payload) =   42*
> *Tx: len(payload) =  101*
> *UTx: len(payload) =   42*
> *URx: ok = False  len(payload) =   42*
> *Tx: len(payload) =   42*
> *URx: ok = False  len(payload) =   42*
> *Tx: len(payload) =   42*
> *URx: ok = False  len(payload) =   42*
> *Tx: len(payload) =   42*
> *URx: ok = False  len(payload) =   42*
> *Tx: len(payload) =   42*
> *UTx: len(payload) =   42*
> *URx: ok = False  len(payload) =   42*
> *Tx: len(payload) =   42*
> *UTx: len(payload) =   42*
> *UTx: len(payload) =   42*
> *URx: ok = False  len(payload) =   42*
> *Tx: len(payload) =   42*
>  *UTx: len(payload) =   42*
> *UTx: len(payload) =   42*
> *UTx: len(payload) =   42*
> *URx: ok = False  len(payload) =   42*
> *Tx: len(payload) =   42*
> *URx: ok = False  len(payload) =   42*
> *Tx: len(payload) =   81*
> *UTx: len(payload) =  101*
> *URx: ok = True  len(payload) =   81*
> *Rx: ok = True  len(payload) =  101*
>
>
> On Mon, Jun 18, 2012 at 11:01 AM, Weixian Zhou <idea...@gmail.com> wrote:
>
> Hi Alex,
> After tried many times I found that the transmitter actually received
> packages of len(payload)=42 from the receiver, but the the packages failed
> CRC check (ok=false). I think some parameters need to be tuned, maybe
> bitrate?
>
> On Mon, Jun 18, 2012 at 10:21 AM, Weixian Zhou <idea...@gmail.com> wrote:
>
> Hi Alex,
> I tried it. The problem is the same. The transmitter only showed tx
> message of len(payload) = 42, and the receiver showed both tx/rx messages
> of len(payload) = 42.
>
>
> On Fri, Jun 15, 2012 at 6:43 PM, Alex Zhang <cingular.a...@gmail.com>wrote:
>
> Weixian,
>
> Could you please try the ping command like this (if you are working on
> linux):
>
> *sudo ping 192.168.200.2 -i 0.01*
>
> -i 0.01 means the time interval between pings is 0.01 second. And tell me
> what happened.
> You can try different time intervals.
>
>
> On Fri, Jun 15, 2012 at 5:37 PM, Alex Zhang <cingular.a...@gmail.com>wrote:
>
> I did the test by myself, and the most of the time ARP queries failed....
> I met this problem when I do the OFDM link test, but that is because the
> physical layer is not robust. But for this narrow band (GMSK) modulation, I
> am not sure what the problem is.
>
> May Josh knows... :)
>
>
> On Fri, Jun 15, 2012 at 3:05 PM, Alex Zhang <cingular.a...@gmail.com>wrote:
>
> Something like discarded.
>
>
> On Fri, Jun 15, 2012 at 11:59 AM, Weixian Zhou <idea...@gmail.com> wrote:
>
> What do you mean by "it may be consumed"?
>
>
> On Fri, Jun 15, 2012 at 12:44 PM, Alex Zhang <cingular.a...@gmail.com>wrote:
>
> Did you see RX False at the receiver for the ARP reply? If that is not
> seen, it could be due to some reason causing the ARP reply is not sent out
> at all. Although you see the log for the TX packet in the CSMA mainloop,
> but it may be consumed before or when  it goes to the transmitting path...
>
> On Fri, Jun 15, 2012 at 10:49 AM, Weixian Zhou <idea...@gmail.com> wrote:
>
> Yes, the ARP is replied. But another machine did not received and showed
> "Destination Host Unreachable".
>
> On Fri, Jun 15, 2012 at 11:19 AM, Alex Zhang <cingular.a...@gmail.com>wrote:
>
> Do you check the ARP reply is sent out or not?
> I am not sure if there are some flow control issues for the networking.
>
>
> On Fri, Jun 15, 2012 at 10:02 AM, Weixian Zhou <idea...@gmail.com> wrote:
>
> Thanks for responses. The problem that confused me is that when I
> on machine A:
> *sudo ./tunnel.py --tx-freq=2.51G --rx-freq=2.515G -c 50 -r 0.5M *
> then
> *sudo ifconfig gr0 192.168.200.1*
>
> on machine B:
> *sudo ./tunnel.py --tx-freq=2.515G --rx-freq=2.51G -c 50 -r 0.5M *
> then
> *sudo ifconfig gr0 192.168.200.2*
>
> I can see packages tx/rx succeed on both machines. But the ping failed and
> one machine did not rx. Why is that?
>
> On Thu, Jun 14, 2012 at 4:38 PM, Alex Zhang <cingular.a...@gmail.com>wrote:
>
> Most likely you did not set the freq and gain properly.  Unstable physical
> layer communications cause the ARP routing failure.
> Please use different frequencies for tx and rx.
>
> On Thu, Jun 14, 2012 at 1:51 PM, Weixian Zhou <idea...@gmail.com> wrote:
>
> I was testing with tunnel.py and following the instructions in README
> located in gnuradio/gr-digital/examples/narrwoband.
> I found that when I input* ifconfig gr0 192.168.200.1* on machine A, and
> input* ifconfig gr0 192.168.200.2* on machine B at the same time, both
> machines showed Tx and Rx packages.
> But when I* ping 192.168.200.2* from machine A ( or *ping 192.168.200.1*from 
> machine B respectively), one window of machine A only showed Tx
> packages and another window showed "Destination Host Unreachable". Machine
> B showed both Rx/Tx packages.
> It means that machine B can successfully received packages from machine A
> but A failed to receive replied packages from machine B. It confused me
> that the packages tx/rx were succeed before the ping. Anyone has idea?
>
> --
> Regards,
> Weixian Zhou
>
>
>
> _______________________________________________
> Discuss-gnuradio mailing list
> Discuss-gnuradio@gnu.org
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>
>
>
>
> --
>
> Alex,
> *Dreams can come true – just believe.*
>
>
>
>
> --
> Regards,
> Weixian Zhou
>
>
>
>
>
> --
>
> Alex,
> *Dreams can come true – just believe.*
>
>
>
>
> --
> Regards,
> Weixian Zhou
>
>
>
>
>
> --
>
> Alex,
> *Dreams can come true – just believe.*
>
>
>
>
> --
> Regards,
> Weixian Zhou
>
>
>
>
>
> --
>
> Alex,
> *Dreams can come true – just believe.*
>
>
>
>
> --
>
> Alex,
> *Dreams can come true – just believe.*
>
>
>
>
> --
>
> Alex,
> *Dreams can come true – just believe.*
>
>
>
>
> --
> Regards,
> Weixian Zhou
>
>
>
>
>
> --
> Regards,
> Weixian Zhou
>
>
>
>
>
> --
> Regards,
> Weixian Zhou
>
>
>
>
>
> --
>
> Alex,
> *Dreams can come true – just believe.*
>
>
>
>
> --
>
> Alex,
> *Dreams can come true – just believe.*
>
>
> _______________________________________________
> Discuss-gnuradio mailing list
> Discuss-gnuradio@gnu.org
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>
>
>


-- 

Alex,
*Dreams can come true – just believe.*
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to