bluetooth channels -- not very clear on concept

Maksim Yevmenkin m_evmenkin at yahoo.com
Tue Mar 2 11:54:30 PST 2004


Hello,

[...]

> On my configuration I setup LAN access server listen to channel 1, and 
> everyone dials in on that channel. I'm not sure of the concept of 
> "channels",

in your case these are RFCOMM channels. a single RFCOMM channel represents
a logical connection between two devices using RFCOMM procotol. think of
it as a virtual serial cable. you can have up to 62 RFCOMM channels 
between *the same* pair of devices. 

if you simplify the picture enough you might find it similar to IP:PORT
concept, where IP is a BD_ADDR of the device and PORT is a RFCOMM channel.
note: this analogy is not quite correct because there is a L2CAP layer
between baseband and RFCOMM.

the RFCOMM server is listening on wildcard BD_ADDR (*) and RFCOMM channel 1.
so when new connection is accepted from the remote device will spawn new
daemon to service the connection and run PPP over it, i.e.

 *:1 - LISTEN -- main server
 BD_ADDR_LOCAL:1 <-> BD_ADDR_REMOTE1:1 -- client (1)
 BD_ADDR_LOCAL:1 <-> BD_ADDR_REMOTE2:1 -- client (2)

becase BD_ADDR of the remote device is different you can share the same
RFCOMM channel between serval devices.

> sometimes when other people are connected, I use "rfcomm_pppd 
> -c -C LAN -l bluetooth-client" and get "no socket available" prompt, then I 
> use "rfcomm_pppd -c -C 1 -l bluetooth-client" and it works.

hmmm... is that the exact command you using? in client mode (-c) you need
to specify the address of the server to connect to (-a) otherwise it will
not work. also what does "no socket available" is that the error you are
getting? 

> Sometimes (not very frequently) iBook disconnects and cannot connect 
> anymore unless the 
> bluetooth ppp server restart. (Windows notebook no problem.) Is it because 

that is strange. i'd like to take a look at hcidump output. you will need
to download it from http://www.geocities.com/m_evmenkin/

> we are sharing channel No.1? Should I register LAN service on channel one 
> through channel six? 

if you only have one bluetooth device attached to the server then you
should be fine. you need to register mulitple RFCOMM channels only if you
are running multiple RFCOMM servers. you can do it if you have more the
one bluetooth device attached to the server. again, keep in mind that a
single bluetooth device can only have 8 clients at a time. 

thanks,
max


__________________________________
Do you Yahoo!?
Yahoo! Search - Find what you’re looking for faster
http://search.yahoo.com


More information about the freebsd-bluetooth mailing list