Jump to content

Moto Zajednica

Pisanje/adaptacija Linux drajvera za uređaj

Recommended Posts

  • Svrati ponekad, 422 postova
  • Lokacija: Beograd / Kraljevo
  • Motocikl: Honda NC750X DCT

Scenario je sledeći:

Imamo uređaj (USB skener brenda Olivetti, odavno bez podrške vendora) koji radi na Fedori 11 (kernel 2.6.29), i sada moramo da ga osposobimo da radi bar na kernelu verzije 3.2.0 (32bit).

Izvorni kod kernel modula tog uređaja postoji (kao i test aplikacija, API-ji) ali se on ne da izbildovati na kernelu novije verzije u formi u kojoj je sada (iz 2009. godine).

Pretpostavljam da je potrebno adaptirati kod, ali to je već preveliki zalogaj za mene.   :stabre:

 

Potreban nam je neko ko bi dotični uređaj osposobio na kernelu 3.2.0 ili novijem.

 

Za sve detalje stojim na raspolaganju.

 

Novčana naknada za uspešno odrađen posao je stvar pregovora, ali škrti nismo.  :)

Podeli ovaj odgovor sa prijateljima


Link to post
Share on other sites

  • Svrati ponekad, 422 postova
  • Lokacija: Beograd / Kraljevo
  • Motocikl: Honda NC750X DCT

Aplikacija koju imamo i koja koristi taj skener je rađena pre par godina u qt5, a koristi i biblioteke OS-a pa nije moguće naterati je da radi na tako matorom kernelu...

 

Znam da je nije baš jednostavno, inače bih i sam našao neko rešenje...  XD

 

Što se tiče plaćanja, ne znam sad šta je ozbiljna cifra za tako nešto, ali će svakako biti više puta veća od moje mesečne plate :jok:

Podeli ovaj odgovor sa prijateljima


Link to post
Share on other sites

  • Svrati ponekad, 422 postova
  • Lokacija: Beograd / Kraljevo
  • Motocikl: Honda NC750X DCT

Predložio sam ja izmenu aplikacije direktoru, ali za sada on to ne želi...

Možda kada sazna da adaptacija košta koliko jedan sasvim solidan polovni dvotočkaš. 

Podeli ovaj odgovor sa prijateljima


Link to post
Share on other sites

  • Svrati ponekad, 422 postova
  • Lokacija: Beograd / Kraljevo
  • Motocikl: Honda NC750X DCT

Otprilike sam tako nešto i procenio da bi koštala prerada postojećeg kernel modula, i dobio zeleno svetlo da probam da pronađem nekog.

Naravno, sve legalno, ugovor o delu, porezi...

Podeli ovaj odgovor sa prijateljima


Link to post
Share on other sites

  • Svrati ponekad, 422 postova
  • Lokacija: Beograd / Kraljevo
  • Motocikl: Honda NC750X DCT

Nisu oni nešto preterano skupi, ali je problem što ih je ukupno oko 200 u upotrebi (i 200 u rezervi), pa bi zamena bila teška nekoliko desetina hiljada.

Podeli ovaj odgovor sa prijateljima


Link to post
Share on other sites

  • Duh Bez Sekire, 1037 postova
  • Lokacija: Beograd - Miljakovac, Ljubovija
  • Motocikl: Yamaha XJ600N, Cagiva Canyon 600, Husqvarna TE 250

@.milke. Daj malo više informacija. O kakvim se tačno skenerima radi - daj oznaku modela (pretpostavljam da su to komercijalni uređaji a ne neki super-tajni NASA-CIA skeneri za zenicu oka, pa da nas moraš pomlatiti ako nam kažeš dodatne informacije :D:D:D ). Ja sam se svojevremeno bavio sličnim poslovima (na primer izuzetno komplikovane sisteme pisane u miksu C-a i Cobol-a prebacivao sam sa SCO Unix-a na Linux - tada jednu od aktuelnih SuSE distribucija). Ako stvarno imate kompletan source (pretpostavljam pisan u C-u) koji "samo" treba modifikovati tako da se potera na novijem kernelu, to bi u teoriji trebalo da bude izvodljivo. Međutim, ako source koji imate dodatno zavisi od bilo kakvih biblioteka za koje nemate source onda je to Sizifov posao... Jer onda mora da se radi reverzni inženjering i da se piše funkcionalni kod, a to pare ne mogu da plate...

Podeli ovaj odgovor sa prijateljima


Link to post
Share on other sites

  • Svrati ponekad, 422 postova
  • Lokacija: Beograd / Kraljevo
  • Motocikl: Honda NC750X DCT

@icatenej

Ma naravno, nije to nikakav top secret, iako bi se po rezultatima na Guglu moglo pomisliti drugačije.  :D

U pitanju je skener Olivetti MAEL 400 (slika 1, slika 2).

On bi trebalo da funkcioniše na sledeći način: učita se kernel modul (čiji source za stari kernel imamo) i kreira device file /dev/A4UsbScanner.  Onda se pokretanjem test aplikacije (koju je pisao vendor i čiji source takođe imamo) izborom numeričkih opcija učita firmver u uređaj (firmware.bin i fpga.bin), nakon čega uređaj postaje operativan i drugim numeričkim opcijama mu zadajemo komande (engine start, engine stop, itd.).  Postoji dokument sa objašnjenim komandama (npr. IOCTL_SCN_INITIALIZE), tako da verujem da taj deo ne bi trebalo da predstavlja problem.

Čini mi se da je tu problem kernel modul, jer koristi neke funkcije deklarisane u header fajlovima koji više ne postoje u novom kernelu. Verovatno je još toga što treba da se ažurira u odnosu na kernel iz 2.6 ere.

Eto, malo više informacija.  Ako je potrebno još, recite i biću detaljniji.  :D

Podeli ovaj odgovor sa prijateljima


Link to post
Share on other sites

  • Rossista originale, 1063 postova
  • Lokacija: Novi Sad
  • Motocikl: Kawasaki ZX-9R C1

Source svega bi trebao da pogleda neko ko se razume u kernel. Portovanje funkcionalnosti izmedju razlicitih kernela je relativno jednostavan proces za nekoga ko zna kako kernel i uredjaj treba da komuniciraju.

 

Naravno, ako je neka funkcionalnost kernela jednostavno izbacena, iliti "deprecated" sto bi rekli englezi, moguce je ponovo je implementirati rucno i kao sto bocca rece, ponovo rekompajlirati kernel sa ubacenim funkcijala iz starog kernela. Pitanje je samo koliki je raskorak izmedju kernela, tj koliko toga je izbaceno u verzijama 3.x+ u poredjenju sa 2.6 i koliko funkcija treba da se ponovo napise i implementira da bi noviji kernel pravilno komunicirao sa uredjajem.

Podeli ovaj odgovor sa prijateljima


Link to post
Share on other sites

Pridruži nam se!

Možeš sada da napišeš svoj odgovor, a kasnije da se registruješ. Ako imaš nalog, uloguj se i napiši svoj odgovor.

Gost
Odgovori na ovu temu...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Aktivni korisnici   0 članova

    • Nema ulogovanih članova koji gledaju ovu stranu.


×
×
  • Create New...

Važno obaveštenje

Nastavkom korišćenja ovog sajta prihvatate Pravila korišćenja