El pasado jueves estuve en un centro educativo de la periferia de Pamplona cuyos responsables de Nuevas Tecnologías habían consultado al servicio de soporte técnico del PNTE a propósito de los problemas de conexión que estaban experimentando con varios portátiles nuevos en los que venía preinstalado Windows Vista. Como ya habíamos tenido algún caso semejante, que no pudimos resolver satisfactoriamente, mi compañero Luismi Jaso y yo decidimos poner toda la carne en el asador y plantarnos en el centro para hacer comprobaciones exhaustivas.

He aquí la situación: cuatro portátiles de diferentes marcas y modelos, con varios sabores de Windows Vista (Home Basic, Home Premium y Business), intentan conectarse a dos servicios inalámbricos (SSIDs), ambos protegidos con sendos sistemas de cifrado y autenticación (se comprenderá que no dé más detalles). Estos servicios están definidos en puntos de acceso 3Com conectados por cable a varios switches controladores de la misma marca. A su vez, los equipos entran en red gracias a la asignación de IPs por parte del servicio DHCP que ejecuta un servidor con Linux CentOS. Por último, la navegación por Internet de los equipos situados en las citadas SSIDs se lleva a caso a través de un proxy de filtrado (un Squid en otra máquina Linux CentOS), configurado en los navegadores de los clientes.

Los cuatro ordenadores reciben correctamente IP en ambas SSIDs, pero sólo tienen acceso local y no salen a Internet; no obstante, hacen ping con éxito a IPs públicas y a sus respectivos dominios (Google, Rediris, etc.). Da lo mismo que la conexión se configure como una red pública (con una configuración más restrictiva del cortafuegos de Windows Vista) o como una privada. Tampoco influye que se cambie en los ordenadores la asignación automática de IP por una configuración con IP fija. Se prueba a modificar la forma en que los navegadores llaman al proxy para conectarse a Internet (mediante un script o mediante una petición directa a la IP del proxy), y nada de nada. En todos los casos aparece una siniestra aspa roja sobre el último elemento del mapa de conexión, y no hay navegación. En cambio, si se deshabilitan las reglas del cortafuegos que obligan a la navegación por el proxy, la conexión a Internet tiene éxito. Por otro lado, si la conexión de los portátiles se realiza a través del interfaz Ethernet (es decir, por cable), la existencia del proxy es irrelevante: con o sin proxy, la conexión es eficaz en la red local y en Internet.

Cabe añadir que esta clase de problemas sólo se produce con Vista y no con Windows XP (teníamos intención de probar qué ocurría al arrancar con un Ubuntu 7.10 LiveCD, pero no nos dio tiempo). Por otra parte, es cierto que en determinados espacios del centro, o a las horas en que hay más tráfico, los portátiles que cuentan con este sistema operativo pueden recibir una señal WiFi de escasa intensidad, o verse afectados por bloqueos y atascos en la salida a Internet, pero se trata de problemas ocasionales, que otros sistemas operativos de la propia familia Windows resuelven por sí solos.

Tras darle muchas vueltas al asunto y casi cuatro horas de pelea prácticamente infructuosa, decidimos poner en práctica algunas soluciones parciales que salvan la papeleta del centro, al menos por el momento, pero seguimos sin tener una explicación convincente al problema. Da la sensación de que Vista chequea la calidad de la conexión, y si la encuentra algo justa, en el límite de lo que considera adecuado (y es cierto que el tiempo de respuesta a pings es bastante insatisfactorio, del orden de 180 o 200 ms.), no la completa. Curiosamente, si se realiza un ping a una IP pública, con el famoso mapa de red de Windows Vista en pantalla, el aspa desaparece. Es como si Vista “aprendiera” de ese ping manual y dejara de creer que la conexión es imposible.

Ya en casa, y después de comer y leer el periódico, me puse a buscar en el Google, y encontré un hilo en los foros de soporte de Microsoft que me puso los pelos como escarpias. Se titula Vista & wireless: how to solve local access only?, y si lo que ahí se dice es cierto, es como para preocuparse seriamente. Con independencia de otros problemas de calidad de la conexión a Internet (ancho de banda, latencia, bloqueos), parece como si Vista gestionara las conexiones WiFi de manera harto insatisfactoria.

En fin, me disculpo por una entrada tan sumamente árida, pero creo que puede ser de interés para los lectores del blog que tengan un espíritu más geek. Si alguien me da una buena pista sobre cómo resolver el problema de las WiFis rebeldes a Vista, tenga por cierto que cuenta con mi gratitud eterna y con un par de cañas gratis cuando venga por Pamplona. Por cierto, no valen las soluciones drásticas, del tipo “haced un downgrade a XP” o “pasad a Linux”.

¿Una posible solución?

Ya redactada la entrada, he seguido investigando sobre el asunto, y he vuelto a dar con una información que ya el viernes estuvimos considerando en el trabajo, aunque no llegamos a ponerla en práctica. Se trata de deshabilitar la función de Nivel de ajuste automático de ventana de recepción del Vista, tal como se explica en la Ayuda y soporte técnico de Microsoft (en español) y en el blog de Steve Lamb (en inglés). También he encontrado un artículo sobre la Optimización automática de la ventana de recepción TCP que ofrece algunas pistas bastante prometedoras. ¿Alguien tiene experiencia con esta solución?