14 Replies Latest reply on Jun 22, 2016 1:53 PM by FGT

    Web server - eglibc

    FGT

      Hi,

       

      I'm using the web server I posted some time ago using port 8080 instead of 80 (attached).

       

      The server works as expected when uploaded from Arduino IDE, but it is not working at all when rebooting Intel Galileo (with the same SD card, of course). More specifically, it seems to be that the fixed IP set by the sketch is not working, because the standard HTTP server (replying at port 80) in the same eglibc based image is also not responding when the Galileo is rebooted. I'm using Gaileo, not Galileo Gen2.

       

      Do you know any way of solving beyond using the uclibc based yocto image?

       

      TIA,

       

      Fernando.

        • 1. Re: Web server - eglibc
          Intel Corporation
          This message was posted on behalf of Intel Corporation

          Hi,

          Is the sketch running after you reboot? There’s a guide that works to make the eglibc image have the permanent sketch feature enabled. Look at https://software.intel.com/en-us/get-started-galileo-linux-step1 . I noticed in your code that you’re assigning the IP address through the system command. Are you sure the interface is enabled? Before rebooting, when the sketch is working properly use cat /sys/class/net/ enp0s20f6/operstate to check the status of the interface and check its status again after rebooting.

          Sergio
           

          1 of 1 people found this helpful
          • 2. Re: Web server - eglibc
            FGT

            Hi Sergio,

            Is the sketch running after you reboot?

             

            I'm sure the sketch is not working as should be, at least, I don't know if the process sketch.elf is actually running, I didn't check because I expected it to work as in the case it is loaded from the IDE. I'll take a look and post what I find.

            There’s a guide that works to make the eglibc image have the permanent sketch feature enabled. Look at https://software.intel.com/en-us/get-started-galileo-linux-step1 .

            Interesting/funny... the yocto image is expected to be used for sketch persistency... I wonder why that behavior would not enabled by default... or I'm missing something... anyhow, I created the SD card following those steps (those are the only ones I know) for Windows (IoT - Step 1: Make a bootable micro SD card | Intel® Software ), since I'm developing under Windows. There is nothing specific in those guides "to make the eglibc image have the permanent sketch feature enabled"... Looking for "sketch" and "persist" in that page, the only paragraph containing those words is

             

            In addition, sketches that you upload to the Intel® Galileo board are erased when the board is powered down. To be able to resume the sketch even after powering down your board, you must boot from a micro SD card.

            so I think there is nothing to do... or again I'm missing something...

            I noticed in your code that you’re assigning the IP address through the system command. Are you sure the interface is enabled? Before rebooting, when the sketch is working properly use cat /sys/class/net/ enp0s20f6/operstate to check the status of the interface and check its status again after rebooting.

            Again this is unexpected... The interface is enabled and working as expected when I load the sketch as well as the complete system is working as expected, actually, I wonder why the interface would be disabled after reboot... nothing is programmed to do so... Anyhow (again) I'll check pre- and post- booting (after loading the sketch, of course).

             

            Thank you again,

             

            Fernando.

            • 3. Re: Web server - eglibc
              FGT

              Hi again,

               

              I attach the sequence of screenshots where it can be seen that the sketch is not loaded after power off - power on.

               

              Fernando.

              1 of 1 people found this helpful
              • 4. Re: Web server - eglibc
                Intel Corporation
                This message was posted on behalf of Intel Corporation

                Thank you for attaching the document. Yes, it seems like the Galileo loses the IP each time it reboots. It seems as if it’s getting a DHCP address and ignoring the sketch system command. Can you try to set the IP address of the sketch as a static IP?

                To configure the static IP, first use connmanctl to enter connmanctl mode. Now, find out the name assigned to your ethernet cable with services and copy the output received.
                Now, assign the static IP with
                config <service> --ipv4 manual <ip address> <netmask> <gateway>.

                When assigning an IP address, make sure to use an address that doesn’t conflict with the addresses leased by the DHCP server.

                Let us know your results.

                Sergio
                 

                1 of 1 people found this helpful
                • 5. Re: Web server - eglibc
                  FGT

                  Hi Sergio,

                   

                  Yes, it seems like the Galileo loses the IP each time it reboots. It seems as if it’s getting a DHCP address and ignoring the sketch system command.

                  I think the worst problem is that the sketch is not running at all... I'll try your suggestion and report back.

                   

                  Fernando.

                  • 6. Re: Web server - eglibc
                    FGT

                    Hi,

                     

                    This is becoming disappointing... the sketch now works but I don't know why!

                     

                    It seems to be that the whole system is unstable... I'm pretty sure the problem will suddenly reappear as it has "disappeared"...

                     

                    I attach the sequence as well as some further experiments.

                     

                    Fernando.

                    1 of 1 people found this helpful
                    • 7. Re: Web server - eglibc
                      Intel Corporation
                      This message was posted on behalf of Intel Corporation

                      Thank you for providing the steps you’ve followed. The first scenario you describe is indeed unusual. Just typing connmanctl without any arguments or any additional commands in the connmactl prompt shouldn’t change anything.

                      As for the reset/reboot differences, it looks like clloader isn’t recognizing the reset because the board fails to load the sketck.elf. In the reboot, on the other hand works properly. I looked in the /opt/cln/galileo/launcher.sh file to see if there was some information. Take a look at the galileo-target.service and see if it behaves differently using reset and reboot.

                      Sergio
                       

                      • 8. Re: Web server - eglibc
                        FGT

                        Intel Corporation wrote:

                         

                        Thank you for providing the steps you’ve followed. The first scenario you describe is indeed unusual. Just typing connmanctl without any arguments or any additional commands in the connmactl prompt shouldn’t change anything.

                        As for the reset/reboot differences, it looks like clloader isn’t recognizing the reset because the board fails to load the sketck.elf. In the reboot, on the other hand works properly. I looked in the /opt/cln/galileo/launcher.sh file to see if there was some information. Take a look at the galileo-target.service and see if it behaves differently using reset and reboot.

                        Did you find any thing at the /opt/cln/galileo/launcher.sh file that may be useful here?

                         

                        What do I have to look at the the galileo-target.service and how?

                         

                        TIA,

                        Fernando.

                        • 9. Re: Web server - eglibc
                          Intel Corporation
                          This message was posted on behalf of Intel Corporation

                          We’ll run some tests and post our results soon.

                          Sergio
                           

                          • 10. Re: Web server - eglibc
                            FGT

                            Thank you very much

                             

                            Fernando.

                            • 11. Re: Web server - eglibc
                              Intel Corporation
                              This message was posted on behalf of Intel Corporation

                              Hi Fernando,

                              Thank you for your patience. The issue has been resolved in 3.5 release, it has been validated and is working. Try using the latest release found in https://software.intel.com/en-us/iot/hardware/galileo/downloads (iot-devkit-prof-dev-image-edison-20160606).

                              -Sergio
                               

                              • 12. Re: Web server - eglibc
                                FGT

                                Thank you very much, I'll try to experiment as soon as possible.

                                 

                                Hmmm...

                                 

                                is iot-devkit-prof-dev-image-edison-20160606 useful for Galileo (edison is in the name...)?

                                 

                                Fernando.

                                • 13. Re: Web server - eglibc
                                  Intel Corporation
                                  This message was posted on behalf of Intel Corporation

                                  I apologize, the correct name is iot-devkit-prof-dev-image-galileo-20160606 and can be downloaded directly from https://software.intel.com/galileo-image/latest .

                                  -Sergio
                                   

                                  1 of 1 people found this helpful
                                  • 14. Re: Web server - eglibc
                                    FGT

                                    Intel Corporation wrote:

                                     

                                    I apologize, the correct name is iot-devkit-prof-dev-image-galileo-20160606 and can be downloaded directly from https://software.intel.com/galileo-image/latest .

                                    -Sergio

                                    Yes, I downloaded the file

                                    iot-devkit-prof-dev-image-galileo-20160606.zip

                                    and the image itself is

                                    iot-devkit-prof-dev-image-galileo-20160606.direct

                                     

                                    The rest of the procedure is as described in the corresponding web page.

                                     

                                    And it works, at least for this simple example. Thanks for fixing the bug.

                                     

                                    Fernando.