¿Problemas instalando ndiswrapper?

Durante estos días he estado convirtiendo mi antigua EHUX 2 (basada en Dapper) a Ubuntu Feisty Fawn. El proceso es largo y lo explicaré otro día, pero por resumir, consiste en actualizar dapper a la última versión de todas las aplicaciones instaladas, hacer un upgrade a Edgy y de ahí un upgrade a Feisty. Este último paso lo he tenido que hacer de forma manual en dos portátiles (no funcionaba el do-release-upgrade de update-manager) En fin, el caso es que una vez terminado el proceso la tarjeta wireless ha dejado de funcionar. Y como la uso a diario, no he podido irme a dormir sin arreglar el entuerto… El problema aparecía en el arranque. Se veían líneas indicando que Feisty no ha podido cargar ndiswrapper (es la aplicación que uso para poder usar mi tarjeta wireless). Solución: descargar el código fuente de ndiswrapper, compilar e instalar. Pero no podía ser tan facil 😉

En la compilación ya avisaba con un WARNING: ndiswrapper: Unknown symbol __stack_chk_fail

Y al intentar cargar el módulo  he podido corroborar que algo no le gustaba al kernel:

# modprobe ndiswrapper
FATAL: Error inserting ndiswrapper
(/lib/modules/2.6.15-26-386/misc/ndiswrapper.ko): Invalid module format

Veamos si podemos sacar más info :

# dmesg
ndiswrapper: version magic ‘2.6.15-26-386 preempt 486 gcc-4.1’ should be ‘2.6.15-26-386 preempt 486 gcc-4.0’

¡Vaya! tras mucho googlear, al parecer ndiswrapper no se puede compilar con gcc-4.1 (no se puede, punto) y hay que compilarlo con gcc-4.0  ¿Cuál he usado yo?

# gcc -v

[…]  gcc-4.1

Pero si hago apt-get install gcc-4.0, Ubuntu me dice que ya estoy en la versión más nueva de GCC y que además, ya tengo el GCC-40 instalado. Vale, ¿me voy a dormir? No! Tras seguir estas magníficas instrucciones

(---FORCING USE OF GCC-4.0---)
cd /usr/bin
sudo rm gcc gccbug
sudo ln -s gcc-4.0 gcc
sudo ln -s gccbug-4.0 gccbug

(---COMPILE NDISWRAPPER AT STEP 2---)

(---UNDOING ABOVE CHANGES TO REVERT BACK TO GCC-4.1---)
cd /usr/bin
sudo rm gcc gccbug
sudo ln -s gcc-4.1 gcc
sudo ln -s gccbug-4.1 gccbug

Se arregla el problema 🙂  Ahora sí…. a dormir…

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.