Newsgroup: it.comp.os.linux.sys
Titolo: Scheda PCMCIA, ultima speranza!

Salve ragazzi siete la mia ultima speranza, ho un problema con la scheda
pcmcia e linux red hat 7.2.
Si tratta di una scheda Sitecom, 10/100 Base FastEthernet PC Card e funziona
egregiamente sotto winMe.
Ho cercato su google: nulla a parte i  miei precedenti post in NG, forse +
IT, sia italiani che stranieri.
Credo che si tratti di un errore da parte mia, magari la soluzione č cosě
banale che non vale la pena di rispondere, ma a questo punto anche una
risposta delk genere "sei un cretino" potrebbe essermi utile (almeno capirei
che l'errore dipende da me e non dalla scheda!" ;-)
Se poi la risposta fosse "6 un cretino devi solo..." sarei ancora + contento
;-)
Il problema č che la scheda di cui sopra con linux invece non ne vuol sapere
di funzionare. Gli slot PCMCIA funzionano correttamente e vengono rilevati
ed inizializzati all'avvio del sistema e dal pannello di controllo del KDE
viene indicato come occupato da una scheda Ambicom AMB8110. Tuttavia se
agisco sul network config non riesco ad individuarla e, quindi, ad
utilizzarla.
Sul sito stecom ho visto che la scheda non necessita di driver particolari
per questa versione di linux:
"This card uses the default drivers provided in RedHat 7.0 or Kernel 2.4.0
and no additional drivers are needed. Please setup the TCP/IP or DHCP
according to your needs."
Ho controllato il file /etc/pcmcia/config cercando le linee
<device "pcnet_cs"
       class "network" module "net/8390, "pcnet_cs">
e le ho trovate.
Ho poi aggiunto
<card "PCMCIA FastEthernet"
       version "PCMCIA", "FastEthernet"
       bind "pcnet_cs" >
ma non ho ottenuto segni di vita.
se lancio il comando lsmod ottengo:
[root@Parsifal root]# lsmod
Module                  Size  Used by
nls_iso8859-1      2832   1  (autoclean)
nls_cp437            4352   1  (autoclean)
vfat                      9584   1  (autoclean)
fat                        32384   0  (autoclean) [vfat]
ymfpci                 41184   0  (autoclean)
uart401               6576   0  (autoclean) [ymfpci]
sound                  59680   0  (autoclean) [uart401]
ac97_codec        8832   0  (autoclean) [ymfpci]
soundcore           4464   4  (autoclean) [ymfpci sound]
binfmt_misc         6416   1
pcnet_cs              10384   0  (unused)
8390                    6752   0  [pcnet_cs]
ds                          7056   4  [pcnet_cs]
yenta_socket        9488   2
pcmcia_core         41600   0  [pcnet_cs ds yenta_socket]
autofs                 11520   0  (autoclean) (unused)
appletalk              20912   0  (autoclean)
ipx                    16448   0  (autoclean)
ipchains               39200   0
usb-uhci               21536   0  (unused)
usbcore                51712   1  [usb-uhci]
ext3                   64624   2
jbd                    40992   2  [ext3]
Da ifconfig:
[root@Parsifal root]# ifconfig
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:332 errors:0 dropped:0 overruns:0 frame:0
          TX packets:332 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0
          RX bytes:25238 (24.6 Kb)  TX bytes:25238 (24.6 Kb)
[root@Parsifal root]# insmod pcnet_cs
Using /lib/modules/2.4.7-10/kernel/drivers/net/pcmcia/pcnet_cs.o
insmod: a module named pcnet_cs already exists
Cosa devo fare?
Grazie per l'aiuto ed abbiate pietŕ di un niubbino!
--
Parsifal

 Ho cercato su google: nulla a parte i  miei precedenti post in NG, forse +
La tua scheda è ne2000 compatibile? Dovresti trovare questa
indicazione sui vari foglietti allegati alla scatola originale, poichè
le schede di questo tipo sono sicuramente supportate da Linux, nel
caso delle pcmcia dovrebbe caricarti i moduli pcnet_cs e ne2000.
Se hai la compatibilità credo che basti semplicemente forzare il bind
su ne2000 anziche l'altro da te specificato.
Comunque usando rh per la configurazione di rete hai a disposizione
netcfg, se non ce l'hai lo trovi sicuramente tra gli rpm del cd da cui
hai installato.
Ciao

 hai installato.
