2004-03-23 14:43:49

by Edouard Lafargue

[permalink] [raw]
Subject: [Bluez-devel] Documentation for hcid.conf ?

Hello,

I am currently writing a (not so) short document on how to set up a
generic Bluetooth access point under Linux. The goal is to describe a
working setup that enables both DUN and PAN connectivity to a network
through a Linux server, for several clients at the same time. The idea
is to reproduce the basic functionality of a standard Bluetooth access
point.

While configuring the system, I have discovered that the detection of
my computer as a "Network Access Point" largely depends on the "class"
setting of hcid.conf. A standard "0x100" is not good enough if you want
your Linux box to be automatically detected by a Windows machine, for
example.

Below is my effort at describing the role/effect of the "class"
option, please feel free to include this in the "hcid.conf" man page
-does it exist ? It's really needed!-. I would appreciate if someone who
is more knowledgeable than me in this field could look at this and
correct what I'm saying there.

Another useful thing to do would be to describe a few more "class"
options, such as "0x020100" which enables a computer to be detected as a
NAP, etc.

Edouard

--------------------------------------
- Device Class: "class"

The default is 0x100 which simply stands for "Computer". The
meaning of the Bluetooth Device Class is described in the Bluetooth
Specification section 1.2 ("Assigned Numbers - Bluetooth Baseband").

Basically the Bluetooth device class is a high-level description
of the type of device ("Device Class"), such as "Printer", "Computer",
etc, and also the type of high-level services offered by this device
("Networking", "OBEX Object push", etc) . This information is often used
by clients who are looking for a certain type of service around them.

Where it becomes tricky is that another type of mechanism for
service discovery exists: "SDP", as in "Service Discovery Protocol". SDP
settings are usually taken care of by service-providing applications
(dund or pand for example), but the "class" of the bluetooth device is
usually never updated.

This is a problem, because in reality, most Bluetooth clients
scan in two steps: they first look for all bluetooth devices around them
and find out their "Device Class" and "Service Class" (both are
contained in the "class" parameter). Then, they use SDP in order to
check if a device in a given class offers the type of service they want.
This means that the hcid.conf "class" parameter needs to be set up
properly in order to be detected in the way you want : in general a
device looking for a service such as "Network Access Point" will only
scan for this service on devices containing "Network" in their service
class. Another example is that Nokia Mobile phones will generally only
send business cards to computers that show "OBEX Object Push" in their
"class" setting.

--------------------


2004-03-23 18:31:22

by Edouard Lafargue

[permalink] [raw]
Subject: Re: [Bluez-devel] Documentation for hcid.conf ?


Speaking of: attached is a first draft of a fairly detailed
"hcid.conf" man page (section 5), where I tried to detail most of the
options as much as possible. Send any corrections and/or to my address,
I will update it. Marcel, if you would like to include this in
bluez-utils, please do.

This might actually be too detailed for most users, but at the same
time, hcid.conf is a really low-level file. Tell me what you think.

Regards,

Edouard

On Tue, 2004-03-23 at 18:48, Marcel Holtmann wrote:

> Hi Collin,
>
> > buy the way ... how do I configure multiple bluetooth devices thru
> > hcid.conf?
> >
> > How can one set the "options" and "defaults" for a specific device
> > (selected by BD_ADDR?) ... of course not all options make sense on a per
> > device configuration.
>
> you can use this syntax:
>
> device [hciX|bdaddr] {
> }
>
> Regards
>
> Marcel
>
>
>
>
> -------------------------------------------------------
> This SF.Net email is sponsored by: IBM Linux Tutorials
> Free Linux tutorial presented by Daniel Robbins, President and CEO of
> GenToo technologies. Learn everything from fundamentals to system
> administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
> _______________________________________________
> Bluez-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/bluez-devel

--
Edouard Lafargue <[email protected]>
Schlumberger NIS


Attachments:
hcid.conf.5 (8.77 kB)

2004-03-23 17:48:41

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [Bluez-devel] Documentation for hcid.conf ?

Hi Collin,

> buy the way ... how do I configure multiple bluetooth devices thru
> hcid.conf?
>
> How can one set the "options" and "defaults" for a specific device
> (selected by BD_ADDR?) ... of course not all options make sense on a per
> device configuration.

you can use this syntax:

device [hciX|bdaddr] {
}

Regards

Marcel




-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2004-03-23 17:38:18

by Collin R. Mulliner

[permalink] [raw]
Subject: Re: [Bluez-devel] Documentation for hcid.conf ?

Hi,

buy the way ... how do I configure multiple bluetooth devices thru
hcid.conf?

How can one set the "options" and "defaults" for a specific device
(selected by BD_ADDR?) ... of course not all options make sense on a per
device configuration.


thanks ... Collin

--
Collin R. Mulliner <[email protected]>
BETAVERSiON Systems [http://www.betaversion.net]
info/pgp: finger [email protected]
Don't expect to understand this!


-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

2004-03-23 15:04:17

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [Bluez-devel] Documentation for hcid.conf ?

Hi Edouard,

> Below is my effort at describing the role/effect of the "class"
> option, please feel free to include this in the "hcid.conf" man page
> -does it exist ? It's really needed!-. I would appreciate if someone
> who is more knowledgeable than me in this field could look at this and
> correct what I'm saying there.

very nice. The job of the documentation maintainer is still open ;)

Regards

Marcel




-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel