Rpi 2 is not booting image

Hi,

Just got 2 new Raspberry Pi 2s unpacked and flashed the image of our application to SD cards and oops - none of that 2 are booting resin. Instead they flash green LED - 4 long blinks then 4 short blinks, small pause and then again.
At the same time both Rpis are booting from the same SD cards if I flash them with raspbian jessie lite from raspberry website. What can it be?
Both boards are Raspberry Pi 2 Model B V1.2

Best regards,
Victor Belov

Hey, looking at the error codes from this wiki post, it seems a rather general “cannot boot” error, so might need some more testing/brainstorming what’s going on.

What software you use to burn the SD cards? Can you give etcher a try, if not that? It verifies the written image as well.

Also, now you can download different versions of the host OS, 1.22 being recommended, but previous ones are available too. Which one you downloaded? Can you maybe try downloading another recent version and try running from that? Trying to narrow down what might cause the boot error.

I tried both dd and etcher and I tried 1.19.0 and 1.22.0 images. I tried 2 different micro SD cards (SanDisk 8G and Kingston 4G). The result is always the same.

Do you have any other RPi2 with that application that you have successfully provisioned? If you have any and they are at hand, can switch the SD card between them, to see if they boot or not.

If you don’t have any other working board, can you check that the application you’ve created is for Raspberry Pi 2, and not for the other variants?

We have 10 of them successfully working in the field but unfortunately I can’t get my hands on them cause they are on the roofs :slight_smile:
It’s not an issue with RPI itself or with SD card, I think, cause as I mentioned, both SD cards work fine in both RPIs if I flash them with Raspbian image.
And yes, application is definitely created for RPI 2, cause we have 10 of them working for almost a year already.
Can you take the image of our application and try it on your board?

hey @belovictor, I’ve downloaded the image for your application, and connected a RPi2 over ethernet to the network, seems like it was provisioned just fine, it’s just downloading now (withered-waterfall). Just deleta that device from your application, I leave it there for the moment for cross-checking.

I’m guessing there’s some kind of other issue, and my bet is still on application and hardware mismatch (trying to provision a device that is not the correct hardware, e.g. first I accidentally provisioned it on a RPi Model B 1.2, not on an RPi 2, and that of course did not work).

Well. I’ve downloaded 3 versions of resin OS from resinos.io - RPi 1, RPi 2 and RPi 3. None of them are able to boot on my Raspberry with the same symptoms. What is written on Raspberry Pi 2 you used for the test?
Here is a picture of mine which says Raspberry Pi 2 Model B v1.2. Did you use v1.2?


I’ve connected it to HDMI and while blinking the LED it shows a rainbow square on the screen.
Can it be that resin OS is not compatible with this particular version of RPi 2? Cause again, it boots rasbian OS fine…

Interesting point, @belovictor, I was looking through our stash of Raspberry Pi 2 boards here, and all that I found was v1.1 version. Looked up the difference between v1.1 and your v1.2, and looks like the v1.2 uses the newer vesion of the SOC, the same as Raspberry Pi 3. It came out recently according to the wiki linked above, though I couldn’t find any clear release notes from the Raspberry Pi foundation about the hardware changes. Looks like it will require a software/kernel update to support the hardware setup of Raspberry Pi 2 v1.2, and we are checking it out with @andrei, the maintainer of the relevant code . In the meantime the v1.1 continues to work normally for sure.

I would probably recommend sourcing some v1.1 in the meantime.

Well, we already sourced 10 RPi 2 v1.2, so your suggestion is great, but I would prefer to make them working! :-)))

1 Like

Naturally, we’d like it as well. :slight_smile:
This is how hardware is, it’s really crucial to version everything, hardware revisions, software libraries, etc, otherwise such surprises happen unfortunately.

It’s not really clear for me why resin uses different images for different RPi versions while Raspbian support all boards with a single OS image?

The hardware capabilities of the different boards is somewhat different (e.g. onboard wifi or not), and resin itself needs to know what device it is running on. The core of it is the same, and actually it’s coming from the same meta-raspberrypi package. We are just checking out, why is it not working, would prefer not making any guesses before we’re tested it as well.

Do you have any idea on how long will it take to solve this issue?

@belovictor we are getting the new hardware variants now to duplicate the issue, should be able to tell from that point better.

@belovictor got the PRi2 v1.2 boards today, tested them out. Looks like that hardware needs an update of the binary blobs/bootloader (start_cd.elf in particular, by testing, but it might be others too).

The best way we think of is preparing a new release of resinOS for RaspberryPi with the latest bootloader. I’ve filed an issue with the maintainers, see it on Github, should be done by the middle of next week.

This seems to be the most reliable way, that also lets the system update tool work without hitch on these boards. The update tool checks whether any files are modified, and would stop the update for further investigation if there are changes.

How does this sound?

Sounds great! Are we at the middle of next week already? :slight_smile:

We are indeed, and I’m just testing the image now :wink:

Any chances to get it before the weekend?

Hey @belovictor , the latest host OS release, 1.24.1 adding support for Raspberry Pi 2 v1.2 has just been released to the staging server (here’s mentioned in the changelog). :tada:

At the moment it’s only on our staging service, as we are still running tests to see whether the overall system behaves fine, but if those tests pass, this version will be released in production early next week.

If you haven’t tried yet, staging is a replica of the main production resin.io service with the upcoming features and host OS images. To take it to a test drive, you can create a new application there, download the new 1.24.1 host OS version, git push your code to this application, and try it from there.

How does this sound? Close shave with the end of the week, though :wink:

hey, we’ve finished with the tests earlier today, and now the latest OS 1.24.1 version with RPi2 v1.2 support is available in production! (thanks, device team!)