4 Replies Latest reply on Apr 7, 2014 3:01 PM by Liam

    Intel Galileo - a very Unstable board for now

    Blackcode

      I just got my intel galileo board today (waiting for windows on devices) and I was very happy but.....

       

      First problem I encountered was unable to upload sketches through arduino ide even sometimes worked (I updated the firmware, loaded full linux on SD Card). The other problem I encountered is by pressing the reboot button. The Usb Led shuts off and the board stays like this until I power cycle it.

       

      the error I get is even if the board is correctly reported on COM4

       

      -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

       

      Binary sketch size: 45,145 bytes (of a 262,144 byte maximum) - 17% used
      cygwin warning:
        MS-DOS style path detected: C:\Users\Enache\Desktop\arduino-1.5.3/hardware/arduino/x86/tools/izmir/clupload_win.sh
        Preferred POSIX equivalent is: /cygdrive/c/Users/Enache/Desktop/arduino-1.5.3/hardware/arduino/x86/tools/izmir/clupload_win.sh
      starting download script
        CYGWIN environment variable option "nodosfilewarning" turns off this warning.
        Consult the user's guide for more details about POSIX paths:
          http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
      Args to shell: C:\Users\Enache\Desktop\arduino-1.5.3/hardware/tools/x86/bin C:\Users\Enache\AppData\Local\Temp\build3170202583413598653.tmp/sketch_apr05a.cpp.elf COM4
      #!/bin/sh

      echo "starting download script"
      echo "Args to shell:" $*

      # ARG 1: Path to lsz executable.
      # ARG 2: Elf File to download
      # ARG 3: COM port to use.

      #path contains \ need to change all to /
      COM PORT 4
      Converted COM Port COM4 to tty port /dev/ttyS3
      path_to_exe=$1
      Sending Command String to move to download if not already in download mode
      Deleting existing sketch on target
      fixed_path=${path_to_exe//\\/\/}

      #COM ports are not always setup to be addressed via COM for redirect.
      #/dev/ttySx are present. Howwever, COMy -> /dev/ttySx where x = y - 1

      com_port_arg=$3
      com_port_id=${com_port_arg/COM/}
      echo "COM PORT" $com_port_id
      tty_port_id=/dev/ttyS$((com_port_id-1))
      echo "Converted COM Port" $com_port_arg "to tty port" $tty_port_id

      echo "Sending Command String to move to download if not already in download mode"
      echo "~sketch download" > $tty_port_id

      #Move the existing sketch on target.
      echo "Deleting existing sketch on target"
      $fixed_path/lsz.exe --escape -c "mv -f /sketch/sketch.elf /sketch/sketch.elf.old" <> $tty_port_id 1>&0

      Transfer incomplete

      # Execute the target download command

      #Download the file.
      host_file_name=$2
      $fixed_path/lsz.exe --escape --binary --overwrite $host_file_name <> $tty_port_id 1>&0
      Sending: sketch_apr05a.cpp.elf

      Bytes Sent:   1024/  44920   BPS:59531    ETA 00:00 
      Bytes Sent:   9216/  44920   BPS:390756   ETA 00:00 
      Bytes Sent:  10240/  44920   BPS:425654   ETA 00:00 
      Bytes Sent:  11264/  44920   BPS:426407   ETA 00:00 
      Bytes Sent:  12288/  44920   BPS:459931   ETA 00:00 
      Bytes Sent:  13312/  44920   BPS:489915   ETA 00:00 
      Bytes Sent:  14336/  44920   BPS:518330   ETA 00:00 
      Bytes Sent:  15360/  44920   BPS:539362   ETA 00:00 
      Bytes Sent:  16384/  44920   BPS:536265   ETA 00:00 
      Bytes Sent:  17408/  44920   BPS:547248   ETA 00:00 
      Bytes Sent:  18432/  44920   BPS:559647   ETA 00:00 
      Bytes Sent:  19456/  44920   BPS:569570   ETA 00:00 
      Bytes Sent:  20480/  44920   BPS:580070   ETA 00:00 
      Bytes Sent:  21504/  44920   BPS:588795   ETA 00:00 
      Bytes Sent:  22528/  44920   BPS:598225   ETA 00:00 
      Bytes Sent:  23552/  44920   BPS:605760   ETA 00:00 
      Bytes Sent:  24576/  44920   BPS:617921   ETA 00:00 
      Bytes Sent:  25600/  44920   BPS:632332   ETA 00:00 
      Bytes Sent:  26624/  44920   BPS:626859   ETA 00:00 
      Bytes Sent:  27648/  44920   BPS:632850   ETA 00:00 
      Bytes Sent:  28672/  44920   BPS:639285   ETA 00:00 
      Bytes Sent:  29696/  44920   BPS:643996   ETA 00:00 
      Bytes Sent:  30720/  44920   BPS:650405   ETA 00:00 
      Bytes Sent:  31744/  44920   BPS:651760   ETA 00:00 
      Bytes Sent:  32768/  44920   BPS:662541   ETA 00:00 
      Bytes Sent:  33792/  44920   BPS:660825   ETA 00:00 
      Bytes Sent:  34816/  44920   BPS:665710   ETA 00:00 
      Bytes Sent:  35840/  44920   BPS:669768   ETA 00:00 
      Bytes Sent:  36864/  44920   BPS:675300   ETA 00:00 
      Bytes Sent:  37888/  44920   BPS:682986   ETA 00:00 
      Bytes Sent:  38912/  44920   BPS:686665   ETA 00:00 
      Bytes Sent:  39936/  44920   BPS:644679   ETA 00:00 
      Bytes Sent:  40960/  44920   BPS:614580   ETA 00:00 
      Bytes Sent:  41984/  44920   BPS:478362   ETA 00:00 
      Bytes Sent:  43008/  44920   BPS:484837   ETA 00:00 
      Bytes Sent:  44032/  44920   BPS:491252   ETA 00:00  Retry 0: Got TIMEOUT

      Transfer incomplete

      #mv the downloaded file to /sketch/sketch.elf
      Moving downloaded file to /sketch/sketch.elf on target
      target_download_name="${host_file_name##*/}"
      echo "Moving downloaded file to /sketch/sketch.elf on target"
      #$fixed_path/lsz.exe --escape -c "cp sketch /sketch/sketch.elf" <> $tty_port_id 1>&0
      $fixed_path/lsz.exe --escape -c "mv $target_download_name /sketch/sketch.elf; chmod +x /sketch/sketch.elf" <> $tty_port_id 1>&0
      Retry 0: Got ZCAN

      Transfer incomplete

        • 1. Re: Intel Galileo - a very Unstable board for now
          rmm200

          Call it unstable if you like, but mine has been running 24/7 for months according to "uptime".

          Only computer in my house with that reliability record.

           

          Reboot does not work on 0.7.5 firmware, it is documented on this forum to not work, and the fix is simple.

          Upgrade the firmware to anything post-0.7.5, like 0,8.0, 0.9.0, or 1.0.0 and reboot works fine.

          • 2. Re: Intel Galileo - a very Unstable board for now
            LarsR

            Unfinished - yes.

            Lots to tinker with - yes.

            Rough edges - yes.

             

            Unstable - now that's a grave injustice to the little fella.

            • 3. Re: Intel Galileo - a very Unstable board for now
              Clayton Hofrock

              I think the stability depends on the usage model.

               

              Using it as a Linux box, it is VERY stable. Is there such a thing as an unstable Linux box?

               

              Using it as an Arduino device, it is not at all stable. I cannot count the number of times that I have had trouble connecting to my Galileo and/;or had trouble downloading sketches onto the Galileo. Compared to other Arduino devices it is very unstable, very frustrating, and even boarders on the verge of even being usable.

               

              The things I have done to be able to connect and download sketches to my Galileo:

              1. Restarting the IDE and rebooting the Galileo at the same time.
              2. Changing the USB port that is connecting to the Galileo.
              3. Removing the Device Driver for the Galileo, restarting the Galileo, and the Host PC.

               

              So far, I have found that one of these will work, but it does not seem to be the same fix every time.

              • 4. Re: Intel Galileo - a very Unstable board for now
                Liam

                I've given up on that entirely.

                Doesn't work the slightest bit.

                 

                However, what *does* work, and reliably too, is not using USB link to download the compiled sketch.

                 

                Rather, assuming that your Galileo is also on the (same) network as your Arduino IDE, you can rewrite the loader script to use SSH to download the sketch and start it.

                 

                This thread Partial solution for Arduino w/eglibc-based Galileo image which is in a slightly different context of making an eglibc Linux image work with the Arduino, contains the (Linux) version of the SSH download script.

                 

                Making this work for Windows is left as an exercise for the reader, but since it also uses an /sh shell, this should be trivial.

                 

                (And agree with your general point: the Linux image is pretty stable, albeit with some non-working parts in the standard Intel image. The Arduino integration could best be described as "unfinished")