Helsinki 26.5 - 30.5.2008

Meeting held at the Nokia office in Helsinki 26.5 - 30.5.2008 (official part 28.5-30.5)

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)

Issues Discussed

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.