1 / 11

Front page

Front page. Introduction System Model Progress so far Initial Kernel interface Revised kernel Interface Topology Interface Data Interface Remaining Issues Original Timeline Timeline Issues. USB Monitoring. Update – 6 th December 2000 David Harding.

arawn
Download Presentation

Front page

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Front page • Introduction • System Model • Progress so far • Initial Kernel interface • Revised kernel • Interface • Topology Interface • Data Interface • Remaining Issues • Original Timeline • Timeline Issues USB Monitoring Update – 6th December 2000 David Harding

  2. USB System Model • Introduction • System Model • Progress so far • Initial Kernel interface • Revised kernel • Interface • Topology Interface • Data Interface • Remaining Issues • Original Timeline • Timeline Issues DD DD DD Host computer Debug Information Modified USB core Host OS Host controller driver Hub Monitoring Application Hub Keyboard Hub Camera CD-ROM Printer Scanner

  3. Progress • Much greater understanding of how the USB part of the Linux kernel works. • Learnt about the mechanics of kernel communication. (/proc and system calls) • Written my first kernel module. • Researched suitability of Java vs. Gtk for the GUI. • Interface design for the kernel part of the project. • Partial Code Design for kernel code. • Introduction • System Model • Progress so far • Initial Kernel interface • Revised kernel • Interface • Topology Interface • Data Interface • Remaining Issues • Original Timeline • Timeline Issues

  4. Introduction • System Model • Progress so far • Initial Kernel interface • Revised kernel • Interface • Topology Interface • Data Interface • Remaining Issues • Original Timeline • Timeline Issues Initial Design DD DD DD Debug Information Modified USB core Host OS Host controller driver All information through one ‘channel’ Monitoring Application

  5. Introduction • System Model • Progress so far • Initial Kernel interface • Revised kernel • Interface • Topology Interface • Data Interface • Remaining Issues • Original Timeline • Timeline Issues Revised Design New system calla DD DD DD Debug Information Modified USB core Just data transfers Host OS Host controller driver /proc/bus/usb/devices New /proc file Use existing Configuration Channel, and create new Data channel Monitoring Application

  6. Introduction • System Model • Progress so far • Initial Kernel interface • Revised kernel • Interface • Topology Interface • Data Interface • Remaining Issues • Original Timeline • Timeline Issues Revised Design /proc/bus/usb/devices T: Bus=00 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2 B: Alloc= 28/900 us ( 3%), #Int= 2, #Iso= 0 D: Ver= 1.00 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=0000 ProdID=0000 Rev= 0.00 C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr= 0mA I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=255ms T: Bus=00 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 2 Spd=12 MxCh= 4 D: Ver= 1.00 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=0451 ProdID=1446 Rev= 1.00 C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=100mA I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub E: Ad=81(I) Atr=03(Int.) MxPS= 1 Ivl=255ms T: Bus=00 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#= 3 Spd=12 MxCh= 0 D: Ver= 1.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=0553 ProdID=0002 Rev= 1.00 C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=400mA I: If#= 1 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=00 Prot=ff Driver=cpia E: Ad=81(I) Atr=01(Isoc) MxPS= 0 Ivl= 1ms I: If#= 1 Alt= 1 #EPs= 1 Cls=ff(vend.) Sub=00 Prot=ff Driver=cpia E: Ad=81(I) Atr=01(Isoc) MxPS= 448 Ivl= 1ms I: If#= 1 Alt= 2 #EPs= 1 Cls=ff(vend.) Sub=00 Prot=ff Driver=cpia E: Ad=81(I) Atr=01(Isoc) MxPS= 704 Ivl= 1ms I: If#= 1 Alt= 3 #EPs= 1 Cls=ff(vend.) Sub=00 Prot=ff Driver=cpia E: Ad=81(I) Atr=01(Isoc) MxPS= 960 Ivl= 1ms T: Bus=00 Lev=02 Prnt=02 Port=02 Cnt=02 Dev#= 5 Spd=1.5 MxCh= 0 D: Ver= 1.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=046d ProdID=c001 Rev= 1.10 S: Manufacturer=Logitech S: Product=USB-PS/2 Mouse New system calla DD DD DD Debug Information Modified USB core Just data transfers Host OS Host controller driver /proc/bus/usb/devices New /proc file Use existing Configuration Channel, and create new Data channel Monitoring Application

  7. Introduction • System Model • Progress so far • Initial Kernel interface • Revised kernel • Interface • Topology Interface • Data Interface • Remaining Issues • Original Timeline • Timeline Issues Revised Design New system calla DD DD DD Debug Information Modified USB core Just data transfers Host OS Host controller driver /proc/bus/usb/devices New /proc file Use existing Configuration Channel, and create new Data channel Monitoring Application

  8. Introduction • System Model • Progress so far • Initial Kernel interface • Revised kernel • Interface • Topology Interface • Data Interface • Remaining Issues • Original Timeline • Timeline Issues Revised Design /proc/bus/usb/????? New system calla DD DD DD All data is transmitted in structures called URBs The header information for all URBs will be sent here from the kernel. The actual data for URBs belonging to requested devices will also be sent here Debug Information Modified USB core Just data transfers Host OS Host controller driver /proc/bus/usb/devices New /proc file Use existing Configuration Channel, and create new Data channel Monitoring Application

  9. Remaining Issues • How to maintain a list in the kernel of which devices need their data sent to the application. • How to create a kernel patch. • Gtk vs. Java GUI • Active Device Interrogation – probably involves writing a generic hotplugable device driver. • Introduction • System Model • Progress so far • Initial Kernel interface • Revised kernel • Interface • Topology Interface • Data Interface • Remaining Issues • Original Timeline • Timeline Issues

  10. Original Timeline • Term 1, Week 1 - Start • Term 1, Week 4 - working USB kernel • Term 1, Week 6 - Defined interface between core and application • Term 1, Week 10 - Working core code • Term 2, Week 3 - bus-topology display • Term 2, Week 6 - full monitoring • Term 2, Week 9 - active device interrogation • Term 3, Week 2 - Begin final write up • Introduction • System Model • Progress so far • Initial Kernel interface • Revised kernel • Interface • Topology Interface • Data Interface • Remaining Issues • Original Timeline • Timeline Issues

  11. Timeline Issues • Some slippage – Defining the kernel interface has taken longer than expected. • However writing the kernel code should take less time than planned. • Must choose either Java or Gtk before next term. The implementation and testing of the kernel code is unaffected by this decision. • Introduction • System Model • Progress so far • Initial Kernel interface • Revised kernel • Interface • Topology Interface • Data Interface • Remaining Issues • Original Timeline • Timeline Issues

More Related