KolibriOS рдореЗрдВ USB рд╕рдорд░реНрдерди: рдЕрдВрджрд░ рдХреНрдпрд╛ рд╣реИ? рднрд╛рдЧ 1: рд╕рд╛рдорд╛рдиреНрдп рд░реВрдкрд░реЗрдЦрд╛

USB рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдореЗрдВ рдХрдИ рд╕реНрддрд░ рд╣реЛрддреЗ рд╣реИрдВред рдирд┐рдореНрдирддрдо рд╕реНрддрд░ рдкрд░, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЬрд┐рд╕реЗ рд╣реЛрд╕реНрдЯ рдХрдВрдЯреНрд░реЛрд▓рд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд╕рдВрдХреЗрддреЛрдВ рдХреЗ рд╕рд╛рде рдпреВрдПрд╕рдмреА рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдХрд░рддрд╛ рд╣реИред рд╕рд┐рдЧреНрдирд▓ рдмрд┐рдЯреНрд╕ рдХреЛ рдХреВрдЯрддреЗ рд╣реИрдВ, рдмрд┐рдЯреНрд╕ рдХреЛ рдкреИрдХреЗрдЯ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдкреИрдХреЗрдЯ рд╕реЗ рд▓реЗрдирджреЗрди рд╣реЛрддрд╛ рд╣реИ , рд▓реЗрди- рджреЗрди рдореЗрдВ рдмрджрд▓рд╛рд╡ рд╣реЛрддрд╛ рд╣реИред

рдореИрдВ рдпреВрдПрд╕рдмреА рдХреЗ рд▓рд┐рдП рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд╕рдорд░реНрдерди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдХреЗ рдиреАрдЪреЗ рдХреЗ рд╕реНрддрд░ рд▓рдЧрднрдЧ рдирд┐рд░реНрдмрд╛рдз рд╣реИрдВ: рдореЗрдЬрдмрд╛рди рдирд┐рдпрдВрддреНрд░рдХ рдЙрдирдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдХреМрди рд╕рд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реЛрд╕реНрдЯ рдирд┐рдпрдВрддреНрд░рдХ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИред рддреАрди рдЗрдВрдЯрд░рдлреЗрд╕ рдЕрдм рдЖрдо рд╣реИрдВ, рдФрд░ рдПрдХ рдЪреМрдерд╛ рдзреАрд░реЗ-рдзреАрд░реЗ рдлреИрд▓ рд░рд╣рд╛ рд╣реИ:
AbbrредрдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдирд╛рдорд╕рдВрд╕реНрдХрд░рдгKolibriOS рдореЗрдВ рдХрдВрдЯреНрд░реЛрд▓рд░ рд╕рдкреЛрд░реНрдЯ рдХреЛрдб
UHCIрдпреВрдирд┐рд╡рд░реНрд╕рд▓ рд╣реЛрд╕реНрдЯ рдХрдВрдЯреНрд░реЛрд▓рд░ рдЗрдВрдЯрд░рдлрд╝реЗрд╕USB 1.1рдХрд░реНрдиреЗрд▓ / рдЯреНрд░рдВрдХ / рдмрд╕ / usb / uhci.inc
OHCIрдореЗрдЬрдмрд╛рди рдирд┐рдпрдВрддреНрд░рдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдЦреЛрд▓реЗрдВUSB 1.1рдХрд░реНрдиреЗрд▓ / рдЯреНрд░рдВрдХ / рдмрд╕ / usb / ohci.inc
EHCIрдПрдиреНрд╣рд╛рдВрд╕реНрдб рд╣реЛрд╕реНрдЯ рдХрдВрдЯреНрд░реЛрд▓рд░ рдЗрдВрдЯрд░рдлрд╝реЗрд╕USB 2.0рдХрд░реНрдиреЗрд▓ / рдЯреНрд░рдВрдХ / рдмрд╕ / usb / ehci.inc
xHCIeXtensible рд╣реЛрд╕реНрдЯ рдХрдВрдЯреНрд░реЛрд▓рд░ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ (рдирдпрд╛)рдпреВрдПрд╕рдмреА 3.0KolibriOS рдЕрднреА рддрдХ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ
рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХреЗ рд╕рдорд╛рди рд╕реНрддрд░ рдкрд░ рдХрд░реНрдиреЗрд▓ / рдЯреНрд░рдВрдХ / рдмрд╕ / usb / hccommon.inc рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВ , рдЬрд╣рд╛рдВ рд╕рднреА рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдХрд╛рд░реНрдп рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдХрд░реНрдиреЗрд▓ / рдЯреНрд░рдВрдХ / рдмрд╕ / usb / init.inc , рдЬреЛ рд╕рдВрдкреВрд░реНрдг рдЙрдкрддрдВрддреНрд░ рдХрд╛ рд╢реБрднрд╛рд░рдВрдн рдХрд░рддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХреЛрдб рдореЗрдВ рдЖрдиреЗ рдХреЗ рджреМрд░рд╛рди рдЬрд▓реНрджреА рдордд рдХрд░реЛ - рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рдЕрднреА рддрдХ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдирд╣реАрдВ рдХреА рд╣реИ рдХрд┐ рдЙрдЪреНрдЪ рд╕реНрддрд░ рдЗрд╕рд╕реЗ рдХреНрдпрд╛ рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рджреВрд╕рд░реА рдмрд╛рдд, рд╕рд╛рдорд╛рдиреНрдп рдпреЛрдЬрдирд╛ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде рд╡реНрдпрдХреНрддрд┐рдЧрдд рдШрдЯрдХреЛрдВ рдкрд░ рд▓реМрдЯреВрдВрдЧрд╛ред


