17 agosto, 2007

Crash al cargar hostap_cs (shared IRQ)

Hostap_cs es un driver de Linux para las tarjetas Wifi pcmcia Prism2/2.5/3. Es bastante potente, permite modo Master (emular un punto de acceso) además de modo monitor e inyección. El problema que tiene es que a veces se me colgaba el portatil al cargarlo.

El origen del problema es que en mi portátil el sistema le asigna una IRQ compartida con otro dispositivo y el driver no está preparado para ello, por lo que a veces se invoca la función ISR antes de estar debidamente inicializado.

La solución más sencilla es insertar un semáforo que controle si el driver se ha inicializado y abortar la ISR mientras no esté preparado.
Quizás no sea la solución más elegante y puede que falle al insertar varias tarjetas prism a la vez, pero a mi me funciona.

Parche: http://latinsud.com/pub/hostap/

[Update 2017]: Creo que este bug ya esta corregido en la version oficial desde hace años (suponiendo que hoy día alguien siga usando tarjetas PCMCIA)