During the Bossa Conference (Recife,Brazil, March 11th-14th) we held a meeting at an inhospitable location

the heat was unbearable, the beer was cold, the sun too strong and the views distracting. Even though, we stood strong and were able to gather enough concentration as to think over a draft of user space architecture for UWB, WiNET and WUSB.

In any case, we got together people with interests in UWB or knowledge on the areas that will touch it (John J5 Palmieri [Redhat, DBUS & NM maintainer], Daniel Gollub [SuSE, KDE Bluetooth maintainer], Claudio Takahashi [INdT, Maemo], Marcel Holtmann [Redhat, Bluez maintainer], Eduardo Rocha [INdt, Maemo], if I am forgetting anyone, please let me know, and me Inaky Perez-Gonzalez [Intel, UWB/WiNET/WUSB]).

More than an architecture it was a collection of ideas and then the different owners will put them together and we'll revisit them as needed. I took some notes and here they are. I've been rearranging them so they make some more sense.

UWB

UWB is the base radio protocol for Wireless USB and WiNET

UWB devices transmit in one channel out of a few (there are a handful, but 13, 14 and 15 are the most common now)

One each UWB channels, devices cluster in Beacon Groups. In order for devices to talk among each other, they need to be in the same beacon group.

[Marcel suggests] Hide the UWB operation details, expose WiNET and WUSB * [Iñaky] Might not be so easy; for example depending on which Channel and Beacon Group you select, you will see (or not) different WiNET networks.

When a new UWB device is found in the beacon group, a new device notification is sent by the kernel to udev, who notifies HAL. HAL can match keys for capabilities and signal other listeners as needed. For WiNET device, HAL signals NetworkManager

All operational settings need to be system and session based (need flexibility)

WiNET

The (rough) process to join a WiNET network is:

  1. Scan for channels with activity
  2. For each used channel, scan for beacon groups in the different channels

  3. For each beacon group collect a list of available WiNET networks
  4. User selects WiNET network to join from the one

  5. Environment switches channel and beacon group if neccessary so the WiNET network is joined
    • WUSB devices are bound by channel, so knwoledge of channel change will have to be given to the WUSB side in a complete implementation
    • Other UWB devices might be using a channel/beacongroup combination and its operation might be disturbed by switching

NetworkManager will need knowledge of WiNET

Roaming Roaming between WiNET networks is going to be tricky. The WiNET spec calls for it. Marcel recommends that roaming should be driven from the kernel (briding, etc, so the interface doesn't go down). Needs more exploration

Wireless USB

We need a system wide service/daemon for WUSB device management, service and association (akin to Bluetooth pairing).

We need an agent for the association part.

Session specifics would be handled via communication with the system wide daemon.

For each device that has been connected, we have knowledge of

LinuxUWBUserArch200703 (last edited 2007-03-27 23:36:33 by InakyPerezGonzalez)