Buenas a todos,
Rubén Gómez Antolí wrote:
Kander nos contaba su problema:
Hola, tengo un toshiba satellite con tarjeta pcmcia
bromax (iport), mi problema es que no reconoce la
tarjeta. La pcmcia sí.
el lsmod me sale en blnaco.
modprobe pcnet_cs me informa diciendo que Can't locate
module.
Con make xconfig tengo marcadas todas las opciones
correspondientes a las pcmcias y además NE2000
compatible.
Seguramente toda esta información esté algo
desordenade, pero ahora mismo así tengo el cerebro,
DESORDENADO.
¿Alguien tiene idea de como actuar?.
Y a mi me dio por decir esto:
Vamos a ver, he estado revisando la documentación que viene con la
tarjeta y parece ser que hay que recompilar el modulito que viene con
ella, ¿has probado?
Hoy he probado, os cuento:
Voy a poner la parte importante para si algún ojo avizor de la lista
sabe si alguno de los modulos del núcleo recoge la opcion para esta
tarjeta:
[...]
3. To generate the driver
Modify the PCMCIASRC variable in your makefile to the location of your
PCMCIA source.
Modify the KERN_VER variable in your makefile.
After you finish the modification of variables in your makefile,
you can
rebuild the driver by doing
> make
La salida del make, dio muchos errores:
Puerto_Lobo:/usr/src/in0100-af-v1.51# make
gcc -DMODULE -DMODVERSIONS -D__KERNEL__ -DGENERIC -DGENERIC_IN0100AF -c -O2 -I/usr/src/pcmcia/include -I/usr/src/linux/include -o pcnet_cs.o pcnet_cs.c
In file included from pcnet_cs.c:42:
/usr/src/linux/include/linux/malloc.h:4: warning: #warning linux/malloc.h is
deprecated, use linux/slab.h instead.
In file included from pcnet_cs.c:50:
8390.h:146: warning: `struct device' declared inside parameter list
8390.h:146: warning: its scope is only this definition or declaration, which is
probably not what you want.
8390.h:147: warning: `struct device' declared inside parameter list
8390.h:148: warning: `struct device' declared inside parameter list
8390.h:149: warning: `struct device' declared inside parameter list
8390.h:159: warning: `struct device' declared inside parameter list
8390.h:160: warning: `struct device' declared inside parameter list
8390.h:161: warning: `struct device' declared inside parameter list
8390.h:162: warning: `struct device' declared inside parameter list
pcnet_cs.c:134: warning: `struct device' declared inside parameter list
pcnet_cs.c:135: warning: `struct device' declared inside parameter list
pcnet_cs.c:137: warning: `struct device' declared inside parameter list
pcnet_cs.c:139: warning: `struct device' declared inside parameter list
pcnet_cs.c:268: field `dev' has incomplete type
pcnet_cs.c: In function `pcnet_attach':
pcnet_cs.c:326: warning: passing arg 1 of `ethdev_init' from incompatible
pointer type
pcnet_cs.c:327: dereferencing pointer to incomplete type
pcnet_cs.c:328: dereferencing pointer to incomplete type
pcnet_cs.c:329: dereferencing pointer to incomplete type
pcnet_cs.c:330: dereferencing pointer to incomplete type
pcnet_cs.c:331: dereferencing pointer to incomplete type
pcnet_cs.c:332: dereferencing pointer to incomplete type
pcnet_cs.c: In function `pcnet_detach':
pcnet_cs.c:401: dereferencing pointer to incomplete type
pcnet_cs.c:402: dereferencing pointer to incomplete type
pcnet_cs.c: In function `get_dl_fast':
pcnet_cs.c:418: dereferencing pointer to incomplete type
pcnet_cs.c:424: dereferencing pointer to incomplete type
pcnet_cs.c:424: dereferencing pointer to incomplete type
pcnet_cs.c: In function `get_hwinfo':
pcnet_cs.c:464: dereferencing pointer to incomplete type
pcnet_cs.c:465: dereferencing pointer to incomplete type
pcnet_cs.c:473: dereferencing pointer to incomplete type
pcnet_cs.c:489: dereferencing pointer to incomplete type
pcnet_cs.c: In function `get_prom':
pcnet_cs.c:530: dereferencing pointer to incomplete type
pcnet_cs.c:532: warning: passing arg 1 of `pcnet_reset_8390' from incompatible
pointer type
pcnet_cs.c:549: dereferencing pointer to incomplete type
pcnet_cs.c:550: dereferencing pointer to incomplete type
pcnet_cs.c:551: dereferencing pointer to incomplete type
pcnet_cs.c:552: dereferencing pointer to incomplete type
pcnet_cs.c:553: dereferencing pointer to incomplete type
pcnet_cs.c:554: dereferencing pointer to incomplete type
pcnet_cs.c: In function `get_hwired':
pcnet_cs.c:579: dereferencing pointer to incomplete type
pcnet_cs.c: In function `pcnet_config':
pcnet_cs.c:767: dereferencing pointer to incomplete type
pcnet_cs.c:768: dereferencing pointer to incomplete type
pcnet_cs.c:771: dereferencing pointer to incomplete type
pcnet_cs.c:774: dereferencing pointer to incomplete type
pcnet_cs.c:776: warning: passing arg 1 of `register_netdev_R64eb3156' from
incompatible pointer type
pcnet_cs.c:795: warning: passing arg 1 of `unregister_netdev_Rfc73dd6f' from
incompatible pointer type
pcnet_cs.c:835: dereferencing pointer to incomplete type
pcnet_cs.c:835: dereferencing pointer to incomplete type
pcnet_cs.c:837: warning: passing arg 1 of `unregister_netdev_Rfc73dd6f' from
incompatible pointer type
pcnet_cs.c:843: dereferencing pointer to incomplete type
pcnet_cs.c:844: dereferencing pointer to incomplete type
pcnet_cs.c:845: dereferencing pointer to incomplete type
pcnet_cs.c:851: dereferencing pointer to incomplete type
pcnet_cs.c:851: dereferencing pointer to incomplete type
pcnet_cs.c:851: dereferencing pointer to incomplete type
pcnet_cs.c:854: dereferencing pointer to incomplete type
pcnet_cs.c:858: dereferencing pointer to incomplete type
pcnet_cs.c: In function `set_misc_reg':
pcnet_cs.c:971: dereferencing pointer to incomplete type
pcnet_cs.c:977: dereferencing pointer to incomplete type
pcnet_cs.c: At top level:
pcnet_cs.c:990: conflicting types for `pcnet_open'
pcnet_cs.c:134: previous declaration of `pcnet_open'
pcnet_cs.c: In function `pcnet_open':
pcnet_cs.c:1012: dereferencing pointer to incomplete type
pcnet_cs.c:1021: dereferencing pointer to incomplete type
pcnet_cs.c:1023: warning: passing arg 1 of `ei_open' from incompatible pointer
type
pcnet_cs.c: At top level:
pcnet_cs.c:1026: conflicting types for `pcnet_close'
pcnet_cs.c:135: previous declaration of `pcnet_close'
pcnet_cs.c: In function `pcnet_close':
pcnet_cs.c:1038: warning: passing arg 1 of `pcnet_reset_8390' from incompatible
pointer type
pcnet_cs.c:1039: dereferencing pointer to incomplete type
pcnet_cs.c:1040: dereferencing pointer to incomplete type
pcnet_cs.c: At top level:
pcnet_cs.c:1056: conflicting types for `pcnet_reset_8390'
pcnet_cs.c:137: previous declaration of `pcnet_reset_8390'
pcnet_cs.c: In function `pcnet_reset_8390':
pcnet_cs.c:1057: dereferencing pointer to incomplete type
pcnet_cs.c:1060: dereferencing pointer to incomplete type
pcnet_cs.c:1061: dereferencing pointer to incomplete type
pcnet_cs.c:1077: dereferencing pointer to incomplete type
pcnet_cs.c: At top level:
pcnet_cs.c:1085: conflicting types for `set_config'
pcnet_cs.c:139: previous declaration of `set_config'
pcnet_cs.c: In function `set_config':
pcnet_cs.c:1088: dereferencing pointer to incomplete type
pcnet_cs.c:1093: dereferencing pointer to incomplete type
pcnet_cs.c:1102: dereferencing pointer to incomplete type
pcnet_cs.c:1103: dereferencing pointer to incomplete type
pcnet_cs.c:1104: dereferencing pointer to incomplete type
pcnet_cs.c: In function `dma_get_8390_hdr':
pcnet_cs.c:1115: dereferencing pointer to incomplete type
pcnet_cs.c: In function `dma_block_input':
pcnet_cs.c:1126: dereferencing pointer to incomplete type
pcnet_cs.c: In function `dma_block_output':
pcnet_cs.c:1175: dereferencing pointer to incomplete type
pcnet_cs.c: In function `setup_dma_config':
pcnet_cs.c:1247: dereferencing pointer to incomplete type
pcnet_cs.c:1248: dereferencing pointer to incomplete type
pcnet_cs.c:1249: dereferencing pointer to incomplete type
pcnet_cs.c:1252: dereferencing pointer to incomplete type
pcnet_cs.c:1253: dereferencing pointer to incomplete type
pcnet_cs.c:1254: dereferencing pointer to incomplete type
pcnet_cs.c: In function `shmem_get_8390_hdr':
pcnet_cs.c:1303: dereferencing pointer to incomplete type
pcnet_cs.c:1304: dereferencing pointer to incomplete type
pcnet_cs.c: In function `shmem_block_input':
pcnet_cs.c:1311: dereferencing pointer to incomplete type
pcnet_cs.c:1312: dereferencing pointer to incomplete type
pcnet_cs.c:1315: dereferencing pointer to incomplete type
pcnet_cs.c:1317: dereferencing pointer to incomplete type
pcnet_cs.c:1320: dereferencing pointer to incomplete type
pcnet_cs.c:1321: dereferencing pointer to incomplete type
pcnet_cs.c: In function `shmem_block_output':
pcnet_cs.c:1330: dereferencing pointer to incomplete type
pcnet_cs.c:1331: dereferencing pointer to incomplete type
pcnet_cs.c: In function `setup_shmem_window':
pcnet_cs.c:1382: dereferencing pointer to incomplete type
pcnet_cs.c:1383: dereferencing pointer to incomplete type
pcnet_cs.c:1383: dereferencing pointer to incomplete type
pcnet_cs.c:1384: dereferencing pointer to incomplete type
pcnet_cs.c:1384: dereferencing pointer to incomplete type
pcnet_cs.c:1386: dereferencing pointer to incomplete type
pcnet_cs.c:1387: dereferencing pointer to incomplete type
pcnet_cs.c:1388: dereferencing pointer to incomplete type
pcnet_cs.c:1391: dereferencing pointer to incomplete type
pcnet_cs.c:1392: dereferencing pointer to incomplete type
pcnet_cs.c:1393: dereferencing pointer to incomplete type
make: *** [pcnet_cs.o] Error 1
Pero podria ser porque yo ya tengo el módulo pcnet_cs instalado y
funcionando.
El caso es que sigo:
4. To install the driver
> make install
Y de nuevo, gran cantidad de errores:
gcc -DMODULE -DMODVERSIONS -D__KERNEL__ -DGENERIC -DGENERIC_IN0100AF -c -O2 -I/usr/src/pcmcia/include -I/usr/src/linux/include -o pcnet_cs.o pcnet_cs.c
In file included from pcnet_cs.c:42:
/usr/src/linux/include/linux/malloc.h:4: warning: #warning linux/malloc.h is
deprecated, use linux/slab.h instead.
In file included from pcnet_cs.c:50:
8390.h:146: warning: `struct device' declared inside parameter list
8390.h:146: warning: its scope is only this definition or declaration, which is
probably not what you want.
8390.h:147: warning: `struct device' declared inside parameter list
8390.h:148: warning: `struct device' declared inside parameter list
8390.h:149: warning: `struct device' declared inside parameter list
8390.h:159: warning: `struct device' declared inside parameter list
8390.h:160: warning: `struct device' declared inside parameter list
8390.h:161: warning: `struct device' declared inside parameter list
8390.h:162: warning: `struct device' declared inside parameter list
pcnet_cs.c:134: warning: `struct device' declared inside parameter list
pcnet_cs.c:135: warning: `struct device' declared inside parameter list
pcnet_cs.c:137: warning: `struct device' declared inside parameter list
pcnet_cs.c:139: warning: `struct device' declared inside parameter list
pcnet_cs.c:268: field `dev' has incomplete type
pcnet_cs.c: In function `pcnet_attach':
pcnet_cs.c:326: warning: passing arg 1 of `ethdev_init' from incompatible
pointer type
pcnet_cs.c:327: dereferencing pointer to incomplete type
pcnet_cs.c:328: dereferencing pointer to incomplete type
pcnet_cs.c:329: dereferencing pointer to incomplete type
pcnet_cs.c:330: dereferencing pointer to incomplete type
pcnet_cs.c:331: dereferencing pointer to incomplete type
pcnet_cs.c:332: dereferencing pointer to incomplete type
pcnet_cs.c: In function `pcnet_detach':
pcnet_cs.c:401: dereferencing pointer to incomplete type
pcnet_cs.c:402: dereferencing pointer to incomplete type
pcnet_cs.c: In function `get_dl_fast':
pcnet_cs.c:418: dereferencing pointer to incomplete type
pcnet_cs.c:424: dereferencing pointer to incomplete type
pcnet_cs.c:424: dereferencing pointer to incomplete type
pcnet_cs.c: In function `get_hwinfo':
pcnet_cs.c:464: dereferencing pointer to incomplete type
pcnet_cs.c:465: dereferencing pointer to incomplete type
pcnet_cs.c:473: dereferencing pointer to incomplete type
pcnet_cs.c:489: dereferencing pointer to incomplete type
pcnet_cs.c: In function `get_prom':
pcnet_cs.c:530: dereferencing pointer to incomplete type
pcnet_cs.c:532: warning: passing arg 1 of `pcnet_reset_8390' from incompatible
pointer type
pcnet_cs.c:549: dereferencing pointer to incomplete type
pcnet_cs.c:550: dereferencing pointer to incomplete type
pcnet_cs.c:551: dereferencing pointer to incomplete type
pcnet_cs.c:552: dereferencing pointer to incomplete type
pcnet_cs.c:553: dereferencing pointer to incomplete type
pcnet_cs.c:554: dereferencing pointer to incomplete type
pcnet_cs.c: In function `get_hwired':
pcnet_cs.c:579: dereferencing pointer to incomplete type
pcnet_cs.c: In function `pcnet_config':
pcnet_cs.c:767: dereferencing pointer to incomplete type
pcnet_cs.c:768: dereferencing pointer to incomplete type
pcnet_cs.c:771: dereferencing pointer to incomplete type
pcnet_cs.c:774: dereferencing pointer to incomplete type
pcnet_cs.c:776: warning: passing arg 1 of `register_netdev_R64eb3156' from
incompatible pointer type
pcnet_cs.c:795: warning: passing arg 1 of `unregister_netdev_Rfc73dd6f' from
incompatible pointer type
pcnet_cs.c:835: dereferencing pointer to incomplete type
pcnet_cs.c:835: dereferencing pointer to incomplete type
pcnet_cs.c:837: warning: passing arg 1 of `unregister_netdev_Rfc73dd6f' from
incompatible pointer type
pcnet_cs.c:843: dereferencing pointer to incomplete type
pcnet_cs.c:844: dereferencing pointer to incomplete type
pcnet_cs.c:845: dereferencing pointer to incomplete type
pcnet_cs.c:851: dereferencing pointer to incomplete type
pcnet_cs.c:851: dereferencing pointer to incomplete type
pcnet_cs.c:851: dereferencing pointer to incomplete type
pcnet_cs.c:854: dereferencing pointer to incomplete type
pcnet_cs.c:858: dereferencing pointer to incomplete type
pcnet_cs.c: In function `set_misc_reg':
pcnet_cs.c:971: dereferencing pointer to incomplete type
pcnet_cs.c:977: dereferencing pointer to incomplete type
pcnet_cs.c: At top level:
pcnet_cs.c:990: conflicting types for `pcnet_open'
pcnet_cs.c:134: previous declaration of `pcnet_open'
pcnet_cs.c: In function `pcnet_open':
pcnet_cs.c:1012: dereferencing pointer to incomplete type
pcnet_cs.c:1021: dereferencing pointer to incomplete type
pcnet_cs.c:1023: warning: passing arg 1 of `ei_open' from incompatible pointer
type
pcnet_cs.c: At top level:
pcnet_cs.c:1026: conflicting types for `pcnet_close'
pcnet_cs.c:135: previous declaration of `pcnet_close'
pcnet_cs.c: In function `pcnet_close':
pcnet_cs.c:1038: warning: passing arg 1 of `pcnet_reset_8390' from incompatible
pointer type
pcnet_cs.c:1039: dereferencing pointer to incomplete type
pcnet_cs.c:1040: dereferencing pointer to incomplete type
pcnet_cs.c: At top level:
pcnet_cs.c:1056: conflicting types for `pcnet_reset_8390'
pcnet_cs.c:137: previous declaration of `pcnet_reset_8390'
pcnet_cs.c: In function `pcnet_reset_8390':
pcnet_cs.c:1057: dereferencing pointer to incomplete type
pcnet_cs.c:1060: dereferencing pointer to incomplete type
pcnet_cs.c:1061: dereferencing pointer to incomplete type
pcnet_cs.c:1077: dereferencing pointer to incomplete type
pcnet_cs.c: At top level:
pcnet_cs.c:1085: conflicting types for `set_config'
pcnet_cs.c:139: previous declaration of `set_config'
pcnet_cs.c: In function `set_config':
pcnet_cs.c:1088: dereferencing pointer to incomplete type
pcnet_cs.c:1093: dereferencing pointer to incomplete type
pcnet_cs.c:1102: dereferencing pointer to incomplete type
pcnet_cs.c:1103: dereferencing pointer to incomplete type
pcnet_cs.c:1104: dereferencing pointer to incomplete type
pcnet_cs.c: In function `dma_get_8390_hdr':
pcnet_cs.c:1115: dereferencing pointer to incomplete type
pcnet_cs.c: In function `dma_block_input':
pcnet_cs.c:1126: dereferencing pointer to incomplete type
pcnet_cs.c: In function `dma_block_output':
pcnet_cs.c:1175: dereferencing pointer to incomplete type
pcnet_cs.c: In function `setup_dma_config':
pcnet_cs.c:1247: dereferencing pointer to incomplete type
pcnet_cs.c:1248: dereferencing pointer to incomplete type
pcnet_cs.c:1249: dereferencing pointer to incomplete type
pcnet_cs.c:1252: dereferencing pointer to incomplete type
pcnet_cs.c:1253: dereferencing pointer to incomplete type
pcnet_cs.c:1254: dereferencing pointer to incomplete type
pcnet_cs.c: In function `shmem_get_8390_hdr':
pcnet_cs.c:1303: dereferencing pointer to incomplete type
pcnet_cs.c:1304: dereferencing pointer to incomplete type
pcnet_cs.c: In function `shmem_block_input':
pcnet_cs.c:1311: dereferencing pointer to incomplete type
pcnet_cs.c:1312: dereferencing pointer to incomplete type
pcnet_cs.c:1315: dereferencing pointer to incomplete type
pcnet_cs.c:1317: dereferencing pointer to incomplete type
pcnet_cs.c:1320: dereferencing pointer to incomplete type
pcnet_cs.c:1321: dereferencing pointer to incomplete type
pcnet_cs.c: In function `shmem_block_output':
pcnet_cs.c:1330: dereferencing pointer to incomplete type
pcnet_cs.c:1331: dereferencing pointer to incomplete type
pcnet_cs.c: In function `setup_shmem_window':
pcnet_cs.c:1382: dereferencing pointer to incomplete type
pcnet_cs.c:1383: dereferencing pointer to incomplete type
pcnet_cs.c:1383: dereferencing pointer to incomplete type
pcnet_cs.c:1384: dereferencing pointer to incomplete type
pcnet_cs.c:1384: dereferencing pointer to incomplete type
pcnet_cs.c:1386: dereferencing pointer to incomplete type
pcnet_cs.c:1387: dereferencing pointer to incomplete type
pcnet_cs.c:1388: dereferencing pointer to incomplete type
pcnet_cs.c:1391: dereferencing pointer to incomplete type
pcnet_cs.c:1392: dereferencing pointer to incomplete type
pcnet_cs.c:1393: dereferencing pointer to incomplete type
make: *** [pcnet_cs.o] Error 1
Pero si habeis estado atentos, que seguro que si, en el módulo
interesante, el 8390 no ha dado nada mas que warning, así que debe estar
instalado:
Puerto_Lobo:/usr/src/in0100-af-v1.51# modprobe -l
/lib/modules/2.4.18/kernel/drivers/block/loop.o
/lib/modules/2.4.18/kernel/drivers/char/i8k.o
/lib/modules/2.4.18/kernel/drivers/char/lp.o
/lib/modules/2.4.18/kernel/drivers/char/lt_modem.o
/lib/modules/2.4.18/kernel/drivers/char/lt_serial.o
/lib/modules/2.4.18/kernel/drivers/net/8139too.o
/lib/modules/2.4.18/kernel/drivers/net/8390.o
^^^^^^^ <---- Aqui esta nuestro módulo
/lib/modules/2.4.18/kernel/drivers/net/dummy.o
/lib/modules/2.4.18/kernel/drivers/net/mii.o
/lib/modules/2.4.18/kernel/drivers/net/pcmcia/pcnet_cs.o
^^^^^^^^^^^ <----- Y aqui esta el
pcnet_cs que yo ya tenia compilado.
/lib/modules/2.4.18/kernel/drivers/net/ppp_async.o
/lib/modules/2.4.18/kernel/drivers/net/ppp_deflate.o
5. To configure the PCMCIA 10/100 Ethernet Card
> cd /etc/pcmcia
To add the following text into the "config" file (The mode of the
"config"
file must be the "write" mode.)
> vi config
card "PCMCIA 10/100 Ethernet Card"
version "PCMCIA", "10/100 Ethernet Card"
bind "pcnet_cs"
To configure the PCMCIA NIC interface
> vi network.opts
Todo esto ya lo tenia hecho, pero no tiene mayor complicación.
6. To reboot the Linux
> shutdown -r now
No he sido tan drastico, simplemente he hecho:
Puerto_Lobo:/usr/src/in0100-af-v1.51# sh /etc/init.d/pcmcia restart
Shutting down PCMCIA services: done.
Starting PCMCIA services: cardmgr[802]: error in file 'config' line 2003:
unknown device '8139too'
cardmgr[802]: watching 2 sockets
done.
Puerto_Lobo:/usr/src/in0100-af-v1.51#
El error de la línea 2003 es antiguo, no os preocupeis por el, es por la
otra tarjeta que tengo, que ando a ver si la configuro, pero como no hay
mucho tiempo... :-(
En Knoppix que he probado, dice que la tarjeta no esta reconocida.
Aqui estan también las salidas que da cardctl:
[EMAIL PROTECTED]:~# cardctl ident
Socket 0:
no product info available
Socket 1:
product info: "PCMCIA", "10/100 Ethernet Card", "", ""
manfid: 0x0274, 0x1106
function: 6 (network)
[EMAIL PROTECTED]:~# cardctl info
PRODID_1=""
PRODID_2=""
PRODID_3=""
PRODID_4=""
MANFID=0000,0000
FUNCID=255
PRODID_1="PCMCIA"
PRODID_2="10/100 Ethernet Card"
PRODID_3=""
PRODID_4="" MANFID=0274,1106
FUNCID=6
[EMAIL PROTECTED]:~#
Todo esto sigue saliendo igual, con la diferencia de que ahora carga las
opciones de red, del tiron, y el módulo también carga directo, pero la
tarjeta no funciona, de hecho no enciende ni el piloto de estar
activada, ¿alguna idea de porque puede ser?
Ahora no puedo compilar el modulo que trae porque me tengo que ir,
esta noche lo probare, espero.
Bueno, al final no fue anoche, es esta noche, en fin.. ^_^
En definitiva, ¿ha alguien se le ocurre algo que me pueda haber saltado?
¿Alguien conoce esta tarjeta y la ha podido hacer funcionar? ¿Es posible
que haya que solucionar todos esos errores al hacer make con respecto al
pcnet_cs, aunque yo ya tenga ese módulo? Resumiendo, que acepto ideas,
sugerencias y apoyos :-P
Nos leemos.
Salud y Revolución.
Lobo.
Pd: Podeis ver las especificaciones técnicas de la tarjeta aqui, por si
hacen falta, digo...
http://www.bromax.com/product%20list/pcmcia/bin100-a.htm
--
Libertad es poder elegir en cualquier momento. Ahora yo eligo GNU/Linux,
para no atar mis manos con las cadenas del soft propietario.
---------
Desde El Ejido, en Almeria, usuario registrado linux #294013
http://www.counter.li.org