Re: What is SAM value? "ieee802154 phy0 wpan0: SAM value 0x3 not supported"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jul 27, 2015 at 11:05:37AM +0200, Baptiste Clenet wrote:
> 2015-07-27 10:58 GMT+02:00 Baptiste Clenet <bapclenet@xxxxxxxxx>:
> > 2015-07-27 10:32 GMT+02:00 Alexander Aring <alex.aring@xxxxxxxxx>:
> >> Hi,
> >>
> >> On Mon, Jul 27, 2015 at 10:03:27AM +0200, Baptiste Clenet wrote:
> >>> Here is what Wireshark gives me when I ping my board A from another
> >>> board B (same kind of board with same image flashed):
> >>>
> >>> No.     Time           Source                       Destination
> >>>    Protocol Length Info
> >>> 8 37.192838000   ::6e47:e81e:40bf:d4f3   ff01::ff:3ec7:f187    IGMPv0
> >>>  82     Unknown Type:0x00
> >>>
> >>> Frame 8: 82 bytes on wire (656 bits), 82 bytes captured (656 bits) on
> >>> interface 0
> >>>     Interface id: 0
> >>>     Encapsulation type: Linux cooked-mode capture (25)
> >>>     Arrival Time: Jul 24, 2015 15:28:52.786786000 CEST
> >>>     [Time shift for this packet: 0.000000000 seconds]
> >>>     Epoch Time: 1437744532.786786000 seconds
> >>>     [Time delta from previous captured frame: 34.054126000 seconds]
> >>>     [Time delta from previous displayed frame: 34.054126000 seconds]
> >>>     [Time since reference or first frame: 37.192838000 seconds]
> >>>     Frame Number: 8
> >>>     Frame Length: 82 bytes (656 bits)
> >>>     Capture Length: 82 bytes (656 bits)
> >>>     [Frame is marked: False]
> >>>     [Frame is ignored: False]
> >>>     [Protocols in frame: sll:wpan:6lowpan:ipv6:igmp]
> >>>     [Number of per-protocol-data: 1]
> >>>     [IEEE 802.15.4 Low-Rate Wireless PAN, key 0]
> >>>     [Coloring Rule Name: Routing]
> >>>     [Coloring Rule String: hsrp || eigrp || ospf || bgp || cdp || vrrp
> >>> || gvrp || igmp || ismp]
> >>>
> >>> Linux cooked capture
> >>>     Packet type: Unicast to another host (3)
> >>>     Link-layer address type: 805
> >>>     Link-layer address length: 0
> >>>     Protocol: IEEE 802.15.4 (0x00f6)
> >>>
> >>> IEEE 802.15.4 Data, Dst: Broadcast, Src: 6c:47:e81e:40:bfd4:f3
> >>>     Frame Control Field: Data (0xc841)
> >>>     Sequence Number: 80
> >>>     Destination PAN: 0xbeef
> >>>     Destination: 0xffff
> >>>     Extended Source: 6c:47:e81e:40:bfd4:f3 (6c:47:e8:1e:40:bf:d4:f3)
> >>>     FCS: 0xdff3 (Correct)
> >>>
> >>> 6LoWPAN
> >>>     IPHC Header
> >>>         011. .... = Pattern: IP header compression (0x03)
> >>>         ...1 1... .... .... = Traffic class and flow label: Version,
> >>> traffic class, and flow label compressed (0x0003)
> >>>         .... .0.. .... .... = Next header: Inline
> >>>         .... ..11 .... .... = Hop limit: 255 (0x0003)
> >>>         .... .... 1... .... = Context identifier extension: True
> >>>         .... .... .1.. .... = Source address compression: Stateful
> >>>         .... .... ..11 .... = Source address mode: Compressed (0x0003)
> >>>   //it is definitely 3
> >>
> >> I would do now some "instrumentations of pr_debug/printk/whatever"
> >> inside of [0]. Always look for the iphc0/iphc1 if you want you can also
> >> send some patches for doing a better a debugging handling there. Then
> >> use simple the already introduced pr_debug mechanism.
> >
> > Here is the results of pr_debug enabled:
> > root@OpenWrt:/# ping6 -I lowpan0 fe80::a8af:ac69:e53e:c7f1
> > PING fe80::a8af:ac69:e53e:c7f1(fe80::a8af:ac69:e53e:c7f1) from fe80::6e47:e81e:4
> > [  138.949067] IPv6 header dump:
> > [  138.949067]  version = 6
> > [  138.949067]  length  = 40
> > [  138.949067]  nexthdr = 0x3a
> > [  138.949067]  hop_lim = 255
> > [  138.949067]  dest    = ff02::1:ff3e:c7f1
> > [  138.986374] Lowpan compression addr_type 33 source address
> > fe80::6e47:e81e:40bf:d473
> > [  139.004297] address compression 0 bits
> > [  139.014467] source address unicast link-local
> > fe80::6e47:e81e:40bf:d473 iphc1 0x30
> > compressed to 6 octets.032192] destination address is multicast: : 56 data bytes
> >
> >
> > [  139.050274] header len 9 skb 49
> > [  139.056635] iphc0-iphc1 7b-39  //added instrumentation at the end
> > of lowpan_header_compress)
> 
> Sorry for the previous alignement, better now:
> [  139.948257] IPv6 header dump:
> [  139.948257]  version = 6
> [  139.948257]  length  = 40
> [  139.948257]  nexthdr = 0x3a
> [  139.948257]  hop_lim = 255
> [  139.948257]  dest    = ff02::1:ff3e:c7f1
> [  139.983059] Lowpan compression addr_type 33 source address
> fe80::6e47:e81e:40bf:d473
> [  139.998393] address compression 0 bits
> [  140.005808] source address unicast link-local
> fe80::6e47:e81e:40bf:d473 iphc1 0x30
> [  140.020796] destination address is multicast: compressed to 6 octets
> 

