Best types of SD card for BeagleBone

I bought a couple of micro SD cards so that I could try installing
Debian on my BeagleBone, and the first refused to be repartitioned
(it was fine in a little USB SD card adapter, failed on the Bone itself)
and the second started throwing errors when I tried to add a new
package using apt-get (it had installed using Robert Nelson's
setup-sdcard.sh script quite correctly without error on the same
USB SD adapter).

The ones I bought were CTeam 4GB micro-SD cards, class 4. They were
what was available when I went to buy them.

I think the ones that are shipped with the Bone are Kingston, again
class 4, but I am not quite sure.

I seem to recall that someone said on this list that class 2 or 4 was
fine, but class 10 microSD cards did not work properly.

Which brands and types have people found to be most compatible and reliable?

David

Hi David,

I have been using a Class 10 4GB MicroSD card with the BeagleBone, and it has been working fine for me. It is a Transcend TS4GUSDHC10.

What are the errors that you are seeing?

Frank

When I log into the system, it says (amongst other things that scrolled
off the screen rather quickly):-

[ 40.126301] Buffer I/O error on device mmcblk0p2, logical block 967
[ 40.132893] lost page write due to I/O error on mmcblk0p2
[ 41.586452] mmcblk0: error -110 transferring data, sector 145464, nr 8,
cmd response 0x900, card status 0xc00
[ 41.597222] end_request: I/O error, dev mmcblk0, sector 145465
[ 41.603367] Buffer I/O error on device mmcblk0p2, logical block 1164
[ 41.610051] lost page write due to I/O error on mmcblk0p2
[ 42.034668] mmcblk0: error -110 transferring data, sector 4731880, nr 8,
cmd response 0x900, card status 0xc00
[ 42.045585] end_request: I/O error, dev mmcblk0, sector 4731881
[ 42.051820] Buffer I/O error on device mmcblk0p2, logical block 574466
[ 42.058686] lost page write due to I/O error on mmcblk0p2
[ 42.447969] mmcblk0: error -110 transferring data, sector 4731960, nr 16,
cmd response 0x900, card status 0xc00
[ 42.458944] end_request: I/O error, dev mmcblk0, sector 4731961
[ 42.465179] Buffer I/O error on device mmcblk0p2, logical block 574476
[ 42.472045] lost page write due to I/O error on mmcblk0p2
[ 42.477740] end_request: I/O error, dev mmcblk0, sector 4731968
[ 42.483969] Buffer I/O error on device mmcblk0p2, logical block 574477
[ 42.490834] lost page write due to I/O error on mmcblk0p2
[ 43.944161] mmcblk0: error -110 transferring data, sector 4732008, nr 16,
cmd response 0x900, card status 0xc00
[ 43.955118] end_request: I/O error, dev mmcblk0, sector 4732009
[ 43.961314] Buffer I/O error on device mmcblk0p2, logical block 574482
[ 43.968134] lost page write due to I/O error on mmcblk0p2
[ 43.973807] end_request: I/O error, dev mmcblk0, sector 4732016
[ 43.979996] Buffer I/O error on device mmcblk0p2, logical block 574483
[ 43.986815] lost page write due to I/O error on mmcblk0p2

David

The one that shipped with mine is a Kingston 4GB SDHC class 4. Newegg
and Amazon are selling them for $4.99.

I came across this benchmark test by steve sakoman when I was doing
some stuff with gumstix:
http://www.sakoman.com/OMAP/microsd-card-perfomance-test-results.html

Another good resource for test results of flash devices is the
Flashbench-results mailing list:
http://lists.linaro.org/pipermail/flashbench-results/

I have a pair of SanDisk 8GB microSD mobile ultra cards that work well
for me with the BeagleBone and Debian 6. My Flashbench results and
part number info for them:
http://lists.linaro.org/pipermail/flashbench-results/2011-December/000240.html

