18
Introduction Characteristics of USB System Model What needs to be done Platform Issues Conceptual Issues Timeline USB Monitoring Final Presentation 10 th June 2001 David Harding Introduction to USB Reasons to Monitor USB Design of USBMon Capabilities of USBMon Demonstration Conclusion + Update Questions Dave Harding Final Presentation USB Monitoring 11 th June 2001

Introduction Characteristics of USB System Model What needs to be done Platform Issues Conceptual Issues Timeline USB Monitoring Final Presentation 10

Embed Size (px)

Citation preview

Page 1: Introduction Characteristics of USB System Model What needs to be done Platform Issues Conceptual Issues Timeline USB Monitoring Final Presentation 10

• Introduction• Characteristics of USB• System Model• What needs to be done• Platform Issues• Conceptual Issues• Timeline

USB Monitoring

Final Presentation

10th June 2001

David Harding

• Introduction to USB• Reasons to Monitor USB• Design of USBMon• Capabilities of USBMon• Demonstration• Conclusion + Update• Questions

Dave HardingFinal PresentationUSB Monitoring11th June 2001

Page 2: Introduction Characteristics of USB System Model What needs to be done Platform Issues Conceptual Issues Timeline USB Monitoring Final Presentation 10

• Introduction• Characteristics of USB• System Model• What needs to be done• Platform Issues• Conceptual Issues• Timeline

Agenda

• Introduction to USB

• Reasons for Monitoring

• Design of USBMon

• Capabilities of USBMon

• Demonstration

• Conclusion and Update

• General Questions

• Introduction to USB• Reasons to Monitor USB• Design of USBMon• Capabilities of USBMon• Demonstration• Conclusion + Update• Questions

Dave HardingFinal PresentationUSB Monitoring11th June 2001

Page 3: Introduction Characteristics of USB System Model What needs to be done Platform Issues Conceptual Issues Timeline USB Monitoring Final Presentation 10

• Introduction• Characteristics of USB• System Model• What needs to be done• Platform Issues• Conceptual Issues• Timeline

Universal Serial Bus

• Replacement for RS-232 serial and parallel interfaces.

• Higher Bandwidth (12 MBps total)

• Up to 127 devices connected to one port

• Wide diversity of devices from mice to ADSL modems and storage devices.

• Very Widely used.

• Multi-platform Multi-OS.

• Introduction to USB• Reasons to Monitor USB• Design of USBMon• Capabilities of USBMon• Demonstration• Conclusion + Update• Questions

Dave HardingFinal PresentationUSB Monitoring11th June 2001

Page 4: Introduction Characteristics of USB System Model What needs to be done Platform Issues Conceptual Issues Timeline USB Monitoring Final Presentation 10

• Introduction• Characteristics of USB• System Model• What needs to be done• Platform Issues• Conceptual Issues• Timeline

Reasons to Monitor USB

• USB bandwidth can be viewed as a limited system resource that should be of interest to a system administrator.

• Debugging device drivers.

• Debugging devices.

• Reverse engineering of closed source device drivers.

• Debugging Host Controller Drivers.

• Introduction to USB• Reasons to Monitor USB• Design of USBMon• Capabilities of USBMon• Demonstration• Conclusion + Update• Questions

Dave HardingFinal PresentationUSB Monitoring11th June 2001

Page 5: Introduction Characteristics of USB System Model What needs to be done Platform Issues Conceptual Issues Timeline USB Monitoring Final Presentation 10

• Introduction• Characteristics of USB• System Model• What needs to be done• Platform Issues• Conceptual Issues• Timeline

USB System Model

Host computer

Hub

Hub

Hub

Camera

Keyboard

CD-ROMScanner

Printer

• Introduction to USB• Reasons to Monitor USB• Design of USBMon• Capabilities of USBMon• Demonstration• Conclusion + Update• Questions

Dave HardingFinal PresentationUSB Monitoring11th June 2001

Page 6: Introduction Characteristics of USB System Model What needs to be done Platform Issues Conceptual Issues Timeline USB Monitoring Final Presentation 10

• Introduction• Characteristics of USB• System Model• What needs to be done• Platform Issues• Conceptual Issues• Timeline

USB System Model

Traditional Hardware Monitoring

Custom Hardware

Undefined high-bandwidth link

Monitoring computer

Host computer

Hub

Hub

Hub

Camera

Keyboard

CD-ROMScanner

Printer

• Introduction to USB• Reasons to Monitor USB• Design of USBMon• Capabilities of USBMon• Demonstration• Conclusion + Update• Questions

Dave HardingFinal PresentationUSB Monitoring11th June 2001

Page 7: Introduction Characteristics of USB System Model What needs to be done Platform Issues Conceptual Issues Timeline USB Monitoring Final Presentation 10

• Introduction• Characteristics of USB• System Model• What needs to be done• Platform Issues• Conceptual Issues• Timeline

Linux and USB

• Linux USB development started in kernel version 2.2.7

• Linux USB widely available and usable in kernel version 2.4.0 (January 2001).

• Linux USB supports kernel and user space device drivers.

• Linux USB has a wide and growing number of device drivers.

• Introduction to USB• Reasons to Monitor USB• Design of USBMon• Capabilities of USBMon• Demonstration• Conclusion + Update• Questions

Dave HardingFinal PresentationUSB Monitoring11th June 2001

Page 8: Introduction Characteristics of USB System Model What needs to be done Platform Issues Conceptual Issues Timeline USB Monitoring Final Presentation 10

• Introduction• Characteristics of USB• System Model• What needs to be done• Platform Issues• Conceptual Issues• Timeline

Host computer

Hub

Hub

Hub

Camera

Keyboard

CD-ROMScanner

Printer

USB System Model• Introduction to USB• Reasons to Monitor USB• Design of USBMon• Capabilities of USBMon• Demonstration• Conclusion + Update• Questions

Dave HardingFinal PresentationUSB Monitoring11th June 2001

Page 9: Introduction Characteristics of USB System Model What needs to be done Platform Issues Conceptual Issues Timeline USB Monitoring Final Presentation 10

• Introduction• Characteristics of USB• System Model• What needs to be done• Platform Issues• Conceptual Issues• Timeline

Host computer

Hub

Hub

Hub

Camera

Keyboard

CD-ROMScanner

Printer

Host controller driver

USB core

DD DD DD

LinuxKernel

USB System Model• Introduction to USB• Reasons to Monitor USB• Design of USBMon• Capabilities of USBMon• Demonstration• Conclusion + Update• Questions

Dave HardingFinal PresentationUSB Monitoring11th June 2001

Page 10: Introduction Characteristics of USB System Model What needs to be done Platform Issues Conceptual Issues Timeline USB Monitoring Final Presentation 10

• Introduction• Characteristics of USB• System Model• What needs to be done• Platform Issues• Conceptual Issues• Timeline

USB System Model

Host computer

Hub

Hub

Hub

Camera

Keyboard

CD-ROMScanner

Printer

Host controller driver

Modified USB core

DD DD DD

LinuxKernel

Debug Information

MonitoringApplication

• Introduction to USB• Reasons to Monitor USB• Design of USBMon• Capabilities of USBMon• Demonstration• Conclusion + Update• Questions

Dave HardingFinal PresentationUSB Monitoring11th June 2001

Page 11: Introduction Characteristics of USB System Model What needs to be done Platform Issues Conceptual Issues Timeline USB Monitoring Final Presentation 10

• Introduction• Characteristics of USB• System Model• What needs to be done• Platform Issues• Conceptual Issues• Timeline

Design of USBMon

• 2 Parts –

kernel patch

Monitoring Application

• Interface via /proc filesystem

• Optional levels of monitoring on a per endpoint basis. Monitoring levels can be changed dynamically during run-time.

• Introduction to USB• Reasons to Monitor USB• Design of USBMon• Capabilities of USBMon• Demonstration• Conclusion + Update• Questions

Dave HardingFinal PresentationUSB Monitoring11th June 2001

Page 12: Introduction Characteristics of USB System Model What needs to be done Platform Issues Conceptual Issues Timeline USB Monitoring Final Presentation 10

• Introduction• Characteristics of USB• System Model• What needs to be done• Platform Issues• Conceptual Issues• Timeline

Host controller driver

