HUGE UPDATE: This walk around is now unnecessary, as the
issue has basically been fixed!
UPDATE:
If you want to breeze through this walk-through by copying and pasting the relevant entries, simply highlight
the text you want to copy, switch over to your command line shell and press down with four fingers
on the touch pad -- it seems like this is a special kind of copy/paste functionality for the Cr-48. Be sure to manually edit your info where necessary.
Okay, after setting up my school wireless connection on my Cr-48 every day, for a month,
from scratch(!), I'm delighted to announce I've finally come up with a one-time solution, thanks to
Nick Naro.
So you're aware, this post builds off a
previous post I wrote on 1/29/11, input from
Jay Lee's blog, and is originally founded on
David Burrow's instruction set.
Next, I'M WRITING THIS FOR PEOPLE WHO SIMPLY WANT A LIST OF WHAT TO DO. To that end, this how-to can be followed character for character. KEEP IN MIND THAT YOUR NETWORK SETTINGS MAY BE DIFFERENT (e.g., yours may use TKIP instead of CCMP, as in mine, below), SO PLEASE CHECK THEM AND MAKE CHANGES WHERE NECESSARY. Also, if your network requires a security certificate, I believe you will be out of luck (period) until the Chrome team fixes an issue with security certificates.
Please note that this method will save your password to your hard drive.
Also, please note the usual disclaimer that if you accidentally type something in wrong and blow up your computer, it's your bad, and I will be hesitant to cry for you. On the other hand, I typed loads of stuff wrong, myself, and failed to have anything blow up (or make trouble).
With that said, let's dive in.
Type in exactly what I have shown and hit enter, except for #1. (Be sure to exclude the
explanatory remarks and numbering).
1. ctrl+alt+t
This takes us into crosh, the "command line" center for Chrome OS, based on Linux (this area's like MS-DOS).
2. shell
This takes us into the bash shell (the title's unimportant, other than having the label handy, if necessary).
3. sudo -s
This takes us into what's often referred to as "root," which is where we can make substantial system changes (I imagine it's distantly similar to the Windows registry, in terms of how much it can change).
4. cd /mnt/stateful_partition/home/chronos
This means we're navigating to our home folder, home/chronos. I believe cd simply tells the system to navigate to the directory I list.
5. qemacs AUTOWIRELESS.sh
Qemacs opens up a simple text editor for us, where we'll be creating a script (like an Excel macro). Autowireless is what I named my file; I suggest naming yours the same, unless you want to remember throughout that yours is different. The .sh, I assume, stands for a script file extension.
6.
Enter the following (including the \ marks) in the blank page that's opened up, recalling that you may have some variation (I assume at least your ssid (network name), identity, and password will be different than mine):
wpa_cli add_network
wpa_cli set_network 0 ssid \"Securewireless\"
wpa_cli set_network 0 scan_ssid 1
wpa_cli set_network 0 proto WPA2
wpa_cli set_network 0 priority 1
wpa_cli set_network 0 key_mgmt WPA-EAP
wpa_cli set_network 0 eap PEAP
wpa_cli set_network 0 pairwise CCMP
wpa_cli set_network 0 group CCMP
wpa_cli identity 0 "username"
wpa_cli password 0 "password"
wpa_cli set_network 0 phase2 \"auth=MSCHAPV2\"
wpa_cli select_network 0
7. ctrl+x and then ctrl+c
As in the keyboard keys. In other words, press the ctrl key with x and then the control key with c. This saves your file and exits the script editor.
8. chmod +x AUTOWIRELESS.sh
I'm unsure exactly what this does. I presume it gives the file special permissions or something.
9. sudo /usr/share/vboot/bin/make_dev_ssd.sh --remove_rootfs_verification
I believe you will be able to take this step immediately after #8. If you fail to see a 3-6 line list describing how things have been changed (look for the word kernel in there), then type exit then sudo -s and try again. The "remove_rootfs_verification" command makes it so we can edit some system files that are normally "read only" (unchangeable).
10. Reboot (you may want to type exit and exit and exit first, to be completely out of crosh -- although, I doubt it really matters).
11. Login to your account and repeat steps #1-3.
12. mkdir /mnt/stateful_partition/home/backupScripts
I assume that here we're simply making a backup folder to store a file in a moment. I believe mkdir means make directory.
13. cp /etc/init/login.conf /mnt/stateful_partition/home/backupScripts/login.conf.original
I believe we're simply copying the login.conf file into its new backup location. I assume cp means copy path. Make sure you have a space in between /login.conf and /mnt/.
14. cp /mnt/stateful_partition/home/chronos/AUTOWIRELESS.sh /etc/wpa_supplicant/AUTOWIRELESS.sh
Here, like in #13, we're copying a file from one place into another. In this case, we're copying our network script into the folder that runs wireless commands at account login. Note the space between .sh and /etc/.
15. qemacs /etc/init/login.conf
We're editing the file that tells the system what to do at login.
16. Add ./etc/wpa_supplicant/AUTOWIRELESS.sh just below touch /var/run/state/logged-in
So, go, with your cursor, to the end of the /logged-in line, press enter and add the ./etc/ entry. We're telling the system to run our network connection script at login.
17. ctrl+x and ctrl+c
This is the same save/quit command as we did in #7.
YOU'RE DONE! Wahoo!!! (I suppose your rejoicing will depend on whether it works.) I believe you may need to enter your ssid each time you login and perhaps your phase2 info (see #6).
TROUBLESHOOTING:
If you have any issues, I strongly suggest you first check your script: Do steps #1-3 and then type cd /mnt/stateful_partition/home/chronos. Next type qemacs AUTOWIRELESS.sh. Do the entries in your file match up with what I have in #6, exactly, except for where your network varies?
Next, you can test if your script is working, by doing steps #1-3 and then typing bash /etc/wpa_supplicant/AUTOWIRELESS.sh. The system will run every instruction from your script and present OK or FAIL, after every entry. If you get FAIL, that means a line in the script needs to be fixed (so go back to the paragraph immediately above and follow those steps).
Finally, please ask me for help, if you're having issues, or contact your IT department or friendly Linux person.
I hope this helps you with the few days or weeks we have left with the manual network connection workaround!