Sada je: 10 tra 2024, 07:37.
Razmjena savjeta i trikova o podešavanju sustava i programa.

Moderator/ica: Moderatori/ce

Suko je napisao/la:Nista, TBBT.
Sad lijepo ovaj tekst iskopiraj u Draft, lagano ga uredi i ide na objavu. Veliko vijece LZS-a je glasovalo. Nemas pravo prigovora. :bleh


Ok. Iako i dalje mislim da je dovoljno da bude tu gdje je. Tokom dana, valjda. U svakom slučaju, moram provjeriti jednu svoju ideju, vezanu za " staging " drivere. Naime, bez problema če te "prisilno" učitati modul prilikom podizanja sistema ukoliko se radi o normalnom driveru, ali ako je "staging", može se recimo desiti ( npr. kubuntu 14.04.), da nečete uspjeti niti pod razno. Dok recimo (xubuntu 14.04) odradi posao bez pogovora, debian 7.4 isto tako, itd,đ..., da sad ne nabrajam sve što isprobah. Ali imam jednu misao koju želim isprobati i " nagovoriti " kubuntu " da to odradi. Kad to obavim , posložit ču, nadam se neki smisleni članak, a naslov stavite sami. Usput, ja pojma nemam što je to DRAFT.
Postovi: 252
Postovi: 252
Pridružen/a: 09 pro 2013, 17:28
Podijelio/la zahvalu: 12 puta
Primio/la zahvalu: 24 puta
Spol: M
OS: ubuntu mate/linux mint
Draft je tema u koju se dodaju clanci. U Dodavanje sadrzaja podforumu.
Avatar
Site Admin
Postovi: 16079
Site Admin
Postovi: 16079
Pridružen/a: 03 tra 2008, 18:09
Lokacija: Svugdi me ima. Slavonija uglavnom.
Podijelio/la zahvalu: 503 puta
Primio/la zahvalu: 531 puta
Spol: M
OS: Mint 17 Cinnamon
Dobra fora s hexdumpom. Tako se nekad radilo. :-D :-D
Ali ako već imaš driver koji radi a samo ti fali da ga linux učita kad se ušteka uređaj, nije li lakše samo napisati alias tog uređaja te mu pridružiti odgovarajući driver u /etc/modprobe.d/ umjesto da mijenjaš alias direktno u binarnoj datoteci drivera?

Postupak bi bio ovakav. Napraviš neku datoteku u /etc/modprobe.d/, nazovi je kako ti paše i stavi nastavak .conf, recimo /etc/modprobe.d/mojuređaj.conf .
U datoteku upišeš samo:
Kod: Označi sve
alias *ovdje ide modalias* driver

Umjesto wildcardova i popunjavanja VID-PID lakše i sigurnije je samo prekopirati čitavi modalias tog specifičnog uređaja.
Evo jedan od načina kako pronaći tu modalias oznaku:
Pokreni dmesg. Dmesg kaže npr.:
Kod: Označi sve
usb 1-6: new high speed USB device using ehci_hcd and address 3

Otvoriš u /sys/bus/usb/devices folder sa usb 1-6, npr. 1-6:1.0 i tamo ima datoteka modalias iz koje prekopiraš oznaku u mojuređaj.conf datoteku.
Izvadiš uređaj i ponovo ga uštekaš da modprobe uzme u obzir novu konfiguraciju i gotovo.

Što se tiče editiranja hexdumpa drivera ne zaboravi napomenuti u članku da se brojke od više bajtova unose "naopako" (dakle ne AABB već BBAA).

Da, i nakon updatea kernela moraš opet raditi istu stvar i u driveru koji dolazi s novim kernelom ako mijenjaš direktno binarni fajl. Sa modprobe.conf to ne moraš.

A ako imaš source tog drivera koji nema tvoj VID i PID samo dodaš isti negdje u #define ili promijeniš postojeći u sourceu.
Avatar
Postovi: 1907
Postovi: 1907
Pridružen/a: 16 tra 2011, 08:34
Lokacija: i grupa Film
Podijelio/la zahvalu: 45 puta
Primio/la zahvalu: 342 puta
Spol: M
OS: Mint 10 LXDE itd...
jurastublic je napisao/la:Dobra fora s hexdumpom. Tako se nekad radilo. :-D :-D
Ali ako već imaš driver koji radi a samo ti fali da ga linux učita kad se ušteka uređaj, nije li lakše samo napisati alias tog uređaja te mu pridružiti odgovarajući driver u /etc/modprobe.d/ umjesto da mijenjaš alias direktno u binarnoj datoteci drivera?

Postupak bi bio ovakav. Napraviš neku datoteku u /etc/modprobe.d/, nazovi je kako ti paše i stavi nastavak .conf, recimo /etc/modprobe.d/mojuređaj.conf .
U datoteku upišeš samo:
Kod: Označi sve
alias *ovdje ide modalias* driver

Umjesto wildcardova i popunjavanja VID-PID lakše i sigurnije je samo prekopirati čitavi modalias tog specifičnog uređaja.
Evo jedan od načina kako pronaći tu modalias oznaku:
Pokreni dmesg. Dmesg kaže npr.:
Kod: Označi sve
usb 1-6: new high speed USB device using ehci_hcd and address 3

Otvoriš u /sys/bus/usb/devices folder sa usb 1-6, npr. 1-6:1.0 i tamo ima datoteka modalias iz koje prekopiraš oznaku u mojuređaj.conf datoteku.
Izvadiš uređaj i ponovo ga uštekaš da modprobe uzme u obzir novu konfiguraciju i gotovo.

Što se tiče editiranja hexdumpa drivera ne zaboravi napomenuti u članku da se brojke od više bajtova unose "naopako" (dakle ne AABB već BBAA).

Da, i nakon updatea kernela moraš opet raditi istu stvar i u driveru koji dolazi s novim kernelom ako mijenjaš direktno binarni fajl. Sa modprobe.conf to ne moraš.

A ako imaš source tog drivera koji nema tvoj VID i PID samo dodaš isti negdje u #define ili promijeniš postojeći u sourceu.


Zahvaljujem na sugestijama. Više ljudi, više ideja. Kad budem pisao potrudit ću se da bude smisleno. Vjerujem da Tvoja metoda funkcionira.
Meni se nekako čini da, s obzirom na to da ako driver postoji ali uređaj nije prepoznat zbog nedostatka vendor id, product id....najjednostavniji način bi bio ( ukoliko funkcionira onom komu je potrebno) slijedeće:
uštekate uređaj, ima jedna datoteka koja se tada sama generira /sys/bus/usb/drivers/TVOJ DRIVER/new_id.
potrebno je samo u terminal upisati:
Kod: Označi sve
echo "Vid Pid" > /sys/bus/usb/drivers/TVOJ DRIVER/new_id

i uređaj proradi. neki su se žalili na forumima da nakon reboota opet ne radi, ali onda se može staviti u /etc/rc.local, pa bi trebalo raditi svima.
I ono tvoje je također jednostavno /etc/modprobe.d/mojuređaj.conf . Pa ako nemaš ništa protiv ja bih i to uključio u tekst.
Sa Ghexom nisam niti u ludilu mislio nekome predložiti da se igra, samo to da program nudi 2 prozora (nečitljiv nama smrtnicima i čitljiv). s opcijom find u čitljivom dijelu se nađe sličan izraz, i zamijeni se sa svojim. Pognute glave, crven u licu ( šalim se ), moram priznati da nisam niti razmišljao u tom pravcu da u slučaju nadogradnje u tom slučaju opet treba ponavljati postupak. Vjerujem na riječ, neću provjeravati, zvuči logično. Ovo sa source kodom: naravno da se može ubaciti, ali onda ponovno slijedi kompajliranje. Tekst je bio na tragu već postojećeg, kompajliranog drivera :thmb-up .Hvala
Postovi: 252
Postovi: 252
Pridružen/a: 09 pro 2013, 17:28
Podijelio/la zahvalu: 12 puta
Primio/la zahvalu: 24 puta
Spol: M
OS: ubuntu mate/linux mint
teorijavelikogpraska je napisao/la:najjednostavniji način bi bio ( ukoliko funkcionira onom komu je potrebno) slijedeće:
uštekate uređaj, ima jedna datoteka koja se tada sama generira /sys/bus/usb/drivers/TVOJ DRIVER/new_id.
potrebno je samo u terminal upisati:
echo "Vid Pid" > /sys/bus/usb/drivers/TVOJ DRIVER/new_id
i uređaj proradi. neki su se žalili na forumima da nakon reboota opet ne radi, ali onda se može staviti u /etc/rc.local, pa bi trebalo raditi svima.

Ta se datoteka neće sama generirati kad se ušteka uređaj nego kada se učita driver. Znači, ako ideš tim putem onda u skriptu treba dodati prije one tvoje linije i modprobe ime_drivera:
Kod: Označi sve
#!/bin/bash
modprobe ime_drivera
echo "Vid Pid" > /sys/bus/usb/drivers/ime_drivera/new_id

Ako driver ima u imenu minuse (-) onda u ime_drivera idu na njihova mjesta potcrte(_). To inače ne pravi probleme kod modprobe komande, ona to automatski raspoznaje, ali ima veze u drugoj liniji jer je to ime foldera. Razlika u odnosu na modprobe.conf je da se taj driver učitava odmah pri bootanju a ne pri priključivanju uređaja bio taj uređaj prisutan ili ne, ali to nema veze.

