Samsung Vibrant and 802.1x WEP…

If there is an easier or non-root required method to what I’ve outlined here, please I’m ALL EARS.

Summary:

I pretty much hate Samsung or Android, not sure where to direct my h8, but whatever.  I wasn’t going to let it beat me.  Essentially I needed to connect to an AP that uses 802.1x WEP, PEAP, and MSCHAPv2 radius authentication to get access.  Not that difficult on my iPhone w/ the use of profiles, but Android/Samsung wasn’t as easy.  Here it is in a nutshell:

Nitty Gritty:

  1. Follow the instructions on how to root your Vibrant.
  2. Once your vibrant has been rooted, you need to download and install the SDK.
  3. Turn off your phone’s Wifi, and turn USB debugging on (Settings –> Applications –> Development).
  4. This is where it gets interesting (Windows method):
    1. Open a command prompt, go to where you installed the SDK, tools folder. (My case was where I downloaded it which was the desktop)
    2. Type adb shell
    3. This brings you to the Android shell prompt, which starts w/ a $ symbol, now type su
      1. Your phone, if rooted properly, should pop-up w/ a permission request, touch accept or ok, can’t remember how it pops up.
    4. Once in your root the prompt should now show the # symbol.  Now type busybox cp /data/wifi/bcm_supp.conf /sdcard
      1. This copies your current WiFi config file to an area that you can pull from the phone w/o root creds.
    5. Now hit Ctrl-C to get out of the shell prompt.
    6. Type adb pull /sdcard/bcm_supp.conf C:\
      1. This places the bcm_supp.conf file on the root of your C drive.  Feel free to place it elsewhere.
    7. Open the file w/ your text editor of choice (notepad is built in, but I prefer notepad++) 
    8. If you’ve attempted configuring an 802.1x connection, you should see an entry like something below:
      1. network={
        ssid="SomethingRidiculousUsually"
        scan_ssid=1
        key_mgmt=WPA-EAP IEEE8021X
        eap=PEAP
        identity="YourUserName"
        password="YourPassword"
        phase2="auth=MSCHAPV2"
        priority=4
        }



    9. The above entry is configured for 802.1x WPA, some lines need to change as highlighted below:

      1. network={
        ssid="SomethingRidiculousUsually"
        group=WEP104 WEP40
        auth_alg=OPEN SHARED
        scan_ssid=1
        key_mgmt=IEEE8021X
        eap=PEAP
        phase1="peapver=0"
        identity="YourUsername"
        password="YourPassword"
        phase2="auth=MSCHAPV2"
        priority=1
        }

    10. Once you’ve made your changes, save the file.  Now we need to place this modified file back in the mix.

    11. In the command prompt, type adb push C:\bcm_supp.conf /sdcard


      1. The path will be different if you place the bcm_supp.conf file elsewhere.  We can’t directly copy because adb can’t run as root yet.

    12. Now type: adb shell.  Then type: su (to get into root mode).

    13. Now to apply the conf file type: busybox mv /sdcard/bcm_supp.conf /data/wifi/bcm_supp.conf

    14. Now simply hit CTRL-C to exit the console.  If everything was done correctly, you should be able to turn on your Wifi on the phone and get a successful connection to your 802.1x WEP secured AP.

Caveats


Usually domain networks require you to change your password, so you may have to do this exercise every time you change your password.  Hopefully Android fixes this.

2 comments:

Mikey said...

Thanks, this worked for my Samsung Behold 2. Now I'll hang on to it a little longer.

Anonymous said...

Thanks! I'm able to connect my Nexus One to WLAN 802.1x WEP network!