LinuxForum.Fans
Тема

Wi-Fi USB адаптер TP-LINK WN722NC в режиме Access Point

Автор: Gnom 25 сообщений 17578 просмотров
17.04.2012 00:16 · отредактировано #246419

На днях приобрёл даный usb адаптер, и решил его использовать в качестве точки доступа для мобил по wi-fi. Можно было конечно приобрести "нормальную" точку, но как всегда финансовый вопрос мучает....

Описание для openSUSE 12.1, по мотивам статьи с "забугорного" форума :)

Подключаем адаптер в порт.
Смотрим что выдаёт

text
lsusb
text
Bus 001 Device 002: ID 0cf3:9271 Atheros Communications, Inc. AR9271 802.11n

Качаем firmware, ложим его в /lib/firmware, перезагружаем комп. Заодно читаем здесь.
Ставим пакеты dnsmasq, usb_modeswitch, wireless-tools, iw, hostapd, dhcp-server, по зависимостям, там ещё пакеты подтянутся.
И по выше приведённой ссылки начинаем править конфиги:
1) /etc/hostapd.conf
На всякий случай, копируем куда-нибудь оригинал.
Удаляем из конфига всё, и пишем следующее

text
interface=wlan0
driver=nl80211
hw_mode=g
channel=11 # канал, на котором будет работать точка.
ssid=test # идентификатор сети, любое название, какое душе угодно
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
wpa_passphrase=123456789 # пароль, пишем свой.

Сохраняем изменения. Далее

2) /etc/dhcpd.conf
Оригинал так же копируем.
Удаляем всё, пишем следующее:

text
option domain-name-servers 192.168.1.1;
default-lease-time 600;
max-lease-time 7200;
ddns-update-style none; ddns-updates off;
subnet 192.168.0.0 netmask 255.255.255.0 {
        range 192.168.0.200 192.168.0.229;
        option subnet-mask 255.255.255.0;
        option broadcast-address 192.168.0.255;
        option routers 192.168.0.1;
}

Сохраняемся.

option domain-name-servers 192.168.1.1 вот эта строка, точнее IP, у кого то может быть другой. У меня стоит wi-fi роутер, инет по wi-fi от прова, короче надо прописывать DNS провайдера, те что в resolv.conf.

Создаём скрипт запуска, и делаем его исполняемым.
Скрипт не много исправил. Обозвал я его ap, и положил в /usr/bin

text
#!/bin/sh
# Script to start/stop a hostapd-based access point
#
# Symbols for needed programs

IPTABLES=/usr/sbin/iptables IFCONFIG=/sbin/ifconfig DHCPD=/usr/sbin/dhcpd HOSTAPD=/usr/sbin/hostapd

# Symbols for internal and external interfaces

NET_INT=wlan0 NET_EXT=eth0

# IP address for the AP

INT_ADDR=192.168.0.1

case "$1" in start) echo "Starting AP mode for $NET_INT at address $INT_ADDR" # Disable packet forwarding echo 0 > /proc/sys/net/ipv4/ip_forward # Stop any existing hostapd and dhcpd daemons killproc hostapd killproc dhcpd #Set up forwarding $IPTABLES -t nat -A POSTROUTING -o $NET_EXT -j MASQUERADE $IPTABLES -A FORWARD -i $NET_EXT -o $NET_INT -m state \ --state RELATED,ESTABLISHED -j ACCEPT $IPTABLES -A FORWARD -i $NET_INT -o $NET_EXT -j ACCEPT # Enable packet forwarding echo 1 > /proc/sys/net/ipv4/ip_forward # Get the internal interface in the right state $IFCONFIG $NET_INT down $IFCONFIG $NET_INT up $IFCONFIG $NET_INT $INT_ADDR # dhcpd needs to have a leases file available - create it if needed if [ ! -f /var/lib/dhcp/db/dhcpd.leases ]; then touch /var/lib/dhcp/db/dhcpd.leases fi # Bring up the DHCP server $DHCPD -cf /etc/dhcpd.conf $NET_INT # Bring up hostapd $HOSTAPD -B /etc/hostapd.conf ;; stop) echo "Stopping AP mode on $NET_INT" # Stop hostapd and dhcpd daemons killproc hostapd killproc dhcpd ;; *) echo "Usage: $0 {start|stop}" exit 1 ;; esac

NET_EXT=eth0 - пишем интерфейс который смотрит в интернет.

Запускаем от root

text
ap start

Останавливаем

text
ap stop

Подключаем по wi-fi мобилы и радуемся расшаренному интернету :)

Вроде всё написал, замечания и предложения приветствуются.

