SCO / eSCO

Maksim Yevmenkin maksim.yevmenkin at savvis.net
Thu Jul 28 16:53:04 GMT 2005


Oliver,

> I am taking a deep look to the FreBSD bt stack, net_graph etc to understand 
> it completely and being able to help somehow(if needed).
> 
> A first question is (if we do)where do we implement the SCO 
> protocol/link_type

i have some code already sitting in my local cvs. i will clean it up and 
commit it soon (within a month or so).

what are you planning to do with SCO?

> If not how should it be done? 
> As upper protocols of the HCI layer?
> keeping 3 upper protocols for the HCI: L2CAP SCO eSCO ?

well, its not that complicated really :) ng_hci(4) always had support 
for SCO links. what was missing was

1) support for isochronous (SCO) transfers in ng_ubt(4)

2) socket(2) interface to SCO links

like i said, i have code in my local cvs for both (1) and (2).

> Are those 3 different from each other? L2CAP<->SCO I guess radically yes, 
> but is planned/designed to implement eSCO together with SCO in the same 
> ng_node?

SCO (just like ACL) is just a link type. its not really a protocol. HCI 
- Host Controller Interface - is just a way to access bluetooth device, 
you might call it a protocol. there is set of HCI commands that will 
make device create a ACL and SCO link using the same baseband radio 
link. eSCO is a bluetooth v1.2 thing and i have not looked at bluetooth 
v1.2 yet.

you are the second person on the list who wanted to start working on the 
SCO support. if you are serious about this i will commit my code to 
-current, but then someone has to help me with maintaining it (i.e. 
fixing bugs, adding features etc.), because i'm not comfortable with 
committing untested code. if you are not prepared to actively work on 
the code then please wait until i have chance to finish it.

thanks,
max


More information about the freebsd-bluetooth mailing list