Archive for August, 2012

Fonera big disk support, testers needed

Monday, August 27th, 2012

The current SVN version of the Fonera 2.0n and 2.0g firmware should support big disks (more than 2TiB / 2.20 TB) connected through USB, which is great combined with the Transmission torrent client.. But since we can only test with so many different types of disks, we’d like to get some feedback about whether this support works with your disk.

In addition to supporting bigger disks, the mountd sofware (which takes care of making external USB disks available on your Fonera), has received a number of updates. It should be a bit more stable now and it offers more information about the different partitions on your disk through the WebGUI (in particular, information about partitions with an unsupported filesystem or partitions that could not be enabled for whatever reason is now shown).

So, if you have a big disk lying around and/or use the USB disk support a lot, you can help by upgrading to the latest SVN build and see if your disks (still) work with your Fonera. If they do, or don’t, or you’re having other disk-related problems, just leave a comment here (preferably including the disk brand and size).

How to install?
To test this SVN version, you can download it from our auto-builder here (pick fonera2 for 2.0g and fonera2n for 2.0n):

http://download.fonosfera.org/auto-builds/fon-ng/fon-ng-r2165/

The easiest way to install this firmware version is to download the tgz file and simply upload it through your WebGUI (you should be running 2.3.7.0 beta1 or above already). You can always downgrade to a stable or beta firmware again if you want.

Why aren’t these big disks supported by default, anyway
These limits come from the fact that 32-bit numbers were originally used to describe disk and partition sizes and addresses. Because, given the sizes of modern disks, 32-bit numbers cannot count very far (“only” up to 4.2 billion), we run into size limits when using them. To fix this, all parts of the Linux kernel as well as the partition table should be using 64-bit values, which can count over a billion times farther. Where the disk size limit lies exactly, depends a bit on the partition table and sector size in use.

Each disk uses a partition table to describe the partitions that are present on the disk. The standard partition table format is MSDOS/MBR, which uses 32-bit sector numbers, limiting the usable disk size to 2 TiB (232 * 512). To solve this, the GUID partition table (GPT/EFI) was created, which uses 64-bit sector numbers, practically removing the disk size limit altogether.

As a separate development, hard disks are switching from using 512-byte sectors to 4096-byte sectors. A sector is the smallest piece of the disk that can be separately addressed and using bigger sectors allows disks to more efficiently store and retrieve data. Using bigger sectors has the side effect that partition tables (which count sectors, not bytes) can address bigger disks.

Note that there are also disks that internally use 4096-byte sectors, but appear to use 512-byte sectors through some internal translation mechanism. The Fonera treats these disks as normal 512-byte disks.

To find out the sector size of your disk, look in the file “/var/state/mountd” on your Fonera or run the command “wmic DISKDRIVE get bytespersector,caption” on a command promt on a Windows machine.

Combining the partition table and sector size in use, we get:

  • Disks with normal sized sectors (512 bytes), using a standard (MSDOS/MBR) type partition table support only disks up to 2 TiB (2.20 TB, possibly more if all partitions are 2 TiB or smaller and start before the 2 TiB limit, but I haven’t tested this). These disks were supported on previous firmware releases as well.
  • Disks with normal sized sectors, using a GUID (GPT/EFI) type partition table, support disks over a billion TB in size. These disks should be supported on 2.0n since beta2, and on 2.0g in the current SVN version.
  • Disks with big sectors (4096 bytes), using a standard (MSDOS/MBR) type partition support disks up to 16 TiB (17.6 TB). These disks should be supported in the current SVN version.
  • Disks with big sectors (4096 bytes), using a GUID (GPT/EFI) type partition support disks over a trillian TB in size. These disks should be supported in the current SVN version.

Note: In this post TiB (Tebibyte) is used to mean 1024 * 1024 * 1024 * 1024 bytes, which is the conventoin used by computers to display disk sizes (and usually displayed as “TB” as well). Disk manufacturers usually use TB (Terabyte) to describe 1000,000,000,0000 bytes, which is why disks appear smaller than the manufacturer specifies them.