14 Replies Latest reply on Feb 20, 2020 7:44 PM by tr0liver

    BBB s2/ "user boot" button not working on element14 board?


      I have several BBBs from circuitio and the standard procedure is to load an emmc flasher via SD card and power the board on while holding the S2 aka "user boot" button. Actually with the circutio boards the S2 button is usually optional because the default install checks to see if there is an SD card to boot from automatically. I flash every board I get before doing anything with it.


      I just got four revision C BBBs from element14  and I cannot flash them at all. If I hold down the S2 button while applying power, the single power LED comes on but nothing else happens no matter how long I hold it down. I read on another post that someone had success with the S3/Power button but that does not work for me. If the board boots at all it boots from the emmc. Nothing I can do will make the board boot from the SD card and flash itself.


      Has anyone else run into this? Is the S2 button working on other element14 boards?


      Thanks, -K


      NOTE: See below in this thread about the am335x-boneblack.dtb file on your SD card. The short answer is that BBB hardware expects files with certain names in certain places on the SD card. If you are booting a pre-made image for your board it will _just_ work but if you are making your own image you need to make sure these files are in the right place or your board will not boot off the SD card. It has nothing to do with the S2 button.

        • Re: BBB s2/ "user boot" button not working on element14 board?

          Do you have external hardware connected to the pins while performing this action? From memory the pins that specify boot mode are connected to some of the pins on the BBB connectors, so this may be causing an impact maybe?

          Usually I just hold down S2 for a few seconds after the LED turns on, and then just release S2 and let it do its thing. Maybe worth monitoring the serial port to see what is going on.

          I've not tried this with a rev C, but I didn't think anything was different with regards to this procedure (and it is still the same procedure on the beaglebone website).

            • Re: BBB s2/ "user boot" button not working on element14 board?

              Good idea about the external hardware but the behavior is the same without anything attached except 5V power. I tried exactly what you suggested about releasing S2 quickly but when the power is connected and S2 is down the system will not boot even if it is released or if the reset button is pushed. The single power LED remains on but no boot action. Only a long press on the power button or a power cycle will cause it to do anything. As far as I can tell this only affects the Rev.C BBBs from element14. I have not tried rev. C boards from other suppliers but I have the same result with two different boards from E14.


              It's worrisome because I don't think I have any way to flash or recover the system if I can't boot from an SD card.

                • Re: BBB s2/ "user boot" button not working on element14 board?

                  Have you tried your procedure on earlier revision BBBs?

                  All I can suggest is checking your image is on correctly on the SD card, and observing the serial console output. If you wanted to be 100% sure, then it may be possible to

                  confirm from the revision C and earlier schematics, that the boot pins are connected the same way. The schematics are here: http://elinux.org/Beagleboard:BeagleBoneBlack#LATEST_PRODUCTION_FILES_.28C.29


                  I'd be _extremely_ surprised if this is really a BBB issue, because Rev C has been around for many months now, and someone out there would have tried a

                  different build/image on it. I don't have a Rev C to try this on.

                  So, unfortunately I don't have an answer, but I strongly suggest (a) checking your procedure on Rev A or B, and (b) confirming you really do have a correct image on the SD card,

                  copied across correctly (as you probably know, there is a procedure to do that - here: http://beagleboard.org/getting-started )


                  EDIT: I just reread your post, and you state that the procedure works on other Rev C boards? That's extremely odd : ( I can't see why certain boards could behave different w.r.t. using S2 switch.

                  It is understandable if they behave different if S2 is not used, because the images already on them could be different I think. Is it possible to check the default image on them too?

                    • Re: BBB s2/ "user boot" button not working on element14 board?

                      Thanks for the ideas, I did try a rev B board with the same results but unlike the rev C board it does boot my system from an SD card automatically.


                      Hooking up a serial monitor and reading up on the boot process showed me what was going on, here is what I found in case it's helpful to others. Naturally there was nothing wrong with the BBB hardware.


                      When you hold down S2 and apply power, if you only get the single power LED and no boot action it's likely that your SD card is not formatted to boot this way. For the user LEDs to turn on it must read certain files off of the card, without them nothing appears on the serial console and no user LEDs light up. Make sure you have a recent image on the card and that it was written correctly.


                      I have been using save-emmc from elinux: http://elinux.org/Talk:BeagleBone_Black_Extracting_eMMC_contents


                      On a rev. A or B board it boots automatically when the SD card is inserted without needing to press S2 (in fact, it does not boot when I press S2). From what I understand the way that works is this:

                      1. read U-Boot.img from the eMMC, which by default tries to...

                      2. read uEnv.txt from the SD card, which can tell U-boot to...

                      3. boot from an image on the SD card instead of booting from the eMMC


                      Using a serial console I see that the rev. B board prints this message as it loads the device tree configuration:

                      reading /am335x-boneblack.dtb

                      24884 bytes read in 11 ms (2.2 MiB/s)


                      ..and the rev C board says:

                      reading /dtbs/am335x-boneblack.dtb

                      ** Unable to read file /dtbs/am335x-boneblack.dtb **


                      and fails over to booting from the eMMC instead. Presumably U-Boot.img on the rev. C board is different and is adding the "/dtbs/" to the search path. The simple fix was to mount the SD card, create a directory names 'dtbs' and copy the am335x-boneblack.dtb image into it. After that it boots automatically with any revision board. Presumably the U-boot image on the eMMC could also be changed but that might break something else so this simple fix works for me.


                      Thanks again for your help!

                        • Re: BBB s2/ "user boot" button not working on element14 board?

                          Not related to the Element14 boards but I just got a BeagleBoneGreen from Seed Studio and ran into the same problem. Not surprisingly, the serial console shows:


                          reading /dtbs/am335x-bonegreen.dtb

                          ** Unable to read file /dtbs/am335x-bonegreen.dtb **


                          A diff shows that there is no difference between am335x-bonegreen.dtb and am335x-bonegreen.dtb so I simply copied  am335x-boneblack.dtb to am335x-bonegreen.dtb  on my boot SDcard and it boots normally. I should note that the S2 button does not work on the BBG any more than it works on the E14 BBB. It probably does work if you have the special BBG image on the card but if you want to boot a custom image you will need to copy the DTB file.

                  • Re: BBB s2/ "user boot" button not working on element14 board?

                    These BBB's don't always follow the rules.  I have an A6 version and a RevC board.  The A6 was acting a bit odd, couldn't get to a console.  I put the emmc flasher 2013.09.04 image on an SD card then held the boot button and powered up the.  It looked like it was flashing the emmc, took long enough.  When done I removed the SD card, powered on and it was "bricked".  I downloaded the image that is on the REV C board, put it on the SD card.  It booted from the SD card and ran fine, the exact same version as the Rev C board.  Then I downloaded the flasher version of the same image, put it on another SD card, popped that one into the A6 board powered on and it jumped right into the flasher, powered itself off when finished.  I removed the SD card and I now have two boards with the same software.  I never pressed the boot button on the second image, got no idea how it knew to flash the emmc.