Rockbox Technical Forums

Support and General Use => Hardware => Topic started by: rjdg14 on April 21, 2021, 09:33:28 PM

Title: Can Rockbox recognise MicroSD cards larger than 32GB?
Post by: rjdg14 on April 21, 2021, 09:33:28 PM
I have an Xduoo X3, which has 2 MicroSDXC slots. Officially, the player is capable of holding up to 256GB (2X 128GB cards) and a couple of people have said that it can hold up to 2x 256GB MicroSDXC cards (which I don't believe were on the market at the time the player was released but use the same technology to 128GB cards), but cards larger than 32GB (the largest size of SDHC card) come preformatted with the exFAT file structure which Rockbox doesn't support, and Windows Explorer won't let me format them to FAT32. Does anyone know whether it's possible to format an SDXC card to FAT32 while keeping a full sized partition, and also if Rockbox is capable of recognising MicroSD cards larger than 32GB provided that they are correctly formatted?
Title: Re: Can Rockbox recognise MicroSD cards larger than 32GB?
Post by: braewoods on April 22, 2021, 12:31:33 AM
Yes it is possible to do this. But I've only had success doing it from Linux since it doesn't have such arbitrary limitations.
Title: Re: Can Rockbox recognise MicroSD cards larger than 32GB?
Post by: braewoods on April 22, 2021, 12:40:24 AM
And honestly if you were going to do this I would suggest doing an erase or overwrite the whole thing before formatting it with FAT32 so any residual EXFAT stuff is wiped out.

It's possible to quickly erase an entire SD card but it doesn't work with just any SD card reader. It won't work with ones that are presented as USB Mass Storage. I've only known it to work for ones connected to the PCI bus because they expose the low level MMC interface to the chips. Under Linux inserting an SD card into such a device allows you to perform a whole device erase via blkdiscard. These kinds of interfaces are usually internal SD card readers, such as ones integrated into a laptop. Or a PCIE expansion card.
Title: Re: Can Rockbox recognise MicroSD cards larger than 32GB?
Post by: bahus on April 22, 2021, 12:51:56 AM
On Windows use http://ridgecrop.co.uk/index.htm?guiformat.htm
Title: Re: Can Rockbox recognise MicroSD cards larger than 32GB?
Post by: rjdg14 on April 22, 2021, 08:45:05 AM
I'll test it on my old 1TB external HDD which has reliability issues before buying a MicroSDXC card. Thanks for sharing that link.

My current Xduoo X3 first generation model is failing as the reset pinhole (the widely used Russian X3 port of Rockbox does crash occasionally) is broken, but I've ordered a replacement one as I've been extremely satisfied with it for the past few years. The first generation X3 model has been discontinued in favour of a newer model with only one MicroSD slot and a colour screen, but I was able to buy a new first generation model from a reputable seller on eBay who had unshifted stock. The newer X3 (II) currently has only limited Rockbox support and is around £100 from most sellers, whereas the first generation model which likely sounds near identical can be found from sellers shifting old stock for around £60.
Title: Re: Can Rockbox recognise MicroSD cards larger than 32GB?
Post by: Bilgus on April 22, 2021, 09:29:26 AM
bahus Thanks for the link to the fat32 formatter I'll start pointing people there if it works well
Title: Re: Can Rockbox recognise MicroSD cards larger than 32GB?
Post by: speachy on April 22, 2021, 10:23:44 AM
(the widely used Russian X3 port of Rockbox does crash occasionally)

Out of curiosity, which "russian X3 port" are you using, and why are you using that instead of what's available from rockbox.org?
Title: Re: Can Rockbox recognise MicroSD cards larger than 32GB?
Post by: rjdg14 on April 22, 2021, 05:35:47 PM
(the widely used Russian X3 port of Rockbox does crash occasionally)

Out of curiosity, which "russian X3 port" are you using, and why are you using that instead of what's available from rockbox.org?

I got my X3 as a secondhand player from my dad in 2017 - he'd bought it in 2015 and had quickly installed the main then-compiled version of Rockbox, which was an unofficial port developed by (based on the site URL and bilingual language) a Russian person:

http://xvtx.ru/rockbox/ (http://xvtx.ru/rockbox/)

Since then, there has been an official port developed, and I managed to find a compiled copy of it a couple of years back and installed it, though it later became corrupt after about 6 months (I find Rockbox, despite delivering great audio quality, can require a reinstall every 6 months to a year or so) and I couldn't go through the process of finding that specific version again, so I reinstalled the XVTX one.

It sounds like the X3 will be supported in the next Rockbox installer release, but until then, do you know where I can get a compiled version of the "official" (rather than the older and slightly buggy XVTX) version of Rockbox for the X3? I looked on its dedicated page here but from what I could see couldn't find it, only the uncompiled code. It's best that someone corrects me if I'm wrong on that.

I think the unofficial firmware version, which also supports the X3II among other Xduoo devices, should actually be called the Vortex version, looking at the site further.
Title: Re: Can Rockbox recognise MicroSD cards larger than 32GB?
Post by: speachy on April 22, 2021, 07:59:09 PM
It sounds like the X3 will be supported in the next Rockbox installer release, but until then, do you know where I can get a compiled version of the "official" (rather than the older and slightly buggy XVTX) version of Rockbox for the X3? I looked on its dedicated page here but from what I could see couldn't find it, only the uncompiled code. It's best that someone corrects me if I'm wrong on that.

Binary devel builds for the X3 have been generated for about two years now.  This page always links to a build of the latest commit:

  https://build.rockbox.org/

They work properly with the xvortex bootloader.  (we still need to generate our own bootloader build FWIW..)

Daily snapshots are archived here, along with corresponding manual and voice files:

  https://www.rockbox.org/daily.shtml

The X3ii also has binary builds on both pages, though you'll need to install a different bootloader image; instructions on how to do that are linked off its wiki page.
Title: Re: Can Rockbox recognise MicroSD cards larger than 32GB?
Post by: rjdg14 on April 25, 2021, 07:16:29 PM
I was able to use the tool for Windows that was linked to and successfully formatted a 128GB MicroSDXC card from exFAT to FAT32, and Rockbox recognises it. I now have 160GB installed on my device in total (128GB + 32GB), and even with most of my 200 or so CDs ripped in the FLAC format plus some older MP3s I've still only filled up about half of the total storage, so it's more than enough.

The Xduoo X3 was officially marketed as being able to store up to 256GB (2x 128GB), however MicroSD cards can in theory store up to 2TB and the largest that has been released so far would be about 1TB. I believe 128GB was about the largest size available when the player was released about 6-7 years ago, so does anyone know here if the X3 is capable of recognising more than advertised? Is it in theory capable of holding 4TB of audio files (I believe Rockbox is 32-bit, so it might be 2TB max)?
Title: Re: Can Rockbox recognise MicroSD cards larger than 32GB?
Post by: speachy on April 25, 2021, 08:01:01 PM
2TB is the upper limit of SDXC cards; this is a hard upper limit due to how sectors are addressed.  Rockbox can theoretically handle cards up to that size, though the largest I can recall someone reporting was 256GB.

Looking to the future; In 2018 the SDUC spec was ratified; that allows card sizes up to 128TB.   In order to actually utilize this capacity, we will need a different partitioning system (namely GPT; classic DOS partition tables max out at 2TB for the entire _drive_) and FAT32 hits its upper scaling limit at 16TB (though Windows will reject anything over 8TB)

So, to use SDUC (ie >2TB) cards, this is needed:

 * Basic SDUC support -- Support >32-bit addressing in the rockbox core, along with the ability to detect/etc SDUC cards.  And update all drivers as needed.
 * Support GPT partitioning
 * exFAT support if we want to support > 8TB partitions.

All in all it's a pretty substantial amount of work.  Note this is for native SD cards.  I don't know how well iFlash-style adapters handle overall sizes >2TB, and I wouldn't expect them to handle individual SDUC cards properly.
Title: Re: Can Rockbox recognise MicroSD cards larger than 32GB?
Post by: rjdg14 on April 28, 2021, 11:46:58 AM
I think the largest size of MicroSD card that can currently be bought is around 1TB, but anything above 256GB is currently quite expensive. In all honesty, unless somebody does a lot of professional video editing or is using an SD card to run some automated multimedia system, I don't really see the point of the SDUC format.
Title: Re: Can Rockbox recognise MicroSD cards larger than 32GB?
Post by: LambdaCalculus on June 07, 2021, 09:24:08 AM
So, to use SDUC (ie >2TB) cards, this is needed:

 * Basic SDUC support -- Support >32-bit addressing in the rockbox core, along with the ability to detect/etc SDUC cards.  And update all drivers as needed.
 * Support GPT partitioning
 * exFAT support if we want to support > 8TB partitions.

I've been saying for a while now that exFAT wouldn't be a bad thing to add support for, seeing as how most major OSes will support* it out of the box.

* (Well, so long as you've got a Linux kernel version of at lest 5.7!)
Title: Re: Can Rockbox recognise MicroSD cards larger than 32GB?
Post by: Julian67 on June 25, 2021, 08:42:54 PM
2TB is the upper limit of SDXC cards; this is a hard upper limit due to how sectors are addressed.  Rockbox can theoretically handle cards up to that size, though the largest I can recall someone reporting was 256GB.

In my Fiio M3K with Rockbox I'm using a 1TB MicroSDXC card formatted to FAT32.  No problems at all.  Rockbox sees the formatted capacity of 930GB and I'm currently using about half of that.  The specific card is an Integral UltimaPro, product number INMSDX1TB-180.