Motorola E1000 and obexapp 1.4.4 in server mode
Maksim Yevmenkin
maksim.yevmenkin at savvis.net
Mon Jan 10 14:22:45 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
>
>
> WoW ! now I get everything working ... Those changes are good,
> tested with both motorola e1000 and sony ericsson z600, obexapp in
> both server and client mode and rfcomm_pppd.
thanks for trying this. i'm glad it works for you now. once again it
sort of points finger back at the phone. i did not change any logic in
my code. all i did is changed default mtu on *rfcomm* sessions to match
default *l2cap* mtu.
btw, rfcomm spec says default rfcomm mtu should be 127 bytes. i still
did not find anything in the spec that says otherwise. right now i'm
fairly convinced that there is something wrong in l2cap/rfcomm channel
configuration process. what i do not know is who is at fault here. i
need to have access to the phone in question. anyone willing to donate
phone/money? :)
just for the record here how the fix works
- default l2cap mtu is 672 bytes
- rfcomm packet header is 5 bytes
so, assuming one rfcomm frame must fit entirely into one l2cap packet we
get 672 - 5 = 667 default rfcomm mtu.
the second change it just to ensure we do not reserve too much memory
for socket's send and receive buffers.
> Thanks a lot Max.
thank you for your time and patience.
max
More information about the freebsd-bluetooth
mailing list