Sve to na kraju krajeva vrijedi i za PCI uređaje, ne samo za USB. Samo je path do ciljnog /sys foldera drugi ali to se lako pronađe sa
Kod: Označi sve
sudo find /sys | grep ime_drivera

nakon što ručno učitaš driver sa modprobe (jer nema foldera kojeg bi tražio prije nego se nekako učita driver).
Bit će to jako koristan članak na LZS-u. S driverima uvijek problemi pa dobro dođe takav pregled.
Avatar
Postovi: 1907
Postovi: 1907
Pridružen/a: 16 tra 2011, 08:34
Lokacija: i grupa Film
Podijelio/la zahvalu: 45 puta
Primio/la zahvalu: 342 puta
Spol: M
OS: Mint 10 LXDE itd...
Nova ideja: Nema nikakve sumnje da je jedna od najbitnijih stvari nakon uspješne instalacije nove linux distribucije, upravo natjerati, kako sve komponente računala na ispravan rad, tako i upogoniti novi komadić hardvera. Malo sam prozujao forumom ( inače ga pratim već dulje vrijeme ), i moram priznati da nisam pronašao jedan sveobuhvatan tekst na tu temu, koji bi mogao pomoći mnogima. Od onih među vama koji su developeri, ali više onim običnim smrtnicima, poput mene, koji smo samo korisnici i svakodnevno obijamo pragove raznih foruma, nebilismo pronašli riješenja za komotniji svakodnevni rad. Koliko ja vidim uglavnom se slažemo da je otvorena prava tema. Ideja je ta, da sačekamo još neko vrijeme ( najbolje nekoliko dana ), jer svakako če se pojaviti još prihvatljivih metoda, koje bi se naravno trebale ukomponirati u članak. Onda bi lijepo netko sa bogatijim izričajem od mene, možda čak i sajt admin, ili možda neko od starijih tekstopisaca, objedinio sve, i napravio jedan pravi pravcati tutorijal na tu temu. pozdrav .

p.s. a zašto meni dok sam u stvaralačkom zanosu, non stop bježi kurs po tekstu ( ako netko zna, nek mi kaže). stoga i onaj duplicirani tekst od maloprije, na koji nisam nikako utjecao...
Postovi: 252
Postovi: 252
Pridružen/a: 09 pro 2013, 17:28
Podijelio/la zahvalu: 12 puta
Primio/la zahvalu: 24 puta
Spol: M
OS: ubuntu mate/linux mint
[/quote] Ima u stvari još jedna šema kako se može postupiti želimo li aktivirati uređaj ( ako u driveru nema Vid i Pid). Nisam ga naveo u tekstu jer mislim da u tom slučaju radi jednokratno, do reboota ( mislim može se i to riješiti na mala vrata ).
Ali eto, navest ću i taj način.
Znači imamo učitan modul, imamo firmwer a ne radi.
echo "VID PID" > /sys/bus/usb/drivers/VAŠ DRIVER/new_id

Nakon reboota ne radi, ali se može zeznuti (savjeti i trikovi):
u fajl /etc/rc-local, ubaci se prije zadnjeg reda, onoga exit.

[/quote]

Citiram sam sebe.
Postovi: 252
Postovi: 252
Pridružen/a: 09 pro 2013, 17:28
Podijelio/la zahvalu: 12 puta
Primio/la zahvalu: 24 puta
Spol: M
OS: ubuntu mate/linux mint
teorijavelikogpraska je napisao/la:Ideja je ta, da sačekamo još neko vrijeme ( najbolje nekoliko dana ), jer svakako če se pojaviti još prihvatljivih metoda, koje bi se naravno trebale ukomponirati u članak. Onda bi lijepo netko sa bogatijim izričajem od mene, možda čak i sajt admin, ili možda neko od starijih tekstopisaca, objedinio sve, i napravio jedan pravi pravcati tutorijal na tu temu.


Ideja je jako dobra, neka se rasprava još nastavi u ovoj temi prije prebacivanja gotovog teksta u Draft.

Međutim, nije lijepo što se pokušavaš "izvući" od pisanja teksta :D :hihi Ne brini se ti za bogatstvo izričaja već samo napiši tekst kad prikupiš dovoljno materijala i savjeta. Ti si počeo s tim i zamisao je izvorno bila tvoja; zašto da se sad netko treći upetljava u to i još preuzima zasluge? :D Lako ćemo prepraviti tekst prije objave ako baš bude potrebno. ;)

Jedino što moraš je provući ga kroz spellcheck - ako ti nije postavljen na računalu, možeš koristiti ovaj: http://hacheck.tel.fer.hr/

