Binding RFCOMM sockets

Iain Hibbert plunky at rya-online.net
Wed Aug 22 14:06:32 PDT 2007


On Tue, 21 Aug 2007, Maksim Yevmenkin wrote:

> > I'm currently trying to implement a server over the RFCOMM layer, and at least
> > my imagination told me that connecting to channel 0 should select "any" free
> > RFCOMM channel (at least that's what I gathered from the BlueZ documentation,
> > which of course has nothing to do with the FreeBSD bluetooth stack, but
> > anyway ;-)).
>
> this is not currently implemented in freebsd

nor in NetBSD - out of interest though, what is this server trying to
achieve? It does not seem especially useful to listen on 'any' channel,
given the way that bluetooth service discovery works..

btw where is this API documentation for BlueZ that you mention? I never
managed to find anything like that as I recall..

> > Anyway, binding to the 0 channel succeeds (with getsockname getting back the 0
> > channel afterwards even though the socket is [supposedly] bound), but calling
> > listen() then gives me a EDESTADDRREQ, which I can't really sort into the
> > problem, as it isn't documented in man 2 listen either.
>
> basically it is trying to tell you that local address is invalid.

(Max, maybe EADDRNOTAVAIL is better for that?)

iain


More information about the freebsd-bluetooth mailing list