# yenta bridge migrazione da pcmcia-cs a pcmciautils [RISOLTO]

## neryo

ciao a tutti..

ho un problema da quando ho compilato sul mio acer aspire 5020 (turion 64)  il nuovo kernel (gentoo-sources 2.6.14) dal 2.6.13-gentoo-r3.. 

come al solito quando compilo un nuovo kernel dello stesso ramo, 'mi porto dietro' la configurazione precedente, ovviamente ricontrollo tutto e poi ricompilo quasi immediatamente, senza apportare quasi mai grosse modifiche.. Questa volta invece, sicuramente e' cambiato qualcosa (nel nuovo kernel) che non sono riuscito a capire, perche' lspci non mi vede piu' la mia scheda wireless pcmcia della dlink dwl-g650, correttamente inserita nello slot pcmcia..

EDIT:

Infatti qualcosa e' cambiato:

http://kernel.org/pub/linux/utils/kernel/pcmcia/pcmcia.html

http://kernel.org/pub/linux/utils/kernel/pcmcia/howto.html

http://kernel.org/pub/linux/utils/kernel/pcmcia/cardmgr-to-pcmciautils.html

Questa e' quello che si vede in lspci quando uso il kernel 2.6.13

```

07:00.0 Ethernet controller: Atheros Communications, Inc. AR5212 802.11abg NIC (rev 01)
```

le impostazioni relative alla pcmcia nel kernel sono le medesime.. a parte che e' stato aggiunta una nuova voce che sembra non nuocere... anche se e' l'unica cosa che e' stata aggiunta! ..ma prima di toglierla volevo sentire qualche parere.. 

 *Quote:*   

>  [*]     Load CIS updates from userspace (EXPERIMENTAL) 
> 
>   Some PCMCIA cards require an updated Card Information Structure (CIS)                                     
> 
>   to be loaded from userspace to work correctly. If you say Y here,                                                   
> ...

 

la mia sezione del kernel relativa alla pcmcia e' questa..e sembra essere ok..

```
  <M> PCCard (PCMCIA/CardBus) support                                          

 [ ]   Enable PCCARD debugging                                                       

<M>   16-bit PCMCIA support                                                        

[*]     Load CIS updates from userspace (EXPERIMENTAL)                    

[*]     PCMCIA control ioctl (obsolete)                                             

---   32-bit CardBus support                                                  

---   PC-card bridges                                                        

<M>   CardBus yenta-compatible bridge support                         

< >   Cirrus PD6729 compatible bridge support                          

< >   i82092 compatible bridge support 
```

EDIT:

PCMCIA control ioctl e' necessario solo con pcmcia-cs..

se avete qualche idea e/o commento postatelo, potrebbe essermi d'aiuto!   :Laughing: 

grazie a tutti..

neryo   :Wink: 

EDIT:

rimuovendo Load CIS updates from userspace e  PCMCIA control ioctl (visto che obsoleto) si comporta nello stesso modo.... non vede ancora la scheda wireless!

----------

## neryo

mh.. nessuno vedo ha qualche suggerimento..   :Rolling Eyes: 

Aggiungo inoltre che e' presente il pacchetto sys-apps/pcmcia-cs...

Grazie,

ciao e buon 2006!   :Wink: 

----------

## .:chrome:.

ho visto diverse schede wireless connesse attraverso il bus USB, anziché PCI

che io sappia, in quei casi non c'è soluzione se non passare per ndiswrapper.

----------

## neryo

 *k.gothmog wrote:*   

> ho visto diverse schede wireless connesse attraverso il bus USB, anziché PCI
> 
> che io sappia, in quei casi non c'è soluzione se non passare per ndiswrapper.

 

e' una scheda pcmcia.. e funzionava bene con i driver madwifi e con il kernel precedente 2.6.13-gentoo-r3.. con il 2.6.14-gentoo-r2 ed r5 con la stessa configurazione non funziona..

Ma il problema e' che non viene vista la periferica.. come se non esistesse.

EDIT:

sto leggendo qualche post in giro che dicono che pcmcia-cs e' stato deprecato.. qualcuno ha sentito qualcosa? e che e' stato rimpiazzato da pcmciautils...

----------

## neryo

ho tolto pcmcia-cs e ho emergiato al suo posto pcmciautils, chiaramente pcmcia e' nel runlevel di default.

i moduli per il funzionamento della pcmcia sono caricati:

```
# lsmod |grep yenta

yenta_socket           27724  2

rsrc_nonstatic         13312  1 yenta_socket

pcmcia_core            43868  3 pcmcia,yenta_socket,rsrc_nonstatic

```

nonostante cio' all'avvio del servizio mi da un errore:

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

 * Starting pcmcia ...

start-stop-daemon: stat /sbin/cardmgr: No such file or directory

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

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

