[TEST] New Raspberry Pi SD card driver

I’ve been testing the updated sdhost driver and just experienced a case of write errors (?) to the disk resulting in the file system switching to read only mode - possibly the same thing that happened to me during the jenkins build except this time I was logged in via ssh already so I was able to gather some debug logs.

At the time it happened I was using dd to create large files on both / and /boot to test how our update system responds to low disk space - on the /boot partition I accidentally specified a size bigger than the available free space, although that may not have been a factor. Here is the log file:

http://paste.osmc.io/poxizizohu.sm

This is on my same samsung 32GB card which requires the cmd23quirk workaround to avoid hangs. (Eg the latest kernels that have removed cmd23 quirk by default cause random disk IO freezes on this card - I either have to use sdhost or bcm2835_mmc.mmc_debug=0x2000 in cmdline.txt to re-enable cmd23 quirk be able to use this card)

Were you overclocking? Can you paste complete dmesg log? Can you post dd command you ran?

Sorry to say I also need to report an issue. I am the person with the Lexar card earlier in the thread. Same card, new driver. Ran for approx. a day, fairly light usage. Keep in mind, this card wouldn’t last more then a few minutes with the old driver.
2 days ago, I went to watch the trailer of a movie and around 2 mins. into the trailer, the Pi 2 hung up. Hard. I couldn’t ssh into the Pi. I needed to do a power cycle.
Needless to say, no log…

I then edited config.txt and removed the sdhost section. It’s been running a few days now (and played the trailer) fine.

DBMandrake, you mention a cmd23 fix. Can you point me to more info? The hang up I experienced sounds suspiciously close…

ALLOW_CMD23 is set to 0 in the sdhost driver, and it’s not exported as a parameter, so changing it won’t be trivial for you (you’d need to recompile the driver).

S

Not overclocking at all - CPU and sdhost driver both at default speeds.

I didn’t save the whole dmesg unfortunately but I did scan right through it and didn’t see anything else relevant beyond what I posted.

The dd commands I had run were:

dd if=/dev/zero of=10GB bs=1M count=10240
dd if=/dev/zero of=8GB bs=1M count=8192
dd if=/dev/zero of=600MB bs=1M count=600
dd if=/dev/zero of=250MB bs=1M count=250
dd if=/dev/zero of=100MB bs=1M count=100
sudo dd if=/dev/zero of=/boot/300MB bs=1M count=300
sudo dd if=/dev/zero of=/boot/30MB bs=1M count=30

The first 5 were on the root file system and didn’t experience problems, the last two were on the boot partition, the first of which - 300MB was a typo that caused the partition to run right out of space as there was only 58MB free. This seemed to be when the errors occurred but it could have just been a coincidence.

I meant using it with the mmc driver not sdhost.

Did some testing with the latest sdhost and overclocking, here are my results using my Sony 16GB SR-160X:

sdhost dated 20150623:

Block Size 4k
Write 0.688477 Rewrite 0.853516 Read 4.07324 Reread 4.06738 Random Read 4.06348 Random Write 0.602539
Block Size 512k
Write 17.0781 Rewrite 14.2324 Read 22.1494 Reread 22.1484 Random Read 22.0586 Random Write 13.1963

same sdhost, but overclock_50=84:

Block Size 4k
Write 0.743164 Rewrite 0.850586 Read 4.38086 Reread 4.38379 Random Read 4.37793 Random Write 0.617188
Block Size 512k
Write 22.7031 Rewrite 18.376 Read 35.6572 Reread 35.6641 Random Read 35.4385 Random Write 12.0127

Stable so far.

Since this thread/software started before the Release version, is this driver now standard?

If not, any harm in performing the update in the initial post?

Thanks

(I finally ditched my Lexar card for a Samsung 64GB. Working well with RC)

This driver is not part of the standard kernel in the release version of OSMC at the moment.

The next kernel update should include the driver but it will most likely be disabled by default, but possible to enable just by editing config.txt for those that want to experiment with it.

Thanks DBMandrake, any harm in doing the initial post:

wget http://paste.osmc.io/raw/avutetufuf -O- | sudo sh

Or is it best to wait?

Cheers

Simple question… i have “installed” this driver about three month ago… after a lot of upgrade of main distro of osmc i need to re-apply this mod every time ?

The new sdcard has been included for quite a while, but is disabled by default. It will be enabled by default in an upcoming update.

For now you just have to add:
dtoverlay=sdhost

to config.txt to get the new driver.

Great suggestion…

EDIT
I have checked my config.txt… i alredy have this :slight_smile: