SlideShare une entreprise Scribd logo
1  sur  5
USB Communication/Configuration Overview How does communication between a USB device and a PC work? How does a USB device initiate contact with a PC?
How does communication between a USB device and a PC work?  Logical Communication Flow Endpoint  1 Endpoint 2 Endpoint  N Endpoints Have 4 Transfer Types: Control Transfer – For sending commands Interrupt Transfer – Host must poll this EP Isochronous Transfer – Time sensitive Info Bulk Transfer – For large data bursts Buffer 1 Buffer 2 Buffer N Data is sent to memory buffers which will be processed by the software application Interface 1 Software Application Interfaces : grouping of the endpoints into a functional group performing a single feature of the device.  For example:  Keyboard,Mouse,Camera,Scanner,DVD drive   Operating System
How does communication between a USB device and a PC work? Renesas H8S /2215 Device c PC OS Firmware Hardware Firmware Hardware Firmware Firmware Interface Description Grouping of endpoints performing a single feature of the device Relationship Collection of Endpoints Various transfer types: Control,Interrupt, Isochronous,Bulk Data Transfer Per Endpoint Serial  Interface Engine USB Bus Interface Physical/Signal/Packet Connectivity Data USB Driver Software Application Interprets data based on Interfaces Buffered Data USB Bus Interface Serial  Interface Engine Physical/Signal/Packet Connectivity USB Cable Data Host Controller Driver Device’s configuration, status, and control information. Endpoint 0: Control Pipe Manages System Devices .  Data USB System Software Host Controller UHCI OHCI EHCI Data
How does a USB device initiate contact with a PC? Configuration Descriptor How the Device is  setup Device Address Device Descriptor Represents the device 1 USB System Software Endpoint 0  Control Pipe Device’s configuration, status, and control information. Wait 100ms for USB Stabilization 2 3 PC gives Device an Address 4 PC requests Device Descriptor 5 PC requests Configuration Descriptor 6 Windows asks for driver for the device.  Driver is then located and installed. 7
How does a USB device initiate contact with a PC? USB System Software Endpoint 0 1 Wait 100ms for USB Stabilization 2 This descriptor contains the Interface and Endpoint descriptor 5 Configuration Descriptor How the Device is  setup PC gives Device an Address Device Address 4 3 Device Descriptor Represents the device PC requests Device Descriptor 6 Windows asks for driver for the device.  Driver is then located and installed. 7

Contenu connexe

En vedette

HKG15-409: ARM Hibernation enablement on SoCs - a case study
HKG15-409: ARM Hibernation enablement on SoCs - a case studyHKG15-409: ARM Hibernation enablement on SoCs - a case study
HKG15-409: ARM Hibernation enablement on SoCs - a case studyLinaro
 
Database mirroring setup
Database mirroring setupDatabase mirroring setup
Database mirroring setupK Singh
 
Android booting sequece and setup and debugging
Android booting sequece and setup and debuggingAndroid booting sequece and setup and debugging
Android booting sequece and setup and debuggingUtkarsh Mankad
 
Android HAL Introduction: libhardware and its legacy
Android HAL Introduction: libhardware and its legacyAndroid HAL Introduction: libhardware and its legacy
Android HAL Introduction: libhardware and its legacyJollen Chen
 
Learning AOSP - Android Booting Process
Learning AOSP - Android Booting ProcessLearning AOSP - Android Booting Process
Learning AOSP - Android Booting ProcessNanik Tolaram
 
Linux Sürücü Geliştirme (Linux Device Driver Development)
Linux Sürücü Geliştirme (Linux Device Driver Development)Linux Sürücü Geliştirme (Linux Device Driver Development)
Linux Sürücü Geliştirme (Linux Device Driver Development)kyasar
 
Automating Analysis and Exploitation of Embedded Device Firmware
Automating Analysis and Exploitation of Embedded Device FirmwareAutomating Analysis and Exploitation of Embedded Device Firmware
Automating Analysis and Exploitation of Embedded Device FirmwareMalachi Jones
 
