Implementation of cellular type approval software for an open source embedded device

17
Implementation of cellular type approval software for an open source embedded device Thesis presentation 9.6.2009 Author: Mathias Nyman Supervisor: Professor Riku Jäntti Instructor: D.Sc. (Tech) Konsta Karsisto

description

Thesis presentation 9.6.2009 Author: Mathias Nyman Supervisor: Professor Riku Jäntti Instructor: D.Sc. (Tech) Konsta Karsisto. Implementation of cellular type approval software for an open source embedded device. Content. Background Requirements Research aspects - PowerPoint PPT Presentation

Transcript of Implementation of cellular type approval software for an open source embedded device

Page 1: Implementation of cellular type approval software for an open source embedded device

Implementation of cellular type approval software for an open source embedded

device

Thesis presentation9.6.2009

Author: Mathias NymanSupervisor: Professor Riku Jäntti

Instructor: D.Sc. (Tech) Konsta Karsisto

Page 2: Implementation of cellular type approval software for an open source embedded device

Content

Background Requirements Research aspects Cellular type approval, device hardware and

software stack Implementation Software testing and quality Conclusions

Page 3: Implementation of cellular type approval software for an open source embedded device

Background

Since 2005 Nokia has released a line of Linux based mobile Internet tablets.

Tablets lack cellular connectivity, and therefore all cellular related type approval software.

Task to implement cellular test cases to the existing type approval software used in Internet tablets.

Should be tested and run on a prototype device with added cellular capabilities

Page 4: Implementation of cellular type approval software for an open source embedded device

The Internet tablets

770 N800N810

Page 5: Implementation of cellular type approval software for an open source embedded device

Requirements

Control cellular functionality, such as: Dial/answer calls without audio routing GSM/UMTS/Dual mode Packet data settings Network selection, list available operators SIM card status

Device may not be connected to any external device during testing. Software and user interface must be run on the device itself.

Page 6: Implementation of cellular type approval software for an open source embedded device

Research aspects

What hardware and software interfaces are available to control the cellular engine?

Designing the software requires knowledge about the intended usage. How are type approval tests conducted, what is the purpose and who will perform them.

Ways to ensure sufficient quality and reliability. Understanding and planning testing

Page 7: Implementation of cellular type approval software for an open source embedded device

Cellular type approval

Type approval required before allowed on market. CE mark in European economic area Type approval testing done in-house after each HW

iteration. Interoperability (IOP) Electromagnetic compatibility (EMC) including

emission, immunity and ESD

Page 8: Implementation of cellular type approval software for an open source embedded device

Device hardware Two separate engines with their own processor,

RAM and flash memory ARM based Application engine, cellular engine

considered black box. SSI interface connecting the engines

Page 9: Implementation of cellular type approval software for an open source embedded device

Software stack

Software stack to control cellular engine D-Bus IPC cellular software daemon (CSD) ISI/Phonet SSI driver in Linux kernel

Most of the required functionality could be implemented using the D-Bus interface

Page 10: Implementation of cellular type approval software for an open source embedded device
Page 11: Implementation of cellular type approval software for an open source embedded device

Implementation

ARM based, maemo provided SDK, written in C D-Bus IPC interface satisfactory for most cases Blocking functions used mostly, D-Bus signals used

for cellular initiated communication Network selection required more elaborate D-Bus

usage including both blocking and non-blocking calls

Page 12: Implementation of cellular type approval software for an open source embedded device

Implementation 2/2

Page 13: Implementation of cellular type approval software for an open source embedded device

User interface

GTK based, graphical UI. Common in Linux distributions

Touchscreen as input Usability not key concern as the software is only

used in type approval testing laboratory by a few in-house engineers. Can be trained

Page 14: Implementation of cellular type approval software for an open source embedded device
Page 15: Implementation of cellular type approval software for an open source embedded device

Software testing and quality

Unit testing by developer with D-Bus monitoring tools

Integration testing done top down, depth first during development by developer

Regression testing started late No recovery, stress, alpha or beta testing. Nature of

the software and its usage unnecessary Validation testing in type approval laboratory by

customer

Page 16: Implementation of cellular type approval software for an open source embedded device

Conclusions

UI turned out quite intuitive, positive response. UI and cellular control should be developed

separately Open source benefit: ready examples, on-line

documentation Testing resources should be allocated from the start

of the project

Page 17: Implementation of cellular type approval software for an open source embedded device

Software delivery in time prioritized over usability and reliability

Performed well in type approval laboratory testing. All required tests could be run after a couple of iterations

Time consuming network actions must be non-blocking. Asynchronous callbacks