Creare un access point wifi

28 risposte [Ultimo contenuto]
Ritratto di mcortese
mcortese
(Moderatore)
Offline
Moderatore
Iscritto: 27/02/2009
Messaggi: 2918

Non sono sicuro di aver capito cosa vuoi fare. Rispetto a quello che ho detto io (eliminare wlan0 e creare new0 e new1) è possibile (l'ho sperimentato) tenere wlan0 per collegarsi alla rete esistente e creare solo new1 con "type __ap". Invece avere tre interfacce virtuali, non so se la scheda lo supporti.

Per cambiare MAC, puoi usare macchanger oppure il comando hw di ifconfig, come ho indicato nel mio post. Non puoi impostarlo per sempre, per il semplice motivo che le interfacce virtuali sono effimere: a ogni riavvio vanno ricreate e riconfigurate.

Ritratto di MariusMatutiae
MariusMatutiae
(Junior)
Offline
Junior
Iscritto: 10/09/2013
Messaggi: 15

Ho provato anche io, ma senza successo. Ci sono due precondizioni: la prima e' che la tua scheda wifi supporti il modo AP. Conoscevo questa condizione, per cui ho usato una Alpha AWUS036NH, ove iw list riporta chiaramente che il modo AP e' supportato.

Ho poi seguito pedissequamente quanto suggerito da mcortese, ma ho ottenuto la risposta che hostapd non poteva mettere in modo AP l'interfaccia new1, il che' mi ha sorpreso non poco. Questa scheda e' quella che utilizzo normalmente per condividere la connessione ethernet quando sono in viaggio, per cui so con sicurezza che il modo AP e' supportato. Per la verita', avevo usato questa scheda in modo AP fino a 30 minuti prima.

Poi ho guardato meglio l'output di iw list, e ho trovato:

software interface modes (can always be added):                                  
                 * AP/VLAN                                                               
                 * monitor                                                               
        valid interface combinations:                                                    
                 * #{ AP, mesh point } <= 8,                                             
                   total <= 8, #channels <= 1     

Immagino che le ultime tre righe vogliano dire che non posso avere due interfacce, su questa scheda, in modalita' AP+managed, come avrei bisogno di avere per poter seguire la guida di mcortese. Credo che questa sia la seconda pre-condizione per costruire una connessione come descritta sopra.

A questo punto pero', vista la relativa scarsita' di guide in rete, ho la domanda: mi sapete dire quali pennette wifi sono in grado di supportare simultaneamente AP+managed? Grazie

Numquam latravit inepte

Ritratto di mcortese
mcortese
(Moderatore)
Offline
Moderatore
Iscritto: 27/02/2009
Messaggi: 2918

Sicuramente la scheda wifi e il suo driver devono entrambi gestire questa modalità "ibrida" e ciò non sempre è vero.

Le caratteristiche che citi in realtà non sembrano vietarlo. Quello che dice è che puoi avere al massimo 8 AP e comunque al massimo 8 connessioni in totale, ma non più di un canale. Non dice nulla sul mischiare AP e connessioni normali. Bisognerebbe spulciare il sorgente del driver (a proposito: qual è il modulo del kernel interessato?).

Forse varrebbe la pena analizzare più in dettaglio il messaggio di errore che restituisce hostapd...

Ritratto di MariusMatutiae
MariusMatutiae
(Junior)
Offline
Junior
Iscritto: 10/09/2013
Messaggi: 15

La scheda alla quale mi riferivo, è una:

148f:3070 Ralink Technology, Corp. RT2870/RT3070 Wireless Adapter

pilotata dal driver rt2800usb.

Nel frattempo ho provato (di nuovo senza successo) la stessa configurazione con una scheda on-board:

Intel Corporation Centrino Advanced-N 6235 [8086:088e] (rev 24) 

che è comandata da un driver iwlwifi, del quale ho già installato la versione dei backports 3.11. Qui l'output di iw list è ancora più incomprensibile:
Supported interface modes:                                                             │
                 * IBSS                                                                        
                 * managed                                                                     
                 * AP                                                                          
                 * AP/VLAN                                                                     
                 * monitor                                                                     
                 * P2P-client                                                                  
                 * P2P-GO                                                                      
        software interface modes (can always be added):                                        
                 * AP/VLAN                                                                     
                 * monitor                                                                     
        valid interface combinations:                                                          
                 * #{ managed } <= 1, #{ AP, P2P-GO } <= 1,                                    
                   total <= 2, #channels <= 1, STA/AP BI must match                            
                 * #{ managed } <= 2, #{ P2P-client } <= 1,                                    
                   total <= 2, #channels <= 1      

La scheda supporta il tipo AP, e l'ho già provata con successo, ma convogliando l'output sull'interfaccia ethernet. Il punto è che non capisco, neanche in questo caso, cosa voglia dire ciò che segue "valid interface combinations". L'interpretazione che mi ero dato era che volesse dire che posso avere al più un'IF managed, al più una AP (oppure P2P-GO) su un unico canale. Ma poi la frase

STA/AP BI must match

sembra introdurre una condizione in più da soddisfare, che però non so cosa voglia dire. Una ricerca Google non ha prodotto nulla, come pure messaggi postati su StackOverflow e SuperUser.

Ogni informazione che riesci a darmi è la benvenuta!!!

Numquam latravit inepte

Ritratto di MariusMatutiae
MariusMatutiae
(Junior)
Offline
Junior
Iscritto: 10/09/2013
Messaggi: 15

Quanto ai messaggi di errore, sono molto tersi.

Ho scoperto che il network-manager mi dà fastidio sempre, per cui l'ho fermato.

service network-manager stop

Mi connetto alla rete wifi di casa manualmente (wpa_supplicant + dhclient); la connessione funziona perfettamente. Quando faccio partire hostapd, trovo il messaggio di errore:
Using interface new1 with hwaddr c8:f7:33:11:11:11 and ssid "XXXX"
Failed to set beacon parameters

Non c'è output im dmesg. Se richiedo l'opzione -dd ottengo:
/usr/local/bin/hostapd /etc/hostapd/hostapd.conf -dd
random: Trying to read entropy from /dev/random
Configuration file: /etc/hostapd/hostapd.conf
nl80211: interface new1 in phy phy0
rfkill: initial event: idx=0 type=2 op=0 soft=0 hard=0
rfkill: initial event: idx=1 type=1 op=0 soft=0 hard=0
rfkill: initial event: idx=2 type=2 op=0 soft=0 hard=0
nl80211: Using driver-based off-channel TX
nl80211: Use separate P2P group interface (driver advertised support)
nl80211: Add own interface ifindex 10
nl80211: Set mode ifindex 10 iftype 3 (AP)
nl80211: Setup AP - device_ap_sme=0 use_monitor=0
nl80211: Subscribe to mgmt frames with AP handle 0x18742c0
nl80211: Register frame type=0xb0 nl_handle=0x18742c0
nl80211: Register frame match - hexdump(len=0): [NULL]
nl80211: Register frame command failed (type=176): ret=-114 (Operation already in progress)
nl80211: Register frame match - hexdump(len=0): [NULL]
nl80211: Failed to set interface new1 into AP mode
netlink: Operstate: linkmode=0, operstate=6
nl80211: Set mode ifindex 10 iftype 2 (STATION)
nl80211 driver initialization failed.

Se invece provo a far partire prima hostapd, hostapd parte senza errori. Quando però cerco di connettermi (manualmente) sull'IF new0 alla rete di casa, trovo questi errori:

new0: Trying to associate with AA:BB:CC:DD:EE:FF (SSID='XXX' freq=5240 MHz)
ioctl[SIOCSIWFREQ]: Device or resource busy
ioctl[SIOCSIWESSID]: Device or resource busy
new0: Association request to the driver failed

Di nuovo non ci sono messaggi di errore in dmesg.

Numquam latravit inepte

Ritratto di mcortese
mcortese
(Moderatore)
Offline
Moderatore
Iscritto: 27/02/2009
Messaggi: 2918

MariusMatutiae ha scritto:

STA/AP BI must match

Letteralmente sarebbe il BI dell'interfaccia STA ("station", cioè quella normale) deve essere uguale a quello dell'interfaccia AP. Resta da capire cosa sia il BI... Binary Id?

Ritratto di apofis
apofis
(Monster)
Offline
Monster
Iscritto: 19/09/2007
Messaggi: 309

Chissà se qui trovate qualcosa.
ciao

I@ legge Apo-genetica: chini nascia tunnu un ci mora quatratu.
II@ legge Apo-genetica: munnu e munnu un s'incontranu mai, ma cristiani e cristiani sì
III@ legge Apo-genetica: si vidi nu ghiegghiu e nu lupu, ammazza 'u ghiegghiu!

Ritratto di MariusMatutiae
MariusMatutiae
(Junior)
Offline
Junior
Iscritto: 10/09/2013
Messaggi: 15

No, purtroppo. Linux Wireless ha una sezione su hostapd, ma l'estensore ancora non ha trovato il tempo di completare la voce, e in particolare di discutere le due opzioni qui rilevanti, e cioè i modi Station e AP: se vai alla pagina hostapd, lì trovi scritto TO DO (=da completare). Giusto per essere completi, io non avevo mai visto l'opzione che mcortese ha usato, eap_server=0, perchè appunt lì non è menzionata.

Numquam latravit inepte