Ask / Submit
34

SailfishX : MicroSD-card not detected

asked 2017-10-12 10:29:37 +0300

this post is marked as community wiki

This post is a wiki. Anyone with karma >75 is welcome to improve it.

updated 2018-04-29 12:48:25 +0300

wosrediinanatour gravatar image

I have no luck getting my 32gb MicroSD - card detected by Xperia phone. Card works great on Jolla phone. Is the microSD-card support fully functional on Sailfish X or is this a bug ? I could not find this on known issues about Sailfish X. I have tried to insert it multiple times and made sure it is inserted the right way.

Does anyone have the same problem?

Update:

According to answers / comments below, Kingston's SD cards are not detected at all independent of file system and may be fixed by a kernel update(?).

If file system is not exFat (exFat is not supported) and the SD card isn't recognized, search for following error in dmesg:

mmc_sd_init_card() failure (err = -5)

edit retag flag offensive close delete

Comments

3

I have a 64 GB card, formatted with ext3 and it works great with SailfishX in the Xperia X. Just tested it by restoring the backup from my Jolla C.

Did the SD cardreader work under Android?

Does dmesg say anything when the SD is inserted?

Can you check the partitions with /sbin/fdisk -l /dev/mmcblk1 ?

Venty ( 2017-10-12 11:20:14 +0300 )edit

I got the same problem. The card worked fine on my Jolla1, it is ext2, ext3 or ext4 (can't remember), doesn't show as far as I can tell in lsblk and dmesg gived the following: https://imgur.com/a/0juk6

Edir ( 2017-10-12 14:13:35 +0300 )edit
4

Got same errors (mmc_sd_init_card() failure (error = -5)) as Edir from dmesg.

mhe ( 2017-10-12 14:20:48 +0300 )edit

I got the same error. But it will mostly work, if the SIM is not insert, so only SIM or SD card...

poddl ( 2017-10-12 15:39:42 +0300 )edit
3

On my SailfishX, if the sd card is inserted the phone does not boot but is stuck with text Sony on display.

artok ( 2017-10-12 19:56:50 +0300 )edit

9 Answers

Sort by » oldest newest most voted
7

answered 2017-10-14 16:14:51 +0300

Edir gravatar image

This is not a solution but might be a clue to coming up with one.

"mmc_sd_init_card() failure (error = -5)" shows up in dmesg. After some searching I found this link: https://askubuntu.com/questions/776459/sd-card-not-working-249-480884-mmc0-error-5-whilst-initialising-sd-card#837341 which says: "There is a kernel compatibility issue with some sd cards (mainly SDHC or SDXC)." (My card is a 32GB Sandisk Ultra SDHC)

But following the instructions wont solve anything as the Sailfish X kernel, as far as I can see, has no loose modules. It is all compiled into the kernel.

So in theory if you recompile the kernel with the change mentioned in the link you might get it to work.

But this is at this point only speculations. I hope this info helps someone.

edit flag offensive delete publish link more

Comments

I'm a bit worried about this. I'm going to buy a 256GB card, which is half the price of the device itself. Maybe I'll be able to recycle it when the Youyota arrives...

So, I tested the 128GB card (SanDisk Ultra) from my Jolla1. This card is BTRFS formatted. The Xperia booted flawlessly and recognized it as BTRFS-card, but did not mount it automatically.

So I wonder if that's a possible option how to do with unbootable combinations: formatting the card as btrfs and mount it later. Can anyone check this?

Robomike ( 2017-10-15 10:39:14 +0300 )edit

@Robomike SFOS X does not support BTRFS (it's missing the kernel modules) and in another thread here you can read that it's not easy to add this feature (because the current kernel don't allow modules). That is why your phone detects the card but can't mount it (until you reformat it with another FS). I don't think you suggestion would work since this does not look like an FS issue to me.

ghling ( 2017-10-15 12:28:55 +0300 )edit

@ghling Ah, thanks, missed that info. Sh*t, no BTRFS. The more I know about SailfishX, the more I love my Jolla 1. Some hope remains for the just ordered Samsung ProEvo Plus 256GB.....

Robomike ( 2017-10-15 13:07:50 +0300 )edit
3

KERNEL COMPATIBLITY seems very likely : On Talk Maemo Org, there's a user who consistently can access Samsung EVO+ 128GB under the up-to-date Android 7.1.1 Nougat before upgrade, and loses access after upgrade all devices to Sailfish X (which reuses older kernel - 3.10.84 - and firmware that the Sony's Android 6.0.1 Mashmallow uses).

  • his logs : after insertion detection, no card detection but instead only errors.
  • my logs : example of how a card detection should have looked.

Regarding BTRFS: currently UDF and F2FS are supported as flash-friendly (and in UDF's case - cross platform) filesystems. BTRFS and everything else could be recompiled (Sony releases the code of their kernels, and the binary firmware are kept separate).

DrYak ( 2017-10-16 12:06:25 +0300 )edit

If one wants to know if the 256GB ProEvo+ ("+", not "plus") is running: yes, after external formatting to Ext4. Seems okay at first glance.

Robomike ( 2017-10-18 11:43:12 +0300 )edit
4

answered 2017-10-16 12:44:05 +0300

fishandchips gravatar image

Had issues with Sandisk 200GB card. It was used on Android and could not be mounted by Xperia X even when formatting the card in settings. Apparently is was formatted with exFAT. Took it to a Linux pc, created a new ext4 filesystem on it. Worked. No boot issues.

edit flag offensive delete publish link more

Comments

This worked for me, also for a Sandisk 200GB card. Note, the official specifications describe as 200GB to be the maximum supported (see https://www.sonymobile.com/us/products/phones/xperia-x/#specifications).

NikosAlexandris ( 2017-10-16 23:28:44 +0300 )edit
1

It worked for me too !!! Thanks

campeon ( 2017-10-17 21:23:24 +0300 )edit

As far as I know there is no technical reason for a limit of 200GB in the MicroSDXC spec, which allows up to 2TB (that's probably a hard limit related to addressing). I guess Sony just tested the largest card available at the time they wrote that.

I haven't tried yet but I'm reasonably sure 256GB and larger cards will work as there is no technical difference between MicroSDXC cards with different capacities. If anybody tried a memory card larger than 200GB, please report.

wvh ( 2017-11-07 12:22:04 +0300 )edit
4

answered 2017-10-31 19:19:18 +0300

Mikko Suniala gravatar image

updated 2017-10-31 21:07:08 +0300

Jolla has recently published a help article about sd card support: https://jolla.zendesk.com/hc/en-us/articles/201997993

The only hardware limitation they mention is the maximum size that is supported: 32 GB. Otherwise the The only clear limitations are related to file systems. FAT32 and ext4 are supported but exFAT is not.

As far as I understand, said help article does not cover the known kernel problem related to some card models mentioned by @Edir. For example, my 16 GB Kingston SDHC seems to suffer from said problem.

edit flag offensive delete publish link more

Comments

Note that the same article mentions that you can use bigger SDXC cards if you format them to ext4 or FAT32 first. Worked for my 64GB card, and I think someone even reported 128GB.

Kao ( 2017-10-31 19:27:22 +0300 )edit
1

I guess I misinterpreted the article as saying only 32 GB cards are officially supported. Maybe they are just referring to file system limitations when they mention the 32 GB limit. All in all I found the article a bit hard to comprehend.

Mikko Suniala ( 2017-10-31 21:02:51 +0300 )edit
2

answered 2017-10-13 09:35:38 +0300

anig gravatar image

If it is formatted as exfat, which I believe is standard for large sd cards, then you need to install fuse-exfat. I installed this for open repos: https://openrepos.net/content/bloodyfoxy/fuse-exfat After reboot my sd-card was detected.

edit flag offensive delete publish link more

Comments

thank you, but this issue depends not on the format.

poddl ( 2017-10-13 11:22:00 +0300 )edit
1

I was unable to install the rpm package, it said failed :(

carmeloferso ( 2017-10-13 15:50:05 +0300 )edit

Same problem! Phone does not boot with memory card installed. Sony memory card 32GB If I insert it after start Sailfish find it but not able to mount it. Format to ext 4 dosen't seems to work in the phone. Have after that format it in an external PC to ext4 and it doesn't work anyway. Memorycard worked as it should before. Note! When I installed Sailfish I didn't have any SD-card installed.

JohanS ( 2017-10-13 22:47:02 +0300 )edit
1

While fuse-exfat does work most of the time, the phone will randomly stop being able to read it, and Storage reports it having a negative capacity. In my experience, the only way to get a successful re-read is to pop it out and re-insert till it is again recognised in the Storage setting.

I re-formatted my 128 GB SD card with F2FS, and I haven't noticed any of the random dismounting. Unfortunately, the App-->Camera does not allow me to use it as a storage location now even though it recognises it as ready and even shows the remaining capacity. Frustrating.

sunburnedpenguin ( 2017-10-31 20:50:06 +0300 )edit
2

answered 2017-10-14 20:06:50 +0300

jcoder gravatar image

updated 2017-10-14 20:07:31 +0300

I've had the same problem with a 16GB SDHC Card (Intenso, formatted ext4 and exFat) that worked fine with Jolla 1, C and different other Devices.

XPeria kept stuck on the boot screen.

After replacing it with a brandnew SanDisk 32GB card SFOSX booted and the card was detected.

Don't know if XPeria had a problem with the Intenso-card itself or if it requires UDF-filesytem the new SanDisk card came with.

edit flag offensive delete publish link more

Comments

same problem Sandisk SDHC I 16gb. not detected on Xperia (working on Jolla)

ljimonad4iks ( 2017-10-17 19:11:42 +0300 )edit
2

answered 2017-10-16 10:42:39 +0300

ghling gravatar image

A user on TMO with the same issue have posted the dmesg output of a mounting attempt. It contains the following entries as well:

[ 4.322034] mmc1: sdhci_msm_execute_tuning: no tuning point found

[ 4.361204] mmc1: mmc_sd_init_card() failure (err = -5)

I do not know enough about sd cards and their file systems to be able to really debug the issue. From the comment in the source of sdhci_msm (which can be found here: http://elixir.free-electrons.com/linux/v4.7/source/drivers/mmc/host/sdhci-msm.c ), it looks like tuning is done for specific card types ("Tuning is required for SDR104, HS200 and HS400 cards and if clock frequency is greater than 100MHz in these modes.").

I would guess that there is either an issue with the sdhci_msm module (e.g. a bug in the version used in SFOS) or in its implementation since the exact same sd card is detected without problems under Android. Either way, it's probably necessary that Jolla takes a look at this issue to fix it.

edit flag offensive delete publish link more

Comments

Thanks for the answer. I hope that it is fixed in the future. I have 32gb Kingston formatted to FAT32 and not detected by SailfishX. It works great on Jolla 1 & Intex Aqua Fish. With this problem it is impossible to restore a backup to SailfishX from my earlier phones. I'm not yet ready to buy a new MicroSD card because of this. Is there any info available anywhere about Jolla looking into this error?

mhe ( 2017-10-31 22:50:58 +0300 )edit
2

answered 2017-11-04 11:57:59 +0300

wvh gravatar image

updated 2017-11-04 13:03:08 +0300

I formatted a new 128GB Samsung EVO+ card with f2fs on Linux (btrfs not compiled into the kernel on Xperia X), created a Music directory and copied some music files. Then I inserted the memory card into the Xperia X. The card mounts and shows the directory, but it is empty, no files, even in terminal with ls -al. But df and the Storage GUI widget show 21GB is in use. Really absurd that Xperia X can mount the card, sees the directory, knows how much disk space is in use, but can't see any files. File permissions and ownership are set to uid 1000, nemo user, so that can't be the problem either.

Maybe there are some f2fs changes between the old Xperia X kernel and newer Linux kernels? Or is this a lower level problem with microsdxc cards?

My Jolla 1 also has a 64GB microsdxc card with btrfs. That works without problems.

I'm now going to wipe the card and copy the files over ssh with scp or rsync to see if that makes a difference.

PS: Creating an empty f2fs file system on Linux, moving the card over to Xperia X and then coping files over with scp or rsync works.

PPS: I've got an aweful lot of these in my logs though:

[ 5952.253612] msm_tlmm_show_gp_irq_resume: 711 triggered bcmsdh_sdmmc
[ 5952.339370] Resume caused by IRQ 711, bcmsdh_sdmmc
edit flag offensive delete publish link more

Comments

1

Have you tried re-directing the storage of pictures and videos to the F2FS-formatted SD card? My experience is that it sees the card and shows the free space (within Apps-->Camera) but claims "Selected storage is not available."

sunburnedpenguin ( 2017-11-05 10:44:53 +0300 )edit
2

I just tried and it works fine.

If your problem is related to mine, I suggest making an F2FS file system but not creating any directories or files outside of Xperia X, i.e. let only the phone write anything to that filesystem. My guess is that there might be some differences in on-disk structures between the old kernel on Xperia X and new Linux kernels on your computer.

My Samsung 128GB EVO+ card formatted with F2FS works fine if I don't write any files or directories directly from another system. If I do, Xperia X shows one top-level directory but no other directories or files. That's not really a problem to me as I'm not planning on switching the memory card in and out of the phone.

Jolla should include f2fs tools, more specifically mkfs.f2fs, so the GUI can format a memory card and we wouldn't have to care about kernel compatibility.

wvh ( 2017-11-07 13:01:24 +0300 )edit

What about IRQ 711 stuff? Any danger? Interrupt does sound nasty as in IMHO in the best case it can influence perceived response, battery or something more nasty. In you case it reads as 86 ms delay of write or something.

Filip K. ( 2017-11-07 14:28:31 +0300 )edit
1

I think it relates to the Broadcom wireless driver, possibly about device sleep states, but I'm not too familiar with low-level wireless stuff.

wvh ( 2017-11-10 23:36:09 +0300 )edit
2

answered 2017-12-22 13:33:45 +0300

Raymaen gravatar image

updated 2017-12-22 22:35:58 +0300

(XperiaX) I have the same issue with an 32GB SDHC from Toshiba. It simply does not show the card. It was already formated in FAT32. I formated it again in FAT32 under Windows but stil no recognition. Don't know what to do. The linux format is not usable for me because my Laptop is on Windows.

edit flag offensive delete publish link more

Comments

The file manager on Windows laptop (at least Win 10) can show an SD card in Ext4 format (and the contents of it) as long as the card is inserted in Xperia and Xperia is connected to the laptop with USB. Copying data between Windows and the card works both ways.

jovirkku ( 2017-12-22 14:00:18 +0300 )edit

@jovirkku this is not really the question here, other users have reported that even in ext4, their card is not recognized. Does your comment means that Jolla is not looking at the issue and we need to find another SD card that works?

Sthocs ( 2017-12-22 14:37:53 +0300 )edit
1

I can not format it on my Win10 Laptop to Ext4 format (without installing aditional software). It should be as simple as that: Buy any comatible SD-card, plug it in and it works.

Actual Situation: search in Forums to get it work, spend hours with no result, try every workaround, still not working. SailfishOS can do better then that!!! Otherwise there is no chance to get happy customers that could recomend the OS to others to try it out!

Raymaen ( 2017-12-22 22:47:24 +0300 )edit

I could only make my 64GB memory card function after I formatted it with ext3 and let the phone re-format it to ext4. It just wouldn't mount it, if I pre-formatted it with ext4 using my Linux desktop. Weird...

Oh, this was on Jolla 1, but the software logic was the issue here, and the software functions the same after the memory card has been installed and it gets picked up by the hardware and kernel properly.

Direc ( 2018-01-02 11:58:19 +0300 )edit
2

answered 2018-01-05 14:32:24 +0300

Direc gravatar image

I finally got my previously-unworking memory card working (I include making the backup here just because):

  1. Boot your computer running Linux (live USB stick does just fine)
  2. Plug in your memory card in a memory card reader
  3. Start GParted (as root)
  4. Select the memory card from devices (IMPORTANT!)
  5. Create a new msdos partition table
  6. Create a new ext4 partition
  7. Apply the changes (this will lose all data on the selected device!)

Now, shutdown the computer to safely remove the card, insert it into your phone and start the phone.

  1. Note that the Backup menu tells you can't write to the backup location
  2. Note that the Storage shows you the card and its capacity correctly (this is the weird part!)
  3. Format the memory card (to ext4)
  4. Make a backup as a test

The exact same card I could not get working beforehand now works and my phone just finished making the first backup on my Sony XperiaX running SailfishX. The memory card is a 64BG card from Kingston.

edit flag offensive delete publish link more
Login/Signup to Answer

Question tools

Follow
16 followers

Stats

Asked: 2017-10-12 10:29:37 +0300

Seen: 3,007 times

Last updated: Apr 29