Hi David, thanks for your analysis. Responses are inline.

On 08/03/2012 09:53 AM, David Kopf wrote:
> The sequence numbers in your pcap are not incrementing, may or may not
> be a problem but some software will ignore duplicates.
>

I see the sequence number in the 802.15.4 header is always set to zero
in the data from :1 . That's the Econotag. The sequence numbers from :2
(the mrf24j40) do increment. That's strange since the sequence number
isn't set in the driver, and the two systems should have the same upper
layers because they have the same kernel. I'll take a look.

> Your first fragment is nothing but the fragmentation header and my
> wireshark shows that is garbled, I suspect because the fragmentation
> offset field is missing.

I initially thought the same, but the fragmentation offset field is not
supposed to be part of the first packet.

See Section 5.3 of RFC 4944:
    http://tools.ietf.org/html/rfc4944#page-11

> Usually the first fragment contains as much data as will fit in the
> rest of the packet.

I'd think that to be the case, but I checked the code and the Linux
6LoWPAN implementation intentionally doesn't do that. Maybe it's just
that way for now as a first pass for coding ease. I don't know what the
effect of not having a data section is. I didn't see it in the RFC but
it was really late when I was looking at it, so it might be there.

This might be a case where something that's technically not compliant
(and thus throws an error in Wireshark) might work between Linux systems
if the TX and RX sides both expect the same thing. That's of course why
I'm asking about these kinds of things here.

> My wireshark says it assembles the other fragments anyway, but ends up
> with a short garbled packet. Maybe because the first fragment was not
> part of the reassembly, even though it was zero length.

I see that same kind of thing.

> You report a 12090 byte window size in your syn ack. I don’t think
> 6lowpan can pass a 12000 byte frame from the host, if it had that much
> to send.

Interesting. I'm not sure what to make of that.

>
> Low baud rates will throttle transmission of short pings, which can be
> an advantage. But tx of the first fragment of a long packet may not
> start until the entire packet has been downloaded, also the packet
> upload could be delayed until all fragments are received. That adds 2x
> the serial delay, plus the possibly of too-short interpacket spacings
> if the radio does not do enough throttling.
>

I guess I'm not sure what this means. The serial.c driver is handed
fragments by the ieee802154 layer, which should get only fragments from
the 6lowpan code. In this case, I'd expect neither the serial.c driver
nor the Econotag to know anything about ipv6, 6lowpan or the meaning of
any of the fragmented packets it gets from the PC.

In other words, the Econotag does not do fragmentation or reassembly.
Maybe I misunderstand what you're trying to say.

> The 802.15.4 ack reqest bit is not being set, so ack waits are not
> slowing down the tx. I think the default wait is 740 microseconds.
> csma will also increase the tx delay, or the MACA_WARMUP parameter in
> the radio initialize routine.

I also noticed in the Econotag firmware that the NO_ACK status is ignored.

Thanks!

Alan.


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Linux-zigbee-devel mailing list
Linux-zigbee-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-zigbee-devel

Reply via email to