суббота, 11 декабря 2010 г.

wifi и настройка интерфейсов

Итак, есть usb wifi адаптер. Задача сделать из него точку доступа. Режим master его драйвера не поддерживают, поэтому поднимем его как Ad-hoc.
Будем считать, что драйвер загружен и имеем wifi интерфейс wlan0
Примерный вид скрипта для запуска:

#!/bin/sh
ifconfig wlan0 down
iwconfig wlan0 mode ad-hoc
iwconfig wlan0 channel 5 <- канал свой свободный
#iwconfig wlan0 Bit 54Mb/s
iwconfig wlan0 essid 'virus testing' <- название вашей сети
iwconfig wlan0 key s:пароль <- ваш пароль
ifconfig wlan0 192.168.8.1 netmask 255.255.255.0 <- ip вашего интерфейса
iwconfig wlan0
ifconfig wlan0 up


Так же поднят dhcp демон слушающий этот интерфейс /etc/dhcpd.conf:
ddns-update-style ad-hoc;
subnet 192.168.8.0 netmask 255.255.255.0 {
interface wlan0;
option domain-name-servers 192.168.8.1;
option routers 192.168.8.1;
option ntp-servers 192.168.8.1;
option broadcast-address 192.168.8.0;
host ttt {
hardware ethernet 5C:4C:A9:4D:xx:xx; <- MAC адрес вашего беспроводного девайса
fixed-address 192.168.8.2;
}
}

запускаем демона в дебаг-режиме и смотрим кому и что мы выдаем: dhcpd -d

Как видим, нашему wifi девайсу с заданным MAC-адресом будет присвоен ip 192.168.8.2 и шлюз по умолчанию 192.168.8.1 и он же DNS

Теперь учитывая, что данный комп не является шлюзом и имеет связь со шлюзом через интерфейс eth0 с адресом из другой подсети, к примеру 192.168.7.50 надо использовать маскарадинг или (SNAT)

iptables -t nat -A POSTROUTING -s 192.168.8.0/24 -o eth0 -j MASQUERADE

благодаря этому правилу у пакетов идущих на шлюз подменится "исходящий" адрес и пакеты после обработки вернуться этому компьютеру, а потом беспроводному устройству.

Ну и на шлюзе в конкретном случае надо тоже поднастроить:
политика форвард по умолчанию стоит в drop, поэтому пропустим с одного ip
iptables -A FORWARD -i eth0 -s 192.168.7.50 -p tcp -j ACCEPT
ну и дальше маскарад
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.7.50 -p tcp -j MASQUERADE

маршрут по умолчанию наш инет-интерфейс

В кратце это все. Ну еще надо поднять ДНС сервер слушающий 192.168.8.1, либо указать другой ("внешний"). Если назначать внешний ДНС, то в правилах шлюза надо еще добавить протокол udp
iptables -A FORWARD -i eth0 -s 192.168.7.50 -p udp -j ACCEPT
ну и дальше маскарад
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.7.50 -p udp -j MASQUERADE

что бы проверить, куда все и как бегает, можно использовать tcpdump
tcpdump -i wlan0 -n
будет показывать потоки через интерфейс wlan0 без трансляции ip и портов в "имена".
комбинируя с grep можно отслеживать, где затыки слушая разные интерфейсы и проследить куда и что пошло.

Android и wifi в режиме Ad-Hoc - Huaway U8500

В "штатной" поставе не может подключаться к wifi в режиме Ad-Hoc (вообще их не видит).
Жмем "добавить сеть Wi-Fi" и в ручную указываем "Сетевой SSID". Затем идем в /data/misc/wifi и редактируем файлик wpa_supplicant.conf

ГЛАВНОЕ!!! Проверить права и владельца на этот файлик (должно быть 660 system.wifi) - иначе wifi НЕ ЗАПУСТИТСЯ - будет писать "Не удалось запустить Wi-Fi"!!!

В начало добавляем строку:

ap_scan=2 (при этом будут сканироваться все сети, в том числе и ad-hoc)

а затем в раздел
network={
ssid="наш ssid"
scan_ssid=1
key_mgmt=NONE
priority=20
wep_key0="пароль"<---------- добавляем эту строку если есть пароль и wep
mode=1 <---------- добавляем эту строку (для указания ad-hoc)
}

сохраняем, и идем обратно в системные настройки wifi, точка должна увидеться и получить от нее адресс и т.п.

Есть метод с заменой файла /system/bin/wpa_supplicant на пропатченную версию, но у меня на U8500 не пошел.

Android и перемонтирование раздела system - Huaway U8500

Для изменений на разделе system требуется его перемонтировать с возможностью записи:

mount -o remount,rw /dev/block/mtdblock4 /system

либо через

adb remount - но у меня не пошло, да и adb root - тоже не пошло с таким сообщением "adbd cannot run as root in production builds" - типа - не девелоперский девайс.

Android и SDK - Huaway U8500

Брать здесь - бывает по 5 минут ждешь ответа от сервера.
http://developer.android.com/sdk/index.html

Скачал, а там самый минимум, даже adb нет. запускаем tools/android в оболочке настраиваем проксик если надо, Android Repository - Android SDK Platform-tools. Апдейтим.

Запускаем
adb start-server
затем
adb devices
и фиг вам. Не хочет устройство определяться. Для это нужна утилитка usb_modeswitch и база устройств к ней usb-modeswitch-data.
Еще можно поменять права, у меня девайс определился как /dev/sr3, ставим 666.
http://www.draisberghof.de/usb_modeswitch/
Компилируем, базу копируем в /etc/usb_modeswitch.d, если надо прописываем в правила udev
И запускаем
usb_modeswithc -c /etc/usb_modeswitch.d/12d1:1031 (это для Huaway U8500, lsusb вам в помощь)
Все, режим устройства мы переключили и теперь
adb kill-server
adb start-server
adb devices
видим наш девайс, затем получим шел
adb shell
готово, работает - правда от шела не стоит ожидать всех возможностей, он сильно урезан.

пятница, 10 декабря 2010 г.

Android и wifi - Huaway U8500

Network Info II
вся инфа о телефоне и его сетях +++
http://4pda.ru/forum/index.php?showtopic=201289

Barnacle Wifi Tether
раздаем инет через wifi - куча фишек
http://4pda.ru/forum/index.php?showtopic=171632
Если выдает ошибку Failed to connect to supplicant, то включи в опциях галку Skip wpa_supplicant

shank.portscaner - ошибка

WiFi Manager
поиск сетей и их рейтинг - полезно +++
http://4pda.ru/forum/index.php?showtopic=167109

WiFi Buddy
поиск сетей - полезно +++
http://4pda.ru/forum/index.php?showtopic=133246

NetCounter
счетчик разного трафика
http://4pda.ru/forum/index.php?showtopic=128310

IP Manager
Настраивает профили wifi - удобно, когда несколько мест без dhcp
http://4pda.ru/forum/index.php?showtopic=170799

WeFi - Automatic WiFi
база свободных точек wifi с привязкой к координатам
http://4pda.ru/forum/index.php?showtopic=172290

Android и терминал - Huaway U8500

просмотр сетевых интерфейсов - netcfg (ifconfig - сильно урезанный)

Полезные команды для проверки wifi

iw dev wlan0 info
iw dev wlan0 scan

среда, 8 декабря 2010 г.

Android и список софта - Huaway U8500

Учет трафика - кто и сколько "съел" - НО только для android >=2.2
TrafficStats
http://4pda.ru/forum/index.php?showtopic=183359

Файрвол - с этого и следует начинать. Нужен root.
Droid Wall
http://4pda.ru/forum/index.php?showtopic=131323

Сохранение и восстановление настроек APN - всякое бывает - подключишься к другому оператору и т.п.
APN Backup & Restore
http://4pda.ru/forum/index.php?showtopic=137269

Навигация Навител
http://rutracker.org/forum/viewtopic.php?t=3089818
без карт

Навигация IGO
http://4pda.ru/forum/index.php?showtopic=147776&st=480#entry4546541

Для jabber
http://www.beem-project.com/

Русская клавиатура
ruKeyboard
http://4pda.ru/forum/index.php?showtopic=134073
Активируется в системных настройках -> Locale & Text (Язык и клавиатура), далее активировать Russian Keyboard. Потом долго тапнуть на любом поле ввода и выбрать "Способ ввода" и там "Russian Keyboard"

Skype
Skype Lite
http://4pda.ru/forum/index.php?showtopic=122032

SSH
ConnectBot
http://4pda.ru/forum/index.php?showtopic=129287

Раскладки клавиатуры
Много вариантов, но ближе
http://board.riot.ru/showthread.php?t=17314&page=1
http://board.riot.ru/attachment.php?attachmentid=12178&d=1268060306
или
http://4pda.ru/forum/index.php?showtopic=130174&st=40
http://4pda.ru/forum/dl/post/407135/anysoftkeyboard_20100203.apk

Словари
ColorDict Universal Dictionary
http://4pda.ru/forum/index.php?showtopic=137225
сами словари http://www.nexusone.com.ua/soft/2-doctionary/8-colordict
и тут http://www.multiupload.com/56UVX68J1T
Для установки словаря нужно скопировать в папку /dictdata на sd карте тройку файлов:
*.dict,*.idx,*.ifo
обсуждение здесь http://4pda.ru/forum/lofiversion/index.php?t137225-300.html

Читалки
FBReaderJ
http://4pda.ru/forum/index.php?showtopic=101249
iReader
http://4pda.ru/forum/index.php?showtopic=146518


Отключать мобильный интернет
apndroid
http://4pda.ru/forum/index.php?showtopic=147639
http://www.android-info.ru/applications/apndroid-otkluchenie-mobilnogo-interneta#more-1

Для удаления приложений:
Menu => Настройка => Приложения => Управление приложениями. Удалить.
Или удерживайте приложение несколько секунд а потом ведите вниз к кнопочке "Удалить".

Android 2.1 и проблема с аккаунтом google - Huaway U8500

На смартфоне предлагается подключить аккаунт google, вводим данные, экран показывает "...выполняется вход, это займет не более 5 минут...", в итоге выскакивает сообщение "не удается установить надежное подключение к серверу для передачи данных... возможно, это временная неполадка либо ваш телефон не поддерживает передачу данных..."
Оказалось, это довольно частая трабла. Помог сброс до заводских настроек, после него все заработало как надо.

Существует обход этой "беды" - http://4pda.ru/forum/index.php?showtopic=189292&st=20#entry5782479
Получилось только после входа через программу YouTube в аккаунт.
То есть зашел в программу YouTube там в Аккаунты, там набрал свой ЛОГИН (полностью с @gmail.com) и ПАРОЛЬ (в инструкции выше написано что без пароля)
После этого этот аккаунт появился и в общем списке в настройках "Учетные записи и синхронизация".
НО что главное заработал СТАНДАРТНЫЙ аплет по добавлению аккаунтов google (то есть через стандартное меню "Учетные записи и синхронизация" -> "Добавить аккаунт")


Ну вот спустя неделю интенсивных перенастроек опять словил глюк с аккаунтом, и на этот раз делать "сброс" настроек было жалко. В итоге помог способ с youtube, просто залогинился через youtube с gmail аккаунтом - видать он прямо пишет в настройки аккаунта, а gmail и gtalk - подгючивают.