17.04.2012 01:41 #246446

TP-Link по мощности молодца, по фигу им евростандарты, кстати 20дБм или 27дБм?

17.04.2012 08:08 #246459
"newzenon" написал:
кстати 20дБм или 27дБм?

Если верить iwconfig то 20 дБм

text
wlan0     IEEE 802.11bgn  Mode:Master  Frequency:2.462 GHz  Tx-Power=20 dBm  

На сайте производителя только про антенну сказано, что она 4 дБи, я к нему прилепил антенну от роутера 5дБи (роутер у меня подключен к внешней антенне). Разницу особую не заметил.

17.04.2012 11:23 · отредактировано #246490

http://www.nix.ru/autocatalog/wireless_asus/ASUS_PCEN10_Wireless_LAN_PCIE_Adapter_802.11b_PCIEx1_150Mbps_118043.html
В общем вот карточка.

Показать
[pasha@localhost ~]$ lspci
00:00.0 RAM memory: nVidia Corporation MCP78S [GeForce 8200] Memory Controller (rev a2)
00:01.0 ISA bridge: nVidia Corporation MCP78S [GeForce 8200] LPC Bridge (rev a2)
00:01.1 SMBus: nVidia Corporation MCP78S [GeForce 8200] SMBus (rev a1)
00:01.2 RAM memory: nVidia Corporation MCP78S [GeForce 8200] Memory Controller (rev a1)
00:01.3 Co-processor: nVidia Corporation MCP78S [GeForce 8200] Co-Processor (rev a2)
00:01.4 RAM memory: nVidia Corporation MCP78S [GeForce 8200] Memory Controller (rev a1)
00:02.0 USB Controller: nVidia Corporation MCP78S [GeForce 8200] OHCI USB 1.1 Controller (rev a1)
00:02.1 USB Controller: nVidia Corporation MCP78S [GeForce 8200] EHCI USB 2.0 Controller (rev a1)
00:04.0 USB Controller: nVidia Corporation MCP78S [GeForce 8200] OHCI USB 1.1 Controller (rev a1)
00:04.1 USB Controller: nVidia Corporation MCP78S [GeForce 8200] EHCI USB 2.0 Controller (rev a1)
00:06.0 IDE interface: nVidia Corporation MCP78S [GeForce 8200] IDE (rev a1)
00:08.0 PCI bridge: nVidia Corporation MCP78S [GeForce 8200] PCI Bridge (rev a1)
00:09.0 IDE interface: nVidia Corporation MCP78S [GeForce 8200] SATA Controller (non-AHCI mode) (rev a2)
00:0a.0 Ethernet controller: nVidia Corporation MCP77 Ethernet (rev a2)
00:10.0 PCI bridge: nVidia Corporation MCP78S [GeForce 8200] PCI Express Bridge (rev a1)
00:12.0 PCI bridge: nVidia Corporation MCP78S [GeForce 8200] PCI Express Bridge (rev a1)
00:18.0 Host bridge: Advanced Micro Devices [AMD] Family 10h Processor HyperTransport Configuration
00:18.1 Host bridge: Advanced Micro Devices [AMD] Family 10h Processor Address Map
00:18.2 Host bridge: Advanced Micro Devices [AMD] Family 10h Processor DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices [AMD] Family 10h Processor Miscellaneous Control
00:18.4 Host bridge: Advanced Micro Devices [AMD] Family 10h Processor Link Control
01:06.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 61)
01:06.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 61)
01:06.2 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 63)
01:07.0 Multimedia audio controller: Creative Labs CA0106 Soundblaster
02:00.0 VGA compatible controller: nVidia Corporation GT218 [GeForce 210] (rev a2)
02:00.1 Audio device: nVidia Corporation High Definition Audio Controller (rev a1)
03:00.0 Network controller: Realtek Semiconductor Co., Ltd. Device 8176 (rev 01)

/etc/dhcpd.conf вот этого у меня нет.

Ради интереса запустил скрипт

