Developer meeting – Helsinki 2008
Meeting held at the Nokia office in Helsinki May, 28th – 30th
attendees
- Marcel Holtmann (Intel/BlueZ)
- Johan Hedberg (Nokia)
- Claudio Takahasi (INdT)
- Luiz Augusto von Dentz (INdT)
- Ville Tervo (Nokia)
- Denis Kenzior (Trolltech)
- Bea Lam (Trolltech)
- Alok Barsode (Azingo)
- David Woodhouse (Red Hat)
- Lennart Poettering (Red Hat)
- James Ho (Qualcomm)
- Marc-André Lureau (Nokia)
- Frédéric Dalleau (Access)
agenda
- BlueZ 4.x
- With some luck 4.0 can be made within a week or two
- Merge bluez-libs into bluez-utils. Call package simply “bluez”
- Rename hcid to bluetoothd (finally!)
- Move development over to git hosted under kernel.org
- New API’s documented under doc/
- qualification
- some companies been told that they can’t refer to Nokia’s host stack listing even though there shouldn’t be any problem
- Access’s listing refers to Nokia’s without problems. It also contains profiles such as A2DP which other companies using BlueZ can refer to.
- Bluetooth 2.1 qualification should preferably be done soon. Biggest missing piece is proper Secure Simple Pairing support.
- kernel
- netlink API coming. needed at least for BT2.1?
- potential IOP problems with HFP + authorization since the RFCOMM socket API (L2CAP has the same issue too) doesn’t allow rejecting the RFCOMM connect request
- suggestion: add new socket option, when set need to do a read() for a positive reply to be sent to the L2CAP/RFCOMM connect request. if the socket is closed before read() the request gets a negative reply.
- SCO server support currently buggy: kernel will accept SCO connects even if there is no listening socket
- RFCOMM server tty bugs need fixing. Currently there exists a race condition when a socket is adapted to an rfcomm tty and data already exists on the socket. When adaptation happens, the data is lost.
- hcid/bluetoothd
- Defined the API for services: register_adapter_driver & register_device_driver
- Further updates to full use of libgdbus
- Define bt_io API (libbluetooth-glib)
- Implement basic skeleton within services for using the new API
- Add external SDP client API to 4.x Adapter API. Takes string pattern as parameter and returns dictionary where keys are service record handles and values the actual records.
- Add external Authorization API. Service record handle could be used as parameter to identify the service in question.
- Update Agent API to tell bluetoothd about it’s IO capabilities (for Secure Simple Pairing)
- audio
- Telephony driver: need to define exact procedures and callbacks that are necessary for HFP
- Current HSP implementation not strictly according to spec: button press should really toggle SCO state
- Native pulse plugin work ready to start as a Google Summer of Code project
- Lennart interested in the pulse integration. Will help with the pulse plugin.
- We might be able to do better stream synchronization using the Bluetooth clock. Marcel will add a socket option to get it.
- Lennart requested some ioctl’s to be added to get current socket buffer status (needed for some optimizations)
- serial
- Define new API to fit new service model
- basic Connect/Disconnect methods for RFCOMM client
- API’s that create new objects require some more thought
- Created RFCOMM tty’s should preferably be made readable for the UID of the D-Bus client
- network
- network server disable: how to disconnect clients based on the server that they are connected to. BNEPGETCONNINFO + BNEPGETCONNLIST don’t provide enough information.
- input
- Input should check HIDNormallyConnectable and HIDReconnectInitiate.