a parte che non trova /sbin/cardmgr mhh, sembra che la pcmcia deve essere built-in nel kernel.. ora provo!   :Idea:   :Wink: 

il dmesg spara fuori queste infos:

```
Yenta: CardBus bridge found at 0000:06:06.0 [1025:0080]

Yenta: Using CSCINT to route CSC interrupts to PCI

Yenta: Routing CardBus interrupts to PCI

Yenta TI: socket 0000:06:06.0, mfunc 0x010a1b22, devctl 0x64

Yenta: ISA IRQ mask 0x0ef8, PCI irq 16

Socket status: 30000820

pcmcia: parent PCI bridge I/O window: 0xa000 - 0xafff

pcmcia: parent PCI bridge Memory window: 0xc0200000 - 0xc02fffff

pcmcia: parent PCI bridge Memory window: 0x30000000 - 0x32ffffff

```

 :Rolling Eyes: 

----------

## neryo

ho scoperto su questo 3d su Kernel & Hardware:

https://forums.gentoo.org/viewtopic-t-415758-highlight-pcmcia+driver+proc+devices.html

che PCMCIA control ioctl (obsolete) non e' piu' necessario quando si e' passati a pcmciautils, ma solo se si usa pcmcia-cs (cardmgr e cardctl)... e che grazie a hotplug e alla nuova implementazione, non bisogna avviare il servizio di pcmcia! chiaramente il modulo di bridge deve essere caricato, mettendolo ad esempio in /etc/modules.autoload.d/kernel-2.6 oppure in modo statico nel kernel.

ora provo e vi faccio sapere..   :Wink: 

EDIT:

per il momento non sono riuscito a risolvere.. sembra esserci un problema, qualche bug insomma con hardware sfigati..   :Rolling Eyes: 

----------

## neryo

up.. tengo vivo il thread perche' devo ancora risolvere..non si sa mai che qualcuno abbia avuto lo stesso problema..   :Rolling Eyes: 

----------

## Ic3M4n

posso confermare che sul portatile di un mio amico c'è lo stesso identico problema. 

ottengo pure io questo all'avvio di pcmcia 

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

 * modules built or support compiled into the kernel         
```

però avevo pensato fosse un qualche mio errore di configurazione. 

appena riesco gli do' un'altra occhiata. per caso hai provato a controllare con qualche kernel differente che sai essere funzionante?

----------

## neryo

 *Ic3M4n wrote:*   

> posso confermare che sul portatile di un mio amico c'è lo stesso identico problema. 
> 
> ottengo pure io questo all'avvio di pcmcia 
> 
> ```
> ...

 

Grazie della risposta..   :Wink: 

Come puoi leggere qui http://kernel.org/pub/linux/utils/kernel/pcmcia/cardmgr-to-pcmciautils.html

 *cardmgr-to-pcmciautils wrote:*   

> Kernels since 2.6.13-rc1 do not require the cardmgr daemon anymore. In those newer kernel the pcmcia bus acts almost as any other bus with full /sbin/hotplug support. Old style cardmgr setups should still work if the kernel is configured correctly. But be aware that the ioctl for PCMCIA will be removed in the near future.
> 
> The change to be /sbin/hotplug capable means that the normal /etc/init.d/pcmcia script is not required any more and in fact only hurts as it starts cardmgr. To use the new pcmciautils it is a requirement that cardmgr is not started.
> 
> 

 

quindi riguardo al tuo errore, non e' piu' necessario far partire il servizio pcmcia...   :Wink: 

Comunque l'ultima configurazione funzionante e' stata quella con 2.6.13-gentoo-r3 e il vecchio pcmcia-cs, ma quando ho messo il 2.6.14-gentoo-r5 sono dovuto passare obbligatoriamente a pcmciautils...   :Rolling Eyes: 

C'e' anche un 3d internazionale su cui parlano dello stesso problema:  https://forums.gentoo.org/viewtopic-p-3032906.html

ciauz  :Rolling Eyes: 

----------

## neryo

ho risolto!!!!  funziona tutto..  :Razz:   :Very Happy: 

il problema e':

 *Known problems wrote:*   

> On several, especially new systems the Yenta bridge is not on the root PCI bridge, but behind a PCI-to-PCI bridge. On some x86 or x86_64 systems, these bridges aren't corrreclty set up by the BIOS, which may cause CardBus and even PCMCIA devices not to show up in lspci or in pccardctl ident correctly.

 

trovato su questo link:  http://www.kernel.org/pub/linux/utils/kernel/pcmcia/pcmcia.html#knownproblems

bisogna passare al kernel...

```
pci=assign-busses
```

ciauz

EDIT:  ho modificato il titolo perche' il problema dovrebbe riguardare solo gli yenta bridge...   :Wink: 

