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…