Bluetooth on CE. Mid - Presentation Roman Zoltsman & Oren Haggai Group 12 2000/2001 Instructor: Nir Borenshtein HSDSL Lab. Technion.

Slides:



Advertisements
Similar presentations
MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
Advertisements

Lecture 12 Page 1 CS 111 Online Devices and Device Drivers CS 111 On-Line MS Program Operating Systems Peter Reiher.
EEE 435 Principles of Operating Systems Principles and Structure of I/O Software (Modern Operating Systems 5.2 & 5.3) 5/22/20151Dr Alain Beaulieu.
Computer Systems/Operating Systems - Class 8
Performed by: Yair Sommer Rea Yeheskel Instructor: Idan Katz In Cooperation with:Motorola הטכניון - מכון טכנולוגי לישראל הפקולטה להנדסת חשמל Technion -
Bluetooth Hardware CS215 Rohit Kapoor Prabhakar Pundir.
Page: 1 Director 1.0 TECHNION Department of Computer Science The Computer Communication Lab (236340) Summer 2002 Submitted by: David Schwartz Idan Zak.
CPET 260 Bluetooth. What is Bluetooth? Not IEEE (Wi-Fi) or HomeRF Originally designed to replace wires Short-range, lower-power wireless technology.
Performed by: Yair Sommer Rea Yeheskel Instructor: Idan Katz Cooperated with:Motorola הטכניון - מכון טכנולוגי לישראל הפקולטה להנדסת חשמל Technion - Israel.
Octopus system1 Moshe Tocker Avihai Mejer. Octopus system2 The Octopus system Goal The system’s primary goal is to Measure performance parameters in real.
1/28/2004CSCI 315 Operating Systems Design1 Operating System Structures & Processes Notice: The slides for this lecture have been largely based on those.
A Comparison of Bluetooth and competing technologies
Performed by: Yair Sommer Rea Yeheskel Instructor: Idan Katz In Cooperation with:Motorola הטכניון - מכון טכנולוגי לישראל הפקולטה להנדסת חשמל Technion -
Design and Implementation of a Server Director Project for the LCCN Lab at the Technion.
A. Frank - P. Weisberg Operating Systems Introduction to Tasks/Threads.
Final Presentation Spring 2003 Project ID: D0822 Project Name: WinCE integrating BT media share application Supervisor: Evgeny Rivkin Performed by: Maya.
1 I/O Management in Representative Operating Systems.
1 Threads Chapter 4 Reading: 4.1,4.4, Process Characteristics l Unit of resource ownership - process is allocated: n a virtual address space to.
® The Bluetooth Architecture APIs, L2CAP, Link Management, Baseband, and the Radio.
1 Network Packet Generator Final Presentation Presenting: Igor Brevdo Eugeney Ryzhyk, Supervisor: Mony Orbach.
Operating Systems.
Project proposal Java Bluetooth stack. What is a Bluetooth stack? In short, to get any functionality out of a Bluetooth device, one needs to implement.
2011 Embedded Systems Software Training Center BluRapport SDK.
Hacking the Bluetooth Pairing Authentication Process Graduate Operating System Mini Project Siyuan Jiang and Haipeng Cai.
BLUETOOTH. Introduction Bluetooth technology discussed here aims at so-called ad- hoc piconets, which are local area networks with a very limited coverage.
Distributed systems – Part 2  Bluetooth – 2 nd set of slides Anila Mjeda.
This presentation has been done by : Kareem Marwan Hamida..
1 Chapter Client-Server Interaction. 2 Functionality  Transport layer and layers below  Basic communication  Reliability  Application layer.
INTRODUCTION Bluetooth technology is code name for Personal Area Network (PAN) technology that makes it extremely easy to connect a mobile, computing device.
Bluetooth POP3 Relay Project Benjamin Kennedy April 30 th, 2002.
By Santosh Sam Koshy. Agenda Need for Bluetooth Brief History of Bluetooth Introduction to Bluetooth Bluetooth System Specifications Commercial Bluetooth.
Bluetooth Kirthika Parmeswaran Telcordia Technologies OOPSLA’2000.
Distributed systems – Part 2  Bluetooth 4 Anila Mjeda.
Bluetooth Techniques ECE 591. Overview  Universal short-range wireless capability  Uses 2.4-GHz band  Available globally for unlicensed users  Devices.
IP Forwarding.
Example title for notes and handouts
Chapter 6-2 the TCP/IP Layers. The four layers of the TCP/IP model are listed in Table 6-2. The layers are The four layers of the TCP/IP model are listed.
Comnet.technion.ac.il/~cn23s00 Computer Networks Laborator y Technion Israel Institute of Technology BlueTooth High-Level Simulator A Base Platform For.
Hardware process When the computer is powered up, it begins to execute fetch-execute cycle for the program that is stored in memory at the boot strap entry.
Application Block Diagram III. SOFTWARE PLATFORM Figure above shows a network protocol stack for a computer that connects to an Ethernet network and.
Bluetooth Techniques Chapter 15. Overview of Bluetooth Initially developed by Swedish mobile phone maker in 1994 to let laptop computers make calls over.
A Comparative Study of Two Bluetooth APIs for Implementation in an Automated Wireless Identification System (AWIS) Sam Knights Rhodes University Supervisors:
Team Topic Presentation Team 6 BLUETOOTH What is Bluetooth? Cable Replacement Automatic Connectivity Hidden Computing Few Examples: 1.Automatic Door.
Middleware Services. Functions of Middleware Encapsulation Protection Concurrent processing Communication Scheduling.
Silberschatz, Galvin and Gagne  Operating System Concepts UNIT II Operating System Services.
Lectured By: Vivek Dimri Asst Professor CSE Deptt. SET.
Chapter 13 – I/O Systems (Pgs ). Devices  Two conflicting properties A. Growing uniformity in interfaces (both h/w and s/w): e.g., USB, TWAIN.
Mapping Salutation to Bluetooth 4 Overview 4 Bluetooth Summary 4 Salutation Architecture Summary 4 Mapping Bluetooth SDP to Salutation APIs 4 Mapping Bluetooth.
JPMA PROJECT PRESENTATION (ITU) 1 INTRODUCTION BLUETOOTH CHAT DESIGN JAVA ON MOBILE DEVICE Presenters Benjamin Boateng Abass Omer Venkateshwar Rao Namilakonda.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
Hardware process When the computer is powered up, it begins to execute fetch-execute cycle for the program that is stored in memory at the boot strap entry.
17 Establishing Dial-up Connection to the Internet Using Windows 9x 1.Install and configure the modem 2.Configure Dial-Up Adapter 3.Configure Dial-Up Networking.
J. Liebeher (modified by M. Veeraraghavan) 1 Introduction Complexity of networking: An example Layered communications The TCP/IP protocol suite.
Silberschatz, Galvin and Gagne ©2011 Operating System Concepts Essentials – 8 th Edition Chapter 2: The Linux System Part 5.
Threads, SMP, and Microkernels Chapter 4. Processes and Threads Operating systems use processes for two purposes - Resource allocation and resource ownership.
Bluetooth on CE. Roman Zoltsman & Oren Haggai 2000/2001 HSDSL Lab. Technion.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Bluetooth Technology -Prepared By Jasmin Patel -Guided By Jagruti Goswami.
Bluetooth Technology -Prepared By Jasmin Patel -Guided By Jagruti Goswami.
BTSTACK RTLAB YuJin Park. Bluetooth Protocol Stack Protocol Stack Applications TCS Binary RFCOMM Service Discovery Protocol (SDP) Logical Link Control.
Advanced Network Labs & Remote Network Agent
Operating System Structure
A Wireless LAN technologies IEEE
BLUETOOTH Personal Area Networking [ PAN ] over Bluetooth
Bluetooth HCI Terminal
Threads Chapter 4.
Chapter 2: Operating-System Structures
Chapter 2: The Linux System Part 5
Chapter 2: Operating-System Structures
Presentation transcript:

Bluetooth on CE. Mid - Presentation Roman Zoltsman & Oren Haggai Group /2001 Instructor: Nir Borenshtein HSDSL Lab. Technion

© Oren Haggai, Roman Zoltsman 2000, Part A Goals Establish a well-designed HCI-Bluetooth driver on top of MS-CE; Since the HCI layer is the most important basis of Bluetooth. We will prove it by inquiring successfully for number of other Bluetooth devices at the vicinity of the CE HH computer, and report the user about the addresses, names and classes of those devices.

© Oren Haggai, Roman Zoltsman 2000, The HCI driver, with the inquire test bed can be a pre-connection step, and will be the start point for Part 2 of the Project. develop this driver for WIN-NT machine. later on, do the changes necessary, to fit the HCI driver on a CE-PC target machine. later on, do the changes necessary, to fit the HCI driver on a CE-PC target machine. support other small devices powered by MS-CE (palm-size pc, HH pc etc…). support other small devices powered by MS-CE (palm-size pc, HH pc etc…). Part A Goals & Design

© Oren Haggai, Roman Zoltsman 2000, What Was Done So Far ? Testing existing Bluetooth HW. Choosing the main HW for the project. Checking existing open source protocol stack implementation (axis stack) on Linux OS, written in C. Running this stack, with a debugger, and learn the stack capabilities and behavior with different kinds of Bluetooth HW. Running this stack, with a debugger, and learn the stack capabilities and behavior with different kinds of Bluetooth HW.

© Oren Haggai, Roman Zoltsman 2000, Compares Axis user mode vs. kernel mode (later discussed). Divide Axis stack into functional blocks, OS specific sections, and DB sections. Choose the sections to port to NT machine Design our lower stack – ORstack. Completion of the HCI driver for WIN-NT. Thorough testing and debugging the Driver for NT, by mean of data flow, correctness & performance, with a minimal C++ GUI. What Was Done So Far ?