----------

## demetrix

ciao+

scusa come hai risolto?

----------

## neryo

 *demetrix wrote:*   

> ciao+
> 
> scusa come hai risolto?

 

devi passare al kernel la stringa che e' postata nel thread precedente.. scusa ma in questo periodo non sto' usando gentoo ma fedora... quindi non so se il problema e' risolvibile nelle stesso modo con i kernel attuali..

----------

## fbcyborg

Ciao a tutti, sto diventando scemo con questo problema.

Ho passato al kernel quell'opzione pcmcia=assign-busses.

Ho sempre lo stesso problema:

```
* Starting pcmcia ...

/sbin/start-stop-daemon: stat /sbin/cardmgr: No such file or directory (No such file or directory)

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

 * modules built or support compiled into the kernel     
```

anche se pcmcia non è nel runlevel di default.

Il fatto è che questo messaggio appare due volte nella sequenza di boot. Ma perchè parte lo stesso? Sarà udev?

L'unica cosa che ho fatto è stata quella di mettere yenta_socket in /etc/modules.autoload.d/kernel-2.6.

credo che il mio lettore di pcmcia sia così rilevato da pcmcia:

```
06:04.0 CardBus bridge: Texas Instruments PCIxx12 Cardbus Controller
```

infatti:

```
# pccardctl ls

Socket 0 Bridge:        [yenta_cardbus]         (bus ID: 0000:06:04.0)
```

Ho rimosso pcmcia-cs.

Ho tolto l'ioctl nella configurazione del kernel poiché obsoleto.

Sta di fatto che prima, quando avevo ioctl nel kernel, pcmciautils e pcmcia-cs installati, nonostante gli errori dati da cardmgr dei vari "Function not implemented" almeno la scheda wifi integrata mi funzionava. Ora non funziona più nemmeno quella, e se funziona dura poco.

La scheda wireless è una Intel Corporation PRO/Wireless 3945ABG.

Che poi non capisco cosa c'entri il fatto che non debba funzionare il lettore di schede pcmcia con la scheda wireless integrata.

Adesso, se per esempio inserisco una scheda pcmcia con una memoria compact flash (quindi una pcmcia che legge compact flash) ecco cosa appare in dmesg:

```
pccard: PCMCIA card inserted into slot 0

cs: memory probe 0x0c0000-0x0fffff: excluding 0xc0000-0xcffff 0xdc000-0xfffff

cs: memory probe 0x60000000-0x60ffffff: excluding 0x60000000-0x60ffffff

cs: memory probe 0x88000000-0x89ffffff: excluding 0x88000000-0x89ffffff

cs: memory probe 0xa0000000-0xa0ffffff: clean.

cs: memory probe 0xde000000-0xde0fffff: excluding 0xde000000-0xde00ffff

pcmcia: registering new device pcmcia0.0

```

Non so più che pesci prendere... Mi sta venendo un'esaurimento nervoso... 

ecco le mie impostazioni nel kernel riguardo pcmcia:

```
<*> PCCard (PCMCIA/CardBus) support                                

  [ ]   Enable PCCARD debugging                                     

  <*>   16-bit PCMCIA support                                      

  [ ]     Load CIS updates from userspace (EXPERIMENTAL)     

  [ ]     PCMCIA control ioctl (obsolete)                             

  ---   32-bit CardBus support                                     

  ---   PC-card bridges                                             

 <M>   CardBus yenta-compatible bridge support                        

 <M>   Cirrus PD6729 compatible bridge support         

  <*>   i82092 compatible bridge support  
```

In realtà potrei mettere anche tutto come "built in" ... non fa differenza per me...

Ditemi voi.. basta che ricominci a funzionare anche il wi-fi.

Eppure non ho mai avuto tutti questi problemi con precedenti notebook.

EDIT1: MALEDETTO pcmcia... ho ripristinato la configurazione precedente... ho installato di nuovo pcmcia-cs... 

ora non mi fa funzionare più il wireless... maledettissimo pcmcia... ma perché mai il wireless dovrebbe dipendere dal pcmcia e dal suo funzionamento?

EDIT2: per quanto riguarda questo messaggio 

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

 * modules built or support compiled into the kernel 
```

 cosa diavolo vuole???????????????

Ho compilato l'impossibile nel kernel!!! Non può mancare il driver!!!!!!!!!!   :Evil or Very Mad:   :Evil or Very Mad:   :Evil or Very Mad: 

EDIT3: in maniera del tutto ASSURDA ora improvvisamente ri-funziona!!!!  Sono stupefatto!!!! Ah, però una cosa l'ho fatta: ho downgradato udev alla 087-r1 e poi ho rimesso la 103. Ora pare che vada anche meglio di prima!!!!! MISTERI di linux... non li capirò mai.

----------

