From: Luiz Augusto von Dentz <luiz.dentz@gmail.com>
To: Sathish Narasimman <nsathish41@gmail.com>
Cc: "linux-bluetooth@vger.kernel.org" <linux-bluetooth@vger.kernel.org>
Subject: Re: How to change default MTU for Obex over L2CAP
Date: Tue, 31 Oct 2017 15:39:29 +0200 [thread overview]
Message-ID: <CABBYNZL_5UWaMuCHTAMPrfk_pDi+DRC7YXW8MZthLOScHed1uA@mail.gmail.com> (raw)
In-Reply-To: <CAOVXEJL75fO7Jk7uhFFymz2ce05nis=o=hb4Ce25_hHiQUc2hg@mail.gmail.com>
Hi Sathish,
On Tue, Oct 31, 2017 at 3:24 PM, Sathish Narasimman
<nsathish41@gmail.com> wrote:
> Hi Luiz,
>
> On Tue, Oct 31, 2017 at 3:03 PM, Luiz Augusto von Dentz
> <luiz.dentz@gmail.com> wrote:
>> Hi Sathish,
>>
>> On Tue, Oct 31, 2017 at 11:27 AM, Sathish Narasimman
>> <nsathish41@gmail.com> wrote:
>>> Hi Luiz,
>>>
>>> On Tue, Oct 31, 2017 at 12:53 PM, Luiz Augusto von Dentz
>>> <luiz.dentz@gmail.com> wrote:
>>>> Hi Sathish,
>>>>
>>>> On Tue, Oct 31, 2017 at 9:05 AM, Luiz Augusto von Dentz
>>>> <luiz.dentz@gmail.com> wrote:
>>>>> Hi Sathish,
>>>>>
>>>>> On Tue, Oct 31, 2017 at 5:30 AM, Sathish Narasimman
>>>>> <nsathish41@gmail.com> wrote:
>>>>>> Hi,
>>>>>>
>>>>>> I am trying to do an OPP transfer between 2 Linux bluez system.
>>>>>> It is always selecting the 672 MTU size during configuration.
>>>>>>
>>>>>> May I please know how to change the MTU size.
>>>>>
>>>>> It looks like for L2CAP we don't set the MTU properly but for RFCOMM we do:
>>>>>
>>>>> https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/obexd/client/bluetooth.c#n129
>>>>>
>>>>> I will send a patch in a moment.
>>>>
>>>> Actually, it is the other way around, the RFCOMM don't actually
>>>> support setting the MTU since it is a stream, though we should
>>>> probably adjust the socket buffer size since we are using 32k for
>>>> OBEX.
>>>
>>> Though I was trying to change the value for OBEX over L2CAP
>>>
>>> Does this have the effect of OBEX maximum packet length?
>>> In which the maximum packet length parameter is always 672.
>>>
>>> Here the Default 32K omtu is changed to 672 at this point
>>> https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/obexd/client/bluetooth.c#n468
>>
>> That should never be reached in case of RFCOMM since it is not packet
>> based, or are you really using OBEX over L2CAP aka. GOEP 2.0, that
>> should be using 32K but we should check the HCI traces if that is
>> actually what is negotiated.
>>
> Yes I am using OBEX over L2CAP(where trying to send file to another
> Linux system using obexctl tool it uses GOEP)
>
> 1. Please let me know how to change the OBEX maximum packet length
> when receiving file (i.e In OBEX response code: Success, Maximum
> packet length is 672 - Logs)
> btmon Log: https://pastebin.com/BvVERsfq
> 2. How to change the Default L2CAP MTU. In logs for configure
> response, the MTU is 672.
> 3. I am not able to see any logs in obexd when File is received.
It is requesting 32K:
< ACL Data TX: Handle 256 flags 0x00 dlen 27
[hci0] 43.021610
L2CAP: Configure Request (0x04) ident 7 len 19
Destination CID: 64
Flags: 0x0000
Option: Maximum Transmission Unit (0x01) [mandatory]
MTU: 32767
Option: Retransmission and Flow Control (0x04) [mandatory]
Mode: Enhanced retransmission (0x03)
TX window size: 63
Max transmit: 3
Retransmission timeout: 2000
Monitor timeout: 12000
Maximum PDU size: 1009
> ACL Data RX: Handle 256 flags 0x02 dlen 23 [hci0] 43.023856
L2CAP: Configure Request (0x04) ident 4 len 15
Destination CID: 65
Flags: 0x0000
Option: Retransmission and Flow Control (0x04) [mandatory]
Mode: Enhanced retransmission (0x03)
TX window size: 63
Max transmit: 3
Retransmission timeout: 2000
Monitor timeout: 12000
Maximum PDU size: 1009
I guess because there is no MTU in the remote request we respond with 672:
< ACL Data TX: Handle 256 flags 0x00 dlen 29
[hci0] 43.023870
L2CAP: Configure Response (0x05) ident 4 len 21
Source CID: 64
Flags: 0x0000
Result: Success (0x0000)
Option: Maximum Transmission Unit (0x01) [mandatory]
MTU: 672
Option: Retransmission and Flow Control (0x04) [mandatory]
Mode: Enhanced retransmission (0x03)
TX window size: 63
Max transmit: 3
Retransmission timeout: 2000
Monitor timeout: 12000
Maximum PDU size: 1009
> ACL Data RX: Handle 256 flags 0x02 dlen 29 [hci0] 43.028883
L2CAP: Configure Response (0x05) ident 7 len 21
Source CID: 65
Flags: 0x0000
Result: Success (0x0000)
Option: Maximum Transmission Unit (0x01) [mandatory]
MTU: 32767
Option: Retransmission and Flow Control (0x04) [mandatory]
Mode: Enhanced retransmission (0x03)
TX window size: 63
Max transmit: 3
Retransmission timeout: 2000
Monitor timeout: 12000
Maximum PDU size: 1009
I guess this will result in 32K omtu and 672 imtu, though Im not sure
if the PDU size are correct either. Have tried transfering anything to
see what is the actual payload we can carry over this channel. Btw
keep in mind OBEX channel is using ERTM the other channels like SDP
will have their own MTU, most likely 672.
> Thanks,
> Sathish N
>
>>>
>>>>https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/obexd/client/bluetooth.c#n457
>>>> --
>>>> Luiz Augusto von Dentz
>>
>>
>>
>> --
>> Luiz Augusto von Dentz
--
Luiz Augusto von Dentz
next prev parent reply other threads:[~2017-10-31 13:39 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-31 3:30 How to change default MTU for Obex over L2CAP Sathish Narasimman
2017-10-31 7:05 ` Luiz Augusto von Dentz
2017-10-31 7:23 ` Luiz Augusto von Dentz
2017-10-31 9:27 ` Sathish Narasimman
2017-10-31 9:33 ` Luiz Augusto von Dentz
2017-10-31 13:24 ` Sathish Narasimman
2017-10-31 13:39 ` Luiz Augusto von Dentz [this message]
2017-11-02 5:01 ` Sathish Narasimman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CABBYNZL_5UWaMuCHTAMPrfk_pDi+DRC7YXW8MZthLOScHed1uA@mail.gmail.com \
--to=luiz.dentz@gmail.com \
--cc=linux-bluetooth@vger.kernel.org \
--cc=nsathish41@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).