Yes, this looks more correct. How does looks like the receiving side if
you enable the pr_debug.

> >
> >>
> >> And I would look into both nodes, for the sending node add
> >> instrumentations inside "lowpan_header_compress" for receiving node add
> >> instrumentations inside "lowpan_header_decompress".
> >>
> >>>         .... .... .... 1... = Multicast address compression: True
> >>>         .... .... .... .0.. = Destination address compression: Stateless
> >>>         .... .... .... ..01 = Destination address mode: 48-bits inline (0x0001)
> >>>         0011 .... = Source context identifier: 0x03
> >>>         .... 1010 = Destination context identifier: 0x0a
> >>>         [Destination context: fe80:: (fe80::)]
> >>>     Next header: IGMP (0x02)
> >>>     Source: ::6e47:e81e:40bf:d4f3 (::6e47:e81e:40bf:d4f3)
> >>>     Destination: ff01::ff:3ec7:f187 (ff01::ff:3ec7:f187)
> >>>
> >>> Internet Protocol Version 6, Src: ::6e47:e81e:40bf:d4f3
> >>> (::6e47:e81e:40bf:d4f3), Dst: ff01::ff:3ec7:f187 (ff01::ff:3ec7:f187)
> >>>     0110 .... = Version: 6
> >>>     .... 0000 0000 .... .... .... .... .... = Traffic class: 0x00000000
> >>>     .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000
> >>>     Payload length: 39
> >>>     Next header: IGMP (2)
> >>>     Hop limit: 255
> >>>     Source: ::6e47:e81e:40bf:d4f3 (::6e47:e81e:40bf:d4f3)
> >>>     Destination: ff01::ff:3ec7:f187 (ff01::ff:3ec7:f187)
> >>>     [Source GeoIP: Unknown]
> >>>     [Destination GeoIP: Unknown]
> >>>
> >>> Internet Group Management Protocol
> >>>     [IGMP Version: 0]
> >>>     Type: Unknown (0x00)
> >>>     Reply Pending: 220
> >>>     Header checksum: 0xe700 [incorrect, should be 0x63eb]
> >>>     Identifier: 254
> >>>     Multicast Address: 128.0.0.0 (128.0.0.0)
> >>>     Access Key: 000000a8afac69e5
> >>>     Type: Unknown (0x00)
> >>>     Data
> >>
> >>
> >> The complete IPv6 Header looks like garbage and does not look like some
> >> ICMPv6 ping message.
> > Ok, how should it be?
> >

If you using ping6 it should some ICMPv6 echo request/echo reply
messages. See [0]. But this required working neighbor discovery and when
you have such issues right now, I don't believe that the IPv6 stack
tries to send such messages like [0]. It's hard to determine what's
going wrong at your side.

- Alex

[0] https://tools.ietf.org/html/rfc4443#section-4
--
To unsubscribe from this list: send the line "unsubscribe linux-wpan" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux