From owner-freebsd-bluetooth@FreeBSD.ORG Mon Oct 25 21:37:58 2010 Return-Path: Delivered-To: freebsd-bluetooth@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 679C21065672 for ; Mon, 25 Oct 2010 21:37:58 +0000 (UTC) (envelope-from plunky@rya-online.net) Received: from smtp5.freeserve.com (smtp5.freeserve.com [193.252.22.128]) by mx1.freebsd.org (Postfix) with ESMTP id EAB5F8FC13 for ; Mon, 25 Oct 2010 21:37:57 +0000 (UTC) Received: from me-wanadoo.net (localhost [127.0.0.1]) by mwinf3419.me.freeserve.com (SMTP Server) with ESMTP id 0F6C11C00081; Mon, 25 Oct 2010 23:37:56 +0200 (CEST) Received: from me-wanadoo.net (localhost [127.0.0.1]) by mwinf3419.me.freeserve.com (SMTP Server) with ESMTP id 022FD1C0008F; Mon, 25 Oct 2010 23:37:56 +0200 (CEST) Received: from rya-online.net (unknown [89.194.147.97]) by mwinf3419.me.freeserve.com (SMTP Server) with SMTP id A3F121C00081; Mon, 25 Oct 2010 23:37:54 +0200 (CEST) X-ME-UUID: 20101025213754671.A3F121C00081@mwinf3419.me.freeserve.com Received: (nullmailer pid 2974 invoked by uid 1000); Mon, 25 Oct 2010 21:38:10 -0000 Date: Mon, 25 Oct 2010 22:38:10 +0100 (BST) To: Maksim Yevmenkin In-Reply-To: References: <1287509041.022618.4884.nullmailer@galant.ukfsn.org> <1287561876.893861.6837.nullmailer@galant.ukfsn.org> <1287732977.227959.8695.nullmailer@galant.ukfsn.org> <1287738768.915002.8520.nullmailer@galant.ukfsn.org> <1287857292.298365.1038.nullmailer@galant.ukfsn.org> <1287874077.365931.1417.nullmailer@galant.ukfsn.org> <1287909035.704733.393.nullmailer@galant.ukfsn.org> User-Agent: Alpine 2.00 (NEB 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Message-Id: <1288042690.562160.2361.nullmailer@galant.ukfsn.org> From: Iain Hibbert Cc: freebsd-bluetooth@freebsd.org Subject: Re: obexapp get failure X-BeenThere: freebsd-bluetooth@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Using Bluetooth in FreeBSD environments List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 25 Oct 2010 21:37:58 -0000 On Mon, 25 Oct 2010, Maksim Yevmenkin wrote: > not really. the way i read the spec, connection id header is not > required on 'continue GET' however, wm6 server might require it (for > some reason). i'd like to see PUT dump, i.e. what does wm6 server > sends back in 'continue' when obexapp does multi-PUT Well, that works fine naturally and shows nothing interesting alas. What is more revealing is if I use wm6 to issue a multi-GET from obexapp server (which does work fine) > ACL data: handle 13 flags 0x02 dlen 42 L2CAP(d): cid 0x0044 len 38 [psm 3] RFCOMM(d): UIH: cr 1 dlci 20 pf 1 ilen 33 fcs 0x2d credits 1 OBEX: Get cmd(f): len 33 Connection ID (0xcb) = 1 Name (0x01) = Unicode length 22 0000: 00 74 00 65 00 73 00 74 00 2e 00 6c 00 61 00 72 .t.e.s.t...l.a.r 0010: 00 67 00 65 00 00 .g.e.. < ACL data: handle 13 flags 0x02 dlen 58 L2CAP(d): cid 0x00b8 len 54 [psm 3] RFCOMM(d): UIH: cr 0 dlci 20 pf 0 ilen 50 fcs 0xeb OBEX: Get rsp(f): status 100 len 4096 Status 100 = Continue Length (0xc3) = 65529 Body (0x48) = Sequence length 4085 0000: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa 0010: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa [...] 0fe0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa 0ff0: 61 61 61 61 61 aaaaa so the Get command starts and we return the first segment with status 100 (Continued) > ACL data: handle 13 flags 0x02 dlen 17 L2CAP(d): cid 0x0044 len 13 [psm 3] RFCOMM(d): UIH: cr 1 dlci 20 pf 1 ilen 8 fcs 0x2d credits 2 OBEX: Get cmd(f): len 8 (continue) Connection ID (0xcb) = 1 < ACL data: handle 13 flags 0x02 dlen 58 L2CAP(d): cid 0x00b8 len 54 [psm 3] RFCOMM(d): UIH: cr 0 dlci 20 pf 0 ilen 50 fcs 0xeb OBEX: Get rsp(f): status 100 len 4096 Status 100 = Continue Body (0x48) = Sequence length 4090 0000: 61 61 61 61 61 61 61 61 0a 61 61 61 61 61 61 61 aaaaaaaa.aaaaaaa 0010: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa [...] 0fe0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa 0ff0: 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaa and wm6 phone issues a Get continuation cmd as it should, but it does always put the Connection ID in the packet. [and this repeats quite a few times] > ACL data: handle 13 flags 0x02 dlen 17 L2CAP(d): cid 0x0044 len 13 [psm 3] RFCOMM(d): UIH: cr 1 dlci 20 pf 1 ilen 8 fcs 0x2d credits 2 OBEX: Get cmd(f): len 8 (continue) Connection ID (0xcb) = 1 < ACL data: handle 13 flags 0x02 dlen 108 L2CAP(d): cid 0x00b8 len 104 [psm 3] RFCOMM(d): UIH: cr 0 dlci 20 pf 0 ilen 100 fcs 0xeb OBEX: Get rsp(f): status 200 len 100 Status 200 = Success End of Body (0x49) = Sequence length 94 0000: 61 61 61 61 61 61 61 61 61 61 61 61 61 0a 61 61 aaaaaaaaaaaaa.aa 0010: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa [...] 0040: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 0a 62 aaaaaaaaaaaaaa.b 0050: 62 62 62 62 62 62 62 62 62 62 62 62 62 0a bbbbbbbbbbbbb. until the final segment where we return 200 as normal So, I think there is a good chance that the phone is losing because there is no Connection ID included.. it seems to be allowed (but not required) by the spec to include such a thing but I find openobex documentation (!) to be more or less incomprehensible and I don't even see how that packet is being generated.. iain