Помогите настроить wifi ap на Wheezy!

Автор PbI6A, 01 ноября 2012, 08:30:23

« назад - далее »

0 Пользователи и 3 гостей просматривают эту тему.

PbI6A

Есть сервер с Debian Testing, выходящий в инет через eth1.
Локальная сетка eth0 смотрит проводом на нетбук, в котором всё работает.
В USB сервера включен:
Bus 001 Device 003: ID 2001:3c19 D-Link Corp. DWA-125 Wireless N 150 Adapter(rev.A3) [Ralink RT5370]

Настроено в /etc/network/interfaces:
------------------------------------
auto wlan0
iface wlan0 inet static
address 10.0.0.1
netmask 255.255.255.248
------------------------------------

/etc/default/hostapd:
------------------------------------
RUN_DAEMON="yes"
DAEMON_CONF="/etc/hostapd/hostapd.conf"
------------------------------------

/etc/hostapd/hostapd.conf:
------------------------------------
interface=wlan0
driver=rt2800usb
hw_mode=n
channel=1
logger_syslog=-1
logger_syslog_level=2
logger_stdout=-1
logger_stdout_level=2
debug=0
dump_file=/tmp/hostapd.dump
ctrl_interface=/var/run/hostapd
ctrl_interface_group=0
ssid=КАКОЕ-ТО_ИМЯ
ignore_broadcast_ssid=1
auth_algs=3
eapol_key_index_workaround=0
eap_server=0
wpa=3
wpa_psk_file=/etc/hostapd/wpa_psk
wpa_passphrase=НЕКИЙ_ПАРОЛЬ
rsn_pairwise=CCMP
------------------------------------

aptitude search ralink говорит что firmware установлено:
i   firmware-ralink                                        - Binary firmware for Ralink wireless cards                       

uname -a говорит что ведро версии 3.2.0-3-amd64 #1 SMP Mon Jul 23 02:45:17 UTC 2012 x86_64 GNU/Linux

iwconfig говорит что:
------------------------------------
...
wlan0     IEEE 802.11bgn  ESSID:off/any 
          Mode:Managed  Access Point: Not-Associated   Tx-Power=20 dBm   
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:on
...
------------------------------------
ifconfig говорит что:
------------------------------------
wlan0     Link encap:Ethernet  HWaddr 28:10:7b:4b:4d:40 
          inet addr:10.0.0.1  Bcast:10.0.0.7  Mask:255.255.255.248
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
------------------------------------
Нужно раздать на нём wifi, то есть сделать ap.


Сообщение объединено: 01 ноября 2012, 08:41:05

В настоящее время на карточке мигает светодиод и не запускается hostapd. Где найти его логи, я в инете не нашёл. И как настроить AP рабочего мануала - тоже.
Не понял, надо ли обязательно мутить бридж?
Надо ли AP обязательный dhcp?
LINUX means: Linux Is Not a UniX
Вернулся на Devuan. Счастлив!

ogost

беглое гугление показывает, что логи включаются где-то в /etc/hostapd.conf

а если запустить hostapd с конзоли? он выдает ошибки?

dhcp необязателен. можно "форвардить" dhcp с провайдера.

PbI6A

О как!

# hostapd /etc/hostapd/hostapd.conf
Configuration file: /etc/hostapd/hostapd.conf
Line 2: invalid/unknown driver 'rt2800usb'
Line 3: unknown hw_mode 'n'
2 errors found in configuration file '/etc/hostapd/hostapd.conf'

Странно, потому что lshw говорит что:
  *-network
       description: Wireless interface
       physical id: 1
       bus info: usb@1:6
       logical name: wlan0
       serial: 28:10:7b:4b:4d:40
       capabilities: ethernet physical wireless
       configuration: broadcast=yes driver=rt2800usb driverversion=3.2.0-3-amd64 firmware=0.29 ip=10.0.0.1 link=no multicast=yes wireless=IEEE 802.11bgn

Попробовал поменять n на g и rt2800usb на rt2800. Ошибка hw_mode исчезла, на драйвер продолжает ругаться :(

Сообщение объединено: 01 ноября 2012, 12:33:44

Нужен ли бридж? Или достаточно nat для выхода в инет как из ещё одной локальной сетки?
LINUX means: Linux Is Not a UniX
Вернулся на Devuan. Счастлив!

ogost

про ругань с дровами погуглю, скажу чё найду.
Думаю, бридж проще настроить, чем нат (сугубо личное имхо), тем более если у вас нетбук уже вылазит в инет через eth0.

PbI6A

#4
Основная идея - проволока для установки, вафля - для работы. Кроме того, проволока медленнее сажает батарею нетбука. Возможно, поставлю на сервер принтер для печати по сети.

Меня смущает что
wlan0     IEEE 802.11bgn  ESSID:off/any
          Mode:Managed  Access Point: Not-Associated   Tx-Power=20 dBm   
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:on
а не Master, как пишут, например, здесь. Кроме того, раз ифейс USB, всегда возможно его выдёргивание и последующее вставление, а после этого, даже если следовать тамошним рекомендациям, снова Managed :(

Бридж, как я понял, нужен для того, чтобы сделать общую сетку на проволоке и вафле с одним общим dhcp, общей адресацией и даже общим виртуальным сетевым ифейсом. То есть он не очень-то и обязателен?

Сообщение объединено: 01 ноября 2012, 13:51:39

Про ругань с дровами пишут там же. Попробовал написать значение hostap и получил:

# hostapd /etc/hostapd/hostapd.conf
Configuration file: /etc/hostapd/hostapd.conf
ioctl[PRISM2_IOCTL_PRISM2_PARAM]: Operation not supported
Could not enable hostapd mode for interface wlan0
hostap driver initialization failed.
rmdir[ctrl_interface]: No such file or directory

Буду копать дальше завтра.
LINUX means: Linux Is Not a UniX
Вернулся на Devuan. Счастлив!

gardarea51

Блин я бы помог, у самого с карточки дома инет раздавался, но конфигов не сохранилось. В hostapd конфиг то вообще небольшой был.

vladimir_ar

#6
Тоже попрошу помощи. Проблема такая-же, застрял на старте hostapd:

vladimir-7@GNU-HOME:~$ sudo hostapd /etc/hostapd/hostapd.conf
Configuration file: /etc/hostapd/hostapd.conf
Line 2: invalid/unknown driver 'rtl8192ce'
1 errors found in configuration file '/etc/hostapd/hostapd.conf'

/etc/hostapd/hostapd.conf такой:
Открыть содержимое (спойлер)


interface=wlan0
driver=rtl8192ce
hw_mode=g
channel=1
logger_syslog=-1
logger_syslog_level=1
logger_stdout=-1
logger_stdout_level=1
debug=0
dump_file=/tmp/hostapd.dump
ctrl_interface=/var/run/hostapd
ctrl_interface_group=0
ssid=TEST
country_code=UA
beacon_int=100
dtim_period=2
max_num_sta=255
rts_threshold=2347
fragm_threshold=2346
auth_algs=1
ignore_broadcast_ssid=0
eap_server=0
wpa=2
wpa_passphrase=test0test
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
[свернуть]
Вывод dmesg:

vladimir-7@GNU-HOME:~$ dmesg | grep -i "02:00\.0\| rtl\|firmware"
[    1.985960] r8169 0000:03:00.0: eth1: RTL8168evl/8111evl at 0xffffc9000067a000, 50:e5:49:5c:63:50, XID 0c900800 IRQ 45
[    6.096794] rtl8192ce 0000:05:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
[    6.096810] rtl8192ce 0000:05:00.0: setting latency timer to 64
[    6.349770] rtlwifi: wireless switch is on
[   17.673610] rtl8192c_common: Loading firmware file rtlwifi/rtl8192cfw.bin

Т.е. прошивка как бы есть, драйвер тоже. Настораживает вывод lshw:
Открыть содержимое (спойлер)

vladimir-7@GNU-HOME:~$ sudo lshw
*-network
                description: Wireless interface
                product: RTL8188CE 802.11b/g/n WiFi Adapter
                vendor: Realtek Semiconductor Co., Ltd.
                physical id: 0
                bus info: pci@0000:05:00.0
                logical name: wlan0
                version: 01
                serial: 54:04:a6:df:ef:db
                width: 64 bits
                clock: 33MHz
                capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
                configuration: broadcast=yes driver=rtl8192ce driverversion=3.2.0-3-rt-amd64 firmware=N/A ip=10.42.43.1 latency=0 link=yes multicast=yes wireless=IEEE 802.11bgn
                resources: irq:17 ioport:ae00(size=256) memory:fd7fc000-fd7fffff
[свернуть]
, а именно строка
firmware=N/A.
Не пойму, что не так.

Сообщение объединено: 01 ноября 2012, 17:12:56

Не понял, почему не нравится драйвер, но проблему решил - hostapd запускается без строки
driver=rtlxxxxx

Сообщение объединено: 01 ноября 2012, 22:35:23

Хотя, если кто знает причину, по которой hostapd ругается на драйвер, то очень хотелось бы понять причину. С сайта hostapd понял, что чип rtl8192ce поддерживается (в списке поддерживаемого оборудования есть).
Debian Testing, kernel 3.16-2-amd64, OpenBox
AMD A8-3750 / 16Gb RAM / ATI HD6550D (onboard) / Sound ASUS Xonar - DS
_______________________________
Debian Testing, kernel 3.14-2-amd64, OpenBox
HP-655 AMD E1 / 8Gb RAM / ATI HD7310M

gardarea51

#7
Отвечу по быстрому, так как уже пора топать спать. Хотел было сделать по быстрому, но не вышло. Итак, есть 2 интерфейса:
lan       Link encap:Ethernet  HWaddr 48:5b:39:c9:ef:95 
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:17638 errors:0 dropped:0 overruns:0 frame:0
          TX packets:17568 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:12596698 (12.0 MiB)  TX bytes:2655096 (2.5 MiB)
          Interrupt:50 Base address:0x6000
wlan      Link encap:Ethernet  HWaddr 00:22:43:78:e8:32 
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:23 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:3444 (3.3 KiB)

Это lan и wlan. Для того, чтобы оказаться в локальной сети (и инете) с телефона - нужно объединить lan и wlan в мост, а затем настроить на wlan точку доступа через hostapd. Сразу настроил /etc/network/interfaces
auto lo
iface lo inet loopback

iface lan inet manual

iface wlan inet manual
        wireless-mode Ad-hoc

auto bridge
iface bridge inet static
        bridge_ports lan wlan
        address 192.168.2.2
        netmask 255.255.255.0
        gateway 192.168.2.1
Как можно видеть - в конфиге вполне можно задать wireless-mode Ad-hoc для wlan. После этого iwconfig говорит, что wlan находится именно в режиме Ad-hoc. Master режим на моей сетевой карточке видимо не поддерживается, я делал раньше с помощью Ad-hoc, а может так и надо.

А вот с инициализацией моста меня постигла неудача в виде соощения:Reconfiguring network interfaces...can't add wlan to bridge bridge: Operation not supportedИ проискал решение больше получаса - так пока и не нашел. Почему wlan не может быть добавлена в мост? В Арче с этим вообще не возникало никакой проблемы, а потом я понял, что сейчас же нужно делать по другому. В мост нужно добавлять только сетевой интерфейс, а беспроводной туда "добавит" hostapd. Так что из описания бриджа в файле настройки интерфейсов можно убрать wlan. Ну и вот такой вот необкатанный конфиг hostapd (тоже с арчвики):
interface=wlan
bridge=bridge
driver=nl80211
logger_stdout=-1
logger_stdout_level=2
ssid=area51
hw_mode=g
channel=6
auth_algs=3
max_num_sta=255
wpa=2
wpa_passphrase=qwertyuiop
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP CCMP
rsn_pairwise=CCMP

Тут в строку driver пытался вставить нужный мне "ath9k" (так называется модуль ядра для моей беспроводной карточки, модуль подгружен ядром), но заругалось на конфиг. Может быть "драйвер" и модуль ядра в данном контексте не одно и то же. А вообще эту строку наверное можно и убрать вовсе.

По факту - задал на телефоне статический адрес для своей локалки и попробовал его пингануть с компа (dhcp дома пока нет да и особо пока ненадо):
root@area51:~# ping 192.168.2.3
PING 192.168.2.3 (192.168.2.3) 56(84) bytes of data.
64 bytes from 192.168.2.3: icmp_req=1 ttl=64 time=670 ms
64 bytes from 192.168.2.3: icmp_req=2 ttl=64 time=280 ms
^C
--- 192.168.2.3 ping statistics ---
3 packets transmitted, 2 received, 33% packet loss, time 2000ms
Телефон прекрасно пингуется. Хотел проверить на телефоне работу инета, но он чего-то заглючил и отключился от сети (у него бывает), но в принципе должно было работать. Таким образом в принципе все работает. Пробуйте - тестируйте для своих карточек. А для того, чтобы hostapd запускался "правильно" - можно в описании сетевого моста в /etc/network/interfaces задать старт hostapd к примеру через (up)post-up?, а на выключение - убить hostapd через post-down.

PbI6A

#8
Я так понял, в настройках hostapd параметр "driver=" с моделью карточки не имеет (практически?) ничего общего, а описывает модель поведения hostapd. Там есть табличка с описанием основных параметров. Пишут что  поле "driver" - это:

Тип драйвера. (hostap/wired/madwifi/test/none/nl80211/bsd). nl80211 для всех «Linux mac80211 drivers». madwifi для madwifi (кто бы мог подумать?) Если задать none - hostapd будет работать как выделенный RADIUS сервер, не управляя каким либо интерфейсом.

У меня карточка поддерживает b/g/n, но с параметром driver=hostap другой параметр hw_mode=n выдаёт ошибку. Эксперимент с вариантом типа драйвера показал, что на моей системе с моей карточкой вообще отказались работать test и bsd, а на параметр n hostapd ругается при любом указанном драйвере. С "driver=nl80211" и hw_mode=g hostapd заработал! Но не понятно, заявленный режим n не реализован программно или аппаратно :(

#hostapd /etc/hostapd/hostapd.conf
Configuration file: /etc/hostapd/hostapd.conf
Using interface wlan0 with hwaddr XX:XX:XX:XX:XX:XX and ssid 'XXXXXXXX'
random: Only 16/20 bytes of strong random data available from /dev/random
random: Not enough entropy pool available for secure operations
WPA: Not enough entropy in random pool for secure operations - update keys later when the first station connects
^C

Короче говоря, я покопался ещё немного, нарыл вот что и у меня пока получилось:

interface=wlan0
driver=nl80211
hw_mode=g
ieee80211n=1
channel=1
logger_syslog=-1
logger_syslog_level=2
logger_stdout=-1
logger_stdout_level=2
debug=0
dump_file=/tmp/hostapd.dump
ssid=XXXXXXXX
country_code=GB
ieee80211d=1
ignore_broadcast_ssid=1
auth_algs=3
eapol_key_index_workaround=0
eap_server=0
wpa=2
wpa_passphrase=XXXXXXXX
rsn_pairwise=CCMP

С таким конфигом hostapd стартует замечательно :)

Буду пробовать дальше, подумаю насчёт бриджа...

Сообщение объединено: 02 ноября 2012, 04:18:41

После запуска командой service hostapd start карточка поменяла свой режим:
# iwconfig
lo        no wireless extensions.

eth1      no wireless extensions.

wlan0     IEEE 802.11bgn  Mode:Master  Frequency:2.412 GHz  Tx-Power=20 dBm   
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Power Management:on
         
eth0      no wireless extensions.

mon.wlan0  IEEE 802.11bgn  Mode:Monitor  Tx-Power=20 dBm   
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Power Management:on
Думаю, может быть, отрегулировать уровень сигнала передатчика как в? :)
LINUX means: Linux Is Not a UniX
Вернулся на Devuan. Счастлив!

gardarea51

Цитата: PbI6A от 02 ноября 2012, 04:14:58Я так понял, в настройках hostapd параметр "driver=" с моделью карточки не имеет (практически?) ничего общего, а описывает модель поведения hostapd. Там есть табличка с описанием основных параметров. Пишут что  поле "driver" - это:

Тип драйвера. (hostap/wired/madwifi/test/none/nl80211/bsd). nl80211 для всех «Linux mac80211 drivers». madwifi для madwifi (кто бы мог подумать?) Если задать none - hostapd будет работать как выделенный RADIUS сервер, не управляя каким либо интерфейсом.
Вот оно как оказывается, у меня с утра спросонья возникла подобная мысль, что это нечто вроде "типового драйвера поддерживаемых инструкций", а тут и вправду. Спасибо вам за полезную информацию. Карточка у меня тоже n, но скорость на ней ни разу не замерял (просто неначем). А так надо будет донастроить - пусть работает как раньше. =)

vladimir_ar

#10
У себя вчера пробовал nl80211 - писало ту же ошибку про драйвер. Вот только упустил момент - он в системе есть, или доустановить нужно - приду домой, посмотрю. Пока работает без строки driver=xxxxxxxx
Debian Testing, kernel 3.16-2-amd64, OpenBox
AMD A8-3750 / 16Gb RAM / ATI HD6550D (onboard) / Sound ASUS Xonar - DS
_______________________________
Debian Testing, kernel 3.14-2-amd64, OpenBox
HP-655 AMD E1 / 8Gb RAM / ATI HD7310M

gardarea51

А у вас там коммента нет в этой строке далее? Просто при чтении конфига съедается все, что идет в данном случае после знака =, в т.ч. и пробелы и комменты.

vladimir_ar

Исправил. Имел ввиду, что вовсе без этой строки, независимо от наименования драйвера.
Debian Testing, kernel 3.16-2-amd64, OpenBox
AMD A8-3750 / 16Gb RAM / ATI HD6550D (onboard) / Sound ASUS Xonar - DS
_______________________________
Debian Testing, kernel 3.14-2-amd64, OpenBox
HP-655 AMD E1 / 8Gb RAM / ATI HD7310M

gardarea51

Ну если работает без нее, то и отлично. А вообще я вчера только wireless-tools и hostapd ставил. Больше кажется ничего.

