USB
Allikas: Imre kasutab arvutit
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