Skip to content

Instantly share code, notes, and snippets.

@sgk
Created September 20, 2013 17:50
Show Gist options
  • Star 10 You must be signed in to star a gist
  • Fork 5 You must be signed in to fork a gist
  • Save sgk/6641198 to your computer and use it in GitHub Desktop.
Save sgk/6641198 to your computer and use it in GitHub Desktop.
Patch Yun to disable WiFi function.
#include <Process.h>
void setup() {
Bridge.begin();
Serial.begin(9600);
while (!Serial)
;
Serial.print("Patching...");
Process p;
p.begin("sh");
p.addParameter("-c");
p.addParameter(
"wifi down;"
"echo "
"H4sIALWIPFIAA61TXW/TMBR97v0Vl7RqN6TUIRJMmra97AfAE1SaUOTaN42ZY0f2DWNi"
"++84DdCuREJC5Mm559yvc+z5K7E1TsQGgFTjMfsgWTUYVTAdY2QZOBuR1YhrqmVvOfcu"
"wxsU8TEKZWWMwpKOQsfLXSBylw9WOsHB7HYUVgORWImg1tYraQFUh0LTV+F6a1ORYYQH"
"UxtQTes1Xly8PQ6CkjyUsGYrahMib71nURZVoEhcKUsyVF/qOuLVFa42m80K5oe15njr"
"u8c0ScN4dnuOZVG8y8viTYHvO3KfAq992E2wEuEjBTZp3oS1be/SkY13EeC08dk5fgdM"
"3x1mixFsZKxqn+E1Zhx6yvAzLpeJNWz+90UEtx3MQot5qHExhMRrLG+WOcxa3zvG3GOg"
" > /tmp/patch"
);
p.runAsynchronously();
while (p.running()) {
Serial.print('.');
delay(100);
}
p.begin("sh");
p.addParameter("-c");
p.addParameter(
"echo "
"8bgYM0a4vdcm/MxIkv8P634XO/LvuM1g1EtDD/FTV0+RF4WSLKf/B5n2HZIqk3JN8Kd4"
"MKNvhrHYW/WMT0947NV1LW0keAYY8qvG+/tKao1DZrkn4h8F02X79XD+Qd2pJ6e9o3UG"
"PwCGDpyumAMAAA=="
" >> /tmp/patch;"
"python -c 'import base64, sys; sys.stdout.write(base64.b64decode(file(\"/tmp/patch\").read()))' | gzip -d -c | sh"
);
p.runAsynchronously();
while (p.running()) {
Serial.print('.');
delay(100);
}
Serial.println();
while (p.available() > 0) {
char c = p.read();
Serial.print(c);
}
Serial.println("...Done.");
digitalWrite(13, HIGH);
}
void loop() {
}
/*
#!/bin/sh
echo "Patch script start"
echo 'echo "default-on" > /sys/class/leds/ds:green:wlan/trigger' > /etc/rc.local
cp /dev/null /sbin/wifi
chmod 775 /sbin/wifi
cat > /lib/firstboot/20_reset_clear_jffs << 'XXX'
#!/bin/sh
# Copyright (C) 2006-2010 OpenWrt.org
# Copyright (C) 2010 Vertical Communications
reset_clear_jffs() {
[ "$reset_has_fo" = "true" ] && {
cp /lib/firstboot/20_reset_clear_jffs /tmp
rm -rf $jffs/* 2>&-
mount -o remount $jffs / 2>&-
mkdir $jffs/etc
echo 'echo "default-on" > /sys/class/leds/ds:green:wlan/trigger' > $jffs/etc/rc.local
mkdir $jffs/sbin
cp /dev/null $jffs/sbin/wifi
chmod 775 $jffs/sbin/wifi
mkdir $jffs/lib
mkdir $jffs/lib/firstboot
cp /tmp/20_reset_clear_jffs $jffs/lib/firstboot/20_reset_clear_jffs
exit 0
} || reset_has_fo=false
}
boot_hook_add jffs2reset reset_clear_jffs
XXX
echo "default-on" > /sys/class/leds/ds:green:wlan/trigger
echo "Patch script done."
*/
@sagowtham
Copy link

How to enable back the wifi after I uplaod this patch?? My Yun wifi is not working!!

@nodlAndHodl
Copy link

in p.addParameter(
"wifi up",
"echo"....)

That's what I would try anyway. Why did you disable your wifi in the first place?

@mincrmatt12
Copy link

no, it wont work as it clearly overwrites the wifi utility with /dev/null

@zvpunry
Copy link

zvpunry commented Apr 2, 2016

see if there is a /jffs/ directory. this directory contains every changed file, if you remove files from it, it will restore them to the defaults on the next boot.

by reading the script, it has mangled the wifi binary (/sbin/wifi) and the script to reset the system to the defaults (/lib/firstboot/20_reset_clear_jffs), remove them from /jffs/.

These commands will do it and reboot the device:

rm /jffs/sbin/wifi
rm /jffs/lib/firstboot/20_reset_clear_jffs
reboot

If you don't have a shell on the device, you can try to wrap the commands in the above script, like this:

Process p;
p.begin("sh");
p.addParameter("-c");
p.addParameter("rm /jffs/sbin/wifi /jffs/lib/firstboot/20_reset_clear_jffs; reboot;");

@frank-2015
Copy link

Please let me know if there's anyway to turn off the Arduino Yun WiFi.
I need to do this under the Arduino IDE with windows 7 (not LINUX).
After trying all suggestions from different posts/forums.
None worked as after 5 minutes the WiFi is enabled again.
None of these suggestions worked:
https://forum.arduino.cc/index.php?topic=189105.0
https://gist.github.com/sgk/6641198
https://gist.githubusercontent.com/sgk/6641198/raw/c6c36b2c8a9d62036b11335f6515ce3c5ce03ee6/PatchYun.ino

Please advise which forum I can ask this on, etc.
Your advise is greatly appreciated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment