суббота, 26 апреля 2014 г.

Установить XNeur Switcher



XNeur Switcher - программа для автоматического переключения раскладок клавиатуры, в зависимости от набираемого текста.
Очень удобна тем кто много печатает с применением двух и более языков. 

Принцип работы xneur аналогичен Punto Switcher в Windows.

На данный момент поддерживаются следующие языки: Армянский, Белорусский, Болгарский, Чешский, Грузинский, Немецкий, Греческий, Английский, Эстонский, Французский, Казахский, Литовский, Латвийский, Польский, Молдавский (Румынский), Русский,Испанский, Украинский и Узбекский

Для удобства работы имеются два режима: автоматический и ручной.

При работе в автоматическом режиме, xneur автоматически определяет раскладку вводимого текста и изменяет язык за вас. В этом режиме предусмотрена возможность задания приложений исключений, в которых автоматический режим будет заменён на ручной.

Подробнее почитайте на сайте разработчика: http://www.xneur.ru

Установка XNeur в Ubuntu/Linux Mint

Программа XNeur есть в Центре приложений Ubuntu и Менеджере программ (Linux Mint), но я предлагаю подключить её собственный репозиторий. Для этого откройте терминал (Ctrl+Alt+T), скопируйте и выполните следующие команды:

sudo add-apt-repository ppa:andrew-crew-kuznetsov/xneur-unstable
sudo apt-get update
sudo apt-get install xneur


После установки, чтобы значок появился в трее, необходимо выполнить следующую команду в терминале:

gconftool-2 -s -t string /apps/gxneur/rendering_engine AppIndicator & exit

Когда значок появится в трее, кликните на нём, в выпадающем меню выберитеПараметры и в открывшемся окне Настройки XNeur вновь Параметры, где нужно активировать пункт Запускать автоматически при старте системы:



пятница, 25 апреля 2014 г.

Простой WiFi-анализатор

При огранизации соединения между несколькими компьютерами посредством Wi-Fi часто возникает необходимость оценить качество приёма в различных точках помещения. А если говорить об организации Wi-Fi-моста и/или настройке направленных антенн то необходимо ещё учитывать соседние Wi-Fi-точки.
Полноценное исследование эфира требует достаточно высоких затрат, которые обычно не оправданы. Чаще всего просто нужен сканер эфира, который показывает доступные точки и качество их сигнала. Для смартфонов таких приложений существует великое множество, а вот под Linux кроме громоздкого Kismet ничего подходящего найти не удалось. В итоге оказалось проще написать свой инструмент.
Основная идея при написании своего инструмента заключалась в том, что вся необходимая информация содержится в выводе команды:
iwlist wlan0 scan 
Но вывод этой команды не удобен для восприятия. В итоге было решено написать скрипт, который в бесконечном цикле будет запускать эту команду, парсить её вывод и отображать результат. Листинг полученного скрипта:
#!/usr/bin/perl

use strict;
use warnings;
use diagnostics;

use Math::Round;

# Если число аргументов не равно единице
if (@ARGV != 1) {
        # Печатаем краткую справку
        print "Usage:\n";
        print "  $0 ifname\n\n";
        # Завершаем работу
        exit;
}

# Будем использовать полученные данные для очистки экрана в дальнейшем
my $clear_screen = `clear`;


# Получаем имя интерфейса
my $ifname = shift;