Accessing Hardware on Android
Accessing Hardware on AndroidAccessing Hardware on Android
Accessing Hardware on AndroidGary Bisson
 
Design Of A Usb Device Driver (Overview)
Design Of A Usb Device Driver (Overview)Design Of A Usb Device Driver (Overview)
Design Of A Usb Device Driver (Overview)allankliu
 
An Overview Study on USB OTG Device ISP1761
An Overview Study on USB OTG Device ISP1761An Overview Study on USB OTG Device ISP1761
An Overview Study on USB OTG Device ISP1761Premier Farnell
 

En vedette (17)

BeagleBone Workshop
BeagleBone WorkshopBeagleBone Workshop
BeagleBone Workshop
 
Android Custom Kernel/ROM design
Android Custom Kernel/ROM designAndroid Custom Kernel/ROM design
Android Custom Kernel/ROM design
 
HKG15-409: ARM Hibernation enablement on SoCs - a case study
HKG15-409: ARM Hibernation enablement on SoCs - a case studyHKG15-409: ARM Hibernation enablement on SoCs - a case study
HKG15-409: ARM Hibernation enablement on SoCs - a case study
 
Beagle board
Beagle boardBeagle board
Beagle board
 
Usb 72213 76207
Usb 72213 76207Usb 72213 76207
Usb 72213 76207
 
Database mirroring setup
Database mirroring setupDatabase mirroring setup
Database mirroring setup
 
Intro
IntroIntro
Intro
 
How To Build Android for ARM Chip boards
How To Build Android for ARM Chip boardsHow To Build Android for ARM Chip boards
How To Build Android for ARM Chip boards
 
Android booting sequece and setup and debugging
Android booting sequece and setup and debuggingAndroid booting sequece and setup and debugging
Android booting sequece and setup and debugging
 
Android HAL Introduction: libhardware and its legacy
Android HAL Introduction: libhardware and its legacyAndroid HAL Introduction: libhardware and its legacy
Android HAL Introduction: libhardware and its legacy
 
Learning AOSP - Android Booting Process
Learning AOSP - Android Booting ProcessLearning AOSP - Android Booting Process
Learning AOSP - Android Booting Process
 
Linux Sürücü Geliştirme (Linux Device Driver Development)
Linux Sürücü Geliştirme (Linux Device Driver Development)Linux Sürücü Geliştirme (Linux Device Driver Development)
Linux Sürücü Geliştirme (Linux Device Driver Development)
 
Automating Analysis and Exploitation of Embedded Device Firmware
Automating Analysis and Exploitation of Embedded Device FirmwareAutomating Analysis and Exploitation of Embedded Device Firmware
Automating Analysis and Exploitation of Embedded Device Firmware
 
Accessing Hardware on Android
Accessing Hardware on AndroidAccessing Hardware on Android
Accessing Hardware on Android
 
Design Of A Usb Device Driver (Overview)
Design Of A Usb Device Driver (Overview)Design Of A Usb Device Driver (Overview)
Design Of A Usb Device Driver (Overview)
 
An Overview Study on USB OTG Device ISP1761
An Overview Study on USB OTG Device ISP1761An Overview Study on USB OTG Device ISP1761
An Overview Study on USB OTG Device ISP1761
 
Usb Overview
Usb OverviewUsb Overview
Usb Overview
 

Plus de allankliu

NMEA Manual of SiRF-III
NMEA Manual of SiRF-IIINMEA Manual of SiRF-III
NMEA Manual of SiRF-IIIallankliu
 
Lecture24 Multiprocessor
Lecture24 MultiprocessorLecture24 Multiprocessor
Lecture24 Multiprocessorallankliu
 
Mp Os Survey
Mp Os SurveyMp Os Survey
Mp Os Surveyallankliu
 
Embedded Systems Design Embedded
Embedded Systems Design   EmbeddedEmbedded Systems Design   Embedded
Embedded Systems Design Embeddedallankliu
 
