Date: Mon, 10 Jan 2005 12:05:48 -0800 From: Maksim Yevmenkin <maksim.yevmenkin@savvis.net> To: Jes <jjess@freebsd.polarhome.com> Cc: freebsd-bluetooth@freebsd.org Subject: Re: Motorola E1000 and obexapp 1.4.4 in server mode Message-ID: <41E2E01C.2090003@savvis.net> In-Reply-To: <41E2C546.10801@savvis.net> References: <20050107163705.616cbe5f@zurich.homeunix.com> <41DECEA3.5080500@savvis.net> <20050107195406.0c76f42e@zurich.homeunix.com> <41DEE958.70403@savvis.net> <20050107223725.15a4554d@zurich.homeunix.com> <20050110163125.060d1e26@zurich.homeunix.com> <41E2C546.10801@savvis.net>
next in thread | previous in thread | raw e-mail | index | archive | help
Jes, can i ask you to try something else? basically its the same change as before, but you need to adjust a couple more variables. 1) edit /sys/netgraph/bluetooth/include/ng_btsocket_rfcomm.h file and change #define RFCOMM_DEFAULT_MTU 127 to #define RFCOMM_DEFAULT_MTU 667 2) edit /sys/netgraph/bluetooth/include/ng_btsocket_rfcomm.h file and change #define NG_BTSOCKET_RFCOMM_SENDSPACE \ (RFCOMM_MAX_CREDITS * RFCOMM_DEFAULT_MTU * 10) #define NG_BTSOCKET_RFCOMM_RECVSPACE \ (RFCOMM_MAX_CREDITS * RFCOMM_DEFAULT_MTU * 10) to #define NG_BTSOCKET_RFCOMM_SENDSPACE \ (RFCOMM_MAX_CREDITS * RFCOMM_DEFAULT_MTU * 2) #define NG_BTSOCKET_RFCOMM_RECVSPACE \ (RFCOMM_MAX_CREDITS * RFCOMM_DEFAULT_MTU * 2) 3) re-compile ng_btsocket module, i.e. # cd /sys/modules/netgraph/bluetooth/socket/ # make depend # make # make install 4) reboot and try again >>>> at this point i'm not sure who is at fault here. after reading the >>>> spec i was not sure if *entire* rfcomm frame must fit into l2cap >>>> mtu, or segmentation is allowed. i need to re-read the spec >>>> and look at more dumps from different bluetooth devices. it seems >>>> to me that if l2cap channel was configured to use 132 bytes >>>> mtu then device should not send larger packets, so my first >>>> impression is that the phone has a bug. >>>> >>>> as workaround you might want to try this: >>>> >>>> 1) edit /sys/netgraph/bluetooth/include/ng_btsocket_rfcomm.h file >>>> and change RFCOMM_DEFAULT_MTU from 127 to 667. >>>> >>>> 2) re-compile ng_btsocket module, i.e. >>>> >>>> # cd /sys/modules/netgraph/bluetooth/socket/ # make depend # make >>>> # make install >>>> >>>> 3) reboot and try again >>> >>> >>> No, it doesn't work nor obexapp in client mode with that change. It >>> really doesn't matter because of I can retrieve files from pc in >>> client mode... > > > hcidump please? > >> The transfer initated from phone to Windows 2000 works fine, the same >> with a sony ericsson T610. The problem is "only" with obexapp. Maybe >> is a phone bug but could be possible to do a workaround to solve it >> ? > > > that is what i said - i'm not sure who at fault here. the problem really > is in l2cap/rfcomm layer *not* in the opexapp. the phone sends packets > that exceeds configured mtu, so the stack drops them. these packets > never reach obexapp. > > btw, did you try to push files from t610 to freebsd? does it work? i > have se t68i and it works just fine. thanks, max
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?41E2E01C.2090003>