Talk:WPA Manual Setting

From OLPC
Revision as of 10:27, 23 December 2007 by Sylvestk (talk | contribs) (Script won't work unless run as root)
Jump to navigation Jump to search

Got our olpc from G1G1 on Dec 15, build 650. The WPA instructions do not work. There is a file created on /home/olpc/.sugar/default/nm/networks.cfg. The bssids is empty. I tried wpa_ver 2 and 4. I tried putting in AP from iwconfig on this laptop for bssids (without colons to mimic key). Our WPA access point does not show up on the neighborhood.

-- StuartGathman 23:25, 16 December 2007 (EST)

Please see the Release Notes General_Release_Notes for details on this bug. We have a fix now and should be able to release the patch to the general public in another week or so.

-- kim

Looks like it might work!

I just received my children's OLPC yesterday (2007-12-17) and my biggest disappointment was the lack of WPA support. Anyone who is serious about wireless security (which may include the vast majority of G1G1 participants!) would not use any less than WPA2 at home.

I am using an Apple Airport Extreme router which did work for me last night without encryption at all, but that's an unacceptable option. I literally put the OLPC back in the box it came in, until a solution became available. Now I am betting on the power of Linux to come through with what looks like an extremely simple fix. Will post again with the results!

-Jeff Robelen, NY

A small error

The script does not quote the passphrase before passing it to wpa_passphrase, so if it is truly a phrase and contains spaces or other shell chars, it won't work. To fix this just change the line

key=`$wpapass $ssid $pass | grep psk= | grep -v "#" | cut -d= -f 2`

to

key=`$wpapass $ssid "$pass" | grep psk= | grep -v "#" | cut -d= -f 2`

It worked!

I got it to work on my WPA network, although not before making yet a further modification to the script. You do in fact have to allow for both password and ssid to contain spaces (as mine do). Once you change

   key=`$wpapass $ssid $pass | grep psk= | grep -v "#" | cut -d= -f 2`

to

   key=`$wpapass "$ssid" "$pass" | grep psk= | grep -v "#" | cut -d= -f 2`

you are good to go!

And after playing with this system, I am ready to get another one, so both children can have one, and grow up with these. Awesome!

-Jeff

Finally Got This to Work

I tried this (with and without the suggested emendations) several times to no avail on my Airport Express (WPA2).

Looking at the script, I finally realized that (despite the instructions I had read elsewhere), it required the ASCII version of the password (which it then converts to Hex). Works great now.

--Bill Shepherd

WPA Enterprise

What about WPA Enterprise (ie. No PSK)?

--Jhulten 19:10, 19 December 2007 (EST)


WPA keys must be 10 characters or less in length

I'm leaving this tag in here, but its not correct (thanks Ivan!). ref: http://dev.laptop.org/ticket/5574

My reasoning for leaving this here is that "something" is up with the driver. Reference the bug above for details, but the short form is that any of 3 OLPCs here at work can no longer connect to our WiFi corpnet, though the only thing that changed was the passphrase.

Hmmm...

- Mark Pulver 22:10, 19 December 2007 (EST)


Didn't work for me either (Updated: now works) Just got my laptop today and tried the script method against WPAv1 Router. My passphrase is 14 chars though, so I hope I didn't hit the bug above.

When I reboot OLPC, it comes back and asks for passphrase :(

[Now Works] Ok, it works now, I think the instructions for clicking on the neighborhood activity after reboot messed me up. It didn't connect after that, and after re-running script multiple times it inserted multiple items into config file.

I cleaned up the config file with the original info, then DID NOT go into neighborhoods and it connected fine after a bit. Please note my WPA passphrase was 14 chars. -Ivan Berg - Dec 19, 2007

This also worked for me. Thank you Ivan. I used the original script and instructions but left out the Neighborhood step. My first tries included clicking the AP in the Neighborhood after reboot and it went blank with no connection. After multiple attempts I came here, cleaned up the config file, and rebooted leaving it alone. After I rebooted the XO automatically connected to my wireless network. I had also turned the broadcast SSID on as a precaution so that I could see it in the Neighborhood prior to testing. Unknown if this was necessary for the actual connection.

AP: Linksys WRT54G v6

Firmware Version: 1.02.0

Security Mode: WPA2 Personal

WPA Algorithms: TKIP+AES

--Spoonyfork 01:19, 22 December 2007 (EST)

Is it the AP

Has anyone gotten this to work with a WRT54G using WPA1 (personal with TKIP). I saw something about the mesh clashing with the Lazy-WDS that this AP has. I made the script mods since I have a space in my SSID, but have had no luck (even avoided the neighborhood page). I do notice that my mesh becomes active in both ifconfig and /var/log/messages, but see no evidence of auto connection trying to use networking.cfd data.

--Todd Spraggins 22:20, 21 December 2007 (CST)

Still not working

I have a TRENDNet TEW-432BRP with WPA2, PSK, TKIP. The passphrase is 8 chars. Two other laptops connect fine with Fedora 8 NetworkManager. The file "/home/olpc/.sugar/default/nm/networks.cfg" contains

[Gathman]
timestamp = 1197859792
wpa_ver = 4
key_mgmt = 2
bssids = 
key = 07xxxxxxxxxxxxxxxxxxxxxxx64charsxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
we_cipher = 0

The WAP does not show up at all, locked or unlocked, and there is no net connection.

--Stuart Gathman 21:33, 21 December 2007 (EST)

Alternate method

The generated configurations didn't work for me, and neither did the manually created variations I tried. The following method worked the first time.

/usr/sbin/wpa_passphrase "ssid" "passphrase" > /home/olpc/passkey
  1. In the Terminal activity, execute the command above, using your own ssid and passphrase.
  2. In the Browse activity, navigate to file:///home/olpc/passkey. Highlight the key, copy it to the clipboard with Ctrl-C.
  3. Press the Neighborhood button, find your wireless access point, click it once. A dialog box will pop up. Paste the key into the dialog, press OK.
  4. Experience joy
  5. This worked for on a Trendnet 423 Draft N Wireless router

Bill 22:08, 21 December 2007 (EST)

OMG!! It worked

I am virtually computer illiterate! But I did it! I got the XO to access my WPA wireless internet. Yippee and thank you!

working wpa by following shell script instructions

I followed the steps to

1)download Wpa.sh
2)edited the line with pass to "pass" since my passphrase has lots of spaces in it
3)copied Wpa.sh from usb to home directory
--In case someone's reading this who doesn't know, the cryptic period at the end of "cp /media/USBNAME/Wpa.sh ." means current directory. Since terminal starts in the home directory, and there were no commands to go elsewhere, that's where you still are.
4)ran the script as per instructions (my wpa turned out to be 1, not 2, so I had to re-do it)
5)started back up without going to neighborhood, like the commenters above said,
and
6)I'm on!

wheeee!

My router is a Motorola SBG900. It can be very finicky, so I'm tickled pink this worked!

quixote (I'm too excited to log in properly)

What if the access point isn't broadcasting its ssid?

As far as I know everything is fine, but my access points don't broadcast their ssid's. So there is no circle to click on. How can I tell it to just start up (or better yet, show a circle to click on)?

SSID hidden vs. visible

I can't connect without setting my router SSID to visible. Once I set my WiFi router to visible, I can connect fine. But after set my router back to invisible and restart the OLPC laptop, it won't find it. Unless there is a way to do it via the command line, it doesn't appear the network tool has a way to connect to invisible/hidden SSID networks. But I may be wrong since I've only had this thing less than a day.

Script won't work unless run as root

I wasn't able to get that script to work unless I logged in at the command line as root. You do that by typing the following line at the command prompt:

su - root

after that, I ran the script, rebooted, clicked on my network circle and was surfing away :)