Hello, > 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 > 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. > I've not tried to bind to a specific channel (yet), but anyway, just wanted to > ask you guys whether there is any proper "protocol" for binding to a wildcard > (free) RFCOMM channel using the standard socket API (and no, I don't actually > want to test each channel whether it's free, which was necessary with an > older version of BlueZ, at least according to their API documentation). like i said, this is currently not supported. wildcard addressing currently only supported for 1) bd_addr's (both incoming and outgoing connections for rfcomm and l2cap) 2) channel/psm (only for outgoing connections for rfcomm/l2cap) the assumption i made here is that server needs to know exact rfcomm channel to listen on. mostly because i was not sure how to deal with wildcard addressing when multiple bluetooth devices connected to the same system. anyway, i will put this on my todo list and hopefully will get to it. no promises though :) you are welcome to submit patches btw. i will be more than happy to review and commit them for you. thanks, max _______________________________________________ [email protected] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-bluetooth To unsubscribe, send any mail to "[EMAIL PROTECTED]"