Usb In A Nutshell
Usb In A NutshellUsb In A Nutshell
Usb In A Nutshellallankliu
 
Usb Multi Role Device Design By Example
Usb Multi Role Device Design By ExampleUsb Multi Role Device Design By Example
Usb Multi Role Device Design By Exampleallankliu
 
Usb Wp Implementing Usb
Usb Wp Implementing UsbUsb Wp Implementing Usb
Usb Wp Implementing Usballankliu
 

Plus de allankliu (8)

NMEA Manual of SiRF-III
NMEA Manual of SiRF-IIINMEA Manual of SiRF-III
NMEA Manual of SiRF-III
 
Lecture24 Multiprocessor
Lecture24 MultiprocessorLecture24 Multiprocessor
Lecture24 Multiprocessor
 
Mp Os Survey
Mp Os SurveyMp Os Survey
Mp Os Survey
 
Embedded Systems Design Embedded
Embedded Systems Design   EmbeddedEmbedded Systems Design   Embedded
Embedded Systems Design Embedded
 
Usb In A Nutshell
Usb In A NutshellUsb In A Nutshell
Usb In A Nutshell
 
Pdiusbd11
Pdiusbd11Pdiusbd11
Pdiusbd11
 
Usb Multi Role Device Design By Example
Usb Multi Role Device Design By ExampleUsb Multi Role Device Design By Example
Usb Multi Role Device Design By Example
 
Usb Wp Implementing Usb
Usb Wp Implementing UsbUsb Wp Implementing Usb
Usb Wp Implementing Usb
 

Dernier

Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 

Dernier (20)

Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 

Usb Connection With The Hid Class Driver

  • 1. USB Communication/Configuration Overview How does communication between a USB device and a PC work? How does a USB device initiate contact with a PC?
  • 2. How does communication between a USB device and a PC work? Logical Communication Flow Endpoint 1 Endpoint 2 Endpoint N Endpoints Have 4 Transfer Types: Control Transfer – For sending commands Interrupt Transfer – Host must poll this EP Isochronous Transfer – Time sensitive Info Bulk Transfer – For large data bursts Buffer 1 Buffer 2 Buffer N Data is sent to memory buffers which will be processed by the software application Interface 1 Software Application Interfaces : grouping of the endpoints into a functional group performing a single feature of the device. For example: Keyboard,Mouse,Camera,Scanner,DVD drive Operating System
  • 3. How does communication between a USB device and a PC work? Renesas H8S /2215 Device c PC OS Firmware Hardware Firmware Hardware Firmware Firmware Interface Description Grouping of endpoints performing a single feature of the device Relationship Collection of Endpoints Various transfer types: Control,Interrupt, Isochronous,Bulk Data Transfer Per Endpoint Serial Interface Engine USB Bus Interface Physical/Signal/Packet Connectivity Data USB Driver Software Application Interprets data based on Interfaces Buffered Data USB Bus Interface Serial Interface Engine Physical/Signal/Packet Connectivity USB Cable Data Host Controller Driver Device’s configuration, status, and control information. Endpoint 0: Control Pipe Manages System Devices . Data USB System Software Host Controller UHCI OHCI EHCI Data
  • 4. How does a USB device initiate contact with a PC? Configuration Descriptor How the Device is setup Device Address Device Descriptor Represents the device 1 USB System Software Endpoint 0 Control Pipe Device’s configuration, status, and control information. Wait 100ms for USB Stabilization 2 3 PC gives Device an Address 4 PC requests Device Descriptor 5 PC requests Configuration Descriptor 6 Windows asks for driver for the device. Driver is then located and installed. 7
  • 5. How does a USB device initiate contact with a PC? USB System Software Endpoint 0 1 Wait 100ms for USB Stabilization 2 This descriptor contains the Interface and Endpoint descriptor 5 Configuration Descriptor How the Device is setup PC gives Device an Address Device Address 4 3 Device Descriptor Represents the device PC requests Device Descriptor 6 Windows asks for driver for the device. Driver is then located and installed. 7