The bluetooth stack does not work on FreeBSD/sparc64

Maksim Yevmenkin maksim.yevmenkin at savvis.net
Wed Aug 23 17:34:39 UTC 2006


Andrew,

> # l2control -a bel Read_Channel_List
> L2CAP channels:
> Remote BD_ADDR     SCID/ DCID   PSM  IMTU/ OMTU State
> POCKET_PC            65/   65     3     0/ 1691 OPEN

[...]

> < ACL data: handle 0x0001 flags 0x02 dlen 16
>     L2CAP(s): Config req: dcid 0x0041 flags 0x0000 clen 4
>     MTU 0
> [hmmm, MTU=0! Why?]

i think there is a bug in ng_btsocket_rfcomm.c. could you please try to 
change ng_btsocket_rfcomm_session_create() function and define local mtu
valiable as u_int16_t instead of int, i.e.

change

static int
ng_btsocket_rfcomm_session_create(ng_btsocket_rfcomm_session_p *sp,
                 struct socket *l2so, bdaddr_p src, bdaddr_p dst,
                 struct thread *td)
{
         ng_btsocket_rfcomm_session_p    s = NULL;
         struct sockaddr_l2cap           l2sa;
         struct sockopt                  l2sopt;
         int                             mtu, error;

to

static int
ng_btsocket_rfcomm_session_create(ng_btsocket_rfcomm_session_p *sp,
                 struct socket *l2so, bdaddr_p src, bdaddr_p dst,
                 struct thread *td)
{
         ng_btsocket_rfcomm_session_p    s = NULL;
         struct sockaddr_l2cap           l2sa;
         struct sockopt                  l2sopt;
         int                             error;
	u_int16_t			mtu;

thanks,
max



More information about the freebsd-bluetooth mailing list