beagleboard/pocketbeagle

Can't boot from SD card

Closed this issue · 6 comments

isso commented

I think my board is booting from the wrong mmc

I've downloaded the latest image from http://beagleboard.org/latest-images for pocketbeagle named Debian 9.3 2018-03-05 4GB SD IoT, then flashed the image to an 8gb sd card using etcher. The board refuses to boot after inserting the card and powering it.

Only the blue PWR led is on, and the octavo chip gets hot.

When I connected a serial monitor to UART0, I found that it is trying to boot from MMC1 not MMC0 (the SD card)
screenshot 2018-04-18 18 42 08

@beagleboard/kernel-contributors Is this a case of a bad board or, more likely in my view, a bad SD card?

@isso can you try a different SD card?

isso commented

@jadonk I've tried different images and SD cards with the same result.

Could it be a problem with the EEPROM?

isso commented

I think I have some new interesting findings. I got my hands on a different pocketbeagle. I tried the same image and sd card I used before and it booted successfully on the new board.

I then downloaded the newest image from your website and repeated the tests. The new image (with a newer uboot) boots successfully on the new board but on the old one I got different log messages than the ones mentioned in the original post (suggesting that there may be some changes in uboot that tries to fix the issue)

Old image with old board logs:

U-Boot SPL 2018.01-00002-ge9ff418fb8 (Feb 20 2018 - 20:14:57)
Trying to boot from MMC1

New image with old board logs:

U-Boot SPL 2018.03-00002-gac9cce7c6a (Apr 05 2018 - 13:07:46 -0500)
Trying to boot from MMC1
Loading Environment from EXT4... ** File not found /boot/uboot.env **

** Unable to read "/boot/uboot.env" from mmc0:1 **
Failed (-5)


U-Boot 2018.03-00002-gac9cce7c6a (Apr 05 2018 - 13:07:46 -0500), Build: jenkins-github_Bootloader-Builder-47

CPU  : AM335X-GP rev 2.1
I2C:   ready
DRAM:  512 MiB
No match for driver 'omap_hsmmc'
No match for driver 'omap_hsmmc'
Some drivers were not found
Reset Source: Power-on reset has occurred.
RTC 32KCLK Source: Internal.
MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
Loading Environment from EXT4... ** File not found /boot/uboot.env **

** Unable to read "/boot/uboot.env" from mmc0:1 **
Failed (-5)
Model: BeagleBoard.org PocketBeagle
<ethaddr> not set. Validating first E-fuse MAC
Net:   usb_ether
Press SPACE to abort autoboot in 2 seconds
board_name=[A335PBGL] ...
switch to partitions #0, OK
mmc0 is current device
SD/MMC found on device 0
** Bad device 0:2 0x82000000 **
** Bad device 0:2 0x82000000 **
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
gpio: pin 56 (gpio 56) value is 0
gpio: pin 55 (gpio 55) value is 0
gpio: pin 54 (gpio 54) value is 0
gpio: pin 53 (gpio 53) value is 1
switch to partitions #0, OK
mmc0 is current device
gpio: pin 54 (gpio 54) value is 1
Checking for: /uEnv.txt ...
Checking for: /boot.scr ...
Checking for: /boot/boot.scr ...
Checking for: /boot/uEnv.txt ...
gpio: pin 55 (gpio 55) value is 1
2086 bytes read in 44 ms (45.9 KiB/s)
Loaded environment from /boot/uEnv.txt
Checking if uname_r is set in /boot/uEnv.txt...
gpio: pin 56 (gpio 56) value is 1
Running uname_boot ...
loading /boot/vmlinuz-4.14.49-ti-r54 ...
10453504 bytes read in 1798 ms (5.5 MiB/s)
loading /boot/dtbs/4.14.49-ti-r54/am335x-pocketbeagle.dtb ...
124183 bytes read in 98 ms (1.2 MiB/s)
uboot_overlays: [fdt_buffer=0x60000] ...
uboot_overlays: loading /lib/firmware/AM335X-PRU-RPROC-4-14-TI-00A0.dtbo ...
3513 bytes read in 333 ms (9.8 KiB/s)
loading /boot/initrd.img-4.14.49-ti-r54 ...
4034122 bytes read in 721 ms (5.3 MiB/s)
debug: [console=ttyO0,115200n8 root=/dev/mmcblk0p1 ro rootfstype=ext4 rootwait coherent_pool=1M net.ifnames=0 quiet] ...
debug: [bootz 0x82000000 0x88080000:3d8e4a 88000000] ...
## Flattened Device Tree blob at 88000000
   Booting using the fdt blob at 0x88000000
   Loading Ramdisk to 8fc27000, end 8ffffe4a ... OK
   reserving fdt memory region: addr=88000000 size=7f000
   Loading Device Tree to 8fba5000, end 8fc26fff ... OK

Starting kernel ...

[    0.001524] timer_probe: no matching timers found
[    0.614091] dmi: Firmware registration failed.
[    1.112856] wkup_m3_ipc 44e11324.wkup_m3_ipc: could not get rproc handle
[    1.303751] omap_voltage_late_init: Voltage driver support not added
[    1.359062] mmcblk0: error -84 transferring data, sector 0, nr 8, cmd response 0x900, card status 0xb00
[    1.518813] mmcblk0: error -84 transferring data, sector 0, nr 8, cmd response 0x900, card status 0xb00
[    1.562026] mmcblk0: error -84 transferring data, sector 0, nr 8, cmd response 0x900, card status 0x0
[    1.578569] print_req_error: I/O error, dev mmcblk0, sector 0
[    1.616016] mmcblk0: error -84 transferring data, sector 1, nr 7, cmd response 0x900, card status 0x0
[    1.632054] print_req_error: I/O error, dev mmcblk0, sector 1
[    1.669118] mmcblk0: error -84 transferring data, sector 2, nr 6, cmd response 0x900, card status 0x0
[    1.686617] print_req_error: I/O error, dev mmcblk0, sector 2
[    1.723291] mmcblk0: error -84 transferring data, sector 3, nr 5, cmd response 0x900, card status 0x0
[    1.750693] print_req_error: I/O error, dev mmcblk0, sector 3
[    1.787921] mmcblk0: error -84 transferring data, sector 4, nr 4, cmd response 0x900, card status 0x0
[    1.806583] print_req_error: I/O error, dev mmcblk0, sector 4
[    1.843473] mmcblk0: error -84 transferring data, sector 5, nr 3, cmd response 0x900, card status 0x0
[    1.862678] print_req_error: I/O error, dev mmcblk0, sector 5
[    1.899398] mmcblk0: error -84 transferring data, sector 6, nr 2, cmd response 0x900, card status 0x0
[    1.918672] print_req_error: I/O error, dev mmcblk0, sector 6
[    1.955299] mmcblk0: error -84 transferring data, sector 7, nr 1, cmd response 0x900, card status 0x0
[    1.974673] print_req_error: I/O error, dev mmcblk0, sector 7
[    1.986551] Buffer I/O error on dev mmcblk0, logical block 0, async page read
[    2.023303] musb-hdrc musb-hdrc.1: VBUS_ERROR in a_wait_vrise (80, <SessEnd), retry #3, port1 0008010c
[    2.032961] mmcblk0: error -84 transferring data, sector 0, nr 8, cmd response 0x900, card status 0xb00
[    2.075217] mmcblk0: error -84 transferring data, sector 0, nr 8, cmd response 0x900, card status 0x0
[    2.094689] print_req_error: I/O error, dev mmcblk0, sector 0
[    2.131329] mmcblk0: error -84 transferring data, sector 1, nr 7, cmd response 0x900, card status 0x0
[    2.150664] print_req_error: I/O error, dev mmcblk0, sector 1
[    2.187263] mmcblk0: error -84 transferring data, sector 2, nr 6, cmd response 0x900, card status 0x0
[    2.231370] mmcblk0: error -84 transferring data, sector 3, nr 5, cmd response 0x900, card status 0x0
[    2.275344] mmcblk0: error -84 transferring data, sector 4, nr 4, cmd response 0x900, card status 0x0
[    2.319414] mmcblk0: error -84 transferring data, sector 5, nr 3, cmd response 0x900, card status 0x0
[    2.339142] mmcblk0: error -84 transferring data, sector 6, nr 2, cmd response 0x900, card status 0x0
[    2.359200] mmcblk0: error -84 transferring data, sector 7, nr 1, cmd response 0x900, card status 0x0
[    2.378662] Buffer I/O error on dev mmcblk0, logical block 0, async page read
[    2.394615] mmcblk0: error -84 transferring data, sector 0, nr 8, cmd response 0x900, card status 0xb00
[    2.435310] mmcblk0: error -84 transferring data, sector 0, nr 8, cmd response 0x900, card status 0x0
[    2.479338] mmcblk0: error -84 transferring data, sector 1, nr 7, cmd response 0x900, card status 0x0
[    2.499249] mmcblk0: error -84 transferring data, sector 2, nr 6, cmd response 0x900, card status 0x0
[    2.543368] mmcblk0: error -84 transferring data, sector 3, nr 5, cmd response 0x900, card status 0x0
[    2.587382] mmcblk0: error -84 transferring data, sector 4, nr 4, cmd response 0x900, card status 0x0
[    2.607211] mmcblk0: error -84 transferring data, sector 5, nr 3, cmd response 0x900, card status 0x0
[    2.651416] mmcblk0: error -84 transferring data, sector 6, nr 2, cmd response 0x900, card status 0x0
[    2.695450] mmcblk0: error -84 transferring data, sector 7, nr 1, cmd response 0x900, card status 0x0
[    2.714619] Buffer I/O error on dev mmcblk0, logical block 0, async page read
[    2.765796] mmcblk0: error -84 transferring data, sector 15523712, nr 8, cmd response 0x900, card status 0xb00
[    2.800593] mmcblk0: error -84 transferring data, sector 15523712, nr 8, cmd response 0x900, card status 0x0
[    2.819010] mmcblk0: error -84 transferring data, sector 15523713, nr 7, cmd response 0x900, card status 0x0
[    2.863316] mmcblk0: error -84 transferring data, sector 15523714, nr 6, cmd response 0x900, card status 0x0
[    2.917621] mmcblk0: error -84 transferring data, sector 15523715, nr 5, cmd response 0x900, card status 0x0
[    2.963446] mmcblk0: error -84 transferring data, sector 15523716, nr 4, cmd response 0x900, card status 0x0
[    3.007278] mmcblk0: error -84 transferring data, sector 15523717, nr 3, cmd response 0x900, card status 0x0
[    3.051434] mmcblk0: error -84 transferring data, sector 15523718, nr 2, cmd response 0x900, card status 0x0
[    3.095213] mmcblk0: error -84 transferring data, sector 15523719, nr 1, cmd response 0x900, card status 0x0
[    3.151653] mmcblk0: error -84 transferring data, sector 15523712, nr 8, cmd response 0x900, card status 0xb00
[    3.193976] mmcblk0: error -84 transferring data, sector 15523712, nr 8, cmd response 0x900, card status 0x0
[    3.237420] mmcblk0: error -84 transferring data, sector 15523713, nr 7, cmd response 0x900, card status 0x0
[    3.279890] mmcblk0: error -84 transferring data, sector 15523714, nr 6, cmd response 0x900, card status 0x0
[    3.299136] mmcblk0: error -84 transferring data, sector 15523715, nr 5, cmd response 0x900, card status 0x0
[    3.343302] mmcblk0: error -84 transferring data, sector 15523716, nr 4, cmd response 0x900, card status 0x0
[    3.387233] mmcblk0: error -84 transferring data, sector 15523717, nr 3, cmd response 0x900, card status 0x0
[    3.431109] mmcblk0: error -84 transferring data, sector 15523718, nr 2, cmd response 0x900, card status 0x0
[    3.475266] mmcblk0: error -84 transferring data, sector 15523719, nr 1, cmd response 0x900, card status 0x0
[    3.494561] Buffer I/O error on dev mmcblk0, logical block 1940464, async page read
[    4.127762] mmcblk0: error -84 transferring data, sector 15523712, nr 8, cmd response 0x900, card status 0xb00
[    4.171374] mmcblk0: error -84 transferring data, sector 15523712, nr 8, cmd response 0x900, card status 0x0
[    4.215714] mmcblk0: error -84 transferring data, sector 15523713, nr 7, cmd response 0x900, card status 0x0
[    4.259272] mmcblk0: error -84 transferring data, sector 15523714, nr 6, cmd response 0x900, card status 0x0
[    4.279219] mmcblk0: error -84 transferring data, sector 15523715, nr 5, cmd response 0x900, card status 0x0
[    4.323452] mmcblk0: error -84 transferring data, sector 15523716, nr 4, cmd response 0x900, card status 0x0
[    4.366849] mmcblk0: error -84 transferring data, sector 15523717, nr 3, cmd response 0x900, card status 0x0
[    4.411315] mmcblk0: error -84 transferring data, sector 15523718, nr 2, cmd response 0x900, card status 0x0
[    4.446153] mmcblk0: error -84 transferring data, sector 15523719, nr 1, cmd response 0x900, card status 0x0
[    4.467439] mmcblk0: error -84 transferring data, sector 15523712, nr 8, cmd response 0x900, card status 0xb00
[    4.511292] mmcblk0: error -84 transferring data, sector 15523712, nr 8, cmd response 0x900, card status 0x0
[    4.554617] mmcblk0: error -84 transferring data, sector 15523713, nr 7, cmd response 0x900, card status 0x0
[    4.599232] mmcblk0: error -84 transferring data, sector 15523714, nr 6, cmd response 0x900, card status 0x0
[    4.618350] mmcblk0: error -84 transferring data, sector 15523715, nr 5, cmd response 0x900, card status 0x0
[    4.662934] mmcblk0: error -84 transferring data, sector 15523716, nr 4, cmd response 0x900, card status 0x0
[    4.683024] mmcblk0: error -84 transferring data, sector 15523717, nr 3, cmd response 0x900, card status 0x0
[    4.703178] mmcblk0: error -84 transferring data, sector 15523718, nr 2, cmd response 0x900, card status 0x0
[    4.747663] mmcblk0: error -84 transferring data, sector 15523719, nr 1, cmd response 0x900, card status 0x0
[    4.757699] Buffer I/O error on dev mmcblk0, logical block 1940464, async page read
[   17.885502] mmcblk0: error -84 transferring data, sector 15523712, nr 8, cmd response 0x900, card status 0xb00
[   17.896216] mmcblk0: error -84 transferring data, sector 15523712, nr 8, cmd response 0x900, card status 0x0
[   17.906145] print_req_error: I/O error, dev mmcblk0, sector 15523712
[   17.913054] mmcblk0: error -84 transferring data, sector 15523713, nr 7, cmd response 0x900, card status 0x0
[   17.922959] print_req_error: I/O error, dev mmcblk0, sector 15523713
[   17.953853] mmcblk0: error -84 transferring data, sector 15523714, nr 6, cmd response 0x900, card status 0x0
[   17.963762] print_req_error: I/O error, dev mmcblk0, sector 15523714
[   17.994653] mmcblk0: error -84 transferring data, sector 15523715, nr 5, cmd response 0x900, card status 0x0
[   18.004555] print_req_error: I/O error, dev mmcblk0, sector 15523715
[   18.035620] mmcblk0: error -84 transferring data, sector 15523716, nr 4, cmd response 0x900, card status 0x0
[   18.045538] print_req_error: I/O error, dev mmcblk0, sector 15523716
[   18.076444] mmcblk0: error -84 transferring data, sector 15523717, nr 3, cmd response 0x900, card status 0x0
[   18.086351] print_req_error: I/O error, dev mmcblk0, sector 15523717
[   18.117241] mmcblk0: error -84 transferring data, sector 15523718, nr 2, cmd response 0x900, card status 0x0
[   18.127145] print_req_error: I/O error, dev mmcblk0, sector 15523718
[   18.158032] mmcblk0: error -84 transferring data, sector 15523719, nr 1, cmd response 0x900, card status 0x0
[   18.167933] print_req_error: I/O error, dev mmcblk0, sector 15523719
[   18.199110] mmcblk0: error -84 transferring data, sector 15523712, nr 8, cmd response 0x900, card status 0xb00
[   18.233710] mmcblk0: error -84 transferring data, sector 15523712, nr 8, cmd response 0x900, card status 0x0
[   18.243618] print_req_error: I/O error, dev mmcblk0, sector 15523712
[   18.274515] mmcblk0: error -84 transferring data, sector 15523713, nr 7, cmd response 0x900, card status 0x0
[   18.284419] print_req_error: I/O error, dev mmcblk0, sector 15523713
[   18.315311] mmcblk0: error -84 transferring data, sector 15523714, nr 6, cmd response 0x900, card status 0x0
[   18.349715] mmcblk0: error -84 transferring data, sector 15523715, nr 5, cmd response 0x900, card status 0x0
[   18.384095] mmcblk0: error -84 transferring data, sector 15523716, nr 4, cmd response 0x900, card status 0x0
[   18.418479] mmcblk0: error -84 transferring data, sector 15523717, nr 3, cmd response 0x900, card status 0x0
[   18.452862] mmcblk0: error -84 transferring data, sector 15523718, nr 2, cmd response 0x900, card status 0x0
[   18.487241] mmcblk0: error -84 transferring data, sector 15523719, nr 1, cmd response 0x900, card status 0x0
[   18.497151] Buffer I/O error on dev mmcblk0, logical block 1940464, async page read
Gave up waiting for root file system device.  Common problems:
 - Boot args (cat /proc/cmdline)
   - Check rootdelay= (did the system wait long enough?)
 - Missing modules (cat /proc/modules; ls /dev)
