can't boot from eMMC; can't flash eMMC

The BBB that I was working on 2-3 weeks ago seemingly died. All attempts to boot it ended with various unusual led patterns, e.g. all 4 on for maybe a minute, then off, then all 4 on, and so on … or, alternatively, led2 on permanently, or, alternatively, none at all. I tried reflashing it with one of the Jessie console flasher images, which appeared to flash successfully but after removing the sd card it failed to complete booting. I used beaglebone-black-make-microSD-flasher-from-eMMC.sh to make a flasher image from a brand-new BBB, and again, flashing seemed to go well but it still wouldn’t boot.

I was about to toss it in the trash, but today I realized that it actually would boot from an ordinary sd card image (bone-debian-8.3-lxqt-4gb-armhf-2016-01-24-4gb.img), and seems to function normally that way. So I edited /boot/uEnv.txt to make it a flasher, and tried to flash that image, but after about 10 minutes it stopped with all 4 leds flashing together. So I hooked it up to my pc with a usb-to-serial adapter and watched as I tried to flash that filesystem to the eMMC again. Twice. Both times it failed to complete.

The first time it falied almost immediately after it started writing to the eMMC:
rsync: [sender] write error: Broken pipe (32)
rsync error: error in socket IO (code 10) at io.c(820) [sender=3.1.1]
writing to [/dev/mmcblk1] failed…

The second time it wrote for about 5 minutes before quitting again with the same error message:
rsync: [sender] write error: Broken pipe (32)
rsync error: error in socket IO (code 10) at io.c(820) [sender=3.1.1]
writing to [/dev/mmcblk1] failed…

although this time there was a lot more error and warning messages (not very meaningful to me but maybe informative to you experts). I will attach the full output that I got in my screen as flash_emmc.log.2.

I obviously don’t know what caused this problem, although maybe it’s worth mentioning that

  1. for a day or 2 before it stopped booting from the emmc, I noted (even mentioned in one of my posts here) that I was seeing a surprising amount of activity on led2. At the time I thought that was caused by 1 or more of the kernels I was trying out, but maybe it was just an early warning that something was getting ready to fail.

  2. the last thing that I was doing before it stopped working was configuring a mini-wifi adapter (adafruit product #814). (Prior to that I had been working with a ethernet cable.) I didn’t suspect the wifi adapter at the time but a few days later, while I was using that adapter connected to a Raspberry Pi, the Pi started acting flaky (cursor movement in the terminal lagging for a few seconds and then jumping suddenly) so I stopped using that adapter and the Pi has seemed normal, with a different wifi adapter, since then.

  3. I did, once or twice, pull the power plug out without shutting down properly when my wifi failed to connect – at the time I was unaware that I should have hit the power button first. Maybe that damaged the eMMC? (Although that was after the excessively-flashing led2 mentioned above.)

Sorry if this is too much information. I just thought it might be useful to somebody sometime.

Anyway, do you think there’s any hope for reviving the eMMC on this BBB or should I just be happy that it works from the sd card?

flash_emmc.log.2 (31.5 KB)

I think I should trash this BBB. Tonight while installing packages with apt-get there were a few errors while decompressing downloaded packages. This was fixable, but still … generally shouldn’t happen. Also, while building libvpx from sources there were two internal compiler errors. The first one said just

: internal compiler error: Segmentation fault

The next one said:

vp8/encoder/encodemb.c: In function ‘optimize_b.constprop’:
vp8/encoder/encodemb.c:412:1: internal compiler error: Bus error
}
^
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.9/README.Bugs> for instructions.
The bug is not reproducible, so it is likely a hardware or OS problem.
Makefile:152: recipe for target ‘vp8/encoder/encodemb.c.o’ failed
make[1]: *** [vp8/encoder/encodemb.c.o] Error 1
Makefile:17: recipe for target ‘.DEFAULT’ failed
make: *** [.DEFAULT] Error 2

So it looks like there is more wrong with this BBB besides the eMMC.