Linksys WUSB54GSC под Linux с Ndiswrapper

от ComelSoftWiki

(Разлики между версиите)
Направо към: навигация, търсене
(ТЕСТОВА КОНФИГУРАЦИЯ:)
(ИНСТАЛАЦИЯ:)
Ред 30: Ред 30:
-
1. Разархивирайте файловете от драйвера на мрежовата карта и потърсете файла с име wusb54gsc.inf.
+
#Разархивирайте файловете от драйвера на мрежовата карта и потърсете файла с име '''wusb54gsc.inf'''.
-
2. Разархивирайте F5D7051.EXE и изкопирайте файловете rndismp.sys и usb8023.sys в една директория с wusb54gsc.inf. След като се сдобиете с тези 3 файла, пренесете ги върху Вашата Linux дистрибуция в директория по Ваш избор.
+
#Разархивирайте F5D7051.EXE и изкопирайте файловете '''rndismp.sys''' и '''usb8023.sys''' в една директория с '''wusb54gsc.inf'''. След като се сдобиете с тези 3 файла, пренесете ги върху Вашата Linux дистрибуция в директория по Ваш избор.
-
3. Инсталирайте Ndiswrapper. След като сте разархивирали инсталационния файл, това обикновено става с командите:
+
#Инсталирайте Ndiswrapper. След като сте разархивирали инсталационния файл, това обикновено става с командите:
-
make distclean
+
<pre>
-
make
+
# make distclean
-
make install
+
# make
 +
# make install
 +
</pre>
Ако след изпълнението на първата команда получите съобщение, че Ndiswrapper не може да открие версията на ядрото, това означава че сорс кода на ядрото не е конфигуриран. Как се прави това ще разберете когато прочетете документацията на Вашата дистрибуция.
Ако след изпълнението на първата команда получите съобщение, че Ndiswrapper не може да открие версията на ядрото, това означава че сорс кода на ядрото не е конфигуриран. Как се прави това ще разберете когато прочетете документацията на Вашата дистрибуция.
-
4. Отидете в директорията в която сте изкопирали драйверите и изпълнете командата:
+
#Отидете в директорията в която сте изкопирали драйверите и изпълнете командата:
-
ndiswrapper -i wusb54gsc.inf
+
<pre>ndiswrapper -i wusb54gsc.inf</pre>
-
След нея, Ndiswrapper ще инсталира .inf файла в директорията /etc/ndiswrapper/wusb54gsc и ще създаде конфигурационен файл. Изкопирайте и двата .sys файла в /etc/ndiswrapper/wusb54gsc
+
След нея, Ndiswrapper ще инсталира .inf файла в директорията '/etc/ndiswrapper/wusb54gsc' и ще създаде конфигурационен файл. Изкопирайте и двата .sys файла в '''/etc/ndiswrapper/wusb54gsc'''
-
5. Включете адаптера към свободен USB порт и проверете дали инсталацията е минала успешно с командата:
+
#Включете адаптера към свободен USB порт и проверете дали инсталацията е минала успешно с командата:
-
ndiswrapper -l
+
<pre># ndiswrapper -l</pre>
Ако всичко е наред, резултатът от тази команда трябва да е:
Ако всичко е наред, резултатът от тази команда трябва да е:
-
 
+
<pre>
wusb54gsc : driver installed
wusb54gsc : driver installed
         device (13B1:0026) present
         device (13B1:0026) present
-
 
+
</pre>
Ако това не е така, не продължавайте напред и проверете дали не сте сбъркали нещо в стъпките дотук.
Ако това не е така, не продължавайте напред и проверете дали не сте сбъркали нещо в стъпките дотук.
-
 
-
 
== ЗАРЕЖДАНЕ НА ДРАЙВЕРА: ==
== ЗАРЕЖДАНЕ НА ДРАЙВЕРА: ==

Версия от 14:51, 24 януари 2008

Тук описваме стъпките, които ще Ви помогнат да пуснете безжичния USB адаптер WUSB54GSC с Вашата Linux дистрибуция. Стандартно, безжичните адаптери на Linksys не се предлагат с драйвери за Linux, но повечето от тях могат да бъдат конфигурирани с помощта на Ndiswrapper - софтуер с отворен код, с чиято помощ е възможно да използвате Windows драйверите за дадено устройство под Linux. Описаните тук действия бяха извършени с адаптера WUSB54GSC, но принципът на работа е сходен с повечето от безжичните адаптери и можете да изпробвате процедурата с Вашата PCI/USB/PCMCIA карта.


Съдържание

СОФТУЕРНИ И ХАРДУЕРНИ ИЗИСКВАНИЯ

  • WUSB54GSC - Compact Wireless-G USB Network Adapter with SpeedBooster
  • Компютърна конфигурация със свободен USB 2.0 порт
  • GNU Linux дистрибуция с ядро 2.6.х (от версия 1.49 на Ndiswrapper отпада поддръжката за 2.4 ядрата и по-старите 2.6)
  • Конфигуриран сорс код на текущо работещото ядро (необходим за инсталацията на Ndiswrapper)
  • Актуална версия на Ndiswrapper
  • Актуален драйвер за Windows XP за WUSB54GSC картата
  • Файловете rndismp.sys и usb8023.sys, които се намират в саморазархивиращия се файл F5D7051.EXE
  • Пакетът програми Wireless Tools for Linux, който обикновено идва инсталиран стандартно с повечето от съвременните дистрибуции.
  • Като опция, пакетът WPA_Supplicant ако желаете да ползвате WPA защита на връзката си

Съветваме Ви преди да започнете, да прочетете внимателно инструкциите за инсталация на Ndiswrapper, както и останалите документи в секцията с документация на сайта за да разберете механизма на работа на програмата. Тъй като тук инсталираме конкретен модел адаптер, пропускаме обясненията за това как точно да откриете точния Windows драйвер, който да използвате. От документацията на Ndiswrapper можете да разберете това в случай че ползвате друг адаптер. Желателно е също така да имате поне базови познания в областта на Linux - особено за това как се компилират и инсталират програми и как се настройват мрежовите функции.

ТЕСТОВА КОНФИГУРАЦИЯ:

За тест на картата използвахме компютърна конфигурация със следните параметри:

  • CPU Intel Celeron, 2.4 GHz, 1 GB RAM, USB 2.0 контролер, дънна платка с чипсет на ATI
  • OS: CentOS 5.0 с ядро 2.6.18 (аналогични резултати се получиха върху SUSE 10.3)
  • Ndiswrapper - версия 1.51

ИНСТАЛАЦИЯ:

  1. Разархивирайте файловете от драйвера на мрежовата карта и потърсете файла с име wusb54gsc.inf.
  2. Разархивирайте F5D7051.EXE и изкопирайте файловете rndismp.sys и usb8023.sys в една директория с wusb54gsc.inf. След като се сдобиете с тези 3 файла, пренесете ги върху Вашата Linux дистрибуция в директория по Ваш избор.
  3. Инсталирайте Ndiswrapper. След като сте разархивирали инсталационния файл, това обикновено става с командите:
# make distclean
# make
# make install

Ако след изпълнението на първата команда получите съобщение, че Ndiswrapper не може да открие версията на ядрото, това означава че сорс кода на ядрото не е конфигуриран. Как се прави това ще разберете когато прочетете документацията на Вашата дистрибуция.

  1. Отидете в директорията в която сте изкопирали драйверите и изпълнете командата:
ndiswrapper -i wusb54gsc.inf

След нея, Ndiswrapper ще инсталира .inf файла в директорията '/etc/ndiswrapper/wusb54gsc' и ще създаде конфигурационен файл. Изкопирайте и двата .sys файла в /etc/ndiswrapper/wusb54gsc

  1. Включете адаптера към свободен USB порт и проверете дали инсталацията е минала успешно с командата:
# ndiswrapper -l

Ако всичко е наред, резултатът от тази команда трябва да е:

wusb54gsc : driver installed
        device (13B1:0026) present

Ако това не е така, не продължавайте напред и проверете дали не сте сбъркали нещо в стъпките дотук.

ЗАРЕЖДАНЕ НА ДРАЙВЕРА:

1. Инициализация на устройството. Тази стъпка може да не е необходима, но може и да е задължителна. Това се дължи на факта, че при по-новите версии на ядрото (2.6.16) е възможно RNDIS устройствата да не бъдат автоматично инициализирани при включването им. Как да разберете дали това е така и във Вашия случай? Отворете терминален прозорец и изпълнете командата:

tail -f /var/log/messages

за да следите системните съобщения в реално време (може също да използвате dmesg).

В друг терминал, изпълнете командата

lsmod | grep ndis

и вижте какво ще Ви покаже тя. Ако не показва нищо, значи Вашето USB у-во не е инициализирано и ще трябва да направите това ръчно. Ако картата е включена в USB порта, извадете я и погледнете в прозореца, в който пуснахте системните съобщения. Трябва да видите съобщение подобно на:

Jan 22 23:24:49 centos kernel: usb 1-1: USB disconnect, address 4

Възможно е идентификационния стринг на Вашето у-во да е различен от 1-1. Важно е да запомните какъв е той. Включете отново адаптера и следете какво ще се появи в лога:

Jan 22 23:31:09 centos kernel: usb 1-1: new high speed USB device using ehci_hcd and address 2 Jan 22 23:31:09 centos kernel: usb 1-1: no configuration chosen from 1 choice

Ако видите подобно съобщение, системата разпознава устройството, но това все още не значи че то е инициализирано.

За да го инициализирате, изпълнете командата:

echo -n 1 > /sys/bus/usb/devices/1-1/bConfigurationValue

не забравяйте да смените '1-1' със стойността във Вашия случай

В лога ще се появи нещо подобно на:

Jan 22 23:33:13 centos kernel: usbcore: registered new driver cdc_ether Jan 22 23:33:14 centos kernel: usb 1-1: bad CDC descriptors Jan 22 23:33:14 centos kernel: usbcore: registered new driver rndis_host

Сега изпълнете отново командата: lsmod | grep ndis

и ще видите заредени модулите rndis_host, cdc_ether и usbnet:

rndis_host 10305 0 cdc_ether 9793 1 rndis_host usbnet 20041 2 rndis_host,cdc_ether

Следащата стъпка е да ги махнем и трите:

rmmod rndis_host && rmmod cdc_ether && rmmod usbnet

В този момент вече разполагаме с инициализираното USB у-во и следва да заредим Ndiswrapper:

  1. depmod -а
  2. modprobe ndiswrapper

след което в лога се появява:

Jan 22 23:36:50 centos kernel: ndiswrapper version 1.51 loaded (smp=yes, preempt=no) Jan 22 23:36:50 centos kernel: usb 1-1: reset high speed USB device using ehci_hcd and address 2 Jan 22 23:36:51 centos kernel: ndiswrapper: driver wusb54gsc (Linksys,01/25/2005, 4.01.20.0) loaded Jan 22 23:36:53 centos kernel: wlan0: ethernet device 00:1d:7e:0b:2a:c9 using NDIS driver: wusb54gsc, version: 0x4011405, NDIS version: 0x501, vendor: 'Compact Wireless-G USB Network Adapter with SpeedBooster', 13B1:0026.F.conf Jan 22 23:36:53 centos kernel: wlan0: encryption modes supported: WEP; TKIP with WPA, WPA2, WPA2PSK; AES/CCMP with WPA, WPA2, WPA2PSK Jan 22 23:36:53 centos kernel: usbcore: registered new driver ndiswrapper

Стигнете ли успешно до тук, значи трудната част от задачатае минала успешно.



КОНФИГУРИРАНЕ НА БЕЗЖИЧНИЯ МРЕЖОВ ИНТЕРФЕЙС

След зареждането на Ndiswrapper, в системата се регистрира нов безжичен мрежов интерфейс, обикновено под името wlan0. За да се уверите в това, използвайте командата iwconfig, която е част от пакета Wireless Tools:

  1. iwconfig

... wlan0 IEEE 802.11g ESSID:off/any

         Mode:Managed  Frequency:2.412 GHz  Access Point: Not-Associated
         Bit Rate:54 Mb/s   Tx-Power:25 dBm
         RTS thr:2347 B   Fragment thr:2346 B
         Encryption key:off
         Power Management:off
         Link Quality:100/100  Signal level:-10 dBm  Noise level:-96 dBm
         Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
         Tx excessive retries:0  Invalid misc:0   Missed beacon:0
         

Ако виждате това, значи всичко е наред. Имайки предвид че в нашия случай безжичният интерфейс се казва wlan0, можем да сканираме ефира за налични безжични входни точки:

  1. iwlist wlan0 scan

wlan0 Scan completed :

         Cell 01 - Address: 00:14:BF:C4:F6:1D
                   ESSID:"AP1"
                   Protocol:IEEE 802.11g
                   Mode:Managed
                   Frequency:2.427 GHz (Channel 4)
                   Quality:46/100  Signal level:-66 dBm  Noise level:-96 dBm
                   Encryption key:off
                   Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 18 Mb/s
                             24 Mb/s; 36 Mb/s; 54 Mb/s; 6 Mb/s; 9 Mb/s
                             12 Mb/s; 48 Mb/s
                   Extra:bcn_int=100
                   Extra:atim=0
         Cell 02 - Address: 00:14:78:76:42:FB
                   ESSID:"AP2"
                   Protocol:IEEE 802.11g
                   Mode:Managed
                   Frequency:2.417 GHz (Channel 2)
                   Quality:15/100  Signal level:-86 dBm  Noise level:-96 dBm
                   Encryption key:off
                   Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 6 Mb/s; 9 Mb/s
                             11 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s
                             48 Mb/s; 54 Mb/s
                   Extra:bcn_int=800
                   Extra:atim=0
         Cell 03 - Address: 06:14:78:76:42:FB
                   ESSID:"AP3"
                   Protocol:IEEE 802.11g
                   Mode:Managed
                   Frequency:2.417 GHz (Channel 2)
                   Quality:18/100  Signal level:-84 dBm  Noise level:-96 dBm
                   Encryption key:off
                   Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 6 Mb/s; 9 Mb/s
                             11 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s
                             48 Mb/s; 54 Mb/s
                   Extra:bcn_int=800
                   Extra:atim=0

Всяка от Cell секциите описва характеристиките на намерен Access Point, вкл. ESSID идентификатора, MAC адреса, режимът на работа (Mode), кодирането (Encryption Key).

След като изберем входната точка, към която ще се свържем, трябва първо да установим дали достъпът до нея е кодиран или не. На първо време - ще се свържем към отворена (некодирана) входна точка, а по-долу е обяснено какво се прави за да се свържем към WPA защитена такава.

Ако искаме да се свържем към входна точка с идентификатор AP1, изпълняваме следните команди:

  1. iwconfig wlan0 mode managed

(с което поставяме адаптера в режим Infrastructure)

след което

  1. iwconfig wlan0 essid AP1

и адаптерът ще опита да се свърже с входната точка. За да проверите дали е успял:

  1. iwconfig wlan0

wlan0 IEEE 802.11g ESSID:"AP1"

         Mode:Managed  Frequency:2.427 GHz  Access Point: 00:14:BF:C4:F6:1D
         Bit Rate:54 Mb/s   Tx-Power:25 dBm
         RTS thr:2347 B   Fragment thr:2346 B
         Encryption key:off
         Power Management:off
         Link Quality:32/100  Signal level:-75 dBm  Noise level:-96 dBm
         Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
         Tx excessive retries:0  Invalid misc:0   Missed beacon:0

Ако в полето ESSID виждате името на входната Ви точка, значи връзката е успешна.

Остава само да конфигурирате мрежовия интерфейс. С безжичните конекции, това обикновено става чрез DHCP заявка. Преди да я стартирате обаче, може да се наложи да спрете / преконфигурирате защитната стена ако имате пусната такава.

  1. dhclient wlan0

след няколко секунди Вашият нов безжичен интерфейс ще се договори с DHCP сървъра и ще бъде готов за работа:

  1. ifconfig wlan0