ALERT!  /dev/mmcblk0p1 does not exist.  Dropping to a shell!


BusyBox v1.22.1 (Debian 1:1.22.0-19+b3) built-in shell (ash)
Enter 'help' for a list of built-in commands.

(initramfs)

So to recap:

  • New board boots different versions of the official image successfully using different sd cards
  • Old board doesn't boot to the shell at all, but different image versions produces different logs.
  • The same sd card and image that boot on the new board doesn't boot on the the older one.
  • It is not an EEPROM issue as the newer uboot on the old board recognize the it as pocketbeagle successfully.

I think it is a hardware issue related to MMC0 bus as mentioned in the logs. but is it fixable?

Unclear if it can be fixed. Depends if the problem is in the SIP or on the board. We have a way to boot it via USB using node-beagle-boot.

https://schd.ws/hosted_files/elciotna18/42/netconsole.pdf
https://www.youtube.com/watch?v=9CxfKfjykz4

You can then login and do various tests on the MMC interface. You could probably change the device tree to make it SPI-mode.

Anyway, the above is mostly FYI on how we'd do any failure analysis. Maybe best to contact me via my e-mail address listed at bbb.io/about and we'll work with distributor and manufacturer to get you a replacement.

isso commented

Thanks Jason, thanks for the NetConsole stuff, I didn't know that existed!

I'll close the issue for now, will contact you if I need additional assistance.