Onko todellista USB-yhteyskäytäntöä?

Jan 29, 2025
Laitteisto
SÄHKÖISETTÖTÖN SISÄLTÖ

Suurin osa meistä ei koskaan ajattele paljon USB-laitteistamme, vain liitämme ne ja unohdamme ne. Mutta entä jos olet utelias tyyppi, joka haluaa tietää enemmän USB: n toiminnasta? Tämän päivän SuperUser Q & A -viestissä on vastaukset utelias lukijan kysymyksiin.

Tämän päivän Kysymys- ja vastausistunto tulee meille SuperUser-yhteisöstään, joka on Stack Exchangen osasto.

Kuva: Evilelka Kowalski (Flickr) .

Kysymys

SuperUser-lukijan smeeb haluaa tietää, onko todellinen USB-yhteyskäytäntö todella olemassa:

Wikipedian mukaan USB :

  • Määrittää väylässä käytettävät kaapelit, liittimet ja tiedonsiirtoprotokollat ​​tietokoneiden ja elektronisten laitteiden väliseen liitäntään, tiedonsiirtoon ja virtalähteeseen.

Mutta onko olemassa todellista USB-yhteyskäytäntö ? Ymmärrän, että:

  1. Yhdistät USB-laitteen koneeseen (esimerkiksi Ubuntu tai mikä tahansa Linux).
  2. Linux löytää jotenkin laitteen laiteohjaimen ( bonus jos tiedät! ) ja lataa sen.
  3. Laite on nyt kytketty kohtaan / dev / theDevice .
  4. Käyttäjätilan sovellukset voivat nyt lukea ja kirjoittaa niihin / dev / theDevice ja ohjain käsittelee matalan tason syötteen ja lähdön taustalla olevaan laitteeseen / laitteistoon.

Sikäli kuin voin kertoa, a USB-yhteyskäytäntö ei näy missään tässä virtauksessa. Jos ymmärrykseni on oikea, USB on vain kaapeli ja sähköliitäntä tietokoneen ja laitteen välillä.

Olenko väärässä täällä? Toteuttaako USB todella jonkinlaisen matalan tason protokollan, joka korostaa yllä olevaa kulkua? Jos on, mikä se on ja miten se toimii 30000 jalanäkymässä?

Onko olemassa todellista USB-yhteyskäytäntöä?

Vastaus

SuperUser-avustajat RedGrittyBrick ja projectdp ovat meille vastaus. Ensin, RedGrittyBrick:

Joo ( katso USB-protokollat ).

Ymmärtääkseni USB-spesifikaatio määrittää monimutkaisen joukon kerrostettuja protokollia ja laiteprofiileja.

Esimerkiksi USB-laitteet voivat mukautua korkean tason malleihin, kuten massamuisti, näppäimistö, ihmisen käyttöliittymä jne., Ja niitä voi hallita yleinen laiteohjain. Jotkut USB-laitteet voivat kommunikoida alemmalla tasolla siten, että käyttöjärjestelmän matalan tason USB-tuki tunnistaa, että tarvitaan laitekohtaisia ​​ylemmän tason ohjaimia.

Tämän jälkeen vastaus projektilta:

Kysymys

Onko toiminnassa matalan tason USB-yhteyskäytäntö ja mikä se on?

Vastaus

Kyllä on. USB-määrittely sisältää USB-protokollan, joka määrittelee tavan, jolla väylää käytetään bittitasolla. Tämä olisi matalan tason protokolla, joka on korkeamman tason protokollien (eli massamuistin, HID: n jne.) Taustalla.

Lisätietoja USB-protokollan toiminnasta on tässä OSDev-wiki on hyödyllinen. Tässä on toinen mielenkiintoinen kuvaus sekvenssikaavioiden avulla kuvaamaan erilaisia ​​datatapahtumia USB-protokollan mukaan.

Bonuskysymys

Kuinka Linux löytää ja lataa laitteen laiteohjaimen?

Bonusvastaus

Linuxissa, kun käytetään USB-yhteensopivaa ydintä, toimiva USB-laite havaitaan laitteiston ja ytimen kautta USB-määrityksen vuoksi. Laitteiston puolella tunnistus tapahtuu USB-isäntäohjaimella. Sitten ytimessä isäntäohjaimen ohjain ottaa haltuunsa ja kääntää langan matalan tason bitit USB-protokollan muotoisiksi tiedoiksi. Nämä tiedot täyttyvät sitten ytimen usbcore-ohjaimessa.

Olen muotoillut tästä erinomaisesta Opensourceforu-artikkeli , jossa on paljon yksityiskohtaisempaa ja selkeämpää kysymystäsi Linux-kontekstissa.

Muista tarkistaa loput vilkkaasta keskustelusta alla jaetun linkkilinkin kautta!


Onko sinulla jotain lisättävää selitykseen? Ääni pois kommenteista. Haluatko lukea lisää vastauksia muilta teknisesti taitavilta Stack Exchangen käyttäjiltä? Katso koko keskusteluketju täältä .

.entry-sisältö .entry-alatunniste

USB Protocol

What Is HART Protocol?

How To Reverse Engineer A USB Protocol For Linux

Fun And Easy USB - How The USB Protocol Works

HTC Vive USB Protocol Reverse Engineering

Dmitriy Kostiuk | How To Get Yourself Into The Usb Protocol Without Pain

What Is The USB Type-C Signal Plan? How Does Orientation Independence Happen?

About The Data Center 3.0, A Protocol Analysis Software For USB, I2C, And SPI

What Is RS232 And What Is It Used For?


Laitteisto - Suosituimmat artikkelit

HDMI 2.1: Mitä uutta ja onko sinun päivitettävä?

Laitteisto Sep 12, 2025

Neekeri Elha / Shuterstock Kanssa seuraavan sukupolven konsolit vuoden 2020 loppuun mennessä ja NVIDIAn RTX 30 -sarja ..


Kuinka parantaa hiiren osoittamisen tarkkuutta Windowsissa

Laitteisto Sep 18, 2025

Enhance Pointer Precision -toiminnosta DPI: hen ja osoittimen nopeuteen on paljon vaihtoehtoja, jotka vaikuttavat siihen, miten hiiren osoitin liikkuu Windowsissa. Seuraavat vinkit ..


Kuinka selvittää, mikä estää Macia nukkumasta

Laitteisto Apr 18, 2025

SÄHKÖISETTÖTÖN SISÄLTÖ On tarpeeksi huono, että lapsesi ei koskaan mene nukkumaan, mutta nyt Mac tekee saman asian! Toki, se ei ehkä itke, mutta Mac istuu vain hereillä, ..


Mitkä ovat näppäimistön Sys Rq-, Scroll Lock- ja Pause Break -näppäimet?

Laitteisto Sep 26, 2025

Vilkaisu näppäimistöön ja on todennäköistä, että oikean yläkulman lähellä on muutama avain, jota et koskaan käytä: Sys Rq, vierityslukko ja tauko / tauko. Oletko koskaa..


GoPron asentaminen DSLR-kameraan

Laitteisto Sep 15, 2025

SÄHKÖISETTÖTÖN SISÄLTÖ Jos sinulla on DSLR-kamera, jossa on a kuuma kenkä , on helppo kiinnittää useita salamoita ja muita lisävarusteita suoraan kameraan..


Hälytysten ja ajastinten asettaminen Apple Watchiin

Laitteisto Mar 8, 2025

SÄHKÖISETTÖTÖN SISÄLTÖ IPhone voi olla käytetään herätyskellona, ​​sekuntikellona ja ajastimena . Jos sinulla on Apple Watch, sinun ei kuitenkaan tarv..


Kuinka pelata PC-pelejä televisiossasi

Laitteisto Jul 12, 2025

Ei tarvitse odottaa Valve's Steam Machines - Liitä Windows-pelitietokoneesi televisioon ja käytä tehokasta PC-grafiikkaa olohuoneessa tänään. Se on helppoa - et..


Kuinka käynnistää USB-asemalta VirtualBoxissa

Laitteisto Jul 4, 2025

VirtualBox ei voi käynnistää virtuaalikoneita USB-muistitikkuilta, joten voit käynnistä elävä Linux-järjestelmä tai asenna käyttöjärjestelmä käynnistett..


Luokat