USB

Allikas: Imre kasutab arvutit
Redaktsioon seisuga 21. september 2025, kell 04:04 kasutajalt Imre (arutelu | kaastöö) (→‎Misc)
Mine navigeerimisribaleMine otsikasti

Sissejuhatus

TODO

Tööpõhimõte

Väited

  • USB host interface controller tegeleb transpordiga (mitte translationiga nagu nt achi kontroller, mis tõlgib achi protokolli käigult sata protokolliks)
  • USB device controller

Klassid

  • andmesalvestus (storage) - MSC (Mass Storage Class)
  • serial port dongle - ACM (Abstract Control Model)
  • klaviatuur, hiir - HID (Human Interface Device Class)
  • wired network - NCM (Network Control Model)
  • wifi network - WCC (Wireless Controller Class)
  • bluetooth network - WCC (Wireless Controller Class)
  • smart card - CCID (Chip Card Interface Class)
  • webcam - UVC (Video Class)

Kusjuures CDC on ülemklass, mille alla kuuluvad WCC, NCM ja ACM. CDC alla otse ei kuulu seadmeid.

Üldiselt toimub CPU ja seadme vaheline suhtlemine kahe kihiliselt

  • cpu ja 'host controller interface' vahel toimub hci protokolli abil suhtlemine
  • cpu ja 'device controller interface' vahel toimub spetsiifilise protokolli abil suhtlemine (nt usb-storage puhul msc)
  • hci protokolli sisse on kapseldatud msc protokolli liiklus
  • host controlleri ülesandeks on usb seadmete nimekirja koostamine, seadmete avastamine ja unustamine, adresserimine, nö liikluse ruutimine jms

Storage

TODO

klaviatuur ja hiir

TODO

wired network

TODO

wifi network

Väited

  • tavaliselt ei realiseerita wifi seadet usb seadmena kuna wifi kasutab suhteliselt suurt kiirust, nt läptop integreeritud wifi seade on pigem pcie seade
  • wifi kasutusjuhule on iseloomulik, et liikluse krüptimine toimub allpool ethernet kihti (erinevalt wired võrgust kus on kombeks kasutada nt ipsec protokolli kus toimub krüptimine ülevalpoolt ethernet kihti, nt esp/ah protokollidega)
  • wifi võrgu puhul ei ole usb universaalne mõtlmine realiseeritud sellise põhimõttekindlusega nagu nt webcam puhul - st device kontrolleriga tegelevad pigem spetsiifilised draiverid

Misc

Peale arvutis usb osakonna nö väljalülitamist

root@ubu2110:~# lsusb -t
root@ubu2110:~# usb-devices
root@ubu2110:~# lsmod | grep usb
root@ubu2110:~#

Tagasi laadimine, nt

root@ubu2110:~# modprobe xhci_pci
root@ubu2110:~# lsmod | grep usb
usbnet                 53248  1 cdc_ether
usbhid                 65536  0
btusb                  61440  0
btrtl                  24576  1 btusb
hid                   151552  2 usbhid,hid_generic
mii                    16384  2 usbnet,r8152
btbcm                  24576  1 btusb
btintel                40960  1 btusb
bluetooth             671744  43 btrtl,btintel,btbcm,bnep,btusb,rfcomm

root@ubu2110:~# lsusb -t
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/8p, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/16p, 480M
    |__ Port 2: Dev 2, If 0, Class=Vendor Specific Class, Driver=r8152, 480M
    |__ Port 4: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 12M
    |__ Port 6: Dev 4, If 0, Class=Vendor Specific Class, Driver=, 12M
    |__ Port 7: Dev 5, If 0, Class=Wireless, Driver=btusb, 12M
    |__ Port 7: Dev 5, If 1, Class=Wireless, Driver=btusb, 12M
    |__ Port 8: Dev 6, If 1, Class=Video, Driver=uvcvideo, 480M
    |__ Port 8: Dev 6, If 0, Class=Video, Driver=uvcvideo, 480M
    |__ Port 9: Dev 7, If 0, Class=Chip/SmartCard, Driver=usbfs, 12M

Kasulikud lisamaterjalid

  • TODO