|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Nov 2001
Città: Macerata (MC)
Messaggi: 812
|
Scrivere drivers sotto Linux
Qualcuno saprebbe dirmi da quale parte dovrei rivolgermi per la scrittura di un driver sotto Linux ?
Quello che intendo io é riguardo alla documentazione (libri possibilmente in italiano) e alle mappe dei registri relativi all'hardware (senza le quali ovviamente non si può fare nulla). |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Jun 2003
Città: l'isola che non c'è
Messaggi: 172
|
Understanding the linux kernel, seconda edizione, Bovet & Cesati + Linux Device Drivers, seconda edizione, Rubini & Corbet. Sono però in inglese
__________________
Dov'è campanellino? |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jan 2002
Messaggi: 2366
|
per un'infarinata sulla programmazione di sistema, in italiano,
http://gapil.firenze.linux.it/ |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Nov 2001
Città: Macerata (MC)
Messaggi: 812
|
Grazie a tutti per le risposte, ma non c'é qualche buon libro in italiano ?
|
|
|
|
|
|
#5 | |
|
Bannato
Iscritto dal: Feb 2001
Città: Mestre
Messaggi: 886
|
Quote:
forse, ma se sei davvero interessato a certi argomenti non si sfugge, l'inglese lo devi conoscere bene (almeno a livello di comprensione di testi scritti) |
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Nov 2001
Città: Macerata (MC)
Messaggi: 812
|
D'accordo, d'accordo, l'inglese lo conosco, ma se permetti, la lettura di un testo in inglese é decisamente più difficoltosa della lettura di uno in italiano
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Nov 2001
Città: Macerata (MC)
Messaggi: 812
|
Per quello che riguarda le mappe dei registri, mi sapete dire qualche cosa su dove poterli trovare ?
Il fatto é che i drivers per Linux fanno solitamente schifo D'accordo, molti potrebbero dire: é già tanto che queste periferiche funzionino, che altro vuoi di più ? A questo punto stavo decisamente pensando di scrivermi qualche cosa per conto mio, visto che solitamente le case non ci pensano. Anche quando ci sono i drivers per linux, sono sempre di molto inferiori a quelli per Windows: es. quanto cavolo può costare mettere un installer automatico e un pannello di controllo grafico (es. schede grafiche) invece di far passare le notti insonni agli utenti ? Ah già, dimenticavo, se così fosse molti userebbero solo il pinguino Secondo me il pinguino é sotto principalmente perché non é in grado di sfruttare a dovere l'hardware (molti dispositivi non li vede neanche). Voi che ne pensate ? |
|
|
|
|
|
#8 | |
|
Bannato
Iscritto dal: Feb 2001
Città: Mestre
Messaggi: 886
|
Quote:
|
|
|
|
|
|
|
#9 | |||||
|
Member
Iscritto dal: Jun 2003
Città: l'isola che non c'è
Messaggi: 172
|
Quote:
1) Capire su quale periferica vuoi lavorare 2) Definire qual'è il produttore e il modello di periferica su cui vuoi lavorare 3) Reperire le specifiche tecniche del prodotto. Queste devono essere mostruosamente dettagliate, non ti puoi fermare a "periferica che va a 133Mb/s" ma che registri usa, modalità di indirizzamento, procedure di accesso etc. Tipicamente le case non regalano/rilasciano le specifiche/dettagli relativi ai loro prodotti hardware. Per capire queste specifiche si opera per mezzo di tecniche di reverse engineering piuttosto complesse, a volte impossibili. 4) Scrivere il dev driver. Quote:
Quote:
Quote:
Quote:
__________________
Dov'è campanellino? |
|||||
|
|
|
|
|
#10 | ||||||
|
Senior Member
Iscritto dal: Dec 2002
Città: /dev/urandom breed
Messaggi: 1689
|
Quote:
I driver per le periferiche che ho usato io mi son sempre sembrati adeguati, anzi, quello per le Realtek 81x9 e` eccellente considerando quel che spreme dalla scheda Quote:
Quote:
Quote:
Quote:
Quote:
|
||||||
|
|
|
|
|
#11 | ||
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Quote:
Quote:
Normalmente se hai una periferica _supportata_ da linux (ovvero con driver liberi direttamente dentro il ramo del kernel), non devi neanche porti il problema.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
||
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Nov 2001
Città: Macerata (MC)
Messaggi: 812
|
Innanzitutto grazie per la partecipazione, poiché sta diventando una diiscussione interessante, comunque per dire la mia, pensate a che cosa succederebbe se ati o nvidia fornissero i loro drivers con le istruzioni su dove copiare i files e come configurare i drivers per essere caricati da Windows
L'interfaccia di installazione che dico io é quella che molti programmi per Linux già hanno, come open office, Borland Jbuilder ecc. e che invece hanno TUTTI i programmi per Windows. Ciao |
|
|
|
|
|
#13 | ||
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Quote:
Quote:
da sorgenti -> autoconf ecc. da rpm, deb ecc. -> rpm, apt-get e loro front-end grafici, alcuni dei quali MOLTO più potenti di qualsiasi cosa vista dotto windows (mai provato ad es. rpmdrake?) _questi_ sono gli standard sotto linux, come sotto windows lo standard è "setup.exe" + windows installer. Se "altri" vogliono distribuire i programmi in forme non-standard, deve essere LORO CURA fornire degli installer, come ad es. la Borland ha fatto. E' un pò come se non vuoi usare Windows Installer sotto Windows: liberissimo di farlo, ma devi fornire uno strumento equivalente se non vuoi obbligare l'utente a copiarsi i file a mano e scrivere le chiavi con regedit.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
||
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Nov 2001
Città: Macerata (MC)
Messaggi: 812
|
Più o meno é il discorso che facevo io, cioé relativo ad un aggiornamento degli installer presenti sotto Linux, cioé una installazione del tipo di quelle fatte con installshield che, parliamoci chiaro, sono molto più evolute degli rpm, poi se uno é fanatico del pinguino e ama tutto ciò che li si fa a prescindere, beh, é un'altra cosa.
Non ho invece capito a che cosa ti riferisci riguardo allo smettere lo sviluppo dei drivers per Linux, anche perché mi risulta che la maggior parte dei drivers forniti dalle case (es. nvidia) possono essere compilati anche dai sorgenti, quindi non ci dovrebbero essere problemi a modificarli, o no ? |
|
|
|
|
|
#15 | ||
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Quote:
Quote:
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
||
|
|
|
|
|
#16 | |
|
Senior Member
Iscritto dal: Apr 2003
Città: Milano
Messaggi: 676
|
Quote:
PS Se ho scritto cagate "corriggetemi" :P |
|
|
|
|
|
|
#17 | |
|
Senior Member
Iscritto dal: Dec 2002
Città: /dev/urandom breed
Messaggi: 1689
|
Quote:
"E` piu` semplice" non vale, perche` tra millanta front-end grafici e l'arido urpmi nomepacchetto apt-get nomepacchetto non ci vuole chissache ad usare rpm. Anzi. |
|
|
|
|
|
|
#18 |
|
Senior Member
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
|
Tralasciando commenti a giudizi "superficiali" sulla qualità dei drivers Linux e sul supporto che esso offre a nuove periferiche 8ti ricordo che le nuove tecnologie sono spesso disponibili e supportate prima da Linux che da W$n), posso chiederti se hai l'eperienza e la capacità per realizzare un driver di una qualunque periferica? Non credo che basti un libro...
|
|
|
|
|
|
#19 | ||
|
Member
Iscritto dal: Jun 2003
Città: l'isola che non c'è
Messaggi: 172
|
Quote:
Venendo alla nostra, io potrei risponderti "gli rpm sono meglio" al chè tu replichi con "no, è meglio installshield" e proseguiamo sul pattern prima esposto ..... Da cui, accodandomi alla domanda di Ikitt_Claw: perchè "installshield che, parliamoci chiaro, sono molto più evolute degli rpm"? Al momento lavoro al 99% sotto linux e mi capita spesso di usare rpm (quando ho bisogno di un installazione $rapida&&$veloce). Ma, in passato, ho lavorato (a fondo) sotto win. E francamente non ho mai avuto problemi neppure li (parlo sempre di installazione/rimozione del sw).Se devo fare una valutazione a mente lucida, il sistema di linux mi sembra più pulito. Almeno personalmente, mi è capitato più di una volta di rimuovere un sw da windows salvo poi scoprire che la disinstallazione aveva lasciato nel registro 2tonnellate di chiavi (inutilizzate), librerie sparse per il file-system (e quando il filesystem non ha uno specifico ordine e ogni cartella è buona per contenere file/librerie/configurazioni, rimuovere a mano è un divertimento! Con rpm questi problemi non mi sono mai capitati. L'obiezione classica agli rpm è "generano troppe dipendenze". Questo, a mio avviso, è anche un bene. Il fatto di avere moduli condivisi nel so diminuisce il carico sugli hd e il quantitativo di mem. occupata (o si preferisce il vecchio modello di win, dove ogni programma (anche ora qualcuno) aveva la sua bella copia di librerie mfc?) Quote:
__________________
Dov'è campanellino? |
||
|
|
|
|
|
#20 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Quote:
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 06:49.



















