# SoftAP

SoftAP (acrónimo del inglés software-enabled access point, "punto de acceso habilitado por software") es un software que habilita a un dispositivo que no estaba creado específicamente para ser un router en un punto de acceso inalámbrico. A menudo se le suele llamar "router virtual".

## Historia en Windows

El primer software SoftAP fue incorporado por Ralink en sus tarjetas de Wi-Fi para Windows XP. Habilitaba una tarjeta Wi-Fi para actuar como un punto de acceso inalámbrico. Mientras la tarjeta actuaba como punto de acceso inalámbrico, no podía seguir funcionando como cliente, así que cualquier acceso a Internet tenía que provenir desde otro dispositivo, como un dispositivo Ethernet. Después de esta innovación en las tarjetas Ralink, un gran número de compañías relacionadas con la tecnología Wi-Fi, como Edimax, TP link, terminaron incluyendo el software SoftAP en sus dispositivos. Ni Ralink ni Edimax tuvieron que actualizar su software para que funcionase con Windows Vista, gracias a los nuevos modelos de drivers que utilizaban, manteniéndose sin problemas hasta la llegada Windows 7 en 2009.
Microsoft añadió una característica que llamó "Virtual Wi-Fi" a partir de Windows 7, el cual le permitía a una tarjeta Wi-Fi actuar como cliente y punto de acceso inalámbrico a la vez. A pesar de ser un concepto relativamente nuevo, los ordenadores nuevos con Windows 7 venían con la aplicación "Virtual WiFi" por defecto, facilitando su uso a personas sin grandes conocimientos informáticos. Con este adelanto tecnológico, el Wi-Fi virtual permite a los ordenadores de sobremesa crear un punto inalámbrico /portátil/ Wi-Fi que otros dispositivos inalámbricos próximos pueden utilizar. La característica fue finalmente considerada "inacabada", ya que nunca tuvo una interfaz de usuario. Desafortunadamente, el "Virtual WiFi" no fue muy promovido en la industria, ni por los propios desarrolladores

## Propósito

SoftAP Es una forma común de configurar dispositivos Wi-Fi sin la necesidad de que estos nos muestren o nos dejen introducir datos directamente, como una cámara de seguridad, un electrodoméstico inteligente o cualquier otro dispositivo IoT. El proceso implica típicamente estos pasos:
* El dispositivo headless inicia un punto Wi-Fi SoftAP.
* El usuario descarga un producto-aplicación concreto en un teléfono inteligente, entonces la aplicación usando un sistema como Android o iOS se conecta al punto SoftAP, o guía al usuario para que conecte el teléfono manualmente.
* La aplicación pregunta al usuario por el nombre de red del Wi-Fi (SSID) y la passkey.
* La aplicación envía el SSID y la passkey al dispositivo headless a través de la conexión SoftAP.
* El dispositivo headless sale de la red SoftAP y se une a la red Wi-Fi privada del usuario.
Este proceso puede funcionar bien, pero hay tres problemas principales. Primero, el proceso a menudo requiere que el usuario se conecte manualmente a la red SoftAP, lo que puede resultar difícil a los usuarios corrientes. Segundo, si el usuario introduce el passkey incorrectamente, o si el teléfono se desconecta de la red SoftAP por alguna razón, es difícil para la aplicación y el dispositivo recuperar la conexión de forma fácil, por lo que a veces el usuario tiene que hacer un reseteo de fábrica y volver a empezar. Y tercero, cada teléfono varía la forma en la que maneja SoftAP según sus características (hardware y versión del sistema operativo), así que la experiencia de usuario varía drásticamente, especialmente por la variedad que existe en hardware y software en Android.
Debido a estos problemas, muchas compañías que fabrican productos que se conectan por Wi-Fi, ahora están añadiendo BLE, ZipKey, sonido, y otras tecnologías para facilitar un mejor experiencia para los usuarios.