Android, WLAN ja 8-bittis-ääkkösellinen WPA-avain

Kirjoittanut Markus Vuorio 11. Kesäkuu 2011 - 18:00.

Vieraillessani Saksanmaalla törmäsin isäntäväen, Schrödereiden wlan-verkkoon, jossa oli hassu WPA-avain, se näet sisälsi erään skandinaavisen merkin (jonka päätteleminen jää kotitehtäväksi). Windows-kannettavani selviytyi tästä aivan hienosti, mutta CyanogenModillinen HTC Desire -kännykkä ei päässyt liittymään verkkoon. Wpa_supplicantin lähdekoodia ja lokeja silmäiltyäni tulin päätelmään, että D-Linkin halpis-wlan-purkki enkoodannee WPA-avaimen Latin-1 (ISO-8859-1) -enkoodauksella tai vastaavalla, ja pienen askartelun jälkeen päädyin seuraavanlaiseen ratkaisuun.

 

  1. Ota WPA-avain käteen ja etsi Linux-kone, jossa on wpa_supplicant (Debian-perheessä paketti wpasupplicant) asennettuna ja ISO-8859-1-merkistöä käyttävä locale käytettävissä (tämän voi amistella käyttämällä kyseistä merkistöä käyttävää terminaalia)
  2. Kirjaudu mainitulle koneelle
  3. Lausu kohdassa 1. mainitun Linux-koneen komentorivillä wpa_passphrase wlanin-nimi ääkkösellinen-wpa-avain (jossa toki korvaat mainitut muuttujat :) ja ota leikepöydälle edellisen komennon tulosteet
  4. Hankkiudu Android-puhelimesi komentoriville esimerkiksi Android SDK:sta löytyvää adb shell -komentoa käyttäen
  5. Avaa wpa_supplicantin konfiguraatiotiedosto vi-editoriin komentamalla vi /data/misc/wifi/wpa_supplicant.conf
  6. Mene muokkaustilaan painamalla i-kirjainta ja pastea leikepöydälläsi olevat rivit tiedoston perään
  7. Paina esciä ja komenna :wq (write, quit)
  8. Kytke puhelimen wlan pois päältä ja takaisin
  9. Nauti toimivasta wlanista :)
Tagit: