Please upgrade your Yún - latest is 1.5.2

Hi everyone

a newer release of OpenWrt-Yun is available. You can download it from http://arduino.cc/en/Main/Software#toc8

1.5.2 includes a security fix and a new feature.

Previous versions left the built-in DNS server open to every network interface, thus making it an "open resolver". Some networks (university ones in particular) consider such configuration a security issue. We were notified of the issue and fixed it.
With 1.5.2, the DNS server is available only to the wireless interface, as long as the Yun is in Access Point mode.
As soon as you configure it to access your local wifi, DNS server is disabled on every interface but localhost.

You can now specify the name of the wifi when running in Access Point mode: edit file /etc/config/arduino and set option "access_point_wifi_name" to a name of your choice.
If you leave to "Arduino", the actual name of wifi will be "Arduino Yun" plus yun's MAC address.
If you set it to "Workshop1", if will create a wifi with name "Workshop1"
Custom name will be retained even when resetting wifi configuration (pressing the WLAN RST button for about 6 seconds). This closes an old issue: Change SSID of Wifi when Yun is in AccessPoint mode · Issue #6 · arduino/openwrt-yun · GitHub

The complete list of changes is available at openwrt-yun/ChangeLog at master · arduino/openwrt-yun · GitHub

Hi Federico, thanks for your continued great work on improving the Yun!

Is there any way to get a prebuilt version of your most recent commit? I've just started to put a node.js project that is dependent on sqlite3 and socket.io that was developed on a Mac onto a Yun and don't have the required box needed to build your latest commit at GitHub - arduino/openwrt-yun: A custom version of OpenWrt, targeted to the Arduino Yún.

Best

  • Andrew

Thank you roowilliams for your kind words.
The answer is half good.

The bad part is that there may be a significant delay between a commit seen on github and the related update to become available: it's due to the 36 hours it takes to build the image on our build server (it's slow so it's less power hungry) and because, being slow, we start the build every once in a while.

The good one is that you don't need to wait for a release to get the latest optional packages (like all the nodejs stuff is): proof is that we are uploading the commit you mentioned in this very moment and that it will be available in about 6 hours from now. Try installing node-sqlite3 at about 4pm CET

Ok, it's online

Hi, I have a problem after updating my arduino yun.
I had the 1.5.1 and was working. I also extended it with a SD card.

I upgraded to the 1.5.2 an ran again the sketch to extend with a SD card(first question is if I need to do this every time I upgrade)

But this time the sketch failed and I get a message "The micro SD card is not available"

I checked in the sketch

void haltIfSDCardIsNotPresent() {
  Process ls;
  int exitCode = ls.runShellCommand("ls /mnt/sda1");

  if (exitCode != 0) {
    Serial.println(F("\nThe micro SD card is not available"));
    halt();
  }
}

So I went to my arduino yun site and now it seems like it cannot recognize my sd. The binary file I was using for upgrading is not recognized by the web.

I tried rebooting everything, AR9331, 32U4, wifi... hard reboot pressing wifi +30 secs also formating the SD Card with ntfs, fat32, but nothing. My arduino yun cannot read it.

Any idea? Did I destroy my arduino yun? :frowning:

UPDATE:
I managed to fix it by using another sd card to reinstall the openwrt-yun 1.5.2. Then I could use the previous sd card that was giving problem and extend space.

It seems like the sd card was blocked...

Thanks for all the work you are doing. Amazing. I really enjoy learning with arduino. It always something fresh after working hours and hours with "traditional banking programming" stuff ._.

blfuentes:
I upgraded to the 1.5.2 an ran again the sketch to extend with a SD card(first question is if I need to do this every time I upgrade)

If you do upgrade via sysupgrade, yes. However, as you have already extended disk space, you can use script "upgrade-all" (via SSH) or the advanced configuration panel to upgrade the single packages
Keep in mind that this will work 99 times out of 100. It will NOT suffice for things like the kernel, that can only be upgraded by sysupgrade or uboot reflash. This kind of packages don't get updated often (it happened twice so far)

Hi Federico,
where I can found the script "upgrade-all"?
Thank's in advance for you help

Claudio

Hello cbwifi
you can directly type upgrade-all inside a ssh session or a YunSerialTerminal.

You can find the code here openwrt-packages-yun/upgrade-all at master · arduino/openwrt-packages-yun · GitHub

Hi Federico, thanks for that!

A little thing I am confused about is the 'preparation' of packages for Arduino Yun running node. Can I just install these specially prepared packages from npm? Is there a list of packages that have been prepared that I can see somewhere?

Best

  • Andrew

Maybe this list answers my question...

Ahaa I'm guessing not to install from npm but rather install node modules rather opkg.

Hi Angelo

thank for your help, than I used just:
opkg upgrade opkg list-upgradable | awk '{print $1}'

and worked great! :slight_smile:

Grazie 1000

@roowilliams only a handful of nodejs packages have been prepared: these are the one with native parts that couldn't be compiled on the yun itself as it happens on your pc

Take a look at the complete list of packages for the yun http://downloads.arduino.cc/openwrtyun/1/packages/index.html and look for those starting with "node-"

@Federico ...so now for my final point of confusion :slight_smile:

How do I include the opkg installed node packages in my nodejs project?

When working on my desktop I simply installed using npm with the --save flag and they get included, added to my package.json ready for deployment.

With this the result of opkg list_installed displays the prepared packages, but using npm list doesn't show the packages, so how do I include them in my project and make sure they're referenced correctly?

Thanks for your help!

That's tricky. "system" nodejs modules like socket.io and friends should NOT be downloaded by npm when you install of the yun.
In order to have a local configuration similar to the yun's, you should

  • install socket.io with -g flag
  • remove it from the dependencies
  • add a preinstall key under "scripts" with value npm link socket.io

That should work although I haven't tried it