while (1) {
        # Сканируем эфир
        my $scan_result = `iwlist $ifname scan`;
        # Получаем код ошибки
        my $error_code = $?;
        # Завершаем работу если что-то не так
        exit if $error_code;
        # Наскорую руку разбиваем результат сканирования на элементы
        my @scan_results_tmp = split /Cell \d+/is, $scan_result;
        # Начинаем полноценный разбор
        my @scan_results = ();
        # Перебираем элементы
        foreach my $hotspot_line (@scan_results_tmp) {
                # Если нет номера канала значит это мусор, который надо пропустить
                next if $hotspot_line !~ m{Channel\:}is;
                # Строим элемент
                my %hotspot = ();
                # Номер канала
                $hotspot{'Channel'} = $hotspot_line;
                $hotspot{'Channel'} =~ s{^.+Channel\:(\d+).+$}{$1}is;
                # SSID
                $hotspot{'SSID'} = $hotspot_line;
                $hotspot{'SSID'} =~ s{^.+ESSID\:"((.+?)?)".+$}{$1}is;
                # Наличие шифрований
                $hotspot{'Crypted'} = $hotspot_line;
                $hotspot{'Crypted'} =~ s{^.+Encryption key:(\w+?)\s.+$}{$1}is;
                # Уровень сигнала. И сразу переводим его в проценты
                my $q1 = $hotspot_line;
                $q1 =~ s{^.+Quality=(\d+)/\d+.+$}{$1}is;
                my $q2 = $hotspot_line;
                $q2 =~ s{^.+Quality=\d+/(\d+).+$}{$1}is;
                $hotspot{'Quality'} = round($q1 * 100 / $q2);
                push @scan_results, \%hotspot;
        }
        # Сортируем
        @scan_results = sort { sprintf("%02d", $a->{Channel}) cmp sprintf("%02d", $b->{Channel}) } @scan_results;

        # Очищаем экран
        print $clear_screen;
        # Печатаем данные
        print sprintf("  % 2.2s [% 9.9s] [% 32.32s] [% 7.7s]\n", "Ch", "Quality", "SSID", "Crypt");
        print sprintf('%1$s'x61 . "\n", "-");
        foreach my $hotspot (@scan_results) {
                print sprintf("  %02d [% 8d%%] [% 32.32s] [% 7.7s]\n",
                        $hotspot->{Channel},
                        $hotspot->{Quality},
                        $hotspot->{SSID},
                        $hotspot->{Crypted});
        }
        # Делаем паузу
        sleep 1;
}

Скрипт принимает один единственный параметр: имя интерфейса, на котором надо осуществлять мониторинг. Например так:
./wifiscan.pl wlan2
Вывод скрипта выглядит примерно так:
  Ch [  Quality] [                            SSID] [  Crypt]
-------------------------------------------------------------
  01 [      93%] [                   Yuldash House] [     on]
  02 [      94%] [                        serr_dom] [     on]
  04 [      94%] [                   home-of-moose] [     on]
  06 [      93%] [                wifi.tattele.com] [    off]
  06 [      93%] [                     KEENETIC 4G] [     on]
  06 [      94%] [          MTS_telefon_2-65-60-30] [     on]
  06 [      94%] [                        home.net] [     on]
  08 [      93%] [                            YOTA] [     on]
  10 [      93%] [                       Estucador] [     on]
  10 [      93%] [                    DIR-300NRUB6] [     on]

Если нужны будут какие-то другие параметры то их получение и отображение легко дописать в скрипт. Автор использовал этот скрипт при эксприментах с баночными антеннами и с помощью этого скрипта смог найти нужное направление на необходимую точку.
На этом всё. Приятной работы!

P.S. Если не взлетело с такой ошибкой 
       Can't locate Math/Round.pm

         На Debian/Ubuntu этот модуль есть в пакете libmath-round-perl.

Взято здесь.

четверг, 24 апреля 2014 г.

Программный ремонт USB flash в Linux

Сегодня речь пойдет о так называемом "программном ремонте" USB flash накопителей. Вопросы аппаратного ремонта рассматриваться не будут по причине копеечной стоимости новых абсолютно исправных устройств; вопрос же снятия данных с неисправных флешей не рассматривается из-за отсутствия у автора желания публично его рассматривать :) .
Поводом для написания статьи послужило обилие на различных форумах советов по устранению программных глюков флешек с помощью различных утилит "низкоуровневого форматирования" и пр. Не отрицая существования утилит "от производителя", хочу заметить, что существует весьма простой и вполне надежный метод удаления софт-бэдов на флешках, устранения проблем с файловой системой, бутсектором и MBR, возникающих, как правило, при небезопасном извлечении этих устройств из компьютера, либо же из-за иных программных или аппаратных сбоев компьютера (одни только глючные южные мосты ICH5 от Intel чего стоят).
Существующие методы "излечения" этих болезней под ОС Microsoft Windows имеют ряд существенных недостатков, причиной которых является отсутствие в Windows достаточно функциональных  средств дискменеджмента даже от сторонних производителей. Простой пример: после "заливки" флешки нулями, Windows форматирует её как super-floppy, т. е. без организации MBR, что для корректной работы флешки под разными ОС недопустимо. Сторонние дискменеджеры либо не умеют работать с USB-устройствами (Norton Partition Magic), либо работают некорректно (Paragon Partition Manager). Работа же с флешкой под различными ОС ведется именно как с жестким диском, поэтому и предъявляемые требования к организации логической структуры аналогичны винчестеру, а не дискете. Для этих целей воспользуемся правильной ОС и правильным софтом, который, как оказалось, к тому же абсолютно бесплатен, в отличие от недофункциональных платных поделок.
Итак... Имеет место флешка, которая либо виснет в Windows, либо просится быть отформатированной, но не  форматируется ("Виндовз не может завершить форматирование", о, ужас!), либо сыплет бэдами при сканировании тем же HDDScan'ом.
Если с Линуксом вы незнакомы, то я предложу для начала выкачать один из LiveCD-дистрибутивов и, предварительно записав образ на CD, загрузиться с него. Я, как Слаковод, естественно, предложу Slax - он невелик по размерам, несложен (впрочем, как и всякий LiveCD общего назначения) , быстро грузится и в нем есть всё необходимое для "ремонта". Если же какой-либо из Линуксов у вас уже стоит на HDD и вы с ним дружите, то буду рад добавить в вашу  копилку знаний еще несколько советов.
Лично мной работа велась под локализованным неофициальным портом Slackware для 64-битных процессоров BlueWhite64
Немного о форматировании: сейчас пойдут большие куски кода. Обычным моноширинным шрифтом мы будем показывать вывод консоли, жирным - наш ввод. Сразу за решеткой красным - #мои комментарии.
Итак, загрузились. Если вы не root, то станьте им , выполнив команду su и введя пароль , ибо борьба с ополоумевшим железом по праву только суперпользователю :) .
Подключаем флешку, смотрим список USB-устройств. Вводим lsusb, нажимаем Enter, смотрим вывод:

root@H84_103:~# lsusb
#Наблюдаем вывод: вот она, родимая, даже, вроде "аппаратно" живая.
Bus 005 Device 003: ID 0ea0:2168 Ours Technology, Inc. Transcend JetFlash 2.0 / Astone USB Drive
Bus 005 Device 001: ID 0000:0000
Bus 004 Device 001: ID 0000:0000
Bus 003 Device 001: ID 0000:0000
Bus 002 Device 001: ID 0000:0000
#Это сканер, он нам не мешает.
Bus 001 Device 003: ID 04a5:20fc Acer Peripherals Inc. (now BenQ Corp.) Benq 5000
Bus 001 Device 001: ID 0000:0000
 
Флеш-накопители распознаются  как SCSI-диски, т.е., устройства  /dev/sdX, но работает с ними почему-то типично IDE-дисковая утилита hdparm :) . Внимание!!! SATA-винчестеры у нас тоже обозначаются как /dev/sdX! У меня SATA-винчестер, потому ему по праву принадлежит /dev/sda, а флешке - следующая буква b, т. е. /dev/sdb. Попытаемся познакомиться с ней поближе:

root@H84_103:~# hdparm /dev/sdb
 
/dev/sdb:
 #Защита от записи выключена
 readonly     =  0 (off)
 readahead    = 256 (on)
 #Транслируемая геометрия соответсвует реальной: 1017856 секторов это ~512 МБ
 geometry     = 1014/17/59, sectors = 1017856, start = 0
Теперь сделаем ей «низкоуровневое форматирование», т. е. забъем всё пространства накопителями нулевыми байтами. Таким образом мы удалим софт-бэды, сотрем ошибочные таблицы FAT, загрузочный сектор, MBR. Внимание! Все оставшиеся данные на флешке будут безвозвратно утеряны!

root@H84_103:~# dd if=/dev/zero of=/dev/sdb
#dd вводили без параметров, теперь он ругается на нехватку места на флешке. И правильно, генератор нулей то у нас безразмерный :)
dd: запись в `/dev/sdb': No space left on device
1017857+0 записей считано
1017856+0 записей написано
 скопировано 521142272 байта (521 MB), 144,185 секунд, 3,6 MB/s
Флешка USB 2.0 на 512 МБ стиралась 2,5 минуты
    Теперь "по-фирменному" создаём раздел.

root@H84_103:~# fdisk /dev/sdb
#fdisk ругается, что не нашел ни DOS-овской таблицы разделов, ни метки диска в стиле BSD. Оно и понятно - вся флеш забита нулями.
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won't be recoverable.
 
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
 
#Умный fdisk сразу предлагает помощь. Давим m
Command (m for help): m
#Вывод списка команд:
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   l   list known partition types
   m   print this menu
   n   add a new partition
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)
 
#Нам нужна новый раздел. Жмем n, как написано:
Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
#Естественно, первичный раздел. Жмем p
p
#И первый, естественно. Жмем 1
Partition number (1-4): 1
#Здесь соглашаемся со всем, что предлагает fdisk. Он умный, сам разберется :)
First cylinder (1-1014, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-1014, default 1014):
Using default value 1014
 
#Смотрим, чего мы наваяли :) . Жмем p
Command (m for help): p
 
Disk /dev/sdb: 521 MB, 521142272 bytes
17 heads, 59 sectors/track, 1014 cylinders
Units = cylinders of 1003 * 512 = 513536 bytes
 
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1        1014      508491+  83  Linux
 
#По умолчанию фдиск создал, естественно, линуксовый раздел (ну не виндовый же ему создавать). Надо поменять ID раздела. Жмем t.
Command (m for help): t
#Выбираем первый раздел для изменения ID
Selected partition 1
#предусмотрительный fdisk предлагает посмотреть, на что мы можем поменять тип раздела
Hex code (type L to list codes): l
 
 0  Empty           1e  Hidden W95 FAT1 80  Old Minix       be  Solaris boot
 1  FAT12           24  NEC DOS         81  Minix / old Lin bf  Solaris
 2  XENIX root      39  Plan 9          82  Linux swap      c1  DRDOS/sec (FAT-
 3  XENIX usr       3c  PartitionMagic  83  Linux           c4  DRDOS/sec (FAT-
 4  FAT16 <32M      40  Venix 80286     84  OS/2 hidden C:  c6  DRDOS/sec (FAT-
 5  Extended        41  PPC PReP Boot   85  Linux extended  c7  Syrinx
 6  FAT16           42  SFS             86  NTFS volume set da  Non-FS data
 7  HPFS/NTFS       4d  QNX4.x          87  NTFS volume set db  CP/M / CTOS / .
 8  AIX             4e  QNX4.x 2nd part 88  Linux plaintext de  Dell Utility
 9  AIX bootable    4f  QNX4.x 3rd part 8e  Linux LVM       df  BootIt
 a  OS/2 Boot Manag 50  OnTrack DM      93  Amoeba          e1  DOS access
 b  W95 FAT32       51  OnTrack DM6 Aux 94  Amoeba BBT      e3  DOS R/O
 c  W95 FAT32 (LBA) 52  CP/M            9f  BSD/OS          e4  SpeedStor
 e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a0  IBM Thinkpad hi eb  BeOS fs
 f  W95 Ext'd (LBA) 54  OnTrackDM6      a5  FreeBSD         ee  EFI GPT
10  OPUS            55  EZ-Drive        a6  OpenBSD         ef  EFI (FAT-12/16/
11  Hidden FAT12    56  Golden Bow      a7  NeXTSTEP        f0  Linux/PA-RISC b
12  Compaq diagnost 5c  Priam Edisk     a8  Darwin UFS      f1  SpeedStor
14  Hidden FAT16 <3 61  SpeedStor       a9  NetBSD          f4  SpeedStor
16  Hidden FAT16    63  GNU HURD or Sys ab  Darwin boot     f2  DOS secondary
17  Hidden HPFS/NTF 64  Novell Netware  b7  BSDI fs         fd  Linux raid auto
18  AST SmartSleep  65  Novell Netware  b8  BSDI swap       fe  LANstep
1b  Hidden W95 FAT3 70  DiskSecure Mult bb  Boot Wizard hid ff  BBT
1c  Hidden W95 FAT3 75  PC/IX
 
#Елки-палки, а мы думали, что кроме Винды и ФАТ32 на свете ничего и нет :) . Меняем ID партишна на ФАТ16 - топчем 6
Hex code (type L to list codes): 6
Changed system type of partition 1 to 6 (FAT16)
 
#Еще раз посмотрим на дело рук своих
Command (m for help): p
 
Disk /dev/sdb: 521 MB, 521142272 bytes
17 heads, 59 sectors/track, 1014 cylinders
Units = cylinders of 1003 * 512 = 513536 bytes
 
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1        1014      508491+   6  FAT16
 
#Всё ОК. Пишем изменения и выходим
Command (m for help): w
The partition table has been altered!
 
Calling ioctl() to re-read partition table.
 
WARNING: If you have created or modified any DOS 6.x
partitions, please see the fdisk manual page for additional
information.
Syncing disks.
 
И всё!? Ан нет. Это создан раздел для FAT16. А его надо отформатировать, а по науке говоря, создать на нем чистую файловую систему. В Линуксе есть простая и прямая как рельс утилитка для этого - mkdosfs. Просто пишем, на каком разделе мы хотим создать чистую FAT16

root@H84_103:~# mkdosfs /dev/sdb1
mkdosfs 2.11 (12 Mar 2005)
Линкусоиды могут тут же примонтировать новообретенный девайс и что-нибудь записать на него. Пользователи дружественной и удовлетворяющей все запросы пользователей   ОС  грузятся в  Windows и радуются, что стали "настоящими" линуксоидами :) .
Необходимое послесловие.
    Автор не несет никакой ответственности за то, что счастливые обладатели SATA-дисков попутали буквы и постирали информацию со своих винчестеров (а такие будут, это я гарантирую :) ) . Если вы из статьи ничего не поняли, и проблеск мысли в мозгу не воссиял :) , то лучше статью сразу забыть, флешку выкинуть и идти в магазин за новой. Данная технология справедлива для флешек до 2 ГБ включительно.
    Автор искренне благодарит Алексея Хована за помощь в написании статьи и дополнительную проверку работоспособности метода.

Виталий Розизнаный, специально для R.LAВ восстановление данных

среда, 23 апреля 2014 г.

Установка Unity 3D Web Player на Ubuntu и производные через Pipelight

Ранее на Compizomania уже публиковалась статья об установке MS Silverlihgt на Ubuntu посредством Pipelight. Напомню, Pipelight - это враппер (англ. wrapper /'ræpə/— обёртка), своеобразный "переходник", позволяющий использовать Windows-версии браузерных плагинов в нативных Линукс-браузерах. Он состоит из двух частей: Linux библиотеки, которая подгружается браузером, и модифицированной версии Wine, в которой выполняются соответствующие Windows-программы. Недавно Pipelight обновился до версии 2.6, обзавелся поддержкой новых технологий и новым репозиторием. В этой статье рассмотрим установку поддержки Unity3D Web Player на Ubuntu, попутно уделив внимание и другим плагинам.

В настоящее время, поддержка Pipelight доступна для версий Ubuntu от 12.04 до 14.04включительно.

Примечание: обратите внимание, новые версии пакета для Ubuntu называются не Pipelight, а Pipelight-multi. Если вы используете совсем старую версию Pipelight, удалите её командой в терминале:

sudo apt-get remove pipelight  

Кроме того, если вы ранее устанавливали Pipelight по ЭТОЙ инструкции, во избежание конфликтов пакетов я рекомендую предварительно удалить его вместе со старыми репозиториями и wineprefix-ом:
sudo apt-get purge pipelight-multi wine-compholio
sudo apt-get autoremove
rm -rf ~/.wine-pipelight/
sudo apt-add-repository --remove ppa:ehoover/compholio
sudo apt-add-repository --remove ppa:mqchael/pipelight
sudo apt-get update

Вернемся к установке. 

Добавляем репозиторий:

sudo add-apt-repository ppa:pipelight/stable

Устанавливаем пакет:

sudo apt-get update
sudo apt-get install --install-recommends pipelight-multi

И сразу обновляем:

sudo pipelight-plugin --update

Если в процессе установки в окне терминала появится сообщение о необходимости принять лицензию на шрифты от Microsoft, с помощью клавиши TAB переводим фокус на "OK" и жмем Enter.

Теперь устанавливаем поддержку Unity3D:

sudo pipelight-plugin --enable unity3d

Жмем "Y", ждем завершения и перезагружаем браузер. Готово.

Также вы можете включить другие плагины, которые поддерживаются Pipelight (Silverlight или даже Flash, так как его Win-версия свежее, чем в Linux):

Для Silverlight

sudo pipelight-plugin --enable silverlight

Для Silverlight 5.0

sudo pipelight-plugin --disable silverlight --enable silverlight5.0

Для Flash

sudo pipelight-plugin --enable flash

Решение возможных проблем:

Если Unity Web приложение или Silverlight отказываются грузиться на странице, то скорее всего, виновата проверка User Agent'a, отсекающая Linux системы.
На этот случай, нам понадобится специальное расширение для браузера:

Для Chrome: 
1. Устанавливаем User-agent switcher
2. Для Unity 3D выбираем «Safari / Mac OS X»
3. Для Silverlight — «Windows Firefox 15».

Для Firefox:
1. Устанавливаем User-agent overrider
2. Открываем настройки расширения и добавляем следующие 2 строки:
Firefox 15/Windows: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20120427 Firefox/15.0a1
Safari/OSX: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/534.55.3 (KHTML, like Gecko) Version/5.1.3 Safari/534.53.10

3. Для Unity 3D выбираем «Safari/OSX»
4. Для Silverlight — «Firefox 15/Windows».
Если все работало, а потом внезапно перестало, попробуйте удалить wineprefix pipelight-а, при следующем запуске браузера он создастся заново:

rm -rf ~/.wine-pipelight/

Отдельные проблемы с Unity3D приложениями, вроде остановки загрузки файла или постоянно зажатой клавиши левой стрелки (left arrow key), как правило, решаются перезагрузкой страницы. Приложения с неразрешимыми проблемами встречаются, но довольно редко.
В заключение, приведу несколько ссылок для проверки работоспособности Pipelight:
Работа pipelight проверена мной в браузере Firefox 28, в трех дистрибутивах, Xubuntu 14.04Ubuntu 14.04 и Manjaro Linux XFCE 0.8.9, с проприетарными драйверами Nvidia. Никаких проблем пока не наблюдалось, напротив, всё работает довольно гладко и без тормозов.
При подготовке статьи использован следующий источник:http://habrahabr.ru/post/218123/ 

Желаю удачи.

вторник, 22 апреля 2014 г.

Как установить Wi-Fi адаптер в Linux используя драйвера под Windows

Linux прошла долгий путь с аппаратной поддержкой, но если у вас есть Wi-Fi адаптер, который все еще не имеет встроенных Linux-драйверов, то вы могли бы подключить его используя драйвера для Windows и специальное приложение Ndiswrapper.


Используя драйверы Windows в Linux, вы также можете получить более быструю скорость передачи или лучшую поддержку шифрования  в зависимости от вашей Wi-Fi карты. Если ваш Wi-Fi адаптер работает в Linux, то не рекомендуется устанавливать драйверы Windows  просто так ради удовольствия, поскольку это может привести к конфликту с родными Linux драйверами.

Скачать драйвер Wi-Fi адаптера

Первое что вам нужно сделать, это выяснить точную модель вашего Wi-Fi адаптера. Есть несколько способов это сделать, некоторые включают обнаружение чипсета устройства, а некоторые используют системный журнал. Легче всего просто посмотреть на само устройство, если у вас внешний адаптер, или узнать на сайте производителя, если адаптер встроенный и поставляется вместе с компьютером.
После того как вы узнали модель Wi-Fi адаптера, который пытаетесь установить, зайдите на сайт производителя и скачайте Windows драйвера для устройства.
Если есть возможность, то вам следует попытаться загрузить 32-разрядные Windows XP драйверы в ZIP  Формате, а не в EXE. Если такой возможности нет выберите последние доступные драйвера ОС Windows, которые предоставляет производитель.

Извлечение  драйверов

Для извлечения файлов нажмите правой кнопкой мыши на .EXE или Архив,  и выберите “открыть с помощью архиватора” (open with archive manager).
Примечание: Хотя менеджером архивов можно извлечь как EXE так и архивные файлы, иногда файлы в EXE формате  могут не работать с Ndiswrapper.
Нажмите кнопку “Извлечь” (extract)  и скопируйте все файлы в легко доступное место.

Установка Ndiswrapper

Ndiswrapper является инструментом, который позволяет Linux использовать драйверы Windows  для поддержки Wi-Fi-адаптеров.
Для его установки в Ubuntu перейдите в “центр программного обеспечения” (Software Center) и найдите ndisgtk.

Установка Windows драйверов

Теперь, когда у вас есть извлеченный драйвер  и  установленный Ndiswrapper, откройте Система -> Администрирование -> Windows Wireless Drivers.
В открывшемся окне щелкните по установке нового драйвера (install new driver) и выберете распакованный драйвер.
Иногда .inf файлы будут в подкаталогах внутри драйверов, так что возможно вам придется немного покопаться, чтобы найти нужный файл для использования.


После выбора .inf файла для вашего Wi-Fi адаптера нажмите кнопку “Установить” (install). Это займет несколько минут.
После установки драйвера в главном окне будет сообщаться, правильно ли вы выбрали  .inf файл,  установлено оборудование или нет. Если вы выбрали неправильный драйвер вы можете попытаться установить другой .inf файл, который был извлечен из драйвера.
Если ни один из .inf файлов не работает  вы можете попробовать драйвер для того же адаптера но для различных версий Windows (например, XP, Vista, 7).
После того как вы установите нужный драйвер нажмите “настроить сеть” (configure network), чтобы открыть сетевые соединения и подключения к беспроводной сети.


P.S. У меня с ASUS USB N-13 проблема драйвера не рашилась