Upload
margaret-sanders
View
213
Download
0
Embed Size (px)
Citation preview
• 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
• 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
• 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
• 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
• 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
• 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
• 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
• 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
• 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
• 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
• 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
• 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
• 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
• 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
• 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
• 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
• 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
• Introduction• Characteristics of USB• System Model• What needs to be done• Platform Issues• Conceptual Issues• Timeline