Pages: [1] 2   Go Down
Author Topic: How to Disable WiFi  (Read 6138 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

In some countries, it is prohibited to use WiFi without a government permit (certification). If you live in such country, this memo can help you.

You may think it is very easy to disable WiFi interface using the OpenWRT bare control panel LuCi.
http://arduino.local/cgi-bin/luci/admin/network/wireless

However, you will be noticed that Yun will reboot every 60 seconds if the WiFi interface is disabled. This behavior is intended by the Yun developer. You have to bypass or "fool" the WiFi detection function in Yun. This requires a small modification to the Yun's Linux part.

Here is an Arduino sketch to make such modification.
https://gist.github.com/sgk/6641198
https://gist.github.com/sgk/6641198/raw/c6c36b2c8a9d62036b11335f6515ce3c5ce03ee6/PatchYun.ino

After successfully compiling and running the sketch on Yun, just open a Serial Monitor. You will see messages like "Paching..." and "...Done.". If you see a blue LED to light without flashing, the modification is successful. The sketch does following changes.

  • Remove a utility that enables the WiFi hardware.
  • Disable to run the WiFi detection daemon which reboots after 60 seconds if WiFi could not be enabled.
  • Changed the blue LED meaning to indicate the Linux boot completion by lighting (not flashing).
  • Protect the above changes to continue after the factory reset.

I filed an issue for this, and I hope Yun will have this functionality in the next release.
https://github.com/arduino/linino/issues/5
Logged

Offline Offline
God Member
*****
Karma: 12
Posts: 632
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thank you Shigeru  smiley-cool
Logged

Offline Offline
God Member
*****
Karma: 12
Posts: 632
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

We added a note and a link to the sketch in the product page
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thank you!
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 69
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Shigeru , I'm not clear as what should I do if I want to be able to switch between WiFi enabled and WiFi disabled .

In other words lets say i want the user to send a command from the console, at initialization time, to decide if the connection is going to be by Wireless (WiFi enabled) or Cable (WiFi disabled).

Many thanks in advance for your help.
Logged

Offline Offline
God Member
*****
Karma: 12
Posts: 632
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Shigeru's patch is good for disabling wifi in countries where we still lack proper certification and make the patch resist a factory reset. It's not a general approach for disabling wifi.

If you want to control wifi status, take a look at this post for instructions on how to disable/re-enable it: http://forum.arduino.cc/index.php?topic=188821.msg1399080#msg1399080
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 69
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Federico, thanks for your prompt answer. I guess I lack enough (Linux?) experience to understand how to edit the file as suggested on the Post. Besides, is it possible to do it under program control? Could you give some guidelines as how should it be done?

Once again many thanks for your support.
Logged

Offline Offline
God Member
*****
Karma: 12
Posts: 632
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Connect to you yun via SSH (using putty or ssh, depending on your OS) then issue
opkg update
opkg install nano
nano is a text editor. Issue nano /etc/rc.local and so forth
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 69
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Federico, per your response, as I will need to connect the Yun to another computer it is my understanding that I won't be able to do it (WiFi enable/disable) just under Yun's own control. Am I correct?

Thanks
Logged

Offline Offline
God Member
*****
Karma: 12
Posts: 632
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Sorry I missed that: can you rephrase it?
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 69
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

My whole point is that I want to be able to enable/disable the WiFi 100% under control of the Arduino sketch running on the Yun.

Hope is clear now.
Logged

Offline Offline
God Member
*****
Karma: 12
Posts: 632
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I think you could issue "wifi down" (use runShellProgram). I've never used it though
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 69
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Federico, many thanks for the Hint, I tried it and works like a charm!

        p.runShellCommand("wifi down");  //disconnect wifi to save energy

When I want to use the WiFi again is just a matter of sending:

       p.runShellCommand("wifi up");  //connect wifi before transmitting


Savings of 30 mA !!!
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hello,
The Yun is my very first in the arduino world,its been pretty fun and a great experience so far.
The unit works great but when i ran this patch I can't seem to get Wifi working anymore so the patch works a charm shutting it off.

Now after spending some time reading I realized its not a practical way of disabling it and feeling a bit embarrassed about it  smiley-razz
So here I am.I tried all 3 methods of resetting but it seems to be written to a part of (flash?) memory that dosen't get reset.

Instead of like how it was before the patch (blue wlan led flashing) it stays solid blue even after all resets and wifi don't work
and appears disabled in the logon page when using ethernet.

At first I was wanting to shut it off since I was wanting to experiment on the ethernet side, now that i done some of that was wanting to turn wifi back on to give that a go.

So my question is could some kind person make a reverse patch or a way to get wifi going again?  smiley-roll-sweat
Here i am breaking stuff already lol anyways I would be greatful  smiley
Logged

Offline Offline
God Member
*****
Karma: 12
Posts: 632
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

You can try replacing file /lib/firstboot/20_reset_clear_jffs with the one you can download from here
https://github.com/arduino/linino/blob/master/trunk/package/base-files/files/lib/firstboot/20_reset_clear_jffs
Then issue a factory reset (press the wlan rst button for more than 30 seconds)
Logged

Pages: [1] 2   Go Up
Jump to:  

Powered by SMF 1.1.19 | SMF © 2013, Simple Machines