Re: hcidump / avtest issues

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

 



On Fri, Apr 27, 2012 at 3:57 PM, Mike <puffy.taco@xxxxxxxxx> wrote:
> Hi Marcel,
>
>>> >>> I'm having issues where hcidump seems to be losing packets.  I'm
>>> >>> trying to collect traces of avtest running.  Avtest properly prints
>>> >>> out that it sent a packet and received a reply, but I don't always see
>>> >>> it in hcidump.  Seems if I run avtest a lot successively, it does show
>>> >>> up.  I'm running a 2.6.33.20 kernel with hcidump-2.3.  Let me know if
>>> >>> the kernel is just too ancient, but I'd like to know if others have
>>> >>> seen this type of issue.
>>> >>
>>> >> actually hcidump can not loose any packets. Write them into a file in
>>> >> BTSnoop format and double check with Wireshark or the Frontline Viewer.
>>> >>
>>> >> The kernel is always sending the exact copy to the hcidump sockets and
>>> >> thus there is no way you loose packets. The only explanation would be
>>> >> that L2CAP socket has a bug and swallows it. Have you checked that
>>> >> avtest actually reports L2CAP send errors.
>>> >
>>> > I was saving in btsnoop and looking at it in wireshark.  And verified
>>> > that the other side got the command by enabling debug mode on
>>> > bluetoothd.  But now I see the packet is sort of there, but it's
>>> > malformed!
>>> >
>>> > Bad:
>>> > < 02 01 20 07 00 03 00 40 00 00 06 04
>>> >> 02 01 20 07 00 03 00 40 00 03 06 31
>>> >
>>> > Good:
>>> > < 02 01 20 07 00 03 00 42 00 00 06 04
>>> >> 02 01 20 07 00 03 00 42 00 03 06 31
>>> >
>>> > Somehow one byte is wrong (40 bad, 42 good).  Any ideas on that?  Let
>>> > me know if you'd like the logs, but I verified the --raw output of
>>> > hcidump had the same issue.
>>>
>>> BTW, I would say the issue exists more when SDP is going on (as when I
>>> run the test a lot before a disconnect, it starts working -- no more
>>> SDP later on).  And we can see that it classified the packet as SDP,
>>> not AVDTP.  I'm tracking the hcidump code now, not entirely sure how
>>> data goes into one or the other.
>>
>> the hcidump code is pure raw data. It is the same data that goes to the
>> driver. Trust me here, that is how the kernel works, it clones the skb
>> before sending to the driver and sends a copy back to hcidump. So you
>> will not find a bug in the hcidump raw data.
>>
>> The only way something can go wrong if L2CAP has an issue. Are you using
>> L2CAP basic modem or enhanced retransmission?
>
> Looks like ERTM was added in 2.6.36, and I didn't backport it, so must be basic.

Unless it was added earlier.  I'm really not familiar enough.  Just
running avtest.c, sending invalid commands!
--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux