Показаны сообщения с ярлыком windows. Показать все сообщения
Показаны сообщения с ярлыком windows. Показать все сообщения

воскресенье, 13 сентября 2009 г.

WPA2 на Windows XP SP2

Кто-то может сказать, что тема WiFi под Windows XP SP2 сейчас не актуальна. В общем да, но среди домашних машин вполне можно встретить и более древние экземпляры ОС от M$. Так к чему это я?

Часть первая, практическая.

Исходное состояние дел:
  • работает домашняя точка доступа ASUS WL-500W, включен WPA2-PSK
  • 2 ноутбука подключаются нормально (Win XP)
Решил на днях подключить к WiFi-сетке еще ноут Acer 5110 WLMi, сетевая карточка Atheros 5005.

Хоть при автоопределении сети, хоть при ручном задании - коннекта нет. "Не-не-не!" - отвечает винда. Подключение не устанавливается, и после каждой попытки сваливаются настройки аутентификации с WPA Pre-shared key на 802.1X (TLS/PEAP).

Следующим шагом обновил драйвер (был за 2006 год) - и что же? "Не-не-не!" - опять говорит мне винда: "Windows is unable to connect to the selected network. The network may no longer be in range. Please refresh the list of available networks, and try to connect again". Но настройки уже не слетают.

Дальше в помощь google. Выяснилось, что Win XP SP2 не поддерживает WPA2. Вот только тогда я вспомнил, что WPA != WPA2 : )
И после установки фикса KB893357 ноут стал нормально коннектиться к сетке с WPA2.

Часть вторая, теоретическая.

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

На момент создания Win XP SP2 было 2 механизма защиты wireless сетей:
- на базе WEP (включая полностью открытую сеть с отсутствием защиты)
- на базе WPA.

WPA - это по сути ранняя и облегченная версия стандарта 802.11i.
WPA2 - это уже полноценный 802.11i 2004 года.

Как известно, типичная практика (и не только в сетях): включать в протокол версионность.
WPA и WPA2 - ранняя и финальная реализации 802.11i соответственно - согласно стандарту включают в поле version значение 1. Таким образом, тупо проверить версию и уведомить пользователя о неподдерживаемом протоколе не получится. Нужно проводить дальнейший разбор.

Если разработчики Win XP SP2 действовали по принципу: "всё что не WEP - то WPA" - становится понятным, что начиная с какого-то момента в процессе аутентификации станция продолжает действовать согласно WPA, тогда как точка доступа ожидает поведения в стиле WPA2. Точка доступа тихо отбрасывает несоответствующие кадры, станция продолжает их отсылать - и по истечении таймаута пользователь получает сообщение: "Товарищ, сеть больше не видна". Что и наблюдалось на практике.

И в догонку пара ссылок: wiki про WPA, стандарт IEEE 802.11i.

понедельник, 3 ноября 2008 г.

Восстановление загрузочной записи/сектора

За последние полгода несколько раз восстанавливал/ставил загрузочные секторы Win и Debian на своем винте. Решил собрать немного информации здесь.

1. Информация по загрузке
Хорошая статья на русской wiki по MBR и процессу загрузки
Еще русская статья на akina.hop.ru
Cтатьи Thestarman'а по MBR и загрузчикам

2. Загрузка в Windows Vista
Загрузчик в новой M$ OS теперь сделан по идеологии того же Grub'а - об этом доступно написано на сайте MS.
"При запуске на компьютере с OS Windows Vista BIOS загружает MBR, а затем — загрузочный сектор. Однако загрузочный код загружает новую программу — диспетчер загрузки Windows (Bootmgr). Диспетчер загрузки Windows анализирует файл данных конфигурации загрузки, составляет список установленных операционных систем и выводит меню загрузки. Если вместе с системой Windows Vista в конфигурации с двойной загрузкой установлена более ранняя версия операционной системы Windows, диспетчер загрузки Windows передает управление программе Ntldr для предыдущей версии операционной системы Windows. Диспетчер загрузки Windows выполняет эти действия при выборе пункта Windows Vista в меню загрузки"

3. Софт для восстановления загрузчиков/MBR
- Windows: fixmbr и chkdsk
- Linux: grub
grub> root (hd0,1)
Filesystem type is ext2fs, partition type 0x83
grub> setup (hd0)
 Checking if "/boot/grub/stage1" exists... yes
 Checking if "/boot/grub/stage2" exists... yes
 Checking if "/boot/grub/e2fs_stage1_5" exists... yes
 Running "embed /boot/grub/e2fs_stage1_5 (hd0)"... 15 sectors are embedded. succeeded
 Running "install /boot/grub/stage1 (hd0) (hd0)1+15 p (hd0,1)/boot/grub/stage2 /boot/grub/menu.lst"... succeeded
Done.

4. И вдогонку софт для создания загрузочных USB
Windows: BartPE (делаем Live XP ) + FlashBoot (shareware, full) или PEtoUSB
Linux: Slax (Slax для CD и USB) или другой Live Linux.

воскресенье, 2 ноября 2008 г.

Визуализация-vs-производительность

Нередко случается, что затраты на визуализацию в программе, например, отрисовка текущего прогресса выполнения, отъедает львиную долю ресурсов. Сегодня это испытал на своей шкуре - речь о стандартной (и полезной) Windows-программе chkdsk.exe.

Итак, chkdsk запускается, проверяет файловую систему и честно выводит на экран список файлов, для которых он исправил индексы или поменял атрибуты.
Что происходит, если ему нужно поменять атрибуты безопасности всех файлов на системном диске? На диске около 100 000 файлов. Бедный chkdsk меняет атрибут одного файла и перерисовывает весь экран: вниз добавляется новая строка, остальные сдвигаются вверх. Скорость отрисовки в моем случае: примерно 40 новых записей в секунду.
Дальше - 2 варианта развития событий.
  1. Если chkdsk запущен "на синем фоне", до полной загрузки Windows, он так и будет рисовать по 40 строк в секунду. Для 100 000 файлов получаем ~40 минут.
  2. Если запустить chkdsk в окне cmd.exe, скорость отрисовки все такая же удручающая. Интересно вот что: если свернуть окно, скорость исполнения вырастает на 2 порядка! Вместо 40 минут - 1 минута. Испытано в "live" XP (Bart PE Builder).
Диагноз?
Думаю, дело в особенностях прорисовки в командной строке, которое еще усугбляется использованием стандартного драйвера VGA.