PbI6A

#14
Разобрался с бриджем. Сложнее всего было разобраться в голове - зачем оно мне надо. Когда понял, что без бриджа мне придётся мутить ещё два nat-а чтобы видеть из проводов вафлю и наоборот :) пришёл к выводу, что бридж мне надо :) Без него не будет ssh, копирования файлов и прочих удобностей.

Делается просто:
/etc/network/interfaces:
-----------------------------
...
allow-hotplug wlan0
iface wlan0 inet manual

auto eth0
iface eth0 inet manual

auto br0
iface br0 inet static
address 192.168.0.1
network 192.168.0.0
netmask 255.255.0.0
broadcast 192.168.255.255
bridge_ports eth0 wlan0
...
-----------------------------
Где-то писали про то, что hostapd сам включит wlan0 в br0, если прописать bridge=br0 в настройке hostapd. Не знаю, решил прописать wlan0 прямо в настройках br0 этого конфига.
Если у кого-нибудь есть соображения почему это правильно или неправильно - пишите! Может быть, вы знаете, почему правильнее писать в настройках hostapd? Пишите!

Сообщение объединено: 02 ноября 2012, 08:04:27

Работать может и без нее, но как пишут, без нее равнозначно "driver=hostap", а у меня в таком случае выходила ошибка какого-то ioctl :(

Сообщение объединено: 02 ноября 2012, 08:06:41

Ещё две темы мы тут не осветили:
* dhcp
* dnsmasq
LINUX means: Linux Is Not a UniX
Вернулся на Devuan. Счастлив!