Показать
[pasha@localhost ~]$ ap start
Starting AP mode for wlan0 at address 192.168.0.1
/usr/bin/ap: line 25: /proc/sys/net/ipv4/ip_forward: Отказано в доступе
/usr/bin/ap: line 27: killproc: команда не найдена
/usr/bin/ap: line 28: killproc: команда не найдена
/usr/bin/ap: line 30: /usr/sbin/iptables: Нет такого файла или каталога
/usr/bin/ap: line 31: /usr/sbin/iptables: Нет такого файла или каталога
/usr/bin/ap: line 33: /usr/sbin/iptables: Нет такого файла или каталога
/usr/bin/ap: line 35: /proc/sys/net/ipv4/ip_forward: Отказано в доступе
SIOCSIFFLAGS: Отказано в доступе
SIOCSIFFLAGS: Отказано в доступе
SIOCSIFADDR: Отказано в доступе
SIOCSIFFLAGS: Отказано в доступе
touch: невозможно выполнить touch для «/var/lib/dhcp/db/dhcpd.leases»: Нет такого файла или каталога
Internet Systems Consortium DHCP Server 4.2.1-P1
Copyright 2004-2011 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
unable to create icmp socket: Operation not permitted
Not searching LDAP since ldap-server, ldap-port and ldap-base-dn were not specified in the config file
Can't open /var/lib/dhcp/dhcpd.leases for append.

