Motorola E1000 and obexapp 1.4.4 in server mode
Maksim Yevmenkin
maksim.yevmenkin at savvis.net
Mon Jan 10 12:06:25 PST 2005
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
More information about the freebsd-bluetooth
mailing list