# [RISOLTO]pcmcia-cs problema dopo aggiornamento kernel

## magowiz

Ho un problema dopo aver aggiornato il kernel al 2.6.13 : all'avvio di pcmcia nel runlevel ottengo il seguente errore :

```

* Starting pcmcia ...

cardmgr[8331]: no pcmcia driver in /proc/devices

 * cardmgr failed to start.  Make sure that you have PCMCIA

 * modules built or support compiled into the kernel                      [ !! ]

```

naturalmente prima ho ricompilato pcmcia-cs e ho installato e caricato correttamente il modulo yenta_socket che risulta essere quello adatto per il mio portatile (anche perchè fino all'aggiornamento del kernel aveva sempre funzionato).

Non ho nessun tipo di errore dal caricamento del modulo yenta_socket che risulta caricato anche da lsmod :

```
Module                  Size  Used by

yenta_socket           22924  1

rsrc_nonstatic         12160  1 yenta_socket

ndiswrapper           162804  0

acerhk                 27492  0

psmouse                33028  0

```

che posso fare?Last edited by magowiz on Fri Oct 07, 2005 6:49 am; edited 1 time in total

----------

## randomaze

 *magowiz wrote:*   

> cardmgr[8331]: no pcmcia driver in /proc/devices
> 
> ...
> 
> che posso fare?

 

Ma oltre al supporto yenta, hai compilato anche i driver per le schede?

Ad esempio:

```

 Device Drivers  --->

   Network device support  --->

     PCMCIA network device support  ---> 

```

----------

## magowiz

mah in realtà per ora non ho nessuna scheda pcmcia, quello che mi "stranisce" è il fatto che a parità di configurazione (ho copiato il .config del 2.6.12 nel nuovo 2.6.13) se avvio il kernel 2.6.12 mi dice :

```

cardmgr[5981]: watching 1 socket

```

mentre con il 2.6.13 mi dà quell'errore.

----------

## randomaze

 *magowiz wrote:*   

> a parità di configurazione (ho copiato il .config del 2.6.12 nel nuovo 2.6.13)

 

Se hai solo "copiato" la configurazione non é affatto uguale, visto che mancano le nuove voci del .13. Per usare la vecchia configurazione, dopo aver copiato il .config devi fare "make oldconfig".

----------

## magowiz

sapevo che in realtà non era la stessa, di solito infatti prima di partire con la vera e propria compilazione se faccio "make" mi chiede tutte le voci nuove introdotte che nel precedente kernel non c'erano, credo sia sufficiente, o no?

Onestamente non sapevo di make oldconfig.

Comunque dopo aver compilato la prima volta ho anche riprovato a controllare con make menuconfig e per quanto riguarda il supporto del bus pcmcia e del modulo yenta_socket era tutto come il precedente kernel.

[EDIT] ho provato anche a fare make oldconfig e succede esattamente la stessa cosa che succede se faccio solo "make" (tranne la compilazione ovviamente), ovvero mi chiede di tutte quelle componenti che sono state introdotte rispetto al vecchio kernel.

----------

## magowiz

tra le nuove opzioni del kernel ho provato ad abilitare entrambe quelle che riguardavano il pcmcia :

load cis update from userspace

pcmcia control ioctl 

e tutto ha ripreso a funzionare come prima, ora faccio un po' di prove per determinare quale delle due voci sia quella che mi ha risolto il problema e poi aggiorno il post.

----------

## magowiz

mi rispondo nuovamente da solo :

era

```

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

                  PCCARD (PCMCIA/CardBus) support  --->   

 [ ]     PCMCIA control ioctl (obsolete)  

```

che inizialmente avevo disabilitato perchè obsoleto

infatti nell'help di quella voce dice :

 *Quote:*   

> 
> 
>  It is needed by cardmgr and cardctl            
> 
>  (pcmcia-cs) to function properly.
> ...

 

quindi la scelta resta se :

-mantenere l'opzione compilata nel kernel sebbene obsoleta e tenere pcmcia-cs

-rimuoverla e sostituire pcmcia-cs con pcmciautils sebbene sia al momento masked dalla keyword ~x86

----------

## CLod

anchde io ho il tuo stesso problema

sono passato ora al 2.6.13 e mi da quell'errore sul pcmcia nonostante la configurazione sia identica a quella del 2.6.12 (avendo appunto fatto un make oldconfig)

ora provo ad abilitare quella voce e vedo se si risolve

in ogni caso se è davvero quello sarebbe da segnalare come bug secondo me

----------

## magowiz

mah in realtà non penso sia tanto un bug quanto la scelta di chi sviluppa il kernel di passare da una tecnologia(pcmcia-cs) a un'altra(pcmciautils), il bug potrebbe essere il semplice fatto che pcmciautils è masked. Insomma quel che sta accadendo è paragonabile al passaggio da devfs a udev.

----------

## CLod

ho visto ora il pacchetto pcmciautils richiesto per i kernel 2.6.13

ritiro il fatto del bug allora  :Smile: 

----------

## CLod

ho compilato con quelle opzioni

ho installato i pcmciautils

ora mi funziona

solamente che all'avvio ho questo messaggio:

```
/etc/init.d/pcmcia start

 * PCMCIA support detected

 * Starting pcmcia ...

cardmgr[8393]: watching 2 sockets

cardmgr[8393]: could not adjust resource: IO ports 0x3d4-0x4ff: Function not implemented

cardmgr[8393]: could not adjust resource: IO ports 0x3c0-0x3d2: Function not implemented

cardmgr[8393]: could not adjust resource: IO ports 0x100-0x3af: Function not implemented

cardmgr[8393]: could not adjust resource: IO ports 0xc00-0xcff: Function not implemented

cardmgr[8393]: could not adjust resource: IO ports 0x800-0x8ff: Function not implemented

cardmgr[8393]: could not adjust resource: memory 0xc0000-0xfffff: Function not implemented

cardmgr[8393]: could not adjust resource: memory 0x60000000-0x60ffffff: Function not implemented

cardmgr[8393]: could not adjust resource: memory 0xa0000000-0xa0ffffff: Function not implemented

cardmgr[8393]: could not adjust resource: IO ports 0xa00-0xaff: Function not implemented                                                                            [ ok ]

```

cosa devo fare per risolverlo?

EDIT: non facendo partire pcmcia-cs al boot ho visto che non ho più quel messaggio.

----------

## fbcyborg

 *CLod wrote:*   

> ho compilato con quelle opzioni
> 
> ho installato i pcmciautils
> 
> ora mi funziona
> ...

 

Ho il tuo stesso identico problema: Kernel 2.6.18-gentoo-r3.

Ma se non fai più partire pcmcia nel runlevel di default poi non puoi usare la pcmcia???

Aggiungo che io in /etc/init.d/ ho pcmcia e non pcmcia-cs, nonostante ho installato il pacchetto pcmcia-cs.

----------

## fbcyborg

insomma, non c'è modo di eliminare questi messaggi?

----------

## fbcyborg

Potrebbe dipendere da pcmcia-cs????

EDIT: Smanettando ho visto che togliendo il modulo 

```
[ ]     PCMCIA control ioctl (obsolete)
```

La lista di errori del tipo "cardmgr [...] could not adjust resource ... Function not implemented" scompare, ma

al suo posto compare un messaggio che dice che non ci sono i driver compilati nel kernel per far funzionare pcmcia.

Dice spesso: "no pcmcia driver in /proc/devices"....

Ora però non so più che pesci prendere... utilizzo pcmcia-cs.

Fra l'altro in dmesg:

```
pcmcia: Detected deprecated PCMCIA ioctl usage from process: cardmgr.

pcmcia: This interface will soon be removed from the kernel; please expect breakage unless you upgrade to new tools.

pcmcia: see http://www.kernel.org/pub/linux/utils/kernel/pcmcia/pcmcia.html for details.
```

OK, sono d'accordo nel togliere quel modulo.. ma non so quanto funzioni!!!!

----------

