Configurando o ponto de acesso Wi-Fi no laptop com hostapd

3

Eu basicamente tentando configurar um laptop linux como um roteador wifi que outros laptops e celulares podem conectar e então eu posso manipular o tráfego para alguns testes de tráfego de rede (com larguras de banda e limites menores, etc.)

Meu arquivo de configuração do hostapd é

interface=wlan0
driver=nl80211
ssid=atest
hw_mode=g
channel=1
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=3
wpa_passphrase=1234567890
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

mas o hostapd sempre falha, com a opção -d eu vejo isso,

random: Trying to read entropy from /dev/random
Configuration file: /etc/hostapd/hostapd.conf
nl80211: interface wlan0 in phy phy0
rfkill: initial event: idx=1 type=2 op=0 soft=1 hard=0
rfkill: initial event: idx=2 type=1 op=0 soft=0 hard=0
nl80211: Using driver-based off-channel TX
nl80211: Register frame command failed (type=208): ret=-114 (Operation already in progress)
nl80211: Register frame match - hexdump(len=2): 04 0a
nl80211: Failed to register Action frame processing - ignore for now
nl80211: Add own interface ifindex 4
nl80211: Set mode ifindex 4 iftype 3 (AP)
nl80211: Failed to set interface 4 to mode 3: -95 (Operation not supported)
nl80211: Interface already in requested mode - ignore error
nl80211: Create interface iftype 6 (MONITOR)
nl80211: New interface mon.wlan0 created: ifindex=16
nl80211: Add own interface ifindex 16
BSS count 1, BSSID mask 00:00:00:00:00:00 (0 bits)
nl80211: Regulatory information - country=00
nl80211: 2402-2472 @ 40 MHz
nl80211: 2457-2482 @ 20 MHz
nl80211: 2474-2494 @ 20 MHz
nl80211: 5170-5250 @ 40 MHz
nl80211: 5735-5835 @ 40 MHz
nl80211: Added 802.11b mode based on 802.11g information
Completing interface initialization
Mode: IEEE 802.11g  Channel: 1  Frequency: 2412 MHz
nl80211: Set freq 2412 (ht_enabled=0 sec_channel_offset=0)
nl80211: Failed to set channel (freq=2412): -16 (Device or resource busy)
Could not set channel for kernel driver
wlan0: Unable to setup interface.
Flushing old station entries
Could not connect to kernel driver.
Deauthenticate all stations
nl80211: Remove interface ifindex=16
netlink: Operstate: linkmode=0, operstate=6
nl80211: Set mode ifindex 4 iftype 2 (STATION)

Qualquer ajuda para fazer isso funcionar seria muito apreciada.

    
por Bootstrapper 12.02.2014 / 16:50

4 respostas

4

(de link )

Parece que o problema é que o hostapd 2.1 agora está saindo em um erro que ele havia ignorado anteriormente. Isso é reproduzível nas versões desktop do Ubuntu, já que o recurso (WLAN) está ocupado.

Se alguém desativa os programas que estão acessando o recurso, o hostapd tem a chance de pegá-lo e trabalhar.

No Ubuntu Desktop 14.04 beta, uma solução é desativar os programas que estão usando o wlan em questão.

Isso funcionou para mim:

sudo nmcli nm wifi off
sudo rfkill unblock wlan

então o hostapd pode iniciar normalmente a partir da linha de comando. É claro que, se você deseja que o hostapd inicie na inicialização, você deve garantir que o gerenciador de rede não esteja capturando o recurso antecipadamente.

    
por 04.04.2014 / 10:01
2

Eu tive o mesmo problema, executando o pidora 2014 (remix do Fedora 20 para Raspberry Pi). A resposta é basicamente a mesma que as outras duas dadas aqui: o wpa_supplicant estava em execução, o que impedia que o hostapd usasse o dispositivo.

Mas no caso de alguém achar útil, aqui está o procedimento que usei para resolvê-lo.

No meu caso, o wpa_supplicant estava sendo iniciado pelo NetworkManager, que é um daemon usado na maioria das distribuições linux modernas para controlar a rede. Embora funcione bem em um ambiente de área de trabalho, ele não parece oferecer suporte à configuração do AP e constantemente gera novamente o wpa_supplicant mesmo quando tentei interrompê-lo manualmente.

A solução foi desabilitar o serviço NetworkManager e habilitar o serviço de rede "legado", que usa scripts init simples para controlar as interfaces de rede:

sudo systemctl disable NetworkManager.service 
sudo systemctl enable network.service

Depois disso, o hostapd começou e funcionou corretamente.

    
por 11.11.2014 / 10:47
1

O Hostapd não está conseguindo definir o canal no netcard por meio do driver nl80211:

Mode: IEEE 802.11g  Channel: 1  Frequency: 2412 MHz
nl80211: Set freq 2412 (ht_enabled=0 sec_channel_offset=0)
nl80211: Failed to set channel (freq=2412): -16 (Device or resource busy)

O código de erro é uma indicação de que alguma outra coisa está usando o dispositivo para que a alteração do canal não seja permitida - talvez o wpa_supplicant esteja sendo executado em segundo plano?

    
por 14.02.2014 / 12:38
-1

Use systemctl --force stop wpa_supplicant.service e, em seguida, inicie hostapd v2.1 normalmente.

    
por 23.08.2015 / 11:53