Tag Archives: LPIC 1

USB įrenginiai

Sveiki.

Mes turime kelių tipų USB įrenginius:

  • OHCI – USB 1.1 valdiklis, maksimum 12Mb/s
  • UHCI – USB 1.1 valdiklis, maksimum 12Mb/s
  • EHCI – USB 2.0 valdiklis, maksimum 480Mb/s

P.S. USB 2.0 prijungtas prie USB 1.1 veiks USB 1.1 greičiu.

Yra kelios USB įrenginių klasės:

  • HID – Human Interface Device (Pelytės, klavietūros ir kita)
  • Communications device (Modemai)
  • Mass storage device (Flash atmintinės, diskai ir kita)
  • Audio (Garso plokštės)
  • IrDA
  • Spausdintuvai
  • Bluetooth
  • WiFi/wireless

USB tapo palaikomas nuo 2.3.X development versijoje, ir vėliau pridurtas prie 2.2.X branduolio be USB mass storage įrenginių palaikymo, kurie buvo palaikomi tik nuo 2.2.18 branduolio (kernel) versijos.

Linux branduolio (kernel) USB draiverius galime skirstyti į 3 kategorijas:

  1. Host controller drivers
  2. Class drivers
  3. Other device drivers

1) USB „host“ valdiklio (controller) draiveriai: usb-ohci.o (OHCI driver), usb-uhci.o (UHCI driver), uhci.o (senas „alternatyvus“ UHCI driver) ir ehci-hcd.o (EHCI driver).
2) USB class draiveriai: hid.o, usb-storage.o (mass storage driver), acm.o (Automated Control Model [ACM] communications class driver, kuris aptarnauja modemus, kurie emuliuoja standarinę „serial“ modem AT command sąsają (interface)), printer.o ir audio.o.
3) Valdikliai (drivers), kurie nepritampa „standartinėms“ klasėms (1 ir 2). Pavyzdžiui, rio500.o (Diamond Rio 500 MP3 player’io valdikliai (drivers)) ir pwc.o (daugumos Philips webcam’ų valdikliai (drivers)).

Linux valdikliai yra sluoksniniai, moduliniai. Pagrindines už standartines (generic) funkcijas, atsako usbcore.o, o visa kita yra virš su jiems priklausančiais moduliais.

