NoCatSplash

From DD-WRT Wiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 22:08, 16 May 2008 (edit)
S2s2 (Talk | contribs)
m (Super it up. Structural, content, spelling. Lots of stuff I've been waiting to find the time to do.)
← Previous diff
Revision as of 22:17, 6 June 2008 (edit) (undo)
S2s2 (Talk | contribs)
m (More improvements, structural. I will submit more later, including using a custom nocat.conf)
Next diff →
Line 2: Line 2:
'''NoCatSplash''' is a special type of web server. It redirects clients connecting to a DD-WRT box to a specific web page. Usually used for '''disclaimers''' and '''advertising''', it can be a very useful tool when you have ''unknown'' people connecting wirelessly. After a configurable period of time, the client's internet access is cut off, unless the Client has agreed again to the Terms. If the client has a Web Browser open & configured with a Direct Internet Connection, and loads a website, their browser is redirected again, to the NoCatSplash page. '''NoCatSplash''' is a special type of web server. It redirects clients connecting to a DD-WRT box to a specific web page. Usually used for '''disclaimers''' and '''advertising''', it can be a very useful tool when you have ''unknown'' people connecting wirelessly. After a configurable period of time, the client's internet access is cut off, unless the Client has agreed again to the Terms. If the client has a Web Browser open & configured with a Direct Internet Connection, and loads a website, their browser is redirected again, to the NoCatSplash page.
-Terms:+The DD-WRT Device must have an active Internet connection working in order to use NoCat. For instance, a client trying to ping an Internet address, like www.google.com, must be able to get an IP returned for Google, although the Ping packets will not go through until the Client clicks the '''I Agree''' button on the splash page.
-*Herein referred to simply as ''NoCat'' or ''splashd'' (the technical name).+==Terms==
-*''Client'' referrers to the roaming laptop user with a browser configured for direct internet connections. LAN clients are normally included, so anyone wired into the LAN ports on the DD-WRT box is also a Client. LAN Servers, for instance, can be excluded from being involved in the NoCat system within the configuration of NoCat.+; '''NoCatSplash''' : Herein referred to as ''NoCat'' or ''splashd'' (the technical name).
-*''Terms'' referrers to the Terms of Use, or Agreement, which protects the DD-WRT owner from legal liability for the use of the open internet connection. For more information on how an Agreement contract can effectively block a legal conviction for state-blocked internet use, please consult legal advice in your own jurisdiction. This Wiki article only describes ''how'' to make the agreement appear, and under what circumstances it might not appear (Limitations). '''In any case, failure of NoCat to force Clients to see an agreement page, or the failure of the Splash page content to protect the DD-WRT box operator from legal attacks, does not make the authors of NoCat, or this Wiki, or DD-WRT, liable.'''+; '''Client''' : referrers to the roaming laptop user with a browser configured for direct internet connections. LAN clients are normally included, so anyone wired into the LAN ports on the DD-WRT box is also a Client. LAN Servers, for instance, can be excluded from being involved in the NoCat system within the configuration of NoCat.
 +; '''Terms''' : referrers to the Terms of Use, or Agreement, which protects the DD-WRT owner from legal liability for the use of the open internet connection. For more information on how an Agreement contract can effectively block a legal conviction for state-blocked internet use, please consult legal advice in your own jurisdiction. This Wiki article only describes ''how'' to make the agreement appear, and under what circumstances it might not appear (Limitations). '''In any case, failure of NoCat to force Clients to see an agreement page, or the failure of the Splash page content to protect the DD-WRT box operator from legal attacks, does not make the authors of NoCat, or this Wiki, or DD-WRT, liable.'''
 +; '''CLI''' : Command Line Interface. Either SSH (more secure, recommended) or Telnet (less or not secure). Windows users use Putty, a free download, as your SSH Client.
 +; '''NoKaid''' : A build of DD-WRT with no specific XBOX support. Leaves room for a tiny read/write folder, storing custom nocat scripts and web pages.
 +; '''Gateway Name''' : The name of the gateway. Whatever you want to call it. "Joe's Pizza Shop and free DSL Cafe" for example. Use the variable $GatewayName in your splash.html page to display this.
 +; '''AllowedWebHosts''' : Space separated list of websites [hostnames] accessible ''without requiring I Agree to be clicked'' (without requiring NoCat Login).<br/> List any webservers, that you would like connecting clients to be able to access, before clicking on I Agree on the NoCatSplash screen. I.E. the webserver hosting your EULA or Welcome Page, if it isn't the router itself.
 +; '''Document Root''' : Web pages for Splashd are stored here. Default configuration is /www.<br/>
 +; '''Splash URL''' : Optional URL to fetch dynamic remote splash page from.<br/> Leave empty if using a page stored on the router.
 +; '''ExcludePorts''' : Space-separated list of ports clients cannot use (i.e. port 25, commonly blocked by ISP's).<br/> Users blocked by NoCat cannot send through the ports specified, period.<br/> You should *always* exclude port 25 (SMTP), unless you want to run a portal for wanton spam sending. Normal user web-mail and users using TLS or SSL (both use non-25 port designations) for their Thunderbird or other Mail Programs are not affected by this. Only users using unencrypted, unauthenticated outgoing mail are blocked. Obviously, such activity is a good idea to discourage anyway.
 +; '''MAC White List''' : Add a space separated list of MAC-addresses that should have unlimited Internet Access. The MAC addresses listed in this field will not be redirected to the Splash-page but have internet-access straight away.
 +; '''Login Timeout''' :
 +How much time, in seconds, elapses before the client has to see the splash screen again, and click on 'I Agree'. How often a client is shown the EULA or other designated splash page. <br/>
 +For Open Mode portals, you probably want to set LoginTimeout to
 +something large (like 86400, for one notification
 +per day). Open Mode, is the only mode supported at this time.
 +; '''Verbosity''' : Log verbosity (to syslogd)<br/>
 +** 0 is (almost) no logging.
 +** 10 is log everything.
 +** 5 is probably a safe middle road.
 +; '''Route only''' : Required only if you DO NOT want your gateway to act as a NAT.<br>
 +Enable this only if you're running a strictly routed network, and don't need the gateway to enable NAT for you.<br/>
 +You would not normally use this option. So if you don't understand it, leave it to No/Off.<br/>
-DD-WRT firmware comes complete with sample splash and status pages. Setting up basic NoCat through the Web Interface is easy. More complex options are possible by editing the nocat.conf file directly. You must have an active Internet connection working to the DD-WRT box in order to use NoCat. For instance, a client trying to ping an Internet address, like www.google.com, must be able to get an IP returned for Google, although the Ping packets will not go through until the Client agrees.+==Procedure==
-NoCat can redirect the client to a Splash URL hosted outside of the DD-WRT box, such as on NAS. NoCat can use the [[JFFS|JFFS2]] filesystem services on the router. Modifying the sample splash page (highly suggested) and storing directly on the DD-WRT box works.+DD-WRT firmware comes complete with sample splash and status pages. Setting up basic NoCat through the Web Interface is easy. More complex options are possible by editing the nocat.conf file directly.
 +NoCat can use a Splash URL hosted outside of the DD-WRT box, such as on NAS. Or NoCat can use the [[JFFS|JFFS2]] filesystem services on the router. A straight-forward setup is modifying the sample splash page (highly suggested) and storing it directly on the DD-WRT Device.
-==Quick 'Getting Started' Guide==+Enable NoCatSplash in the DD-WRT Web Interface.<br>
-Simply enable NoCatSplash in the DD-WRT Web Interface.<br>+
- v23: Administration, Hotspot<br> - v23: Administration, Hotspot<br>
- v24: Services, Hotspot - v24: Services, Hotspot
-* Enter your Homepage (this is the page people will be redirected to, after seeing the splash page),+* Enter your Homepage (the page people will be redirected to, after seeing the splash page),
-* then add your Allowed Web Hosts (This automatically includes the Splash URL domain). Only put the domain name in, this means, do not prefix the name with http://.+* Add your Allowed Web Hosts (NoCat automatically includes the Splash URL domain). Only put the domain name in, this means, do not prefix the name with http://.
* For starters, leave the Document Root as /www. * For starters, leave the Document Root as /www.
* Enter your Splash URL (ex: http://yoursite.com/splash/). * Enter your Splash URL (ex: http://yoursite.com/splash/).
-** Because we are leaving Document Root with something in it, Splash URL is ignored, but must be filled out otherwise Splashd doesn't like this!+** When using Document Root, Splash URL is ignored. Splash URL '''must''' be filled in with a website, otherwise Splashd does not work!
Leave all of the other settings alone. Apply your changes, and test it out. Leave all of the other settings alone. Apply your changes, and test it out.
-==Customized Splash==+==Customize the Splash Website==
-Terms:+Overview:
-* CLI: Command Line Interface. Either SSH (more secure, recommended) or Telnet (less or not secure). Windows users use Putty, a free download, as your SSH Client.+Copy the default splash pages from the read-only area /www to a writeable area on the DD-WRT Device. Then the basic Splash pages can be improved to add your logo or other necessary disclaimers, agreement terms, and customizations.
-* NoKaid: A build of DD-WRT with no specific XBOX support. Leaves room for a tiny read/write folder.+
-# See the Wiki Article [[JFFS|Enabling JFFS2]] or [[SD/MMC Mod|Adding additional Flash memory to DD-WRT]] to create the read/write space necessary+Steps:
-# Using the CLI, Create a folder named ''nocat''<br> mkdir /jffs/nocat+# See the Wiki Article [[JFFS|Enabling JFFS2]] or [[SD/MMC mod|Adding additional Flash memory to DD-WRT]] to create the space on the router which is writable.
 +# Using the CLI, create a folder named ''nocat''<br> mkdir /jffs/nocat
# Check if the folder exists<br> cd /jffs/nocat # Check if the folder exists<br> cd /jffs/nocat
# Copy the default content from /www to /jffs/nocat<br> cp -R /www/* /jffs/nocat/* # Copy the default content from /www to /jffs/nocat<br> cp -R /www/* /jffs/nocat/*
# Next edit the /jffs/nocat/splash.html web page.<br>See [[WinSCP]] and [[WinSCP#Mirroring_Content_to_DD-WRT_Device|Mirroring]] # Next edit the /jffs/nocat/splash.html web page.<br>See [[WinSCP]] and [[WinSCP#Mirroring_Content_to_DD-WRT_Device|Mirroring]]
-# Change the NoCatSplash configuration to /jffs/nocat instead of /www. Apply.+# Change the NoCatSplash configuration using the DD-WRT Web Interface from /www to /jffs/nocat. Apply. Restart DD-WRT Device if necessary.
- +
-Notes:+
-* If splash.html calls another page, such as when using HTML Frames, the final page's form for the 'I Accept' button must have action="http://the DD-WRT enabled box's IP:5280/" instead of action="$action", and any other variables filled out with the values in the Web Interface/nocat.conf. The variables present in the original splash.html sample do not pass to sub-pages.+
-* Your Splash page won't show anything linked outside of the html file if the Splash URL isn't hosted on the router or through a Samba mount. For example .css and images won't load, but style tags in the HEAD of your html page will.+
==Configuration Screen Photos== ==Configuration Screen Photos==
Line 44: Line 61:
[[Image:V23-hotspot-nocatsplash-conf.png]] [[Image:V23-hotspot-nocatsplash-conf.png]]
-'''Gateway Name'''<br/>+==Advanced Notes==
-The name of the gateway. Whatever you want to call it. "Joe's Pizza Shop and free DSL Cafe" for example. Use the variable $GatewayName in your splash.html page to display this.+* If splash.html calls another page, such as when using HTML Frames, the final page's form for the 'I Accept' button must have ''action="http://the DD-WRT enabled box's IP:5280/"'' instead of ''action="$action"'', and any other variables filled out with the values in the Web Interface/nocat.conf. The variables present in the original splash.html sample do not pass to sub-pages.
- +* Your Splash page won't show anything linked outside of the html file if the Splash URL isn't hosted on the router or through a Samba mount. For example .css and images won't load, but style tags in the HEAD of your html page will.
-'''AllowedWebHosts'''<br/>+
-Space separated list of hostnames.<br/>+
-List any hosts (for example, the webserver with the splash page, or other websites) that you would like to allow clients to have web access to (TCP port 80 (HTTP) and 443 (HTTPS?)) before they "log in" (before they click on "I Accept" in your splash page), however actual authentication is not supported.<br/>+
-List any webservers, that you would like connecting clients to be able to access, before clicking on I Agree on the initial nocatsplash screen. Such as the webserver hosting your EULA or Welcome Page, if it isn't the router itself.+
- +
-'''Document Root'''<br/>+
-Where all of the application templates (including SplashForm) are hiding. Can be different from Apache's DocumentRoot.<br/>+
-splash.html is the form displayed to users on capture.+
- +
-'''Splash URL'''<br/>+
-Optional URL to fetch dynamic remote splash page from.<br/>+
-Leave empty if using a page stored on the router.+
- +
-'''ExcludePorts'''<br/>+
-Space separated list of ports.<br/>+
-Specify TCP ports to denied access to when public class users login.+
-All others will be allowed.+
-If nothing is specified, access is granted to all ports to public class users.+
- +
-You should *always* exclude port 25 (SMTP), unless you want to run a portal for wanton spam sending. Users should have their own way of sending mail. It sucks, but that's the way it is.+
- +
-'''MAC White List'''<br/>+
- +
-Add a space separated list of MAC-addresses that should have unlimited Internet Access. The MAC addresses listed in this field will not be redirected to the Splash-page but have internet-access straight away. +
- +
-'''Login Timeout'''<br/>+
-How much time, in seconds, elapses before the client has to see the splash screen again, and click on 'I Agree'. How often a client is shown the EULA or other designated splash page.+
- +
-For Open Mode portals, you probably want to set LoginTimeout to +
-something large (like 86400, for one notification+
-per day). Open Mode, is the only mode supported at this time.+
- +
-'''Verbosity'''<br/>+
-Log verbosity (to syslogd)<br/>+
-* 0 is (almost) no logging.+
-* 10 is log everything.+
-* 5 is probably a safe middle road.+
- +
-'''Route only'''<br/>+
-Required only if you DO NOT want your gateway to act as a NAT.<br>+
-Enable this only if you're running a strictly routed network, and don't need the gateway to enable NAT for you.+
-You would not normally use this option. So if you don't understand it, leave it to No/Off.<br/>+
-A few things I found while looking for documentation on the net:+* A few things I found while looking for documentation on the net: In the nocat.conf file (you'll have to be using a nocat.conf stored in /jffs/etc and use the CLI to edit these)<br/>
-In the nocat.conf file (you'll have to telnet or ssh into the router to set these)<br/>+*; GatewayMode Open : The only supported option at this time. I don't think it has to be set.
-comment: The only supported option at this time. I don't think it has to be set.+*; LocalNetwork 192.168.1.0/24 : The IP Range which will see the splash page.<br/>
-GatewayMode Open<br/>+*; InsideIP 192.168.1.1 : The LAN/wLAN IP of the router. I don't think it needs to be set<br/>
-comment: The IP Range which will see the splash page.<br/>+*; DNSAddr 4.2.2.4 : Your DNS Server. Again, I don't think this needs to be set here.<br/>
-LocalNetwork 192.168.1.0/24<br/>+
-comment: The LAN/wLAN IP of the router. I don't think it needs to be set<br/>+
-InsideIP 192.168.1.1<br/>+
-comment: The DNS server. Again, I don't think this needs to be set here.<br/>+
-DNSAddr 10.15.6.1<br/>+
-==Advanced Configuration== 
Daemon:<br/> Daemon:<br/>
/usr/sbin/splashd /usr/sbin/splashd
-Configuration file:<br/>+Default Configuration file:<br/>
/etc # cat nocat.conf /etc # cat nocat.conf
Line 133: Line 102:
* The place for Questions and Conjecture is on the [[Talk:NoCatSplash|Article Discussion]] page, or post your Questions in the DD-WRT Forum. * The place for Questions and Conjecture is on the [[Talk:NoCatSplash|Article Discussion]] page, or post your Questions in the DD-WRT Forum.
-Smashtov Comments: I have to use the nokaid version of the firmware to make it works. see the forum at http://www.dd-wrt.com/phpBB2/viewtopic.php?t=6651&highlight=nocatsplash. Thanks to tomnsc.+PolskiKrol Comments: It would appear that that nokaid version of DD-WRT v24 RC7 no longer leaves any space for JFFS2 on 4MB Firmware. This issue was seen on the WRT150N. The last working firmware [for me, with enough space,] is DD-WRT v24 RC6.2.
- +
-PolskiKrol Comments: It would appear that that nokaid version of DD-WRT v24 RC7 no longer leaves any space for JFFS2 on 4MB Firmware. This issue was seen on the WRT150N. The last working firmware is DD-WRT v24 RC6.2.+
[[Category:English documentation]] [[Category:English documentation]]
[[Category:Basic tutorials]] [[Category:Basic tutorials]]

Revision as of 22:17, 6 June 2008

Contents

Introduction

NoCatSplash is a special type of web server. It redirects clients connecting to a DD-WRT box to a specific web page. Usually used for disclaimers and advertising, it can be a very useful tool when you have unknown people connecting wirelessly. After a configurable period of time, the client's internet access is cut off, unless the Client has agreed again to the Terms. If the client has a Web Browser open & configured with a Direct Internet Connection, and loads a website, their browser is redirected again, to the NoCatSplash page.

The DD-WRT Device must have an active Internet connection working in order to use NoCat. For instance, a client trying to ping an Internet address, like www.google.com, must be able to get an IP returned for Google, although the Ping packets will not go through until the Client clicks the I Agree button on the splash page.

Terms

NoCatSplash 
Herein referred to as NoCat or splashd (the technical name).
Client 
referrers to the roaming laptop user with a browser configured for direct internet connections. LAN clients are normally included, so anyone wired into the LAN ports on the DD-WRT box is also a Client. LAN Servers, for instance, can be excluded from being involved in the NoCat system within the configuration of NoCat.
Terms 
referrers to the Terms of Use, or Agreement, which protects the DD-WRT owner from legal liability for the use of the open internet connection. For more information on how an Agreement contract can effectively block a legal conviction for state-blocked internet use, please consult legal advice in your own jurisdiction. This Wiki article only describes how to make the agreement appear, and under what circumstances it might not appear (Limitations). In any case, failure of NoCat to force Clients to see an agreement page, or the failure of the Splash page content to protect the DD-WRT box operator from legal attacks, does not make the authors of NoCat, or this Wiki, or DD-WRT, liable.
CLI 
Command Line Interface. Either SSH (more secure, recommended) or Telnet (less or not secure). Windows users use Putty, a free download, as your SSH Client.
NoKaid 
A build of DD-WRT with no specific XBOX support. Leaves room for a tiny read/write folder, storing custom nocat scripts and web pages.
Gateway Name 
The name of the gateway. Whatever you want to call it. "Joe's Pizza Shop and free DSL Cafe" for example. Use the variable $GatewayName in your splash.html page to display this.
AllowedWebHosts 
Space separated list of websites [hostnames] accessible without requiring I Agree to be clicked (without requiring NoCat Login).
List any webservers, that you would like connecting clients to be able to access, before clicking on I Agree on the NoCatSplash screen. I.E. the webserver hosting your EULA or Welcome Page, if it isn't the router itself.
Document Root 
Web pages for Splashd are stored here. Default configuration is /www.
Splash URL 
Optional URL to fetch dynamic remote splash page from.
Leave empty if using a page stored on the router.
ExcludePorts 
Space-separated list of ports clients cannot use (i.e. port 25, commonly blocked by ISP's).
Users blocked by NoCat cannot send through the ports specified, period.
You should *always* exclude port 25 (SMTP), unless you want to run a portal for wanton spam sending. Normal user web-mail and users using TLS or SSL (both use non-25 port designations) for their Thunderbird or other Mail Programs are not affected by this. Only users using unencrypted, unauthenticated outgoing mail are blocked. Obviously, such activity is a good idea to discourage anyway.
MAC White List 
Add a space separated list of MAC-addresses that should have unlimited Internet Access. The MAC addresses listed in this field will not be redirected to the Splash-page but have internet-access straight away.
Login Timeout 

How much time, in seconds, elapses before the client has to see the splash screen again, and click on 'I Agree'. How often a client is shown the EULA or other designated splash page.
For Open Mode portals, you probably want to set LoginTimeout to something large (like 86400, for one notification per day). Open Mode, is the only mode supported at this time.

Verbosity 
Log verbosity (to syslogd)
    • 0 is (almost) no logging.
    • 10 is log everything.
    • 5 is probably a safe middle road.
Route only 
Required only if you DO NOT want your gateway to act as a NAT.

Enable this only if you're running a strictly routed network, and don't need the gateway to enable NAT for you.
You would not normally use this option. So if you don't understand it, leave it to No/Off.

Procedure

DD-WRT firmware comes complete with sample splash and status pages. Setting up basic NoCat through the Web Interface is easy. More complex options are possible by editing the nocat.conf file directly. NoCat can use a Splash URL hosted outside of the DD-WRT box, such as on NAS. Or NoCat can use the JFFS2 filesystem services on the router. A straight-forward setup is modifying the sample splash page (highly suggested) and storing it directly on the DD-WRT Device.

Enable NoCatSplash in the DD-WRT Web Interface.
- v23: Administration, Hotspot
- v24: Services, Hotspot

  • Enter your Homepage (the page people will be redirected to, after seeing the splash page),
  • Add your Allowed Web Hosts (NoCat automatically includes the Splash URL domain). Only put the domain name in, this means, do not prefix the name with http://.
  • For starters, leave the Document Root as /www.
  • Enter your Splash URL (ex: http://yoursite.com/splash/).
    • When using Document Root, Splash URL is ignored. Splash URL must be filled in with a website, otherwise Splashd does not work!

Leave all of the other settings alone. Apply your changes, and test it out.

Customize the Splash Website

Overview: Copy the default splash pages from the read-only area /www to a writeable area on the DD-WRT Device. Then the basic Splash pages can be improved to add your logo or other necessary disclaimers, agreement terms, and customizations.

Steps:

  1. See the Wiki Article Enabling JFFS2 or Adding additional Flash memory to DD-WRT to create the space on the router which is writable.
  2. Using the CLI, create a folder named nocat
    mkdir /jffs/nocat
  3. Check if the folder exists
    cd /jffs/nocat
  4. Copy the default content from /www to /jffs/nocat
    cp -R /www/* /jffs/nocat/*
  5. Next edit the /jffs/nocat/splash.html web page.
    See WinSCP and Mirroring
  6. Change the NoCatSplash configuration using the DD-WRT Web Interface from /www to /jffs/nocat. Apply. Restart DD-WRT Device if necessary.

Configuration Screen Photos

v23 NoCatSplash Configuration Web Interface

Image:V23-hotspot-nocatsplash-conf.png

Advanced Notes

  • If splash.html calls another page, such as when using HTML Frames, the final page's form for the 'I Accept' button must have action="http://the DD-WRT enabled box's IP:5280/" instead of action="$action", and any other variables filled out with the values in the Web Interface/nocat.conf. The variables present in the original splash.html sample do not pass to sub-pages.
  • Your Splash page won't show anything linked outside of the html file if the Splash URL isn't hosted on the router or through a Samba mount. For example .css and images won't load, but style tags in the HEAD of your html page will.
  • A few things I found while looking for documentation on the net: In the nocat.conf file (you'll have to be using a nocat.conf stored in /jffs/etc and use the CLI to edit these)
    GatewayMode Open 
    The only supported option at this time. I don't think it has to be set.
    LocalNetwork 192.168.1.0/24 
    The IP Range which will see the splash page.
    InsideIP 192.168.1.1 
    The LAN/wLAN IP of the router. I don't think it needs to be set
    DNSAddr 4.2.2.4 
    Your DNS Server. Again, I don't think this needs to be set here.

Daemon:
/usr/sbin/splashd

Default Configuration file:
/etc # cat nocat.conf

nvram entries:

NC_Verbosity=0
NC_SplashURL=http://www.mydomain.com/
NC_DocumentRoot=/jffs/nocat
NC_RouteOnly=0
NC_HomePage=http://www.mydomain.com/
NC_GatewayName=DDWRT
NC_ExcludePorts=25 21 23
NC_enable=1
NC_LoginTimeout=86400
NC_AllowedWebHosts=mydomain.com

History

While Authentication was originally envisioned for NoCat (NoCatAuth), support has been removed to make this as streamlined as possible.

References

http://cvs.sourceforge.net/viewcvs.py/nocatsplash/nocatsplash/man/nocat.conf.5?rev=1.1.1.1&view=markup
http://www.aixmarseille.com/NoCatSplash

Remarks

Please:

  • The place for Questions and Conjecture is on the Article Discussion page, or post your Questions in the DD-WRT Forum.

PolskiKrol Comments: It would appear that that nokaid version of DD-WRT v24 RC7 no longer leaves any space for JFFS2 on 4MB Firmware. This issue was seen on the WRT150N. The last working firmware [for me, with enough space,] is DD-WRT v24 RC6.2.