A quick script to do partitioning (and blow away everything and align
partitions to 8MiB bounds), assuming your SD card reader shows up as /
dev/sdX (it will prevent you from using /dev/sda since that's probably
your host hard disk ;):
#!/bin/sh
if [ ! "$1" = "/dev/sda" ] ; then
  DRIVE=$1
  if [ -b "$DRIVE" ] ; then
    dd if=/dev/zero of=$DRIVE bs=1024 count=1024
    SIZE=`fdisk -l $DRIVE | grep Disk | awk '{print $5}'`
    echo DISK SIZE - $SIZE bytes
    CYLINDERS=`echo $SIZE/128/32/512 | bc`
    echo CYLINDERS - $CYLINDERS
    {
    echo 4,32,0x0C,*
    echo 36,-
    } | sfdisk -D -H 128 -S 32 -C $CYLINDERS $DRIVE
    mkfs.vfat -F 32 -n "boot" ${DRIVE}1
    mke2fs -j -L "rootfs" ${DRIVE}2
  fi
fi

Hi All,

A fresh from the box BeagleBone is giving me this error in the SPL -

“Could not probe the EEPROM; something fundamentally wrong on the I2C bus”

followed later after the kernel boot by other I2C errors -

[ 1.140463] omap_i2c omap_i2c.1: controller timed out
[ 2.180318] omap_i2c omap_i2c.1: controller timed out
[ 3.220459] omap_i2c omap_i2c.1: controller timed out
[ 4.260318] omap_i2c omap_i2c.1: controller timed out

and an inability to talk to the PMIC via I2C

[ 4.311770] omap2_set_init_voltage: unable to get clk dpll1_ck
[ 4.317926] omap2_set_init_voltage: unable to set vdd_mpu_iva
[ 4.324037] omap2_set_init_voltage: unable to get clk l3_ick
[ 4.330003] omap2_set_init_voltage: unable to set vdd_core

Is this normal or do I have a hardware problem?

Thanks

Dave.R.

Some SD cards are slow to respond, I've seen this with other boards
and as well.

A patch such as [1] fixes it, but I use class 4 Kingston 4GB microSD
cards which work great and don't require the patch.

Regards,
Joel

[1]
http://cgit.openembedded.org/cgit.cgi/openembedded/tree/recipes/linux/linux-omap-2.6.39/sakoman/0024-omap-mmc-Adjust-dto-to-eliminate-timeout-errors.patch?h=org.openembedded.dev

That sounds like a good fix to get into the mainline kernel in some
form or other. But in the short term if Robert Nelson is following
this perhaps he could include it in his prebaked kernels?

David

Hi All,

A fresh from the box BeagleBone is giving me this error in the SPL -

“Could not probe the EEPROM; something fundamentally wrong on the I2C bus”

followed later after the kernel boot by other I2C errors -

[ 1.140463] omap_i2c omap_i2c.1: controller timed out
[ 2.180318] omap_i2c omap_i2c.1: controller timed out
[ 3.220459] omap_i2c omap_i2c.1: controller timed out
[ 4.260318] omap_i2c omap_i2c.1: controller timed out

and an inability to talk to the PMIC via I2C

[ 4.311770] omap2_set_init_voltage: unable to get clk dpll1_ck
[ 4.317926] omap2_set_init_voltage: unable to set vdd_mpu_iva
[ 4.324037] omap2_set_init_voltage: unable to get clk l3_ick
[ 4.330003] omap2_set_init_voltage: unable to set vdd_core

Is this normal or do I have a hardware problem?

Normal. The PMIC driver is not complete.

Thanks Jason,
However, I was more concerned over the “Could not probe the EEPROM…” SPL error, is that normal?

‘Kernel Panic’ due to ‘lost page write’

My original bootup SD Card for Beagleboard xM was working fine and wanted to keep a duplicate bootup SD Card. I faced similar problems for making a duplicate bootup SD Card with 4.25 image using a 4GB class 4 SD Card from Microdigit. Then I read this discussion and tried the same using a High Speed SanDisk Ultra 8GB and it is working fine now. So the problem could be because of the data rate issue.

Regards,
Abdul Anas.

hi all,
i am facing the problem with swissbit 4GB sd card, and it is class 10. But with kingstone 4GB sd card class 4 is working fine.why this Swissbit sd card is not working in beagleboard-xm?? please help me we want to use this standard swissbit sd card instead of kingstone sd card.

thanks in advance…