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