Return-Path: MIME-Version: 1.0 In-Reply-To: References: <1328539133-26410-1-git-send-email-luiz.dentz@gmail.com> <201202071221.51920.szymon.janc@tieto.com> <201202071302.59506.szymon.janc@tieto.com> Date: Tue, 7 Feb 2012 15:59:35 +0200 Message-ID: Subject: Re: [PATCH] Bluetooth: Fix not clearing ack timer when sending an i-frame From: Luiz Augusto von Dentz To: Ulisses Furquim Cc: Szymon Janc , "linux-bluetooth@vger.kernel.org" Content-Type: text/plain; charset=ISO-8859-1 Sender: linux-bluetooth-owner@vger.kernel.org List-ID: Hi Ulisses, On Tue, Feb 7, 2012 at 3:45 PM, Ulisses Furquim wrote: >> Btw, here is what Ive been using to test this code: >> >>> obexd/tools/test-server -b -c 4097 -p -i 32767 -o 32767 >> >>> obexd/tools/test-client -b -s
-d
-c 4097 -p -i 32767 -o 32767 > > Ok. Are you running them on the same machine with 2 dongles? Yep >> Im using 32767 as MTU because that is what we use by default in OBEX, >> but currently it doesn't work due to some bug in ERTM that apparently >> doesn't handle MTU being bigger than mts * tx_win, so the transfer >> just stall at some point, using something like 16384 works though. > > Does it stall forever? I have no idea what might be this one. It timeout after 10 seconds than the client disconnects, but I don't think it would recover even after that since basically each side does ack with s-frame RR and nothing else happen. I suspect we are going past what a window could carry (tx_win (63) * mts (300)) because the MTU is bigger than that the sdu_len can be bigger too, afaik this would have to be fragmented in different window or perhaps the mts size should be adjusted too, but lets figure out this in another thread to avoid too much noise here. -- Luiz Augusto von Dentz