Kaip gali visa tai atrodyti mūsų sistemoje? Galime peržiūrėti keliais būdais: lsmod, arba cat /proc/modules:
lsmod
Module Size Used by
snd_seq_dummy 987 0
btrfs 366823 1
zlib_deflate 15822 1 btrfs
crc32c 2172 1
libcrc32c 762 1 btrfs
nls_utf8 908 0
nls_cp437 4489 0
vfat 6570 0
fat 34912 1 vfat
vboxnetadp 5550 0
vboxnetflt 15408 0
vboxdrv 144401 2 vboxnetadp,vboxnetflt
usb_storage 30585 0
binfmt_misc 4907 1
ppdev 4058 0
lp 5570 0
sco 5857 2
bridge 33019 0
stp 996 1 bridge
bnep 7444 2
rfcomm 25171 0
l2cap 21705 6 bnep,rfcomm
crc16 1027 1 l2cap
bluetooth 36319 6 sco,bnep,rfcomm,l2cap
rfkill 10264 3 bluetooth
cpufreq_conservative 4018 0
cpufreq_powersave 602 0
cpufreq_userspace 1480 0
cpufreq_stats 1940 0
nfsd 193919 13
exportfs 2618 1 nfsd
nfs 206998 1
lockd 49437 2 nfsd,nfs
fscache 24662 1 nfs
nfs_acl 1695 2 nfsd,nfs
auth_rpcgss 25268 2 nfsd,nfs
sunrpc 134776 15 nfsd,nfs,lockd,nfs_acl,auth_rpcgss
fuse 44033 1
loop 9765 0
cdc_ether 2633 0
usbnet 9527 1 cdc_ether
mii 2714 1 usbnet
cdc_wdm 6452 0
cdc_acm 12498 0
snd_wavefront 24702 0
snd_cs4236 21379 0
snd_wss_lib 16653 2 snd_wavefront,snd_cs4236
snd_opl3_lib 6022 2 snd_wavefront,snd_cs4236
snd_intel8x0 19595 7
snd_hwdep 4054 2 snd_wavefront,snd_opl3_lib
snd_mpu401 3604 0
snd_mpu401_uart 4067 3 snd_wavefront,snd_cs4236,snd_mpu401
snd_ac97_codec 79148 1 snd_intel8x0
snd_seq_midi 3576 0
snd_rawmidi 12513 3 snd_wavefront,snd_mpu401_uart,snd_seq_midi
ac97_bus 710 1 snd_ac97_codec
snd_seq_midi_event 3684 1 snd_seq_midi
snd_pcm_oss 28671 0
snd_mixer_oss 10461 1 snd_pcm_oss
snd_seq 35463 3 snd_seq_dummy,snd_seq_midi,snd_seq_midi_event
snd_pcm 47226 7 snd_cs4236,snd_wss_lib,snd_intel8x0,snd_ac97_codec,snd_pcm_oss
i2c_nforce2 4464 0
psmouse 44657 0
parport_pc 15799 1
i2c_core 12696 1 i2c_nforce2
snd_timer 12258 6 snd_wss_lib,snd_opl3_lib,snd_seq,snd_pcm
snd_seq_device 3673 5 snd_seq_dummy,snd_opl3_lib,snd_seq_midi,snd_rawmidi,snd_seq
snd_page_alloc 5045 3 snd_wss_lib,snd_intel8x0,snd_pcm
snd 34375 26 snd_wavefront,snd_cs4236,snd_wss_lib,snd_opl3_lib,snd_intel8x0,snd_hwdep, snd_mpu401,snd_mpu401_uart,snd_ac97_codec,snd_rawmidi,snd_pcm_oss, snd_mixer_oss,snd_seq,snd_pcm,snd_timer,snd_seq_device
evdev 5609 11
parport 22554 3 ppdev,lp,parport_pc
soundcore 3450 1 snd
asus_atk0110 6770 0
pcspkr 1207 0
serio_raw 2916 0
ns558 1599 0
gameport 6061 2 ns558
button 3598 0
processor 26327 0
ext3 94212 2
jbd 32169 1 ext3
mbcache 3762 1 ext3
raid10 16733 0
raid456 42880 0
async_raid6_recov 4130 1 raid456
async_pq 2643 2 raid456,async_raid6_recov
raid6_pq 77468 2 async_raid6_recov,async_pq
async_xor 1954 3 raid456,async_raid6_recov,async_pq
xor 12418 1 async_xor
async_memcpy 838 2 raid456,async_raid6_recov
async_tx 1326 5 raid456,async_raid6_recov,async_pq,async_xor,async_memcpy
raid1 16375 0
raid0 5601 0
multipath 4987 0
linear 3063 0
md_mod 67345 6 raid10,raid456,raid1,raid0,multipath,linear
sg 15968 0
sr_mod 10770 0
cdrom 26487 1 sr_mod
sd_mod 25977 5
crc_t10dif 1012 1 sd_mod
ata_generic 2067 0
ohci_hcd 16880 0
fan 2586 0
pata_amd 6625 0
sata_nv 15398 5
e1000 77317 0
cassini 32989 0
ehci_hcd 27851 0
libata 115753 3 ata_generic,pata_amd,sata_nv
usbcore 98453 8 usb_storage,cdc_ether,usbnet,cdc_wdm,cdc_acm,ohci_hcd,ehci_hcd
scsi_mod 101429 5 usb_storage,sg,sr_mod,sd_mod,libata
floppy 40923 0
thermal 9206 0
thermal_sys 9378 3 processor,fan,thermal
nls_base 4541 5 nls_utf8,nls_cp437,vfat,fat,usbcore

USB hotplug

Moduliniai USB valdikliai (drivers) yra užkraunami „generic“ /sbin/hotplug, šis įrankis yra įsiūtas branduolyje. Jis taip pat naudojamas kitiem „hotplug“ įrenginiams: CardBus cards, FireWire (IEEE 1394 ar i.Link).

LPI 1 reikalauja žinoti įrankius, kureis mes galime aptikti ir pamatyti kokie įrenginiai pajungti prie mūsų PC.