I to je sva mudrost :D
Avatar
Site Admin
Postovi: 6502
Site Admin
Postovi: 6502
Pridružen/a: 06 lip 2009, 23:16
Lokacija: Online
Podijelio/la zahvalu: 621 puta
Primio/la zahvalu: 631 puta
OS: Kubuntu & Fedora
teorijavelikogpraska je napisao/la:

Znači imamo učitan modul, imamo firmwer a ne radi.

Citiram sam sebe.

pface Tek mi je ušlo u tikvu zašto citiraš sam sebe kad sam pogledao i sam u hexdump jednog drivera i vidio da VID i PID nisu na istom mjestu u driveru kao i modaliasi. Lista modaliasa je tu samo da pribavi depmodu informaciju kako da modprobe riješi ovisnosti o drugim driverima i kako da automatski učita driver prilikom priključenja.

Ta lista modaliasa u driveru ima iste informacije o VID-ovima i PID-ovima kao i lista vendora ali driver provjerava samo listu vendora kad odlučuje hoće li uzeti u obzir neki uređaj. Ne shvaćam zašto ne koriste modaliase nego dupliraju, ali sigurno postoji neki razlog.

Tako da su onda dvije odvojene procedure sparivanja drivera i uređaja, jedna je da se učita driver pri priključenju i druga da se učitani driver nagovori na suradnju s uređajem. Bilo mi je logično da modprobe kod custom konfiguracije modaliasa (.conf file) odmah prilikom učitavanja drivera za uređaj i poveže driver s VID-om tog uređaja, jer zašto bi inače pisali custom konfig. Ali to nije tako.

Neki driveri imaju uprogramirano da uzmu u obzir VID i PID u custom udev konfiguracijama u /etc/udev/rules.d. Udev je usput i još jedan način kako povezati ukapčanje uređaja s učitavanjem drivera ali, koliko vidim, dozlaboga komplicirano.

Međutim, pogledao sam po internetu, osim upisivanja u sys/.../new_id, specifično za usb drivere je moguće pozvati VID i PID direktno iz modprobe-a kao opcije (to ne vrijedi, dakle, za sve drivere).
Kod: Označi sve
sudo modprobe ime_drivera vendor=0xHEXVID product=0xHEXPID

Tako da te opcije možeš staviti direktno u modprobe liniju u skripti ili kao options liniju u /etc/modprobe.d/...

Ima još jedna stvar. Kad sam promijenio VID i PID na jednom usb driveru, nije se više dao učitati jer je bio kriptografski označen, tj. "potpisan", tako da je kernel registrirao da je driver neovlašteno mijenjan. Imam blagi osjećaj da je većina kernel drivera potpisana iako vjerojatno ne svi.

Neka Štrumpf bude s tobom! :thmb-up
Avatar
Postovi: 1907
Postovi: 1907
Pridružen/a: 16 tra 2011, 08:34
Lokacija: i grupa Film
Podijelio/la zahvalu: 45 puta
Primio/la zahvalu: 342 puta
Spol: M
OS: Mint 10 LXDE itd...
Da, jedini put za stvaranje jednog pravog i punokrvnog tutorijala na temu povezivanja novog komadića hardvera, jeste sačekati. Sačekati i iskoristiti vrijeme za prikupljanje informacija od strane korisnika. Kad kažem prikupljanje informacija od korisnika, prvenstveno mislim na to, u tutotijal treba uključiti sve poznate metode, najbolje one " metode vlastite kože ".
I tu sad dolazimo do jednog " prokletsva " linuxoidnih distribucija, jer kao što reče jedan moj kolega, koji je u tim stvarima daleko kompetentniji nego ja ( ima iza sebe reference poput uključivanja njegovog koda u red hat, nešto za wireless, neznam više točno o čemu se radi ), linux OS pokriva golem broj hardvera.
Želim reći to, da je u toj i takvoj situaciji jako teško provoditi neke testove ( niti ja, niti bilo tko drugi svakako neće otići u trgovinu, zgrabiti kolica, otići do police i zgurati u kolica hrpu novog hardvera )kako bi se domogli hardvera koji neće raditi, da bi ga onda pokušali " upogoniti ".
Nadalje iz vlastitog iskustva znamo da se isti driver na različitim distribucijama, različito ponaša ( nije baš dobro, ali je nažalost tako ). Pa ako se uzme u obzir stvarno velik broj distribucija, velik broj drivera, dolazimo do fascinantnog broja različitih situacija. I što je onda u takvoj situaciji najbolje napraviti. Naravno ono što sam napisao na početku.
STRPLJEN,SPAŠEN....pozdr
Postovi: 252
Postovi: 252
Pridružen/a: 09 pro 2013, 17:28
Podijelio/la zahvalu: 12 puta
Primio/la zahvalu: 24 puta
Spol: M
OS: ubuntu mate/linux mint

Na mreži
Trenutno korisnika/ca: / i 4 gostiju.