© Oren Haggai, Roman Zoltsman 2000, Theoretic Background Bluetooth – 3 layers application model Usage models scenarios i.E. Headset, Synchronization, file transfer etc… Synchronization, file transfer etc… Profiles i.E. Ftp, serial port, LanAccessPoint, etc… Protocols i.E. L2cap, RFCOMM, SDP, TCS, etc…

© Oren Haggai, Roman Zoltsman 2000, Bluetooth – 3 layers Application A Serial Port Profile Example

© Oren Haggai, Roman Zoltsman 2000, The LMP and Baseband in our case study are implemented on HW, while all the rest of the protocols are implemented on SW. So we do need the HCI layer in order to communicate with those two protocols (Host to Host controller communication), and that communication is done over UART. Serial Port Profile cont.

© Oren Haggai, Roman Zoltsman 2000, Bluetooth–3 Layers Application Axis Case Study

© Oren Haggai, Roman Zoltsman 2000, Axis Case Study Currently only one profile is supported by axis: SPP SERIAL PORT PROFILE SERIAL PORT PROFILE Axis intentions are to support the LAP (LAN access point) and voice profiles also.

© Oren Haggai, Roman Zoltsman 2000, OR-stack – Our stack design

© Oren Haggai, Roman Zoltsman 2000, OR-stack – Inner Look OR-stack–top driver OR-stack-lower driver Simple GUI interface HCI command interface Static Server Responding Events: Address Name of device Class of device Service type Inquiry A user Request

© Oren Haggai, Roman Zoltsman 2000, Or-stack Cont. We chose to implement the stack in user mode because: 1) The driver will be easy to debug, at run time, and more easily to program, because in user mode we can access any function, at any layer. 2)The systems calls are much more simple to understand. 2)The systems calls are much more simple to understand.

© Oren Haggai, Roman Zoltsman 2000, Or-stack Cont. 3) our implementation can be easily stuffed into the kernel, after it’s correctness was proved. 4) we are not a commercial organization and not forced to performance optimizations and forced to performance optimizations and demands, and only interested at the technology. demands, and only interested at the technology. Adaptation to CE OS, and in the test modes. Adaptation to CE OS, and in the test modes. 5) developing a device driver at kernel mode is a lot of ‘black work. lot of ‘black work. 6) The user mode has a lot to offer, by means of various test modes. various test modes.

© Oren Haggai, Roman Zoltsman 2000, OR-stack the lower driver This part had to be totally change, because of OS specific code. An Undergoing work was done, to make this lower driver flexible as we can, so we can easily switch from NT to CE. Lower driver roles: opens & close the device. Does various Setup procedures. Handles the packets to be transmitted to the device.

© Oren Haggai, Roman Zoltsman 2000, OR-stack top driver The main roles of the top driver: Handle receiving packets, by calling HCI state machine. Make Bluetooth transparent to the end-user. The first role achieved with the help of a worker thread, that checks the UART for incoming packets (automatically), and keeps the HCI state machine busy, handling those packets.

© Oren Haggai, Roman Zoltsman 2000, HCI – Driver Implementation The HCI layer is almost complete interface to the HW, and supports the most important Baseband and LMP commands. This layer contains two main logical parts: 1) Dynamic Command Queue, to handle 1) Dynamic Command Queue, to handle outgoing packets. outgoing packets. 2) HCI parser state machine for the incoming 2) HCI parser state machine for the incoming packets. packets.

© Oren Haggai, Roman Zoltsman 2000, HCI send thread command queue Queue (Commands) Queue (Commands) Queue (Commands) Queue (Commands) Queue (Commands) Queue (Commands) Queue (Commands) Insert command (queued) send command (extract) For each command to send Is Queue Empty ? No The queue behavior: Send while the Bluetooth HW permits. Each permission/s comes inside The Bluetooth event. control Yes

© Oren Haggai, Roman Zoltsman 2000, For each received packet Is Event ? Handle data No YES Parse the event type - check for success No HCI read thread state machine Command statusCommand completeSpecial Update Command queue/ try send if possible Handle return parameters. Parse the command opcode

© Oren Haggai, Roman Zoltsman 2000, Left TODO – Part A The second transition to CE OS. CE-PC Target machine. Palm size PC – (MIPS). Any other platform. GUI Interface for the CE user Discover other nearby Bluetooth units. Find the names of those units. Trace the class of device & service providers.

© Oren Haggai, Roman Zoltsman 2000, Left TODO – Part B Adapt more layers to or-stack. L2capSDPRFCOMM Support the serial port profile. Prove a fully serial connection from a CE target machine to a static server (I.E. A LINUX machine, with axis stack).

© Oren Haggai, Roman Zoltsman 2000, FIN