Archivio tag: wifi

Check if WiFi is ON or OFF on iOS with Swift

I could find lots of guides or sample codes about checking WiFi SSID or other informations, but none about WiFi power status, eg. know if WiFi is turned on or off.

This can be done and it’s pretty simple: when it’s on, the awdl0 interface is enabled, and it’s disabled when it’s off.

You can use this simple function to check that.

func isWiFiOn() -> Bool {
        var address : String?
        var ifaddr : UnsafeMutablePointer<ifaddrs> = nil
        if getifaddrs(&ifaddr) == 0 {
            var ptr = ifaddr
            while ptr != nil {
                defer { ptr = ptr.memory.ifa_next }
                let interface = ptr.memory
                let addrFamily = interface.ifa_addr.memory.sa_family
                if addrFamily == UInt8(AF_INET) || addrFamily == UInt8(AF_INET6) {
                    if let name = String.fromCString(interface.ifa_name) where name == "awdl0" {
                        if((Int32(interface.ifa_flags) & IFF_UP) == IFF_UP) {
                            return(true)
                        }
                        else {
                            return(false)
                        }
                    }
                }
            }
            freeifaddrs(ifaddr)
        }
        return (false)
    }

 

Real fix to WiFi and Bluetooth interference on the Macbook Pro Retina

ITALIAN VERSION HERE

On the new Macbook Pros the issue of Bluetooth interfering with WiFi network is really bad. So bad that I could not use my bluetooth mouse while surfing the internet!

The issue is caused by the fact that both bluetooth and most WiFi network use frequencies near 2.4Ghz; signals are then overlapping and disturbing each other. So, some slight interference, is normal and maybe it’s more serious on the rMBP because it has a single card to handle both WiFi and BT.

The solution consists in setting priorities between WiFi and bluetooth (giving WiFi signal an higher one).
You have to launch the Terminal (Applications>Utilities>Terminal), paste the following code, press Enter and insert your admin password.

sudo defaults write /Library/Preferences/com.apple.airport.bt.plist bluetoothCoexMgmt Hybrid

Then reboot.

The problem, in facts, is not solved. It can’t be solved, if radio signals are using the same frequencies. But, at least, I am able to use the internet with my mouse (that’s a pretty basic task :D)

The real solution would be to use different frequencies for the WiFi network: to avoid this kind of issues, WiFi is also available in 5Ghz frequencies, however just a few routers support that.
If yours do, all you have to do it to enable it in the settings page.

Please note that 5Ghz WiFi has a shorter range since higher frequencies can’t pass through objects and walls like lower ones do. Some routers even support both frequencies, so your devices can use the 5Ghz when in range, and 2.4Ghz otherwise.

However, if you don’t want to upgrade your router, the command I wrote about earlier is a great trade-off!

Soluzione al problema di interferenze tra WiFi e Bluetooth su Macbook Pro Retina

ENGLISH VERSION HERE

Sui nuovi Macbook Pro il problema dell‘interferenza tra WiFi e Bluetooth è molto evidente, al punto che, con bluetooth attivo e collegato anche solo al mouse, è impossibile la navigazione!

Questo è dovuto al fatto che il WiFi più comune usa frequenze intorno ai 2.4Ghz, le stesse su cui fa affidamento il bluetooth (e molti altri oggetti wireless che abbiamo in casa!). Quindi l’interferenza è normale, e probabilmente è accentuata dal fatto che, nel Macbook Pro Retina, la scheda AirPort sia una sola per entrambe le funzioni.

La soluzione è semplice e imposta delle priorità tra bluetooth e WiFi (a favore di quest’ultimo).
È sufficiente lanciare il Terminale (Applicazioni>Utilities>Terminale), incollare il seguente comando, premere invio e confermare con la password del proprio account.

sudo defaults write /Library/Preferences/com.apple.airport.bt.plist bluetoothCoexMgmt Hybrid

Dopodiché è necessario eseguire un riavvio.

Il problema non viene effettivamente risolto (impossibile risolverlo con un comando, se le frequenze sono quelle), ma ora, sul mio computer, posso utilizzare il WiFi e il mouse bluetooth contemporaneamente. Devo ancora effettuare ulteriori test con dispositivi bluetooth diversi, ma il mouse è sicuramente il più importante tra questi!

Come abbiamo detto, questo comando risolve molti problemi, ma non la causa.
La VERA soluzione è, quindi, cambiare le frequenze a cui opera il WiFi: proprio a causa di questi problemi, è stato sviluppata una variante del WiFI a 2.4Ghz che lavora a frequenze di 5Ghz.

Se il router lo supporta, sarà possibile abilitarla dalle impostazioni, in caso contrario è purtroppo necessario cambiare apparecchio.