рд╕рд┐рджреНрдзрд╛рдВрдд рдХреА рдмрд┐рдЯ


рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдХреЛрдИ рднреА USB рдбрд┐рд╡рд╛рдЗрд╕ рдПрдВрдбрдкреЙрдЗрдВрдЯ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЖрдк рдкрд╛рдЗрдк рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдХреА рдЕрдкрдиреА рд╕рдВрдЦреНрдпрд╛ рд╣реЛрддреА рд╣реИ, 0 рд╕реЗ 15. рддрдХред рджреЛ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБрдУрдВ рдореЗрдВ рдПрдХ рд╣реА рд╕рдВрдЦреНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ рдпрджрд┐ рд╡реЗ рджреЛрдиреЛрдВ рдпреВрдирд┐рдбрд╛рдпрд░реЗрдХреНрд╢рдирд▓ рд╣реЛрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рд╣реЛрд╕реНрдЯ рд╕реЗ рдбрд┐рд╡рд╛рдЗрд╕ рддрдХ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдХреЗ рд▓рд┐рдП рд╣реИ, рдФрд░ рджреВрд╕рд░рд╛ рд╡рд┐рдкрд░реАрдд рджрд┐рд╢рд╛ рдореЗрдВред

рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рдЧрд┐рдпрд░ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЪрд╛рд░ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЕрдВрддрд┐рдо рдмрд┐рдВрджреБ рд╣реИрдВред



USB рдмрд╕ рдкрд░ рд╕рдордп рдХреЛ рдлреНрд░реЗрдо рдпрд╛ рдорд╛рдЗрдХреНрд░реЛрдлреНрд░реЗрдо рдореЗрдВ рдорд╛рдкрд╛ рдЬрд╛рддрд╛ рд╣реИред рдлрд╝реНрд░реЗрдо USB1 рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдП, рдПрдХ рдлреНрд░реЗрдо - рдПрдХ рдорд┐рд▓реАрд╕реЗрдХрдВрдбред рдорд╛рдЗрдХреНрд░реЛрдлрд╝реНрд░реЗрдо USB2 рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдП, рдПрдХ рдлреНрд░реЗрдо рдореЗрдВ 8 рдорд╛рдЗрдХреНрд░реЛрдлрд╝реНрд░реЗрдо рд╣реИрдВред USB рдЕрд╡рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдХреЗ рдмреАрдЪ рдЕрдиреБрд░реЛрдзрд┐рдд рд╕рдордп рдЕрдВрддрд░рд╛рд▓ рдХреА рдЧрд╛рд░рдВрдЯреА рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ (рдорд╛рдЗрдХреНрд░реЛ) рдлрд╝реНрд░реЗрдореЛрдВ рдкрд░ рд░реБрдХрд╛рд╡рдЯ рдФрд░ рд╕рдордХрд╛рд▓рд┐рдХ рд╕рдВрдЪрд░рдг рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рд╣реИред рдпреЛрдЬрдирд╛ рдореЗрдВ 90% рд╕реЗ рдЕрдзрд┐рдХ рдлреНрд░реЗрдо рдпрд╛ 80% рд╕реЗ рдЕрдзрд┐рдХ рдорд╛рдЗрдХреНрд░реЛрдлреНрд░реЗрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рдирд╣реАрдВ рд╣реИред рд╢реЗрд╖ рд╕рдордп (рдХрдо рд╕реЗ рдХрдо 10% / 20%, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЕрдзрд┐рдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдпрджрд┐ рд╕рднреА рд╕рдордп рдХреА рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рд╣реИ) рд╕рдХреНрд░рд┐рдп рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рд╕рд╛рд░рдгреЛрдВ рджреНрд╡рд╛рд░рд╛ рдХрдмреНрдЬрд╛ рдХрд░ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░, рдЕрд╡рд╢рд┐рд╖реНрдЯ рд╕рд┐рджреНрдзрд╛рдВрдд рджреНрд╡рд╛рд░рд╛, рдбреЗрдЯрд╛ рд╕рд░рдгрд┐рдпреЛрдВ рдХрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рдгред

