9

I am trying to enable / disable the wifi device in my android device in a bash script. I am using the terminal emulator and the program Script Manager to execute bash scripts on the phone (which is a rooted Nexus One). The normal way to do this in linux would be something like

ifconfig eth0 up 

That gives me

"eth0: no such device"

Trying iwconfig eth0 gives the same, and

iwconfig 

gives a list of devices with no eth0 on it. Now if I turn on wifi (manually from the GUI) and type

iwconfig

it shows eth0 with a lot of info.

My question is: How can I use the command line to turn on / off wifi? And why is eth0 disappearing from the device list when wifi is disabled?

thanks.

1
  • Have you tried wlan0? That's the traditional wireless interface. I know that the answer below worked for you, so that's great, but knowing's half the battle. Commented May 13, 2013 at 7:25

1 Answer 1

16

While it doesn't work in my non-rooted phone for obvious reasons, the results I'm obtaining are completely different while wifi is connected:

$ ifconfig eth0
eth0: ip 192.168.0.102 mask 255.255.255.0 flags [up broadcast running multicast]
$ ifconfig eth0 up
error: SIOCSIFFLAGS (Permission denied)

If you just want to turn wifi on or off you should use:

# svc wifi enable

or

# svc wifi disable

to see the help message

# svc wifi
Control the Wi-Fi manager

usage: svc wifi [enable|disable]
         Turn Wi-Fi on or off.

       svc wifi prefer
          Set Wi-Fi as the preferred data network
Sign up to request clarification or add additional context in comments.

2 Comments

Hmm... WIth wifi ON, I get: $ ifconfig eth0 eth0: Cannot assign requested address $ ifconfig eth0 up (or down) error: SIOCSIFFLAGS (Permission denied)
# svc wifi enable That worked, thank you. Strange that I did not find that with Google.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.