JFFs Partition for DD-WRT yes or no?

12,816

Solution 1

Enabling Optware is not the same as enabling JFFS. JFFS is used as an alias for the partition at /jffs. It’s usually hosted on the router’s flash memory. However, you can use mount --bind to place it on virtually any partition. (Enabling it on internal flash may be required anyway.)

To enable JFFS on internal flash, follow these instructions:

The steps to enable JFFS through the router web page are very specific. To avoid having to reset and reprogram your router, it's smart to make a backup here of your settings. If you follow these steps exactly, it should not lock up.

  1. On the router web page click on Administration.
  2. Scroll down until you see JFFS2 Support section.
  3. Click Enable JFFS.
  4. Click Save.
  5. Wait couple seconds, then click Apply.
  6. Wait again. Go back to the Enable JFFS section, and enable Clean JFFS.
  7. Do not click "Save". Click Apply instead.
    The router formats the available space.
  8. Wait till you get the web-GUI back, then disable "Clean JFFS" again.
  9. Click "Save".
  10. It may be wise to Reboot the router, just to make sure

If you don't see the Enable JFFS option on your Administration page, it is likely because your router has insufficient flash memory to hold both DD-WRT and a JFFS partition. If you have a 4MB router, you may be able to work around this by using the mini version of DD-WRT

Solution 2

Not a proper answer, but to long for just comments:

Spinning rust (aka classical HDD)s can be written many times. Flash cells are more fragile and will fails with far fewer writes.

If you combine a filesystem which is not aware of that (e.g. FAT which keeps its directory listing in one place and updates that quite often) with raw access to flash based storage then one part of your flash is likely to die before the device is obsolete. Obviously, we want to avoid this.

Note that his is true for internal flash, as well as flash on USB pen drives, SSDs, SD card etc etc.

There are two ways to work around this:

  1. Make sure that the device is aware of its strage method and have the device work around this. (The controllers on an SSD are an extreme example of this).
  2. Or create a filesystem which is aware of this and which tries to avoid this particlular weakness of flash cells.

JFFS is such a filesystem. One of the things it does is spread out writes over the flash cells (wear leveling). If you arase a file and recreate that file then it is very likely recreated on different flash cells. fort flash, this is a good thing.

For routers whose internal storage is flash you do want to use JFFS or a similar aware filesystem for their internal storage.

You do not want to use it on other devices, such as a classical HDD.

If you have an old dumb USB pendrive, then you do want to use it (read: I disagree with the 'do not use it on ANY USB device). If you have a modern USB pen drive then might already have an internal solution to mitigate wear leveling and a using JFFS is likely to conflict with that.

Share:
12,816

Related videos on Youtube

sharkyenergy
Author by

sharkyenergy

Updated on September 18, 2022

Comments

  • sharkyenergy
    sharkyenergy over 1 year

    I have a Asus RT-N16 Router with Kongmod Build of DD-WRT.

    On the USB port i have a 1TB HDD and have 3 Partitions on this drive.

    /opt /swap /data

    The DD-WRT guide clearly states multiple times not to use the JFFs partition on ANY USB drive. It is only needed for SD cards, and using it on USB drives may cause problems. They repeat it multiple times, so I guess it is important.

    On another officcial DD-WRT guide (optware the right way) they state that you must have JFFs enabled, or IPKG wont work.

    If both statements are true, you couldnt use IPKG unless you use a SD card. What is actually true? Should i have a JFFs partition on a 1 TB HDD?

    Thanks

    • redbeam_
      redbeam_ over 8 years
      JFFS is a flash filesystem, so it wouldn't be a good idea to install it on a HDD. On many DD-WRT installations the JFFS partition is on the internal flash.
    • Daniel B
      Daniel B over 8 years
      Actually, JFFS is for Flash, and only Flash. It’s not for SD cards and certainly not for USB drives of any kind.
    • sharkyenergy
      sharkyenergy over 8 years
      thanks, but if it is on the internal flash, why doesnt it recognize it? when i run IPKG i get the message that JFFS need to be mounted.
    • ganesh
      ganesh over 8 years
      What is the exact message you get?
    • Daniel B
      Daniel B over 8 years
      Did you follow there instructions already?
    • sharkyenergy
      sharkyenergy over 8 years
      @DanielB seems that this did the trick! dont know how i missed this part! Thank you! please post it as answer so i can mark it as accepted.
  • sharkyenergy
    sharkyenergy over 8 years
    thanks, this is very clear, but does that mean that IPKG cannot be used with a normal HDD? Why does IPKG need jffs if its only a way to store data on the drive?