1. Ищете SMS-шлюз
2. Пишете решение на web, которое при обращении пользователя будет выдавать страницу авторизации с номером телефона и паролем, который нужно будет ввести.
3. На прошивках *WRT поднимаете hotspot. Настраиваете его так, что бы пользователь при подключении переадресовывался на Вашу страницу авторизации с формой
4. В walled garden добавляете этот самый сайт.
Алгоритм:
1. Пользователь подключается к сети
2. Пользователя переадресовывает на Вашу страницу авторизации
3. пользователь вводит туда номер телефона
4. Ваш web сервер генерирует случайный пароль (лучше только цифры) и отправляет его через смс-шлюз на номер, который указал пользователь.
5. Пользователь вводит пароль в форму на сайте, и нажимает кнопку "войти"
6. По нажатию на эту кнопку ваша web-часть редиректит пользователя на морду роутера с параметрами авторизации (192.168.1.1/login?user=***&pass=**)
7. Profit
З.Ы. Можете просто ввести одну учетку на всех роутерах и под одинаковыми логином и паролем авторизовывать всех пользователей, но это является дырой и особо умные смогут просто запомнить/скопировать ссылку на авторизацию и беспрепятственно обходить Вашу систему.
Либо можете установить freeradius, к примеру, и в бд генерировать произвольную связку логин-пароль, после чего отправлять пользователя на роутер с этими данными, а роутер будет обращаться к радиус серверу, и в случае совпадения - авторизовываться. А записи потом удалять из БД, что бы под ними нельзя было авторизоваться повторно. В таком случае, подделать логин и пароль будет невозможно.