[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

non funzionano le schede pcmcia gia' presenti in fase di boot



La situazione è questa: un laptop (Dell c600) con installata una debian
unstable. 1 scheda pcmcia 3com 574bt e 1 scheda pcmcia modem megahertz
xj1556.

In origine il kernel 2.4.18 (pacchetto debian precompilato) non presentava
il problema che mi accingo ad illustrare. Per diversi motivi (VESA
framebuffer e DRI assenti) ho deciso di ricompilare, e ho approfittato per
passare al 2.4.20.

Risultato: le feature che andavo cercando le ho ottenute. A questo pero' è
sorto un problema con la pcmcia e dopo mesi di tentativi andati a vuoto,
chiedo quindi aiuto a qualcuno che ne puo' sapere più di me.

I problemi in realta' sono due. Fino ad oggi sopravvivo grazie ad
escamotage, ma mi piacerebbe riuscire a risolverli una volta per tutte e
accomodare definitivamente la mia macchina.

1) Primo problema: se lascio le schede PCMCIA inserite in fase di boot,
queste non vengono riconosciute. O meglio: vengono riconosciute, ma in
maniera errata. Ecco il log:

Jan 10 00:17:17 mypc cardmgr[348]: watching 2 sockets
Jan 10 00:17:17 mypc kernel: cs: IO port probe 0x0c00-0x0cff: clean.
Jan 10 00:17:17 mypc kernel: cs: IO port probe 0x0800-0x08ff: clean.
Jan 10 00:17:17 mypc kernel: cs: IO port probe 0x0100-0x04ff: excluding
0x4d0-0x4d7
Jan 10 00:17:17 mypc kernel: cs: IO port probe 0x0a00-0x0aff: clean.
Jan 10 00:17:17 mypc cardmgr[350]: starting, version is 3.2.5
Jan 10 00:17:17 mypc cardmgr[350]: socket 0: Anonymous Memory
Jan 10 00:17:17 mypc cardmgr[350]: executing: 'modprobe memory_cs'
Jan 10 00:17:17 mypc cardmgr[350]: + modprobe: Can't locate module memory_cs
Jan 10 00:17:17 mypc cardmgr[350]: modprobe exited with status 255
Jan 10 00:17:17 mypc cardmgr[350]: module /lib/modules/2.4.20/pcmcia
memory_cs.o not available
Jan 10 00:17:18 mypc cardmgr[350]: get dev info on socket 0 failed: Resource
temporarily unavailable
Jan 10 00:17:18 mypc cardmgr[350]: socket 1: Anonymous Memory


Dunque, memory_cs.o non è disponibile. Ma non dovrebbe interessare questo
caso, perchè nel Socket 0 c'e' una scheda di rete, e nel Socket 1 una
modem.

Se estraggo le schede e le inserisco nuovamente, a macchina avviata, le cose
sembrano andare a posto. Estraggo la scheda di rete e la reinserisco:

Jan 10 00:24:19 mypc cardmgr[350]: executing: 'modprobe -r memory_cs'
Jan 10 00:24:27 mypc cardmgr[350]: socket 0: 3Com 572/574 Fast Ethernet
Jan 10 00:24:27 mypc kernel: eth1: Megahertz 574B at io 0x300, irq 3,
hw_addr 00:50:04:8E:F6:E5.
Jan 10 00:24:27 mypc kernel:   ASIC rev 1, 64K FIFO split 1:1 Rx:Tx,
autoselect MII interface.
Jan 10 00:24:27 mypc cardmgr[350]: executing: './network start eth1'
Jan 10 00:24:27 mypc cardmgr[350]: + /etc/network/if-pre-up.d/whereami: line
20: /usr/sbin/whereami: No such file or directory
Jan 10 00:24:30 mypc kernel: eth1: found link beat
Jan 10 00:24:30 mypc kernel: eth1: link partner did not autonegotiate

La scheda parte e, grazie al fatto che è configurata come 'auto' nella
network.opts (se non ricordo male), acquisisce il proprio indirizzo IP e
funziona correttamente.

Faccio la stessa cosa con il modem:

Jan 10 00:26:04 mypc cardmgr[350]: socket 1: Serial or Modem
Jan 10 00:26:04 mypc kernel: ttyS02 at port 0x03e8 (irq = 9) is a 16550A
Jan 10 00:26:04 mypc cardmgr[350]: executing: './serial start ttyS2'
Jan 10 00:26:08 mypc kernel: keyboard.c: can't emulate rawmode for keycode
272

Anche qui, una volta inserito, mi è sufficente un "pon tiscali" per chiamare
il provider.

E' a questo punto che insorge il

2) Secondo Problema: se entrambe le schede sono inserite, non riesco ad
accedere ad internet.

Faccio un esempio: avvio la macchina senza schede pcmcia. Una volta eseguito
il boot, inserisco il modem. Poi chiamo il provider e mi collego: tutto ok.
un 'dig www.repubblica.it' mi rivela che la rete è funzionante, e del resto
browso normalmente qualsiasi sito.
A questo punto inserisco la scheda di rete, collegata ad un hub in rete con
uan macchina windows. La rete funziona, accedo ai miei file tramite il
samba che gira sulla mia macchina, ma fino a che la scheda di rete è
inserita, qualsiasi interrogazione delle rete va in timeout.

Mi è sufficente estrarre la scheda di rete perchè il collegamento riprenda a
funzionare.

Ad intuito, sembra che quando è presente la scheda di rete pcmcia (eth1, e
faccio notare che è gia' presente una scheda di rete pci eth0 che al
momento è inutilizzata perchè destinata ad ospitare il collegamento in
PPPOE alla futura adsl) il binding per le connessioni ad internet viene
trasferito su questa invece che sulla ppp del modem. Appena estratto, torna
tutto normale. L'altra ipotesi è una sorta di conflitto tra le due schede,
ma per quanto riguarda i valori IO e IRQ delle due schede ho controllato
accuratamente (e ho anche configurato il modulo PCMCIA per evitare
conflitti) e tutto sembra essere a posto. E, del resto, sulla macchina
windows entrambe funzionano a dovere, contemporaneamente.

Brancolo nel buio, ho letto tutta la documentazione possibile sulla pcmcia e
decine e decine di pagine di problematiche simili ricercate attraverso
google. Ho trovato qualche riferimento relativo al problema delle schede
riconosciute come memory_cs in fase di boot nel pcmcia howto ma la
soluzione proposta (controllare i soliti conflitti IRQ) era assolutamente
insufficente.

Del resto, se risolvo anche questa, mi rimane solo da scoprire se
funzionera' l'infrarossi, e poi la mia macchina sara' perfetta. 

Grazie anticipatamente a chi vorra' imbarcarsi in suggerimento su un
problema ostico come questo. Sono disposto a tutto, anche a cambiare
kernel, se questo dovesse essere risolutivo. 



Reply to: