2010/3/1 Javier Argentina
<javier.debian.bb.ar@gmail.com>
Estimados:
La red inalámbrica me está volviendo L-O-C-O.
He leído cuanto tutorial se imaginen, habiendo fracasado con todo éxito.
No puedo hacer que funcione, y me huelo un problema de controlador.
Por lo que pido ayuda para ver cómo se las apañaron.
A continuación iré desmembrando mis cuitas:
Mi rama y distro.
# uname -a
Linux jap 2.6.30-1-amd64 #1 SMP Sat Aug 15 18:09:19 UTC 2009 x86_64 GNU/Linux
Mis interfaces de red. La segunda es la mala de la película.
# lspci
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 02)
04:02.0 Network controller: RaLink RT2561/RT61 802.11g PCI
Los controladores cargados son los que siguen:
# lsmod | grep rt
rt61pci 21124 0
crc_itu_t 2720 2 firewire_core,rt61pci
rt2x00pci 8672 1 rt61pci
rt2x00lib 30384 2 rt61pci,rt2x00pci
led_class 5048 1 rt2x00lib
input_polldev 4544 1 rt2x00lib
mac80211 161328 2 rt2x00pci,rt2x00lib
cfg80211 65448 2 rt2x00lib,mac80211
parport_pc 27080 1
eeprom_93cx6 2544 1 rt61pci
parport 38224 3 ppdev,lp,parport_pc
Las interfaces de red. eth0 es física en el segmento 10.0.0.0
# ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:19:66:db:5e:05
inet addr:10.115.1.36 Bcast:10.115.1.255 Mask:255.255.255.0
inet6 addr: fe80::219:66ff:fedb:5e05/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:6596 errors:0 dropped:0 overruns:0 frame:0
TX packets:3284 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2018491 (1.9 MiB) TX bytes:633399 (618.5 KiB)
Interrupt:27 Base address:0xe000
wlan0 Link encap:Ethernet HWaddr 00:fd:07:96:13:14
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
La detección de la placa wireless en sí.
# iwconfig
lo no wireless extensions.
eth0 no wireless extensions.
wmaster0 no wireless extensions.
wlan0 IEEE 802.11bg ESSID:""
Mode:Managed Frequency:2.412 GHz Access Point: Not-Associated
Tx-Power=0 dBm
Retry min limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality:0 Signal level:0 Noise level:0
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
vboxnet0 no wireless extensions.
¿Por qué no detectar redes, si en güindos lo hace?
# iwlist wlan0 scan
wlan0 Interface doesn't support scanning : Network is down
Prueba a levantar la interfaz :
ifconfig wlan0 up && iwlist wlan0 scan
###############################################################
Intentando complira el driver que provee RaLink.
/usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module# ./Configure
-------------------- Ralink RT61 Station Configuration --------------------
Linux kernel source directory : /usr/src/linux-2.6.30-1-amd64
Module install directory : /lib/modules/2.6.30-1-amd64/kernel/drivers/net
/usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module# make all
make -C /lib/modules/2.6.30-1-amd64/build SUBDIRS=/usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module modules
make[1]: se ingresa al directorio `/usr/src/linux-headers-2.6.30-1-amd64'
/usr/src/linux-headers-2.6.30-1-common/scripts/Makefile.build:49: *** CFLAGS was changed in "/usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module/Makefile". Fix it to use EXTRA_CFLAGS. Alto.
make[3]: *** [_module_/usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module] Error 2
make[2]: *** [sub-make] Error 2
make[1]: *** [all] Error 2
make[1]: se sale del directorio `/usr/src/linux-headers-2.6.30-1-amd64'
make: *** [all] Error 2
Corrijo el error, modifico la variable CFLAGS por EXTRA_CFLAGS
/usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module# make all
make -C /lib/modules/2.6.30-1-amd64/build SUBDIRS=/usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module modules
make[1]: se ingresa al directorio `/usr/src/linux-headers-2.6.30-1-amd64'
CC [M] /usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module/rtmp_main.o
/usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module/rtmp_main.c: In function ‘rt61_get_drvinfo’:
/usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module/rtmp_main.c:78: error: ‘struct net_device’ has no member named ‘priv’
/usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module/rtmp_main.c:78: warning: unused variable ‘pAd’
/usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module/rtmp_main.c: In function ‘rt61_get_regs_len’:
/usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module/rtmp_main.c:97: warning: no return statement in function returning non-void
/usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module/rtmp_main.c: In function ‘rt61_get_regs’:
/usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module/rtmp_main.c:103: error: ‘struct net_device’ has no member named ‘priv’
/usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module/rtmp_main.c:104: warning: unused variable ‘counter’
/usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module/rtmp_main.c:103: warning: unused variable ‘pAd’
/usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module/rtmp_main.c: In function ‘rt61_ethtool_get_link’:
/usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module/rtmp_main.c:120: warning: unused variable ‘pAd’
/usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module/rtmp_main.c:130: warning: no return statement in function returning non-void
/usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module/rtmp_main.c: In function ‘rt61_get_eeprom_len’:
/usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module/rtmp_main.c:139: warning: no return statement in function returning non-void
/usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module/rtmp_main.c: In function ‘rt61_get_eeprom’:
/usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module/rtmp_main.c:145: error: ‘struct net_device’ has no member named ‘priv’
/usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module/rtmp_main.c:146: warning: unused variable ‘counter’
/usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module/rtmp_main.c:145: warning: unused variable ‘pAd’
/usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module/rtmp_main.c:159: warning: no return statement in function returning non-void
/usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module/rtmp_main.c: At top level:
/usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module/rtmp_main.c:169: warning: initialization from incompatible pointer type
/usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module/rtmp_main.c: In function ‘RT61_probe’:
/usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module/rtmp_main.c:238: warning: assignment discards qualifiers from pointer target type
/usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module/rtmp_main.c:287: error: ‘struct net_device’ has no member named ‘priv’
/usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module/rtmp_main.c:290: error: ‘struct net_device’ has no member named ‘priv’
/usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module/rtmp_main.c:294: error: ‘struct net_device’ has no member named ‘priv’
/usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module/rtmp_main.c:344: warning: ISO C90 forbids mixed declarations and code
/usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module/rtmp_main.c: In function ‘RT61_open’:
/usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module/rtmp_main.c:422: error: ‘struct net_device’ has no member named ‘priv’
/usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module/rtmp_main.c:472: warning: passing argument 2 of ‘request_irq’ from incompatible pointer type
/usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module/rtmp_main.c: In function ‘RTMPSendPackets’:
/usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module/rtmp_main.c:627: error: ‘struct net_device’ has no member named ‘priv’
/usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module/rtmp_main.c: In function ‘RTMPIsr’:
/usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module/rtmp_main.c:713: error: ‘struct net_device’ has no member named ‘priv’
/usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module/rtmp_main.c: In function ‘RT61_get_wireless_stats’:
/usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module/rtmp_main.c:825: error: ‘struct net_device’ has no member named ‘priv’
/usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module/rtmp_main.c: In function ‘RT61_get_ether_stats’:
/usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module/rtmp_main.c:873: error: ‘struct net_device’ has no member named ‘priv’
/usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module/rtmp_main.c: In function ‘RT61_close’:
/usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module/rtmp_main.c:942: error: ‘struct net_device’ has no member named ‘priv’
/usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module/rtmp_main.c: In function ‘RT61_remove_one’:
/usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module/rtmp_main.c:1002: error: ‘struct net_device’ has no member named ‘priv’
make[4]: *** [/usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module/rtmp_main.o] Error 1
make[3]: *** [_module_/usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module] Error 2
make[2]: *** [sub-make] Error 2
make[1]: *** [all] Error 2
make[1]: se sale del directorio `/usr/src/linux-headers-2.6.30-1-amd64'
make: *** [all] Error 2
Acá se me acabó la ciencia. No tengo idea.
###############################################################
Intentando complira el driver que provee http://rt2x00.serialmonkey.com
/usr/src/rt61-1.1.0-b1/Module# make all
make[1]: se ingresa al directorio `/usr/src/linux-headers-2.6.30-1-amd64'
CC [M] /usr/src/rt61-1.1.0-b1/Module/rtmp_main.o
In file included from /usr/src/rt61-1.1.0-b1/Module/rt_config.h:158,
from /usr/src/rt61-1.1.0-b1/Module/rtmp_main.c:45:
/usr/src/rt61-1.1.0-b1/Module/rtmp.h:50: error: conflicting types for ‘irqreturn_t’
/usr/src/linux-headers-2.6.30-1-common/include/linux/irqreturn.h:16: error: previous declaration of ‘irqreturn_t’ was here
In file included from /usr/src/rt61-1.1.0-b1/Module/rt_config.h:158,
from /usr/src/rt61-1.1.0-b1/Module/rtmp_main.c:45:
/usr/src/rt61-1.1.0-b1/Module/rtmp.h:53:1: warning: "IRQ_RETVAL" redefined
In file included from /usr/src/linux-headers-2.6.30-1-common/include/linux/interrupt.h:10,
from /usr/src/rt61-1.1.0-b1/Module/rt_config.h:74,
from /usr/src/rt61-1.1.0-b1/Module/rtmp_main.c:45:
/usr/src/linux-headers-2.6.30-1-common/include/linux/irqreturn.h:17:1: warning: this is the location of the previous definition
/usr/src/rt61-1.1.0-b1/Module/rtmp_main.c: In function ‘rt2x00_get_drvinfo’:
/usr/src/rt61-1.1.0-b1/Module/rtmp_main.c:74: error: ‘struct net_device’ has no member named ‘priv’
/usr/src/rt61-1.1.0-b1/Module/rtmp_main.c:78: error: ‘struct device’ has no member named ‘bus_id’
/usr/src/rt61-1.1.0-b1/Module/rtmp_main.c: In function ‘rt2x00_get_regs’:
/usr/src/rt61-1.1.0-b1/Module/rtmp_main.c:91: error: ‘struct net_device’ has no member named ‘priv’
/usr/src/rt61-1.1.0-b1/Module/rtmp_main.c: In function ‘rt2x00_get_eeprom’:
/usr/src/rt61-1.1.0-b1/Module/rtmp_main.c:112: error: ‘struct net_device’ has no member named ‘priv’
/usr/src/rt61-1.1.0-b1/Module/rtmp_main.c: In function ‘RT61_probe’:
/usr/src/rt61-1.1.0-b1/Module/rtmp_main.c:185: error: ‘struct device’ has no member named ‘bus_id’
/usr/src/rt61-1.1.0-b1/Module/rtmp_main.c:195: error: implicit declaration of function ‘SET_MODULE_OWNER’
/usr/src/rt61-1.1.0-b1/Module/rtmp_main.c:232: error: ‘struct net_device’ has no member named ‘priv’
/usr/src/rt61-1.1.0-b1/Module/rtmp_main.c:235: error: ‘struct net_device’ has no member named ‘priv’
/usr/src/rt61-1.1.0-b1/Module/rtmp_main.c:239: error: ‘struct net_device’ has no member named ‘priv’
/usr/src/rt61-1.1.0-b1/Module/rtmp_main.c:256: error: ‘struct net_device’ has no member named ‘get_wireless_stats’
/usr/src/rt61-1.1.0-b1/Module/rtmp_main.c: In function ‘RT61_open’:
/usr/src/rt61-1.1.0-b1/Module/rtmp_main.c:319: error: ‘struct net_device’ has no member named ‘priv’
/usr/src/rt61-1.1.0-b1/Module/rtmp_main.c:374: error: ‘SA_SHIRQ’ undeclared (first use in this function)
/usr/src/rt61-1.1.0-b1/Module/rtmp_main.c:374: error: (Each undeclared identifier is reported only once
/usr/src/rt61-1.1.0-b1/Module/rtmp_main.c:374: error: for each function it appears in.)
/usr/src/rt61-1.1.0-b1/Module/rtmp_main.c:374: warning: passing argument 2 of ‘request_irq’ from incompatible pointer type
/usr/src/rt61-1.1.0-b1/Module/rtmp_main.c: In function ‘RTMPSendPackets’:
/usr/src/rt61-1.1.0-b1/Module/rtmp_main.c:520: error: ‘struct net_device’ has no member named ‘priv’
/usr/src/rt61-1.1.0-b1/Module/rtmp_main.c: In function ‘RTMPIsr’:
/usr/src/rt61-1.1.0-b1/Module/rtmp_main.c:606: error: ‘struct net_device’ has no member named ‘priv’
/usr/src/rt61-1.1.0-b1/Module/rtmp_main.c: In function ‘rt61_set_mac_address’:
/usr/src/rt61-1.1.0-b1/Module/rtmp_main.c:704: error: ‘struct net_device’ has no member named ‘priv’
/usr/src/rt61-1.1.0-b1/Module/rtmp_main.c: In function ‘RT61_get_wireless_stats’:
/usr/src/rt61-1.1.0-b1/Module/rtmp_main.c:760: error: ‘struct net_device’ has no member named ‘priv’
/usr/src/rt61-1.1.0-b1/Module/rtmp_main.c: In function ‘RT61_get_ether_stats’:
/usr/src/rt61-1.1.0-b1/Module/rtmp_main.c:806: error: ‘struct net_device’ has no member named ‘priv’
/usr/src/rt61-1.1.0-b1/Module/rtmp_main.c: In function ‘RT61_set_rx_mode’:
/usr/src/rt61-1.1.0-b1/Module/rtmp_main.c:865: error: ‘struct net_device’ has no member named ‘priv’
/usr/src/rt61-1.1.0-b1/Module/rtmp_main.c: In function ‘RT61_close’:
/usr/src/rt61-1.1.0-b1/Module/rtmp_main.c:886: error: ‘struct net_device’ has no member named ‘priv’
/usr/src/rt61-1.1.0-b1/Module/rtmp_main.c: In function ‘RT61_remove_one’:
/usr/src/rt61-1.1.0-b1/Module/rtmp_main.c:936: error: ‘struct net_device’ has no member named ‘priv’
/usr/src/rt61-1.1.0-b1/Module/rtmp_main.c: In function ‘rt61_suspend’:
/usr/src/rt61-1.1.0-b1/Module/rtmp_main.c:984: error: ‘struct net_device’ has no member named ‘priv’
/usr/src/rt61-1.1.0-b1/Module/rtmp_main.c: In function ‘rt61_resume’:
/usr/src/rt61-1.1.0-b1/Module/rtmp_main.c:1010: error: ‘struct net_device’ has no member named ‘priv’
/usr/src/rt61-1.1.0-b1/Module/rtmp_main.c:1013: warning: ignoring return value of ‘pci_enable_device’, declared with attribute warn_unused_result
/usr/src/rt61-1.1.0-b1/Module/rtmp_main.c: In function ‘rt61_init_module’:
/usr/src/rt61-1.1.0-b1/Module/rtmp_main.c:1059: error: implicit declaration of function ‘pci_module_init’
make[4]: *** [/usr/src/rt61-1.1.0-b1/Module/rtmp_main.o] Error 1
make[3]: *** [_module_/usr/src/rt61-1.1.0-b1/Module] Error 2
make[2]: *** [sub-make] Error 2
make[1]: *** [all] Error 2
make[1]: se sale del directorio `/usr/src/linux-headers-2.6.30-1-amd64'
rt61.ko failed to build!
make: *** [module] Error 1
###############################################################
Los errores, como ven, son muy similares, por lo que si alguno sabe cómo solucionarlo sin necesidad de ponerme a hacer un curso de C, lo agradecería mucho.
Por los tutos que hay en la red, al parecer, la gente de *buntu no tiene estos problemas...
Muchas gracias.
JAP