wlan0 Link encap:Ethernet HWaddr 00:1D:7E:0B:2A:C9

         inet addr:192.168.44.137  Bcast:192.168.44.255  Mask:255.255.255.0
         inet6 addr: fe80::21d:7eff:fe0b:2ac9/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:321 errors:0 dropped:0 overruns:0 frame:0
         TX packets:528 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000
         RX bytes:169189 (165.2 KiB)  TX bytes:71264 (69.5 KiB)

Добавете му гейтуей и DNS сървъри и би трябвало да сте готови за безжична работа.


WPA ЗАЩИТА НА ВРЪЗКАТА

Отворените и незащитени безжични входни точки са хубаво нещо, ако не сте техен собственик, обаче най-вероятно бихте желали да имате надеждно защитена безжична конекция когато се свързвате към Вашия собствен АР. Стандартно, Ndiswrapper поддържа WEP защита. За да активирате WPA (Wi-Fi Protected Access) с Ndiswrapper, ще трябва да положите още малко усилия. Като за начало, прочетете упътванията тук: http://ndiswrapper.sourceforge.net/joomla/index.php?/component/option,com_openwiki/Itemid,33/id,wpa/

WPA_Supplicant (http://hostap.epitest.fi/wpa_supplicant/) е проект с отворен код, който предоставя WPA/WPA2 функционалност подLinux, BSD, Mac OS X, и Windows.

Ако не е инсталиран на Вашата машина, изтеглете го и го инсталирайте: разархивирайте изходния код и в директорията където е той, създайте файл с име .config и съдържание:

CONFIG_DRIVER_WEXT=y CONFIG_CTRL_IFACE=y

Запишете файла, компилирайте и инсталирайте:

  1. make && make install

След това трябва да създадем конфигурационния файл. Първо, генерираме конфигурацията на нашия WPA защитен AccessPoint с командата:

  1. wpa_passphrase ESSID passphrase

в която заменяме ЕSSID и passphrase с нашите име на защитена мрежа и ключ за достъп. Ако защитеният АР е с име "AP2" и парола за достъп "secret_pass", то командата става:

  1. wpa_passphrase AP2 secret_pass

network={

       ssid="AP2"
       #psk="secret_pass"
       psk=4777e3a527966a95f14c2f6715c6033f36375c5d5be791eaae429f9f1092a985

}

Така че създаваме конфигурационния файл /etc/wpa_supplicant.conf със следното съдържание (редовете започващи с # са коментари):

ctrl_interface=/var/run/wpa_supplicant network={

       ssid="AP2"
       #psk="secret_pass"
       psk=4777e3a527966a95f14c2f6715c6033f36375c5d5be791eaae429f9f1092a985

}

Остава да тестваме кодираната връзка:

  1. ifconfig wlan0 up (ако wlan0 интерфейса не е вдигнат)
  2. wpa_supplicant -Dwext -iwlan0 -c/etc/wpa_supplicant.conf -dd

Изпълнявайки последната команда ще видите на екрана голямо количество информация (заради debug опциите -dd).

След няколко секунди връзката би трябвало да се осъществи:

  1. iwconfig wlan0

wlan0 IEEE 802.11g ESSID:"AP1"

         Mode:Managed  Frequency:2.422 GHz  Access Point: 00:18:39:26:CD:6C
         Bit Rate:54 Mb/s   Tx-Power:25 dBm
         RTS thr:2347 B   Fragment thr:2346 B
         Encryption key:BA3D-9181-4261-F029-03A2-895D-3EC7-E269-6DAB-7CF3-098E-9FE3-9C94-8A8C-936F-8793   Security mode:restricted
         Power Management:off
         Link Quality:73/100  Signal level:-49 dBm  Noise level:-96 dBm
         Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
         Tx excessive retries:0  Invalid misc:0   Missed beacon:0
         

Видите ли този резултат - остава да конфигурирате параметрите на мрежовия интерфейс - било то ръчно или с DHCP заявка.


В заключение, ще отбележим че описаната тук процедура не претендира за изчерпателност и работи върху конфигурацията и софтуера описан по-горе. Ако във Вашия случай нещата не се получат точно така, започнете отначало, прочетете съответната документация и опитайте пак. Желаем Ви успех!

Лични инструменти