Tengo un Lenovo IdeaPad Yoga 13. La WLAN no funciona de inmediato con Fedora 18. Así que busqué en Google y encontré estos 2 enlaces:
https://askubuntu.com/questions/139632/wireless-card-realtek-rtl8723ae-bt-is-not-recognized https://ask.fedoraproject.org/question/9633/i-can-not-get-my-realtek-8723-chip-to-work/
Entonces descargué la instalación fuente gcc, kernel-header, kernel-devel y patch. Comento la línea 320 en base.c. Pero todavía recibo un error.
make -C /lib/modules/3.8.9-200.fc18.x86_64/build M=/home/l33tname/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012 modules
make[1]: Entering directory `/usr/src/kernels/3.8.9-200.fc18.x86_64'
CC [M] /home/l33tname/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012/base.o
In file included from /home/l33tname/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012/base.c:39:0:
/home/l33tname/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012/pci.h:245:15: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘rtl_pci_probe’
/home/l33tname/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012/base.c: In function ‘rtl_action_proc’:
/home/l33tname/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012/base.c:870:25: error: ‘RX_FLAG_MACTIME_MPDU’ undeclared (first use in this function)
/home/l33tname/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012/base.c:870:25: note: each undeclared identifier is reported only once for each function it appears in
/home/l33tname/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012/base.c: In function ‘rtl_send_smps_action’:
/home/l33tname/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012/base.c:1432:16: error: ‘struct <anonymous>’ has no member named ‘sta’
make[2]: *** [/home/l33tname/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012/base.o] Error 1
make[1]: *** [_module_/home/l33tname/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012] Error 2
make[1]: Leaving directory `/usr/src/kernels/3.8.9-200.fc18.x86_64'
make: *** [all] Error 2
La línea 245 en pci.h es esta:
int __devinit rtl_pci_probe(struct pci_dev *pdev,const struct pci_device_id *id);
Y sí, lo intento como usuario normal y como root.
Mi pregunta es cómo puedo compilar esto o qué se debe arreglar.
Respuesta1
Entonces, la solución es realmente simple: tome la fuente más reciente de: https://github.com/lwfinger
hacer y hacer instalar
Entonces esto funciona bien para realtek-8723.
Y hay una pequeña publicación de blog que escribí al respecto ->http://l33tsource.com/blog/2013/05/08/Yoga-with-WLAN.html
Respuesta2
Parece que las __devinit
macros eraneliminado del kernel en 3.8. Obtuve el rtl8192ce
controlador (del mismo árbol fuente) para compilar y cargar eliminándolo __devinit
de pci.h
y pci.c
) y también eliminando todas las instancias de __devinitdata
cada uno sw.c
(una por directorio de controlador).
Una grep -R __devinit
en la raíz de origen debería mostrarle todos los archivos que tiene que modificar.
Respuesta3
¿Intentaste esto?
int __devinit = rtl_pci_probe(struct pci_dev *pdev,const struct pci_device_id *id);
Respuesta4
Fedora tiene kernels bastante nuevos, a menudo las fuentes de controladores que circulan son para versiones de kernel más antiguas. Verifique la versión requerida del kernel, busque en los foros de Fedora, busque informes de errores posiblemente relevantes, busque controladores aún no oficiales de los hackers del kernel (noel vendedor; Los proveedores a menudo viven bajo la ilusión de que es posible tener una fuente que funcione para una amplia gama de versiones del kernel, otros simplemente encajan una fuente para ese otro sistema innombrable en algo que tiene un parecido superficial con un controlador nativo de Linux, algunos herejes incorregibles. prueba ambos).