USB core

DD DD DD

Linux Kernel

ConfigurationInformation

MonitoringApplication

Existing Filesystem

Existing Linux-USB configuration files

• Introduction to USB• Reasons to Monitor USB• Design of USBMon• Capabilities of USBMon• Demonstration• Conclusion + Update• Questions

Dave HardingFinal PresentationUSB Monitoring11th June 2001

Page 13: Introduction Characteristics of USB System Model What needs to be done Platform Issues Conceptual Issues Timeline USB Monitoring Final Presentation 10

• Introduction• Characteristics of USB• System Model• What needs to be done• Platform Issues• Conceptual Issues• Timeline

Host controller driver

Modified USB core

DD DD DD

Linux Kernel

Debug Information

MonitoringApplication

Use existing Configuration Channel, and create new Data channel

Adapted Filesystem

Existing Linux-USB configuration files

New /proc files

Level setting commands IN,Monitoring Information OUT

• Introduction to USB• Reasons to Monitor USB• Design of USBMon• Capabilities of USBMon• Demonstration• Conclusion + Update• Questions

Dave HardingFinal PresentationUSB Monitoring11th June 2001

Page 14: Introduction Characteristics of USB System Model What needs to be done Platform Issues Conceptual Issues Timeline USB Monitoring Final Presentation 10

• Introduction• Characteristics of USB• System Model• What needs to be done• Platform Issues• Conceptual Issues• Timeline

Capabilities of USBMon

• Displays Bus topology and device details

• Able to selectively monitor different endpoints on different devices at differing monitoring levels.

• Able to report timing details of data transfers with microsecond accuracy.

• Minimal effect on other USB traffic.

• Able to trap the contents of a data transfer and display using various decoders.

• Introduction to USB• Reasons to Monitor USB• Design of USBMon• Capabilities of USBMon• Demonstration• Conclusion + Update• Questions

Dave HardingFinal PresentationUSB Monitoring11th June 2001

Page 15: Introduction Characteristics of USB System Model What needs to be done Platform Issues Conceptual Issues Timeline USB Monitoring Final Presentation 10

• Introduction• Characteristics of USB• System Model• What needs to be done• Platform Issues• Conceptual Issues• Timeline

Demonstration

Test Machine: 650 MHz Pentium III

128Mb SDRAM

Integrated UHCI HC

Red Hat 6.2

Linux 2.4.4 kernel

IBM JVM 1.3

• Introduction to USB• Reasons to Monitor USB• Design of USBMon• Capabilities of USBMon• Demonstration• Conclusion + Update• Questions

Dave HardingFinal PresentationUSB Monitoring11th June 2001

Page 16: Introduction Characteristics of USB System Model What needs to be done Platform Issues Conceptual Issues Timeline USB Monitoring Final Presentation 10

• Introduction• Characteristics of USB• System Model• What needs to be done• Platform Issues• Conceptual Issues• Timeline

Conclusion and Update

• Effective and Usable Monitoring tool.

• A number of real users.

• Strong interest from Linux USB community.

• “An interesting idea” – David Brownell, jUSB website. http://jusb.sourceforge.net

• Ideas being considered for inclusion in code for 2.5 kernel.

• Introduction to USB• Reasons to Monitor USB• Design of USBMon• Capabilities of USBMon• Demonstration• Conclusion + Update• Questions

Dave HardingFinal PresentationUSB Monitoring11th June 2001

Page 17: Introduction Characteristics of USB System Model What needs to be done Platform Issues Conceptual Issues Timeline USB Monitoring Final Presentation 10

• Introduction• Characteristics of USB• System Model• What needs to be done• Platform Issues• Conceptual Issues• Timeline

Questions

• Introduction to USB• Reasons to Monitor USB• Design of USBMon• Capabilities of USBMon• Demonstration• Conclusion + Update• Questions

Dave HardingFinal PresentationUSB Monitoring11th June 2001

Page 18: Introduction Characteristics of USB System Model What needs to be done Platform Issues Conceptual Issues Timeline USB Monitoring Final Presentation 10

• Introduction• Characteristics of USB• System Model• What needs to be done• Platform Issues• Conceptual Issues• Timeline