Personalmente, ho risolto definitivamente acquistando il router Netgear D3600 a meno di 50€ su Amazon, che supporta entrambe le frequenze, 2.4Ghz e 5Ghz, contemporaneamente.

Transmission con interfaccia web su Alice Gate 2 Plus WiFi

Dopo aver effettuato lo sblocco del router come descritto in questa guida, è possibile eseguire dei programmi direttamente sul router.

La mia idea iniziale era quella di fare tutto a mano da Debian, ma questo appesantiva notevolmente il router (che già con questo metodo si trova a lavorare abbastanza :D).

La mia intenzione è quindi quella di installare Transmission sul router Pirelli AGA, quello fornito da Alice con supporto VoIP e WiFi, per intenderci, in modo da scaricare torrent anche a computer spento, su un hard disk esterno.

Ho provato cTorrent, rTorrent e UDM, ma questo mi sembra essere il metodo più semplice e immediato, che non richiede Debian. Un ulteriore vantaggio è quindi quello di poter eseguire il tutto su una partizione FAT32 e non per forza EXT2 o EXT3 per Debian: FAT32 è compatibile con praticamente tutti i sistemi operativi attuali.

Continua a leggere

Sbloccare router Alice Gate Plus 2 WiFi con firmware US Robotics

italiaunix

Router Alice Gate Plus 2 WiFi

Chi ha un contratto Alice e ha ricevuto questo router conoscerà i limiti che il firmware pone: non è possibile attivare o disattivare la rete wifi, ne modificarne qualsiasi parametro, non è possibile usare il router con altri operatori (ovviamente).

Il router che Alice ci fornisce è prodotto da Pirelli e il firmware è stato modificato da alcuni utenti per permettere una gestione almeno “decente” della nostra rete. Premettiamo che le funzioni di VoIP non saranno più utilizzabili, quindi consiglio di procedere solo a chi non ne faccia uso. Non ho mai avuto l’occasione di provare ma dovrebbe essere inoltre possibile, tramite lo sblocco, l’utilizzo della connessione attraverso una chiavetta internet.

Inoltre è necessario verificare sul retro del router che sia stato prodotto da Pirelli: modelli esteticamente identici possono essere invece completamente diversi all’interno. Ce ne accorgeremo comunque dopo in quanto sarà necessario aprire il “case” per lo sblocco.

Cortocircuitare i due pin evidenziati in rosso

La prima cosa da fare è quindi aprire il router: le viti sono sotto i piedini in gomma. Una volta aperto controlliamo che la parte vicino allo slot per la scheda del wifi (che dopo lo sblocco sarà inutile) sia come quella in figura. Prestiamo attenzione ai due pin colorati di rosso nella foto a fianco: se collegati tra di loro, il router entrerà nella modalità di aggiornamento del firmware. Ci basta quindi usare un filo di rame o qualsiasi materiale conduttore per toccarli e nel frattempo accendere il router; prestiamo attenzione al fatto che il router effettua il controllo del collegamento solo all’accensione e se l’operazione non va a buon fine, è necessario spegnerlo e riaccenderlo per riprovare. Avviata questa modalità, il LED Power sarà acceso di colore rosso.

Essendo una modalità “di sicurezza” il DHCP è disattivato e sarà necessario configurare la connessione LAN manualmente:

Indirizzo IP: 192.168.1.2
Subnet mask: 255.255.255.0
Gateway: 192.168.1.1

A questo punto accedendo all’indirizzo del router, 192.168.1.1, possiamo caricare il nuovo firmware!

Ora bisogna caricare il firmware nuovo, le scelte principali sono due:

AGA 324 è un firmware derivato da quello originale, sembrerà identico al precedente ma permetterà di accedere alla pagina /main.html che serve per la configurazione vera e propria. I parametri base sono già impostati e non ci permette quindi di usare il router con altri operatori, non sarà però necessario riconfigurare la connessione.

USRAGW2 Plus è un firmware ottenuto da quello del router US Robotics 9108 e, come quest’ultimo, permette di configurare in ogni dettaglio le impostazioni di connessione e di rete.

Entrambi i router permettono la condivisione della stampante per inviare file da computer diversi, connessi anche via wireless, io personalmente ho utilizzato il secondo per la maggiore possibilità di personalizzazione.

Scarichiamo anche il file PSI Clear che serve per eliminare il vecchio firmware ed evitare conflitti.

Basta caricare i file, prima PSI Cliear e poi il firmware, dalla schermata del router che abbiamo visto in precedenza e attendere, potrebbe volerci un po’ di tempo ma è importante non spegnere o riavviare durante il processo; sarà poi necessario riconfigurare la connessione a internet se il firmware caricato è quello della US Robotics, altrimenti è già pronto all’uso.

È possibile installare su un dispositivo USB esterno una versione di Debian compilata appositamente per questo modello di router, con tutte le possibilità che ne conseguono.