воскресенье, 4 июля 2010 г.

HTC Desire и бесплатные WiFi сети.

Приехал тут в командировку в Ростов-на-Дону. В гостинице есть халявный wifi.
Все просто: точки открытые, коннектимся, лезем куда-нибудь... А тут спрашивают пароль. :) Ну пароль на ресепшене взял, так что с этим не проблема. Проблема в другом: ноутбук работает не вопрос, а вот Android не хочет! :( Далее маленькое расследование и небольшой воркэраунд.

Как показала практика, настройки у этих точек весьма интересны (ip адреса выдуманы, но общая мысль и так будет понятна):

ip: 10.1.1.100
netmask: 255.255.255.0
default gateway: 10.1.0.1

Как видим все бы ничего, но кто додумался поставить маршрут по умолчанию из другой сетки? Тут чувствуется крепкая рука мелкософта. ;) Работает же это все потому, что при поднятии ip прописывается еще один статический маршрут:

Destination     Gateway         Genmask
10.1.0.1        0.0.0.0         255.255.255.255

Так вот на ноуте этот маршрут поднимается, а вот на Desire нет. :( Ну раз проблема ясна, будем искать решение. Самый простой вариант, это сделать так, что бы наш default gw попал в нашу сеть.

И так, берем ipconfig (можно и что нибудь другое, не важно, лишь бы показало информацию о сети на нашем андройде) и смотрим наши данные. В моем случае я просто увеличил маску подсети, выставив на Desire настройки сети на wifi вручную:

ip: 10.1.1.100
netmask: 255.255.0.0
default gateway: 10.1.0.1

Пробуем... Вуаля! Все работает. :) Да, не очень удобно, да кривовато. Можно конечно взять например бейсбольную биту и поровнять руки "настройщиком" точки, но мне проще так. ;) Может позже, когда захочу - напишу программку под андройд, что бы это все поправить. :)