Ciao. Come devo fare x forezare il bind?
La scheda è ne2000 compatibile, ma credo che il problema consista nel fatto
che sia una pcmcia.
Infatti all'avvio prima esegue la verifica della rete e poi carica il
pcmcia. In questo modo la verifica della rete fallisce miseramente. E'
un'idea da niubbino implume, ma lo stesso problema lo ho con un'altra pcmcia
che se installata "a caldo" funziona (interfacce lo e eth0 funzionanti), ma
che non riesco a configurare per lavorare con il wizard di rete. ora provo
con linuxconf, poi ti farò sapere.
Grazie cmq.
Parsifal

> Ciao. Come devo fare x forezare il bind?
Dai un'occhiata nel file /etc/pcmcia/config
Lo stai guardando?
bene, allora spostati nella parte dove vedi una serie di righe del tipo:
card "Generic AX88190 or pcnet Fast Ethernet"
  manfid 0x0149, 0xc1ab
  bind "axnet_cs"
  #bind "pcnet_cs"
card "2412LAN Ethernet"
  version "2412LAN"
  bind "pcnet_cs"
card "3Com 589 Ethernet"
  manfid 0x0101, 0x0589
  bind "3c589_cs"
........eccetera
I nomi delle card fra virgolette sono gli identificativi delle card che 
vengono rilevati dal demone pcmcia (che si chiama cardmgr) se è 
correttamente in funzione.
Molto probabilmente se la tua scheda non è di un produttore famoso non è 
compresa in questo elenco, ma può tranquillamente funzionare come una 
qualunque ne2000 aprop il modulo su cui forzare il bind è il pcnet_cs, 
basta che crei una nuova entry rispettando la sintassi delle altre con i 
dati di identificativo e soprattutto manfid della tua scheda.
Tu mi dirai "e come accidenti li trovo?" niente di più facile, una volta 
che hai inserito la tua scheda nello slot apri un terminale e dai:
$: /sbin/cardctl ident
questo ad esempio è il mio output:
Dr_Kancell@acer:~> /sbin/cardctl ident
Socket 0:
  no product info available
Socket 1:
  product info: "PCMCIA", "Ethernet Card", "", ""
  manfid: 0x8a01, 0x0100
  function: 6 (network)
Fin qui tutto ok?
Dopo che la tua scheda è stata riconosciuta ed attivata lancia netcfg (come 
root) e configurati la eth0 poi prova il reboot.
Anche se la rete viene lanciata prima del cardmgr quest'ultimo dovrebbe lo 
stesso identificare la scheda e configurare correttamente la eth0, 
altrimente puoi sempre modificare l'ordine di avvio dei servizi.
Come? Anche qui nulla di complicato, anche perchè se non ricordo male la rh 
dovrebbe avere un tool apposito (sysvedit?), altrimenti comportati così:
su root
cd /etc/init.d/rc5.d (se il tuo sistema parte automaticamente in modalità 
grafica, altrimenti il 5 diventa un 3 è un chiaro riferimento ai runlevel!)
ora dai un ls e non ti mettere paura, quei file dai nomi strani sono gli 
script per terminare e lanciare i giusti servizi al cambio di runlevel.
Il formato è:
K[numero][nome servizio]          (K = Kill Ferma il servizio)
S[numero][nome servizio]          (S = Start Avvia il servizio!)
e il numero è l'ordine di avvio/killing del servizio da tutto ciò se ne 
deduce che basta rinominare gli script che lanciano network e cardmgr (o 
pcmcia) cambiandogli il numero per modificare l'ordine di caricamento!
Ocio che se modifichi l'ordine di avvio devi specularmente modificare il 
killing ergo chi parte prima muore prima!!
Mi scuso di non averti risposto prima, ho avuto un pò poco tempo per 
seguire l'ng ultimamente!!
Spero di esserti stato utile !
Ciao!!! 