рдЪреИрдирд▓ рд╕рдорд░реНрдерди рд╕реНрддрд░


рдХрд░реНрдиреЗрд▓ / рдЯреНрд░рдВрдХ / рдмрд╕ / usb / pip.inc рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЪреИрдирд▓ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╢рд╛рдорд┐рд▓ рд╣реИред рдПрдХ рдХрд╛рдлреА рд╡рд┐рд╕реНрддреГрдд рджрд╕реНрддрд╛рд╡реЗрдЬ рдХрд░реНрдиреЗрд▓ / рдЯреНрд░рдВрдХ / рдбреЙрдХреНрд╕ / usbapi.txt рдореЗрдВ рд╣реИ ред рдЕрдм 4 рдХрд╛рд░реНрдп рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рд╣реИрдВред рдЙрдирдореЗрдВ рд╕реЗ рдкрд╣рд▓реЗ рджреЛ:

рдЪреИрдирд▓ рд╕рдорд░реНрдерди рд╕реНрддрд░ рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗ рдЬреБрдбрд╝реЗ рд╕рднреА рдЪреИрдирд▓реЛрдВ рдХреЛ рдмрдВрдж рдХрд░рдХреЗ, рдбрд┐рд╡рд╛рдЗрд╕ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдШрдЯрдирд╛ рдХреЛ рднреА рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИред рддреЛ рдЪреИрдирд▓ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдмрдВрдж рдХрд░рдирд╛ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИред рдЪреМрдХрд╕ рдкрд╛рдардХ рдпрд╣рд╛рдБ рдЖрдХреНрд░реЛрд╢ рдореЗрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ: "рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдЪреИрдирд▓ рдЕрдЪрд╛рдирдХ рдЕрдкрдиреЗ рдЖрдк рдмрдВрдж рд╣реЛ рд╕рдХрддрд╛ рд╣реИ?" рд▓реЗрдХрд┐рди рдЪрд┐рдВрддрд╛ рди рдХрд░реЗрдВ - рдореМрдЬреВрджрд╛ рд╕реНрддрд░ рдкрд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдбрд┐рд╡рд╛рдЗрд╕ рд╢рдЯрдбрд╛рдЙрди рдЗрд╡реЗрдВрдЯ рднреА "рдЕрдк" рдкреНрд░рд╕рд╛рд░рд┐рдд рд╣реЛрддрд╛ рд╣реИред рдЪреИрдирд▓ рдЕрдВрдд рдореЗрдВ рд╕рднреА рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╣реА рдбрд┐рд╡рд╛рдЗрд╕ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдШрдЯрдирд╛ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдореМрдХрд╛ рд╣реЛрдЧрд╛ред рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ, рдЪреИрдирд▓ рдХреЗ рд╣реИрдВрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдо рд╕реЗ рдХрдо рддрдм рддрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рд╣реИрдВрдбрд▓рд░ "рдХрд╛рдо рдЦрддреНрдо" рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдбреНрд░рд╛рдЗрд╡рд░ рд╣реИрдВрдбрд▓рд░ рдХреЛ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ DeviceDisconnected рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЕрд╕рд▓реА рдирд╛рдо рдХреБрдЫ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ - рдбреНрд░рд╛рдЗрд╡рд░ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рдкреЙрдЗрдВрдЯрд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рджреЛ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдореБрдЭреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдкреНрд░рддреНрдпреЗрдХ рдЪреИрдирд▓ рдХреА рдЕрдкрдиреА рдкреНрд░рд╕рд╛рд░рдг рдХрддрд╛рд░ рд╣реЛрддреА рд╣реИ ред рдПрдХ рдХрддрд╛рд░ рдореЗрдВ рдПрдХ рд╕рдордп рдореЗрдВ рдХрдИ рдкреНрд░рд╕рд╛рд░рдг рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрдирдореЗрдВ рд╕реЗ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рд╕рдХреНрд░рд┐рдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИ - рд╡рд╣ рдЬреЛ рдХрддрд╛рд░ рдХреЗ рдкреНрд░рдореБрдЦ рдореЗрдВ рд╣реИред рд╕рдХреНрд░рд┐рдп рд╣рд╕реНрддрд╛рдВрддрд░рдг рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╣реА рдЕрдЧрд▓рд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рд╢реБрд░реВ рд╣реЛрдЧрд╛ред рдпрджрд┐ рдХреЛрдИ рд╣рд╕реНрддрд╛рдВрддрд░рдг рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ, рддреЛ рдХрддрд╛рд░ рдмрдВрдж рд╣реЛ рдЬрд╛рдПрдЧреАред рд╣рдореЗрдВ рдХрддрд╛рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ? рджрдХреНрд╖рддрд╛ рдХреЗ рд▓рд┐рдП: рдкреВрд░реНрдг рдХрд┐рдП рдЧрдП рд╣рд╕реНрддрд╛рдВрддрд░рдг рдХреЗ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдХреБрдЫ рд╕рдордп рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ, рдореЗрдЬрдмрд╛рди рдирд┐рдпрдВрддреНрд░рдХ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╣реИрдВрдбрд▓рд░ рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕ рдмреАрдЪ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВред рд╡рд┐рднрд┐рдиреНрди рдЪреИрдирд▓реЛрдВ рдХреА рдХрддрд╛рд░реЗрдВ рд╕реНрд╡рддрдВрддреНрд░ рд╣реИрдВ, рд╡рд┐рднрд┐рдиреНрди рдЪреИрдирд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред

рдЪреМрдХрд╕ рдкрд╛рдардХ рдиреЗ рдирд┐рд╕реНрд╕рдВрджреЗрд╣ рдХрд╛рд░реНрдпреЛрдВ рдХреА рдХрдореА рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рд╣реИред рдореИрдВ рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
рдХрд░реНрдиреЗрд▓ / рдЯреНрд░рдВрдХ / рдмрд╕ / usb / рдЕрдиреБрд╕реВрдЪрдХред C рдлрд╝рд╛рдЗрд▓ рднреА рдЪреИрдирд▓ рд╕рдорд░реНрдерди рд╕реНрддрд░ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ; рд╡рд╣ рдЧрд┐рдпрд░реНрд╕ рд╢реЗрдбреНрдпреВрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ рдЬреЛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╕рдордп рдХреЗ рдкреНрд░рддрд┐ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд╣реИрдВред

рддрд╛рд░реНрдХрд┐рдХ рдЙрдкрдХрд░рдг рд╕реНрддрд░


рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рд╕рд╛рд░рд╛рдВрд╢ рдореЗрдВ, рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдХрд╣рд╛ рдерд╛ рдХрд┐ рдХрд┐рд╕реА рднреА рдпреВрдПрд╕рдмреА рдбрд┐рд╡рд╛рдЗрд╕ рдореЗрдВ рдПрдХ рд╢реВрдиреНрдп рдирд┐рдпрдВрддреНрд░рдг рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдкреЛрд▓ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд░рддрд╛ рд╣реИред рдХрд░реНрдиреЗрд▓ / рдЯреНрд░рдВрдХ / рдмрд╕ / usb / рдкреНрд░реЛрдЯреЛрдХреЙрд▓.inc рдлрд╝рд╛рдЗрд▓ рдЪреИрдирд▓ рд╕рдорд░реНрдерди рдХреЗ рд╕реНрддрд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдмрд╕ рдпрд╣реА рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рд╕реНрддрд░ рдХрд╛ рдкрд░рд┐рдгрд╛рдо: рдПрдХ рд▓реЛрдб рдХрд┐рдП рдЧрдП рдбрд┐рд╡рд╛рдЗрд╕ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЙрд▓ рдорд┐рд▓рд╛ рдЬреЛ AddDevice рдХреЗ рд░реВрдк рдореЗрдВ рд╣реИред рдлрд┐рд░ рд╕рдм рдХреБрдЫ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рд╣рд╛рде рдореЗрдВ рд╣реИред AddDevice рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдкрд╣рд▓рд╛ рддрд░реНрдХ рдЪреИрдирд▓ рдХреЛ рд╢реВрдиреНрдп рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдкрд░ рдЦреЛрд▓рдиреЗ рдХрд╛ рд╣реИрдВрдбрд▓ рд╣реИред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдбреНрд░рд╛рдЗрд╡рд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдЪреИрдирд▓ рдЦреЛрд▓ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреА рдЙрд╕реЗ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд╕рд╛рде рд╣реА рд╕рд╛рде рд╢реВрдиреНрдп рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рднреА рдХрд░рддреЗ рд╣реИрдВред AddDevice рдХрд╛ рд░рд┐рдЯрд░реНрди рдорд╛рди рдпрд╛ рддреЛ рддреНрд░реБрдЯрд┐ рдкрд░ рд╢реВрдиреНрдп рд╣реИ, рдпрд╛ рдПрдХ рдЕрдореВрд░реНрдд рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИ рдХрд┐ USB рдЕрд╡рд╕рдВрд░рдЪрдирд╛, рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд┐рдП рдмрд┐рдирд╛, рд╢реВрдиреНрдп рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рдбрд┐рд╡рд╛рдЗрд╕рдбрд┐рд╕рдХреЙрди рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдкрд╛рд╕ рднреЗрдЬрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдмрд╛рдд рдХреА рдереАред
AddDevice рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдиреНрдп рджреЛ рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП , рдореБрдЭреЗ рдХреБрдЫ рдФрд░ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдПрдбрд╛рдкреНрдЯрд░ 2 * PS / 2 - & gt;  рдпреВрдПрд╕рдмреА
рдПрдХ рднреМрддрд┐рдХ рдЙрдкрдХрд░рдг рдХрдИ рдЗрдВрдЯрд░рдлреЗрд╕ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдПрдХ рдбрд┐рдЧреНрд░реА рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдкреНрд░рддреНрдпреЗрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдХрд╛ рдЕрдкрдирд╛ рд╕реЗрдЯ рд╣реЛрддрд╛ рд╣реИред рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг рдХрдИ рдкреАрдПрд╕ / 2 рд╕реЗ рдпреВрдПрд╕рдмреА рдПрдбреЗрдкреНрдЯрд░ рд╣реИрдВ рдЬреЛ рдПрдХ рдорд╛рдЙрд╕ рдФрд░ рдХреАрдмреЛрд░реНрдб рдХреЗ рд▓рд┐рдП рджреЛ рдЗрдирдкреБрдЯ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ; рдРрд╕рд╛ USB рдбрд┐рд╡рд╛рдЗрд╕ рджреЛ рдЕрд╕рдВрдмрджреНрдз рдЗрдВрдЯрд░рдлреЗрд╕ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдПрдХ рдХрдо рд╕реНрдкрд╖реНрдЯ, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдп рдЙрджрд╛рд╣рд░рдг: рд╡рд┐рд╢реЗрд╖ рдмрдЯрди рд╡рд╛рд▓реЗ рдпреВрдПрд╕рдмреА-рдХреАрдмреЛрд░реНрдб рдХреЛ рдЕрдХреНрд╕рд░ рджреЛ рд╕реНрд╡рддрдВрддреНрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдПрдХ - рдорд╛рдирдХ рдмрдЯрди рдХреЗ рд╕рд╛рде рдПрдХ рдХреАрдмреЛрд░реНрдб, рджреВрд╕рд░рд╛ - рдЕрддрд┐рд░рд┐рдХреНрдд рдмрдЯрдиред
USB рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рд╡рд┐рднрд┐рдиреНрди рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдХреЗ рдЕрдиреБрд░реЛрдз рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ ред рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдХреЗ рдЬрд╡рд╛рдм рдореЗрдВ, рдбрд┐рд╡рд╛рдЗрд╕ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕реЗ рдЬреБрдбрд╝реЗ рд╕рднреА рдЗрдВрдЯрд░рдлреЗрд╕ рдФрд░ рд╕рднреА рд╕рдорд╛рдкрди рдмрд┐рдВрджреБрдУрдВ рдХреЗ рд▓рд┐рдП рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рд╕рд╣рд┐рдд рдХрдИ рд╕рдВрдмрдВрдзрд┐рдд рдЬрд╛рдирдХрд╛рд░реА рднреА рд▓реМрдЯрд╛рддрд╛ рд╣реИред рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рд╡рд░реНрдгрдирдХрд░реНрддрд╛ рдореЗрдВ рдПрдХ рдЪреИрдирд▓ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рднреА рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрддреА рд╣реИред
AddDevice рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рджреВрд╕рд░рд╛ рддрд░реНрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝реЗ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреЗрддрдХ рд╣реИ, рдЬреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ; рдЗрд╕рдХрд╛ рдПрдХ рдХреНрд╖реЗрддреНрд░ рдбреЗрдЯрд╛ рдХреА рдХреБрд▓ рд▓рдВрдмрд╛рдИ рд╣реИред AddDevice рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рддреАрд╕рд░рд╛ рддрд░реНрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИрдВрдбрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреЗрддрдХ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдбреНрд░рд╛рдЗрд╡рд░ рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред
рдпрджрд┐ рдХреЛрдИ рдбрд┐рд╡рд╛рдЗрд╕ рдХрдИ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рддрд╛рд░реНрдХрд┐рдХ рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рд╕реНрддрд░ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ - рдпрд╛ рдХрдИ рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреЛ - рдХрдИ рдмрд╛рд░ рдХреЙрд▓ рдХрд░реЗрдЧрд╛ред рдПрдХрд▓ AddDevice рдХреЙрд▓ рдХрд╛ рджрд╛рдпрд░рд╛ рдЙрд╕ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рд╕реЗ рдирд┐рдХрд▓рддрд╛ рд╣реИ рдЬреЛ рдЗрд╕реЗ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЕрдЧрд▓реЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдпрд╛ рдбреЗрдЯрд╛ рдХреЗ рдЕрдВрдд рддрдХ; рдЗрд╕ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд╕рднреА рд╕рдорд╛рдкрди рдмрд┐рдВрджреБрдУрдВ рдХреЗ рд╡рд░реНрдгрдирдХрд░реНрддрд╛ рдЗрд╕ рдЕрдВрддрд░рд╛рд▓ рдкрд░ рд╕реНрдерд┐рдд рд╣реИрдВред