If you did not get this software from [url=ftp://ftp.isc.org]ftp.isc.org[/url], please
get the latest from [url=ftp://ftp.isc.org]ftp.isc.org[/url] and install that before
requesting help.

If you did get this software from [url=ftp://ftp.isc.org]ftp.isc.org[/url] and have not
yet read the README, please read it before requesting help.
If you intend to request help from the dhcp-server@isc.org
mailing list, please read the section on the README about
submitting bug reports and requests for help.

Please do not under any circumstances send requests for
help directly to the authors of this software - please
send them to the appropriate mailing list as described in
the README file.

exiting.
Configuration file: /etc/hostapd.conf
Could not open configuration file '/etc/hostapd.conf' for reading.
[pasha@localhost ~]$ su
Пароль:
[root@localhost pasha]# ap start
Starting AP mode for wlan0 at address 192.168.0.1
/usr/bin/ap: line 27: killproc: команда не найдена
/usr/bin/ap: line 28: killproc: команда не найдена
/usr/bin/ap: line 30: /usr/sbin/iptables: Нет такого файла или каталога
/usr/bin/ap: line 31: /usr/sbin/iptables: Нет такого файла или каталога
/usr/bin/ap: line 33: /usr/sbin/iptables: Нет такого файла или каталога
touch: невозможно выполнить touch для «/var/lib/dhcp/db/dhcpd.leases»: Нет такого файла или каталога
Internet Systems Consortium DHCP Server 4.2.1-P1
Copyright 2004-2011 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Not searching LDAP since ldap-server, ldap-port and ldap-base-dn were not specified in the config file
Wrote 0 leases to leases file.
Listening on LPF/wlan0/54:04:a6:df:5c:9b/192.168.0.0/24
Sending on LPF/wlan0/54:04:a6:df:5c:9b/192.168.0.0/24
Sending on Socket/fallback/fallback-net
There's already a DHCP server running.

If you did not get this software from [url=ftp://ftp.isc.org]ftp.isc.org[/url], please
get the latest from [url=ftp://ftp.isc.org]ftp.isc.org[/url] and install that before
requesting help.
Configuration file: /etc/hostapd.conf
Could not open configuration file '/etc/hostapd.conf' for reading.
[root@localhost pasha]#
If you did get this software from [url=ftp://ftp.isc.org]ftp.isc.org[/url] and have not
yet read the README, please read it before requesting help.
If you intend to request help from the dhcp-server@isc.org
mailing list, please read the section on the README about
submitting bug reports and requests for help.

Please do not under any circumstances send requests for
help directly to the authors of this software - please
send them to the appropriate mailing list as described in
the README file.

exiting.

Что-то наделал :)
телефон нашёл test # Rom
сеть защищена,пароль ввожу не подключается.
Rom это я имя прописал.
Не пойму,куда подевался файл /etc/hostapd.conf ?
Так и должно быть?

17.04.2012 14:24 #246530

dhcp-server установил? Возможно в магеи пакет называется по другому. Надо проверить пути. где расположен dhcpd.conf, iptables, и в скрипте поменять на нужные.
Как буду с компа посмотрю.

17.04.2012 14:35 · отредактировано #246542

dhcp-server был установлен при настройке совместного использования интернета.
Телефон находит сеть,идёт поиск IP и всё,потом отключается, dhcpd.conf находится на месте,откуда-то появился.
Почему ip адрес не находит?
ну вот этого файла у меня нет
/var/lib/dhcp/db/dhcpd.leases
Настроил!Работает! :) но есть проблема
телефон подключается если я выполню команду ap start
иначе при перезагрузке компа применяется старая конфигурация
команда ap stop ничего не даёт.

Показать
[root@localhost pasha]# ap start
Starting AP mode for wlan0 at address 192.168.0.1
/usr/bin/ap: line 27: killproc: команда не найдена
/usr/bin/ap: line 28: killproc: команда не найдена
/usr/bin/ap: line 30: /usr/sbin/iptables: Нет такого файла или каталога
/usr/bin/ap: line 31: /usr/sbin/iptables: Нет такого файла или каталога
/usr/bin/ap: line 33: /usr/sbin/iptables: Нет такого файла или каталога
touch: невозможно выполнить touch для «/var/lib/dhcp/db/dhcpd.leases»: Нет такого файла или каталога
Internet Systems Consortium DHCP Server 4.2.1-P1
Copyright 2004-2011 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Not searching LDAP since ldap-server, ldap-port and ldap-base-dn were not specified in the config file
Wrote 2 leases to leases file.
Listening on LPF/wlan0/54:04:a6:df:5c:9b/192.168.0.0/24
Sending on LPF/wlan0/54:04:a6:df:5c:9b/192.168.0.0/24
Sending on Socket/fallback/fallback-net
Configuration file: /etc/hostapd.conf
Failed to create interface mon.wlan0: -23 (Too many open files in system)
Try to remove and re-create mon.wlan0
Using interface wlan0 with hwaddr 54:04:a6:df:5c:9b and ssid 'Rom'
[root@localhost pasha]# ap stop
Stopping AP mode on wlan0
/usr/bin/ap: line 52: killproc: команда не найдена
/usr/bin/ap: line 53: killproc: команда не найдена

Когда выполняю команду ap stop соединение осуществляется,но интернет не работает,любое приложение на телефоне пишет"сервер не найден"

17.04.2012 18:56 #246586

Чтобы перевести адаптер в режим АР, запускаем вручную ap start, адаптер переходит в режим АР.
А ap stop отключает этот режим, адаптер переходит в исходное состояние, т.е. вкл/выкл режима АР происходит в ручную. .

17.04.2012 21:51 #246601

Автоматом можно заставить работать?Ведь при первой настройке режим AP автоматом включался,думаю еслиб с первого раза правильно всё прописал,работало бы самостоятельно.
Ну я считаю ,что норм работает,попробую на досуге,может и есть вариант автоматический.

17.04.2012 22:52 · отредактировано #246619
"Pavel" написал:
Автоматом можно заставить работать?

Конечно можно, как вариант, добавить в /etc/rc.local строку /usr/bin/ap start

18.04.2012 10:13 #246688

Gnom спасибо,работает как часики :)

10.05.2012 10:10 #250846

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

10.05.2012 12:36 · отредактировано #250866

Мне кажется или всё таки стоит подправить?

option domain-name-servers 192.168.1.1;
default-lease-time 600;
max-lease-time 7200;
ddns-update-style none; ddns-updates off;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.200 192.168.0.229;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
}

К статье ещё кеширующий днс сервер прикрутите иначе возникнут у многиx дурные вопросы.

10.05.2012 12:44 #250870

И IP все такие же прописал? Вместо 192.168.1.1, должен быть тот, через который выход в инет.

10.05.2012 15:39 #250901

Вместо 192.168.1.1 прописал ДНС провайдера. Уже пробовал и другие, не выходит. Связь сматра с компом показывает, в инет не лезет

10.05.2012 19:49 #250968
Aviv написал:
Вместо 192.168.1.1 прописал ДНС провайдера. Уже пробовал и другие, не выходит. Связь сматра с компом показывает, в инет не лезет

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

10.05.2012 20:00 #250969
Kettler написал:
Мне кажется или всё таки стоит подправить?

option domain-name-servers 192.168.1.1;
default-lease-time 600;
max-lease-time 7200;
ddns-update-style none; ddns-updates off;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.200 192.168.0.229;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
}

К статье ещё кеширующий днс сервер прикрутите иначе возникнут у многиx дурные вопросы.

Что нужно подправить? И не понятно зачем нужен кеширующий днс?

11.05.2012 11:21 #251071

Прошу прощения, скопировал бездумно. У меня интернет приходит по eth1, а я в скрипте оставил eth0. Всё работает, спасибо огромное

11.05.2012 12:05 #251083
Aviv написал:
Прошу прощения, скопировал бездумно. У меня интернет приходит по eth1, а я в скрипте оставил eth0. Всё работает, спасибо огромное

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

21.05.2012 03:17 #253125

Всё хорошо, только соединение быстро рвется. Несколко секунд - и уже нужно перезапускать соединение. В чем может быть загвоздка?

28.05.2012 01:13 #254802
Gnom написал:

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

Ждем когда появится время... сам такой, на нужное часто не хватает, срочное срочнее

Войдите или зарегистрируйтесь, чтобы ответить.