petri je napisao(la):
E bas sam neki.... 🙁
nisam ukljucio Input Core Support, pa zato nisam mogao ni da biram sta cu sa onim HID input layer support. 🙂
To me ctp; svo ovo vreme 😀
BTW hvala puno, konacno sam uspeo i to da prodjem!
Samo mi nije jasno ovo oko usbfs, bez toga je radilo lepo a posle kompajliranja i ubacivanja linije u fstab prijavljuje mi pri butovanju da je usbfs unknown filesystem. Cemu uopste sluzi to?
Tehnicki, usbfs nije neophodan. Ukoliko se stavlja, treba ga izabrati u kernelu i u /etc/fstab mountovati iza mountovanja /proc sistema.
Linux ima osobinu da moze sve i svasta od sistemskih delova, hardvera, itd. da tretira kao fajl sistem, zato sto je koncept fajl sistema kod njega dobro razradjen i podrzan - tehnicki, treba ti samo drajver za fajlsistem i dalje sve moze da se odradjuje mount tehnikom (treba ti mount point i parametri). Pogledaj, npr u /proc diru text fajlove kao sto su cpuinfo, devices, interrupts, pci, itd - pa ce ti se samo kasti. Osim toga, klasican primer je tretiranje procesa preko fajl sistema - procesi koji se startuju imaju svoj pid (process ID) po kojem se razlikuju; medjutim, kada se procesi vode preko fajlsistema, oni u /var/run diru kreiraju po txt fajl sa extenzijom "pid" u kojem je zapisan stvarni pid tog procesa. Dakle, u windowsu, da bi uhvatio koji su sve procesi aktivni, moras da koristis api funkcije koje to hvataju po ramu, dok ovde mozes da potrazis i na disku u vec poznatom diru sa klasicnim file rutinama (npr findfirst, findnext, itd) - tako lako mozes da ustanovis da li pojedini program vec "radi" (ili dampovanje "ps aux | grep <patern>" u fajl, pa njegova pretraga), cisto radi provere (da ne startujes isti program dvaput) ili da bi, recimo, ugasio iz svog programa neki drugi program.
Elem, posto sve i svasta moze da se tretira kao fajl sistem (i obradjuje tako vec debelo testiranim file-access rutinama), tako nije ni usb izuzetak. Ako se za usbfs koristi /proc/bus/usb kao mount-point, onda bi svaki uredjaj koji nakacis na usb trebao kreirati po jedan fajl tu (naziv odgovara portu na koji si uredjaj prikacio - nulti, prvi, itd), u koji bi "sasipao" informacije iz usb protokola. Treba da ti kreira i dva fajla - devices i drivers. Jedan od njih je identifikacija; na primer, ako nakacis Logitech USB mis, u tom txt fajlu ces lako prepoznati signature tog uredjaja ("Logitech Pilot+" na primer). E sad, kakve to informacije salje ? Nestandardne, najlaksi je odgovor. Funkcionisanje tastature i misa je vec standardno, te ti za njihove standardne funkcije ne treba usbfs za dodatne informacije. Medjutim, ukoliko imas multimedijalnu tastaturu sa jos 10 nestandardnih tastera, mis sa 5 tastera i 3 scroll tockica, to je sve "nestandardno", jer zavisi od modela uredjaja. Ukoliko se napravi drajver za linux za tako nesto, njemu trebaju te dodatne informacije da bi mogao da koristi dodatne funkcije. Sledeci primer - stampa preko USB-a na printer ide i bez toga, ali informacije o praznom kertridzu ? Sta je sa USB digitalnim kamerama, MP3 plejerima ? Oni skoro vecinu svojih funkcija obavljaju preko takvih stvari.
To dobro dodje i kao test: ako si mountovao usbfs i imas usb mis, on je kao device prijavljen preko /dev/input/mice, mozes da proveris da li radi tako sto ces "stampati" taj fajl na ekranu, sa "cat /dev/input/mice" -> kad god pomeris misa, na ekranu bi trebalo da se prikazuje razno "djubre" (inf protokola) -> to znaci da sistem, drajver i mis rade. Ukoliko si promasio neki korak u konfiguraciji kernela, drajvera, ... nista se nece desiti. Naravno, mis je banalan primer, ali sta ako imas neki transiever tipa USB2LAN ili USB2SCSI ?