рдбрд┐рд╡рд╛рдЗрд╕ рдбреНрд░рд╛рдЗрд╡рд░


рдпрд╣ USB рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдореЗрдВ рдЙрдЪреНрдЪрддрдо рд╕реНрддрд░ рд╣реИред рдбрд┐рд╡рд╛рдЗрд╕ рдбреНрд░рд╛рдЗрд╡рд░ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╡рд╛рдВрдЫрд┐рдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪреИрдирд▓ рд╕рдорд░реНрдерди рд╕реНрддрд░ рдПрдкреАрдЖрдИ рдФрд░ рддрд╛рд░реНрдХрд┐рдХ рдбрд┐рд╡рд╛рдЗрд╕ рд╕реНрддрд░ рджреНрд╡рд╛рд░рд╛ рдПрдХрддреНрд░рд┐рдд рдХреА рдЧрдИ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреЗ рдмреАрдЪ, рдХрд░реНрдиреЗрд▓ / рдЯреНрд░рдВрдХ / рдмрд╕ / usb / hub.inc рд╣рдм рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ рдЗрд╕ рддрдереНрдп рд╕реЗ рдкреНрд░рддрд┐рд╖реНрдард┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рдкрд╣рд▓реБрдУрдВ рдореЗрдВ рдпрд╣ рдореЗрдЬрдмрд╛рди рдирд┐рдпрдВрддреНрд░рдХ рд╕рдорд░реНрдерди рдХреЗ рд╕реНрддрд░ рдХреЗ рдХрд░реАрдм рд╣реИ рдФрд░ рдпреВрдПрд╕рдмреА рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХрд╛ рдПрдХ рдЕрднрд┐рдиреНрди рдЕрдВрдЧ рд╣реИред USB рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЗрдХрд╛рдИ - рд░реВрдЯ рд╣рдм рдореЗрдВ USB рдкреЛрд░реНрдЯ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рдореЗрдЬрдмрд╛рди рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рдЕрд▓рдЧ рдХрд░рддрд╛ рд╣реИ; рд░реВрдЯ рд╣рдм рдореЗрдВ рдЕрдиреНрдп рд╕реНрддрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рд╣рдм рдХреЗ рд╕рд╛рде рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдореМрд▓рд┐рдХ рд░реВрдк рд╕реЗ рдЕрд▓рдЧ рд╣реИрдВред
рд╣рдм рд╕рдкреЛрд░реНрдЯ рдХреЛрдб рдЗрдВрдЯрд░рдлрд╝реЗрд╕: рдЬрдм рдбрд┐рд╡рд╛рдЗрд╕ рдХрдиреЗрдХреНрдЯ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдХреЛрдб рдирдП рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реЛрд╕реНрдЯ рдХрдВрдЯреНрд░реЛрд▓рд░ рд╕рдкреЛрд░реНрдЯ рдХреЛрдб рдХреЛ рд╕реВрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ; рдЬрдм рдбрд┐рд╡рд╛рдЗрд╕ рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдХреЛрдб рдЗрд╕ рдЪреИрдирд▓ рд╕рдорд░реНрдерди рд╕реНрддрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ; рддрд╛рд░реНрдХрд┐рдХ рдбрд┐рд╡рд╛рдЗрд╕ рд╕реНрддрд░ рдХреЗ рд▓рд┐рдП, рдХреЛрдб AddDevice + DeviceDisconnected рдлрд╝рдВрдХреНрд╢рдВрд╕ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рдХреНрд░рдорд╢рдГ usb_hub_init рдФрд░ usb_hub_disconnect рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рдирдП рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗ рдкреЛрд░реНрдЯ рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рднреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЪреВрд╣реЗ рдФрд░ рдХреАрдмреЛрд░реНрдб рдХрд░реНрдиреЗрд▓ / рдЯреНрд░рдВрдХ / рдбреНрд░рд╛рдЗрд╡рд░ / usbhid.asm рдбреНрд░рд╛рдЗрд╡рд░ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВред рдлрд╝реНрд▓реИрд╢ рдбреНрд░рд╛рдЗрд╡рд░ рдХрд░реНрдиреЗрд▓ / рдЯреНрд░рдВрдХ / рдбреНрд░рд╛рдЗрд╡рд░ / usbstor.asm рдбреНрд░рд╛рдЗрд╡рд░ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИред

рд╣реЛрд╕реНрдЯ рдХрдВрдЯреНрд░реЛрд▓рд░ рд╕рдкреЛрд░реНрдЯ рдХреЛрдб рдЗрдВрдЯрд░рдлрд╝реЗрд╕


рдЕрдВрдд рдореЗрдВ, рдореИрдВ рдореЗрдЬрдмрд╛рди рдирд┐рдпрдВрддреНрд░рдХ рд╕рд╣рд╛рдпрддрд╛ рдХреЛрдб рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдкреВрд░реЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдЕрдиреНрдп рд╕реНрддрд░реЛрдВ рдкрд░ рд╕рдордЭрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реВрдВред рдЬрдм рдПрдХ рдирдпрд╛ рдЙрдкрдХрд░рдг рдЬреБрдбрд╝рд╛ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рддрд╛рд░реНрдХрд┐рдХ рдЙрдкрдХрд░рдг рд╕реНрддрд░ рдХреЗ usb_new_device рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣рд╛рдВ рдореБрдЭреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП: usb_new_device рдЪреИрдирд▓ рдХреЛ рд╢реВрдиреНрдп рдмрд┐рдВрджреБ рдкрд░ рдЦреЛрд▓рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдЧрд╛ред рд▓реЗрдХрд┐рди рдЪреИрдирд▓ рдЙрджреНрдШрд╛рдЯрди рд╕рдорд╛рд░реЛрд╣ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЦреБрд▓реЗ рдЪреИрдирд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬрд╣рд╛рдВ рд╕реЗ рдпрд╣ рдбрд┐рд╡рд╛рдЗрд╕ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдХреЙрдкреА рдХрд░рддрд╛ рд╣реИред рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореЗрдЬрдмрд╛рди рдирд┐рдпрдВрддреНрд░рдХ рд╕реНрддрд░ рдПрдХ рдЫрджреНрдо рдЪреИрдирд▓ рдмрдирд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреА рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдпрд╣ рдЙрдкрдХрд░рдг рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХреЗрд╡рд▓ рдлрд╝реАрд▓реНрдб рднрд░рддрд╛ рд╣реИред рдЪреИрдирд▓ рдХреЛ рд╢реВрдиреНрдп рдмрд┐рдВрджреБ рдкрд░ рдЦреЛрд▓рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреВрд░реНрдг-рд╡рд┐рдХрд╕рд┐рдд рдЪреИрдирд▓ рдмрди рдЬрд╛рдПрдЧрд╛ред рдЬрдм рдореЗрдЬрдмрд╛рди рдирд┐рдпрдВрддреНрд░рдХ рдЪреИрдирд▓ рдХреЗ рдЧрд╛рдпрдм рд╣реЛрдиреЗ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЖрддрд╛ рд╣реИ, рддреЛ usb_pipe_closed рд╕рдорд░реНрдерди рд╕реНрддрд░ рдХреЗ usb_pipe_closed рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реЗрдЯрдЕрдк рдХреЗ рджреМрд░рд╛рди рддрд╛рд░реНрдХрд┐рдХ рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рд╕реНрддрд░ рдЪреИрдирд▓ рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдмрджрд▓рддрд╛ рд╣реИ; рдЬрдм рдореЗрдЬрдмрд╛рди рдирд┐рдпрдВрддреНрд░рдХ рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдкрд░рд┐рд╡рд░реНрддрди рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рддрд╛рд░реНрдХрд┐рдХ рдбрд┐рд╡рд╛рдЗрд╕ рд╕реНрддрд░ рдХреЗ usb_after_set_address рдФрд░ usb_after_set_endpoint_size рд╕реЗ рдПрдХ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВ рдЖрдкрдХреЛ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рддрд╛рд░реНрдХрд┐рдХ рдЙрдкрдХрд░рдг рдХреЗ рд╕реНрддрд░ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдпрд╣ рдХреНрдпреЛрдВ рдЖрд╡рд╢реНрдпрдХ рд╣реИред

рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╣реЛрд╕реНрдЯ рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдп рдФрд░ рджреВрд╕рд░реЗ рдХреЛрдб рд╕реЗ рдХреЙрд▓ рдХрд┐рдП рдЧрдП рд╣реИрдВ рдЬреЛ usb_hardware_func рд╕реЗ usb_hardware_func рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдП рдЧрдП рд╣реИрдВред рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:

рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд╕рднреА рд▓реЗрдЦ


рднрд╛рдЧ 1: рд╕рд╛рдорд╛рдиреНрдп рд░реВрдкрд░реЗрдЦрд╛
рднрд╛рдЧ 2: рдореЗрдЬрдмрд╛рди рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдореВрд▓ рдмрд╛рддреЗрдВ
рднрд╛рдЧ 3: рд╣реЛрд╕реНрдЯ рдХрдВрдЯреНрд░реЛрд▓рд░ рд╕рдкреЛрд░реНрдЯ рдХреЛрдб
рднрд╛рдЧ 4: рдЪреИрдирд▓ рд╕рдорд░реНрдерди рд╕реНрддрд░
рднрд╛рдЧ 5: рддрд╛рд░реНрдХрд┐рдХ рдЙрдкрдХрд░рдг рд╕реНрддрд░
рднрд╛рдЧ 6: рд╣рдм рдбреНрд░рд╛рдЗрд╡рд░

PS рдЕрдЧрд░ рдХрд┐рд╕реА рдФрд░ рдХреЛ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ: рд╣рдо рдЕрдкрдиреЗ рд╕рдорд░ рдХреЛрдб рдХреЛ рдЦрд░реНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдкреИрд╕реЗ рдХрд┐рдХрд╕реНрдЯрд╛рд░реНрдЯрд░ рдкрд░ рдЬрдорд╛ рдХрд░рддреЗ рд╣реИрдВред рдЕрдм рддрдХ, 65% рдПрдХрддреНрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдзрди рдЙрдЧрд╛рд╣рдиреЗ рд╡рд╛рд▓рд╛ 31 рдордИ (рдХрд▓) рдХреЛ рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред рд▓реЗрдЦ: habrahabr.ru/post/180197

Source: https://habr.com/ru/post/In181586/


All Articles