# [hotplug-script] ISAPNP hotplug

## motaboy

Ciao a Tutti!

Come potete vedere dal post "udev e moduli del kernel" ero abbastanza stufo del fatto che hotplug non fosse in grado di caricare in automatico i moduli relativi ai device isapnp. 

Voi direte: "E chi è che ha questi vetusti device?"

Non è vero infatti anche se non avete nessuno slot ISA, solo sulla scheda madre il BUS isa continua ad esistere e sa fate un "lspnp" vedrete che avete almeno 10 di queste periferiche, per esempio:

Porta Parallela: parport_pc, parport

Porte Seriali: 8250, 8250_pnp

Porta giochi: ns558

Un'altro fatto è che con l'avvento di udev, l'uso di modules.autoload oltre ad essere "fuori moda" (eccetto alcuni moduli non aggiornati) è anche sconsigliabile per il fatto che i moduli vengono caricati prima che hotplug sia partito e quindi non c'è ancora nessuno che comunica ad udev di creare i device (in /dev) relativi a quella periferica.

Cosi ho aggiunto ai vari agenti già presenti (pci, usb. net ecc...) anche l'agente isapnp.

All'inizio era lentissimo e non ero in grado tramite la bash di convertire i nomi da, per esempio PNP05d1, ai vari id. Cosi ho fatto un programmino in C sullo stile di usbmodules, che faceva ciò e l'ho chiamato isapnpmodules, ho postato il tutto sulla mailing list di hotplug, parlando dei problemi che avevo riscontrato, cosi grazie all'aiuto di "Alexander E. Patrakov", il quale aveva fatto qualcosa di simile sono riuscito ad integrare il tutto all'interno dell'agente senza dovere ricorrere al programma in C. 

Ho poi finalmente risolto anche i problemi di velocità nel parsing di modules.isapnpmap scovando da dove veniva il collo di bottiglia e correggendo l'"errore", in questo modo lo script impiega meno di 2 secondi a fare il parsing e a caricare tutti i moduli necessari.

Descrizione

isapnp.rc:

Controlla se è possibile usare sysfs (kernel 2.6) per trovare i dati relativi alle periferiche installate, in caso negativo cerca di usare procfs.

In caso di sysfs il valore ricavato dal file "id" per ogni periferica è nel formato stringa del tipo "PNP05d1" e quindi viene convertito nel formato ID utilizzato anche modules.isapnpmaps.

isapnp.agent:

Questo agente funziona nello stesso modo degli agenti pci ed usb. Riceve i comandi hotplug (tipo add) e la variabile ISAPNP_ID, ha poi una funzione che effettua il parsing di /lib/modules/`uname -r`/modules.isapnpmap dalla quale ricava il modulo relativo alla periferica avente quel determinato ISAPNP_ID.

Installazione

Prendete il file tarbizzippato qua:

http://members.xoom.virgilio.it/motaboy/hotplug-isapnp-0.2.1.tar.bz2

0.1) Per il corretto funzionamente è necessario che abbiate attivato nei kernel 2.6 il supporto isapnp per procfs (questo attiva anche quello per sysfs)

In menuconfig o xconfig è necesario attivare sotto

```

Device Drivers ->

[*] Plug and Play support                                       

[ ]   PnP Debug Messages                                        

---   Protocols                                                 

[*]   ISA Plug and Play support                                 

[*]   Plug and Play BIOS support (EXPERIMENTAL)                 

[*]     Plug and Play BIOS /proc interface

Bus options (PCI, PCMCIA, EISA, MCA, ISA) ->

[*] ISA support

```

Oppure nel .config :

```

CONFIG_ISA=y

```

```

#

# Plug and Play support

#

CONFIG_PNP=y

# CONFIG_PNP_DEBUG is not set

#

# Protocols

#

CONFIG_ISAPNP=y

CONFIG_PNPBIOS=y

CONFIG_PNPBIOS_PROC_FS=y

```

Per i kernel 2.4 non ho trovato l'opzione necessaria e non so neanche se ci sia, infatti sotto /proc/bus non riesco a trovare la directory "pnp" o "isapnp". Se qualcuno sa quale è, sarebbe pregato di dirmelo cosi lo posso testare anche coi 2.4.

0.2) Sembra che siano necessarie (kernel 2.6) le ultime module-init-tools

```

sys-apps/module-init-tools-3.0

```

1) Decomprimete il file e troverete una directory chiamata "hotplug-isapnp-0.2.1".

2) Copiate isapnp.rc e isapnp.agent in /etc/hotplug, devete essere root.

```

cp isapnp.rc /etc/hotplug

cp isapnp.agent /etc/hotplug

```

3) Rendeteli eseguibili :

```

cd /etc/hotplug

chmod +x isapnp.rc

chmod +x isapnp.agent

```

Spero che vi possa servire nel caso vogliate usare kernel i più modulari possibili.

Fatemi sapere se funziona o che problemi avete!

Bye!

----------

## shev

E bravo il nostro prolifico motaboy  :Wink: 

----------

## motaboy

 *Shev wrote:*   

> E bravo il nostro prolifico motaboy 

 

Grassie!   :Laughing: 

Ho aggiornato un pò di roba e cambiato il collegamento nel post iniziale.

Bye!

----------

## emix

Ho copiato questi due file... ma non mi è cambiato niente  :Crying or Very sad: 

Ho sempre il problema che non mi viene caricato il modulo 8250. Inoltre non sono riuscito a trovare l'opzione CONFIG_PNPBIOS_PROC_FS nel kernel... dove si trova esattamente?

----------

## Sparker

non c'entra nulla, ma udev non mi carica nemmeno il driver per il mouse PS/2. Il bello è che il device lo crea lo stesso!

(udev puro)

----------

## silian87

Strafico! Penso che sulla distro che sto creando lo integrero'. 

Gia' che ci sei, lo sai se si possono usare quei programmini tipo autoconf ed hotplug sul kernel 2.6 anche se il supporto e' gia' incluso? Funzionano solo su 2.4? 

Dovro' fare un riconoscimento tipo knoppix e devo capire ancora bene come funziona anche se ho individiato i pacchetti.

----------

## motaboy

 *Sparker wrote:*   

> non c'entra nulla, ma udev non mi carica nemmeno il driver per il mouse PS/2. Il bello è che il device lo crea lo stesso!
> 
> (udev puro)

 

Il mouse è un device di tipo input, e non viene caricato perchè nel sorgente non è stata create nessuna tabella di tipo input esportata da MODULE_DEVICE_TABLE.

Infatti psmouse non viene caricato neanche a me, è una cosa che avevo intenzione di guardare perchè secondo è possibilissima da fare.

Bye!

----------

## motaboy

 *emi wrote:*   

> Ho copiato questi due file... ma non mi è cambiato niente 
> 
> Ho sempre il problema che non mi viene caricato il modulo 8250. Inoltre non sono riuscito a trovare l'opzione CONFIG_PNPBIOS_PROC_FS nel kernel... dove si trova esattamente?

 

Nel .config la dovresti trovare, se no in menuconfig è sotto:

Device Drivers -> Plug and Ply support -> Plug and Play Bios /proc interface

attivandolo gli scirpt dovrebbero funzionare, fammi sapere!

Bye!

----------

## motaboy

 *silian87 wrote:*   

> Strafico! Penso che sulla distro che sto creando lo integrero'. 
> 
> 

 

Mi fa piacere! ma funziona sul tuo sistema?

 *silian87 wrote:*   

> 
> 
> Gia' che ci sei, lo sai se si possono usare quei programmini tipo autoconf ed hotplug sul kernel 2.6 anche se il supporto e' gia' incluso? Funzionano solo su 2.4? 
> 
> 

 

Autoconf e hotplug sono 2 cose ben diverse.

Autoconf è un programma (che trovi in app-misc/livecd-tools) che utilizza kudzu per individuare le periferiche e capire quali moduli caricare e come configurarle (non l'ho mai provato perciò non so essere preciso) mentre hotplug è un feature dei kernel 2.2-2.4-2.6 (nei 2.6 è molto più estesa) e che comunica a un programma userspace (hotplug) le periferiche che vengono connesse al computer, questi a sua volta chiama vari script (agenti) per gestirle. Per gestire le periferiche già presenti al boot del sistema (coldplugging) vengono sempre invocati questi agenti ma da script di init (pci.rc usb.rc isapnp.rc) che trovano le info sulle periferiche connesse in /proc o in /sys (2.6) e chiamano gli agenti per ogni periferica.

 *silian87 wrote:*   

> 
> 
> Dovro' fare un riconoscimento tipo knoppix e devo capire ancora bene come funziona anche se ho individiato i pacchetti.

 

Io resto sempre dell'idea che il kernel dovrebbe essere in grado di riconoscere tutte le periferiche, chipset ecc... presenti sul PC. Piano piano ci si sta avvicinando a ciò. E questo per me è il metodo più logico da utilizzare. 

Perciò io spero che l'utilizzo di programmi di riconoscimento come quello della knoppix diventino inutili visto che hotplug dovrebbe essere in grado di gestire tutto. Inoltre con hotplug puoi fare script per configurare ogni periferica, come quello per montare in automatico le chiavette di memoria USB. 

Inoltre gestisce già adesso il caricamento di firmware verso le periferiche che ne necessitano visto che nel kernel sono state aggiunte proprio una serie di funzioni per fare ciò in modo abbastanza semplice senza dovere utilizzare programmi differenti per ogni tipo di periferica, per esempio il programma modem_run dello speedtouch protrebbe essere abolito se il driver si adeguasse a queste nuove funzioni, giorni scorsi è stato adeguato il driver per l periferiche bluetoot che necessitano di firmware.

Bye!

----------

## silian87

Grazie mille, ma vedi, sul mio kernel modulare della mia distro ho messo moltissimi moduli, ma hotplug nel kernel non mi carica quello della scheda di rete, e mi carica ben 40 moduli di schede audio. PERCHE????

----------

## motaboy

 *silian87 wrote:*   

> Grazie mille, ma vedi, sul mio kernel modulare della mia distro ho messo moltissimi moduli, ma hotplug nel kernel non mi carica quello della scheda di rete, e mi carica ben 40 moduli di schede audio. PERCHE????

 

 :Shocked:   :Shocked:   :Shocked:   :Shocked:   :Shocked: 

Questo è straaaano. Ovviamente hai hotplug aggiornato all'ultima versione?

Sei sicuro che sia hotplug che ti carica tutti questi moduli?

Potresti dirmi il nome del modulo della scheda di rete?

Bye!

----------

## emix

 *motaboy wrote:*   

> Nel .config la dovresti trovare, se no in menuconfig è sotto:
> 
> Device Drivers -> Plug and Ply support -> Plug and Play Bios /proc interface
> 
> attivandolo gli scirpt dovrebbero funzionare, fammi sapere!
> ...

 

Niente da fare  :Crying or Very sad:  ho attivato l'opzione ma i moduli continua a non caricarmeli.

----------

## motaboy

Cosa ti da un

```

cat /proc/bus/pnp/devices

```

Se non ti da niente, può darsi che ci siano varie opzioni da abilitare, oppure nel bios provare ad abilitare il pnp bios.

EDIT: Nel mio BIOS il pnp bios è disabilitato, quindi non credo si questo.

Ovviamente devi abilitare anche

Device Drivers -> Plug and Play Support -> ISA PnP Support

Bus Options -> ISA Support

Bye!

----------

## motaboy

 *motaboy wrote:*   

>  *Sparker wrote:*   non c'entra nulla, ma udev non mi carica nemmeno il driver per il mouse PS/2. Il bello è che il device lo crea lo stesso!
> 
> (udev puro) 
> 
> Il mouse è un device di tipo input, e non viene caricato perchè nel sorgente non è stata create nessuna tabella di tipo input esportata da MODULE_DEVICE_TABLE.
> ...

 

Detto cazzata. Secondo me psmouse non è di tipo input ma guardando il sorgente lui dovrebbe controllare proprio la porta ps2.

Facendo un bel lspnp (che trovi in pcmcia-cs con la USE="pnp") vedo che esiste un bel:

```

0a PNP0f13 PS/2 port for PS/2-style mice

```

Quindi è un device ISAPNP. Lo stesso per RTC e PCSPKR. Sto facendo delle patch per i moduli in modo che esportino la MODULE_DEVICE_TABLE, se funziona (e se interessa) apro un post con queste patches.

Bye!

----------

## motaboy

Ok, ho notato che alcuni moduli che gestiscono periferiche (che io credo) ISAPNP non vengono caricati dai miei script di hotplug perchè non esportano gli id isapnp necessari a far capire quali periferiche supportano.

Io ho trovato 3 di questi moduli, se ce ne sono degli altri ditemelo.

PREMESSA: "Quello che ho fatto non so se è corretto o meno visto che sulla mailing list di hotplug per adesso non mi cagano neanche di striscio..., so solo che sul mio PC funzionano e spero che vadano anche sul vostro" Se ho dei feedback positivi proverò a rompere le balle in modo più aggressivo...

Ovviamente vi servono gli script che trovate sopra.

Nel caso sapete che gli script funzionano (per esempio vi caricano il modulo 8250 per le porte seriali) ma non vi caricano questi, dovreste postare il contenuto di "/proc/bus/pnp/devices", grassie.

Come ogni patch per il kernel dovete entrare nella directory del kernel 

```

cd /usr/src/linux-2.X.X-blablabla

```

e poi applicare la patch con

```

patch -Np1 < FILEDELLAPATCH

```

Questa è la patch per i 3 file sopra citati.

```

--- linux-2.6.5/drivers/input/mouse/psmouse-base.c   2004-04-04 18:08:37.000000000 +0200

+++ linux-2.6.5-prova01/drivers/input/mouse/psmouse-base.c   2004-04-19 10:37:56.000000000 +0200

@@ -18,6 +18,7 @@

 #include <linux/input.h>

 #include <linux/serio.h>

 #include <linux/init.h>

+#include <linux/pnp.h>

 #include "psmouse.h"

 #include "synaptics.h"

 #include "logips2pp.h"

@@ -739,5 +740,13 @@

    serio_unregister_device(&psmouse_dev);

 }

 

+static const struct pnp_device_id pnp_dev_table[] = {

+   /* PS/2 port for PS/2-style mice */

+   {   "PNP0f13",      0   },

+   {   "",         0   }

+};

+

+MODULE_DEVICE_TABLE(pnp, pnp_dev_table);

+

 module_init(psmouse_init);

 module_exit(psmouse_exit);

--- linux-2.6.5/drivers/input/misc/pcspkr.c   2003-12-18 03:58:57.000000000 +0100

+++ linux-2.6.5-prova01/drivers/input/misc/pcspkr.c   2004-04-19 11:04:06.000000000 +0200

@@ -17,6 +17,7 @@

 #include <linux/init.h>

 #include <linux/input.h>

 #include <asm/io.h>

+#include <linux/pnp.h>

 

 MODULE_AUTHOR("Vojtech Pavlik <vojtech@ucw.cz>");

 MODULE_DESCRIPTION("PC Speaker beeper driver");

@@ -90,5 +91,13 @@

         input_unregister_device(&pcspkr_dev);

 }

 

+static const struct pnp_device_id pnp_dev_table[] = {

+   /* AT-style speaker sound */

+   {   "PNP0800",      0   },

+   {   "",         0   }

+};

+

+MODULE_DEVICE_TABLE(pnp, pnp_dev_table);

+

 module_init(pcspkr_init);

 module_exit(pcspkr_exit);

 

--- linux-2.6.5/drivers/char/rtc.c   2004-04-04 18:08:34.000000000 +0200

+++ linux-2.6.5-prova01/drivers/char/rtc.c   2004-04-19 10:59:35.000000000 +0200

@@ -77,6 +77,7 @@

 #include <linux/sysctl.h>

 #include <linux/wait.h>

 #include <linux/bcd.h>

+#include <linux/pnp.h>

 

 #include <asm/current.h>

 #include <asm/uaccess.h>

@@ -1346,6 +1347,14 @@

 }

 #endif

 

+static const struct pnp_device_id pnp_dev_table[] = {

+   /* AT real-time clock */

+   {   "PNP0b00",      0   },

+   {   "",         0   }

+};

+

+MODULE_DEVICE_TABLE(pnp, pnp_dev_table);

+

 MODULE_AUTHOR("Paul Gortmaker");

 MODULE_LICENSE("GPL");

 MODULE_ALIAS_MISCDEV(RTC_MINOR);

```

Se funziona o per ogni problema fatemelo sapere! Grazie!

Bye!

----------

## emix

 *motaboy wrote:*   

> Cosa ti da un
> 
> ```
> 
> cat /proc/bus/pnp/devices
> ...

 

```
bash-2.05b# cat /proc/bus/pnp/devices

00      030ad041        06:04:00        0003

01      010cd041        05:00:00        0003

02      0000d041        08:00:01        0003

03      0002d041        08:01:01        0003

04      0001d041        08:02:01        0003

05      000bd041        08:03:01        0003

06      0303d041        09:00:00        0081

07      0008d041        08:80:00        0003

08      040cd041        08:80:00        0003

09      0105d041        07:00:00        0080

0a      0105d041        07:00:00        0080

0b      0104d041        07:01:02        0080

0c      0007d041        01:02:00        0080

0d      130fd041        09:02:00        0080
```

----------

## motaboy

Ok, questo dovrebbe essere corretto e perciò dovrebbe andare. Sicuro che i 2 file siano eseguibili?

Puoi abilitare il debug decommentando la riga in /etc/hotplug/hotplug.functions

```

 DEBUG=yes; export DEBUG

```

Per testare senza dovere riavviare ogni volta puoi fare

```

/etc/hotplug/isapnp.rc start

```

Dovresti vedere una lista di variabili di ambiente seguita da frasi del tipo "... no modules for ISAPNP id ......" oppure nel caso ci sia un modulo "Setup 8250 for ISAPNP id ...."

Inoltre puoi controllare se in "/lib/modules/`uname -r`/modules.isapnpmap" ci siano i riferimenti ai moduli tipo 8250 ecc...

Bye!

----------

## emix

 *motaboy wrote:*   

> Inoltre puoi controllare se in "/lib/modules/`uname -r`/modules.isapnpmap" ci siano i riferimenti ai moduli tipo 8250 ecc...

 

Quel file è vuoto  :Shocked: 

Sarà per questo che non carica nulla. Però ho notato che in modules.pcimap ci sono dei riferimenti a 8250_pci... mi sai spiegare questo? Inoltre se carico il modulo 8250-pci mi viene caricato 8250.

----------

## motaboy

Ecco dove è la magagna! Senza di questo lo script non sa gli id e i moduli associati. Strano che sia vuoto, probabilmente hai delle module-init-tools vecchie? 

Io ho le ultime:

sys-apps/module-init-tools-3.0

Il 8250_pci è quello atto a gestire periferiche pci con chipset 8250, esso dipende da 8250 che è il modulo base. 

Però 8250_pci non è quello giusto, prova a caricarlo senza 8250_pnp e prova a fare cat /dev/ttyS0 ti darà un input output error, perchè i device li crea udev quando carichi 8250 ma nessuno gestisce la periferica visto che è isa e non pci.

Bye!

----------

## emix

 *motaboy wrote:*   

> 
> 
> Io ho le ultime:
> 
> sys-apps/module-init-tools-3.0

 

Ok, io avevo quelle vecchie... ora sto aggiornando alla 3.0 e vediamo che succede.

Intanto grazie mille  :Wink: 

edit: aggiornate! Ora nel file è presente 8250_pnp... al prossimo riavvio vedo se è cambiato qualcosa e ti faccio sapere.

----------

## motaboy

Ok, allora è meglio che aggiungo questa nota al primo post.

Comunque fai senza riavviare, ti basta scaricare i moduli con rmmod 

```

rmmod 8250_pnp

rmmod 8250

```

e dare

```

/etc/hotplug/isapnp.rc start

```

Bye!

----------

## emix

Ok!!! Ora funziona tutto. Aspetto con fiducia l'ultima fatica del psmouse  :Wink: 

Thanks!

----------

## motaboy

Ok! Sono tanto felice!  :Laughing:   :Laughing:   :Laughing: 

Se hai voglia e tempo prova le patches a fammi sapere!

Grazie!

Bye!

----------

## Sparker

Upgradando le module-init-tools  mi carica anche il modulo joydev necessario al joystick usb che con le 0.9-pre4 non caricava!!!

Non funzionano ancora:

1 - modulo sidewinder del gamepad su porta midi (viene caricata sia la scheda audio che la porta game)

2 - sensori della MoBo: sulla mia MoBo (nForce2) per i sensori comuni servono i2c_isa e w83781d.

Ma perchè la modules-init-tools stabili in portage sono ferme alla 0.9pre4 quando ormai si è alla 3.0?

----------

## motaboy

1 Sidewinder: non credo che la porta midi sia in grado di notificare quando una periferica viene collegata, anche se non lo uso da molto credo che anche in winzozz devi installare il driver specifico a mano, in questo caso implica il caricamento di un modulo.

2 Sensori mobo: Secondo me i sensori sono una brutta bestia perchè anch'essi devono essere rilevati in modo strano, non credo che il bus pci o isa li notifichi, non li ho mai usati perciò potrei sbagliarmi.

Io uso la gentoo unstable (~x86) e le module-init-tools sono già da un sacco alla versione 3, infatti la versione 0.9 non ha molto senso anche perchè hanno cambiato il numero di colpo visto che le vecchia modutils erano alla versione 2 e quindi non aveva senso che le nuove siano alla 0.9, secondo me sarebbe meglio fare un bug report.

P.S. Hai voglia di provare le patch?

Bye!

----------

## Sparker

Si, Si! Adesso sto patchando e domani ti dico.

Per l'occasione ho abilitato per la prima volta il PC speaker!

----------

## Sparker

Ho provato la patch.

Tutto OK, caricati tutti e tre i moduli.

----------

## motaboy

Grazie! Sono felice che vadano!  :Laughing:   :Laughing:   :Laughing: 

Perchè allora nessuno mi caga su linux-hotplug?!?!   :Crying or Very sad: 

Adesso inizio a rompere le balle forte e duro!   :Twisted Evil: 

Bye!

----------

## Sparker

Potresti provare a bypassarli ed contattare direttamente chi mantiene il modulo psaux del kernel. Se non lo ha ancora aggiornato potrebbe avere dei buoni motivi (o se lo è dimenticato  :Rolling Eyes:  )

----------

## motaboy

Ho gia contattato Vojtek Pavlick che è il mantainer dell'input subsystem ma non ho ancora ricevuto nessuna risposta...

Cmq l'importante è che sia utile a chi ha voglia di usarli. A molte persone non può interessare avere un kernel interamente modulare e con hotplug funzionante.

Bye!

----------

## dnix

ciao a tutti! finalmente un po' di interesse per la datata isapnp!

questo fine testero' questo fantastico programma sul mio vecchio extensa 670CDT il quale ha una particolarita' che puo' essere molto utile per il debug: la porta IrDA integrata su /dev/ttyS1.

Questa e' del tipo NSC81388, cioe' di quelle che funzionano solo in certe condizioni astrali. Altra particolarita' e' il codice isa:

PUM0001   :Shocked: 

prossime notizie a lunedi'!

ciao

----------

## motaboy

Ciao!

Per adesso lo script funziona solo con kernel 2.6.

Che modulo usi di per gestire la porta infrarossi?

Cosi guardo se esso esporta o no gli id isapnp necessari.

Grazie!

Bye!

----------

## dnix

ok, purtroppo non ho con me il portatile, ma di solito devo, per far funzionare quella benedetta porta irda:

modprobe 8250 che mi riconosce solo /dev/ttyS0,

rmmod 8250,

modprobe nsc-ircc,

rmmod nsc-ircc,

modprobe 8250 che adesso riconosce tutto /dev/ttyS1 e /dev/ttyS0,

setserial /dev/ttyS1 uart none,

rmmod 8250,

modprobe nsc-ircc

...

sembra normale? ovviamente, tra l'altro, il modulo nsc-ircc non viene toccato dal lontano 1998 e ci sono alcune patch da applicare perche' altrimenti non riconosce le schede PC81388   :Evil or Very Mad: 

----------

## motaboy

Ho paura che questo sia un problema proprio dei moduli, infatti ho guardato i sorgenti del 2.6.5 ma del tuo modello non c'è traccia in nsc-ircc.c. Inoltre questo modulo non esporta gli id isa e non è per niente conforme al nuovo driver model. 

Per il problema che tu devi scaricare e ricaricare i moduli credo che tu debbe fare un bug report alla linux-irda in modo che essi possano trovare una soluzione.

Bye!

----------

## dnix

Gia' fatto, ma troppi i problemi da risolvere! 

Spero comunque di riuscire a trovare una soluzione e di poter utilizzare il tuo fantastico sistema   :Very Happy: 

ciao ciao

----------

## dnix

ops, il modello e' il:

PC87338   :Embarassed: 

ma poco cambia, non funziona se non con le acrobazie!

----------

## Sparker

 *motaboy wrote:*   

> 
> 
> Cmq l'importante è che sia utile a chi ha voglia di usarli. A molte persone non può interessare avere un kernel interamente modulare e con hotplug funzionante.
> 
> Bye!

 

IMHO Hotplug e udev sono molti importanti per rendere Linux più "hardware-friendly". Spero molto nel buon sviluppo di entrambi i progetti.

----------

## motaboy

Quello che penso anch'io.

Infatti se vi interessa ho postato questi 2 bug report che credo possano interessarvi.

Uno è un pò il riassunto del thread su ALSA e moduli vari:

https://bugs.gentoo.org/show_bug.cgi?id=48736

Il secondo invece rappresenta un problema degli script di init con udev:

https://bugs.gentoo.org/show_bug.cgi?id=48734

Ossia il fatto che alcuni moduli che non possono essere caricati da hotplug perchè non relativi a periferiche (come per esempio ide-cd) e che devono essere messi in modules.autoload (SOLO QUESTI!!!!). Non creano i device con udev perchè hotplug viene fatto partire dopo che i moduli sono stati autocaricati.

Una soluzione potrebbe essere lanciare "udevstart" alla fine degli script di init (per esempio rc.local) mentre qua ho proposto una soluzione che ritengo un pò più elegante.

Bye!

----------

## matttions

ciao ..

ho utilizzato i tuoi script e devo dire che fanno il loro lavoro ..

complimenti  :Very Happy: 

```
 dmesg | grep parport

parport: PnPBIOS parport detected.

parport0: PC-style at 0x378 (0x778), irq 7, dma 3 [PCSPP,TRISTATE,COMPAT,ECP,DMA]

lp0: using parport0 (interrupt-driven).

```

ora se ho ben capito ...

la mia porta dovrebbe essere funzionante e il il suo numero dovrebbe essere 0x378 ..

il problema è che attaccando un vecchio lettore mp3 rio300 ed utilizzando un programma che si trova in portage (rio) non riesco a raggiungerlo...

brevemente stralci dell'help del programma e le sue risposte 

l'esempio del programma per contattare il lettore attaccato alla porta 0x278

```
 display directory using parallel port at 0x278

                rio -p 0x278 -d

```

quindi il comando che dò io e la sua risposta

```
./rio -p 0x378 -d

ioperm() failed, reason 'Operation not permitted'
```

l'ho dato come root ed ho provato anche con la porta 0x778...

idee?

[MOD]se devo aprire un altro topic ditemelo e lo farò[/MOD]

----------

