Insights into Transforming a Linux Wireless Device Driver to Run on a Bare Machine

William Agosto-Padilla, Ramesh Karne, Alexander Wijesinha

2015

Abstract

Developing device drivers is often tedious and error-prone. Drivers for bare machine applications that run without an OS have been previously written by directly using specification documents. Transformation is an alternate approach that attempts to develop a bare machine driver by using existing code for an OS driver. We investigate the transformation of a Broadcom Linux 802.11n wireless device driver to a bare machine driver. As a first step towards understanding the transformation, we study the functions and OS dependencies of the Linux driver. The driver module is analyzed by examining its interaction with other modules, providing details of its key elements and code sizes, and by comparing code sizes with its counterpart Windows driver. We also discuss design issues that will be useful for developing device drivers that are independent of any operating system, kernel, or embedded system.

References

  1. Appiah-Kubi, P., Karne, R. K., Wijesinha, A. L., 2012. A bare PC TLS webmail server. In ICNC.
  2. Amar, A., Joshi, S., Wallwork, D., Generic driver model using hardware abstraction and standard APIs. Available from: <http://www.design-reuse.com/ articles/18584/generic-driver-model.html>. [12 Dec 2014].
  3. Boyd-Wickizer, S., Zeldovich, N., 2010. Tolerating malicious device drivers in Linux. In USENIX ATC.
  4. Broadcom Wireless-Arch Wiki. Available from: <http://wiki.archlinux.org/index.php/broadcom_wirele ss>. [12 Dec 2014].
  5. b43-Linux Wireless. Available from: <http://wireless. kernel.org/en/users/Drivers/b43>. [12 Dec 2014].
  6. Chipounov, V., Candea, G., 2006. Reverse engineering of binary device drivers with RevNIC. In Eurosys.
  7. Corbet, J., 2011. Broadcom's wireless drivers, one year later. Available from: <http://lwn.net/Articles/ 456762/>. [12 Dec 2014].
  8. Doxygen. Available from: <http://www.stack.nl/ dimitri/doxygen/>. [12 Dec 2014].
  9. Ford, G. H., Karne, R. K., Wijesinha, A. L., Appiah-Kubi, P., 2009. The design and implementation of a bare PC email server. In COMPSAC.
  10. He, L., Karne, R. K., Wijesinha, A. L., 2008. Design and performance of a bare PC web server. International Journal of Computers and Their Applications (IJCA).
  11. Kadav, A., Swift, M. M., 2012. Understanding modern device drivers. In ASPLOS XVII.
  12. Karne, R. K., Jaganathan, K. V., Ahmed, T., Rosa, N., 2005. Dispersed Operating System Computing (DOSC). In Onward Track OOPSLA.
  13. Karne, R. K., Wijesinha, A. L., Okafor, U., Appiah-Kubi, P., 2013a. Eliminating the operating system via the bare machine computing paradigm. In Future Computing.
  14. Karne, R. K., Liang, S., Wijesinha, A. L., Appiah-Kubi, P., 2013b. A bare PC mass storage USB driver. International Journal of Computers and Their Applications (IJCA).
  15. Khaksari, G. H., Wijesinha, A. L., Karne, R. K., He, L., Girumala, S., 2007. A peer-to-peer bare PC VoIP application. In CCNC.
  16. LeVasseur, J., Uhlig, V., Stoess, J., Gotz, S., 2004. Unmodified device driver reuse and improved system dependability via virtual machines. In OSDI.
  17. NDISwrapper. Available from: <http://en.wikipedia.org/ wiki/NDISwrapper>. [12 Dec 2014].
  18. Okafor, U., Karne, R. K., Wijesinha, A. L., Appiah-Kubi, P., 2013. A methodology to transform OS based applications to a bare machine application. In TrustCom/ISPA/IUCC.
  19. Rawal, B., Karne, R., Wijesinha, A. L., 2011. Mini web server clusters based on HTTP request splitting. In HPCC.
  20. Source Insight Program Editor and Analyzer. Available from: <http://www.sourceinsight.com>. [12 Dec 2014].
Download


Paper Citation


in Harvard Style

Agosto-Padilla W., Karne R. and Wijesinha A. (2015). Insights into Transforming a Linux Wireless Device Driver to Run on a Bare Machine . In Proceedings of the 10th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE, ISBN 978-989-758-100-7, pages 295-300. DOI: 10.5220/0005470002950300


in Bibtex Style

@conference{enase15,
author={William Agosto-Padilla and Ramesh Karne and Alexander Wijesinha},
title={Insights into Transforming a Linux Wireless Device Driver to Run on a Bare Machine},
booktitle={Proceedings of the 10th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,},
year={2015},
pages={295-300},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0005470002950300},
isbn={978-989-758-100-7},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 10th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,
TI - Insights into Transforming a Linux Wireless Device Driver to Run on a Bare Machine
SN - 978-989-758-100-7
AU - Agosto-Padilla W.
AU - Karne R.
AU - Wijesinha A.
PY - 2015
SP - 295
EP - 300
DO - 10.5220/0005470002950300