Posted: Mon Oct 31, 2011 8:36 Post subject: JFFS on TL-WR1043ND
Hi to all,
First of all I like to inform that I'm moving from AR670W clone (Ralink SoC 266MHz 32MB RAM 4MB Flash 802.11n) to TL-WR1043ND (Atheros WiSoC 400MHz 32MB RAM 8MB Flash 802.11n USB 2.0 Gigabit Ethernet).
Obviously this change (in the low-cost device range) adds native USB support and more Flash space. As a consequence now I can use CIFS and USB in my device (I continue without understanding why BrianSlayer refuses to create alternative versions of Ralink firmware with some stripped functions and with native CIFS support).
The problem: Neither, the Ralink or Atheros firms, has JFFS support. And I really need it!
The explanation: In the Ralink devices some can argue that 4MB Flash is a very small space. Ok, I agree that is small, but a very minimal version of the firmware can left sufficient space for this function. Nevertheless, why this happens on the Atheros platform?
The suggestion: On the current builds of DD-WRT for Atheros devices with 8MB Flash the JFFS support is broken. The reason is (again) the lack of sufficient space. All binaries and the needed support is included, but you can use it at all. You can think that the problem is again the small Flash. But that is true? After revise the current firm I found the XFS kernel module included in the stock firmware. This module has a length of 719692 bytes on my current build. Who needs "stock" support for the XFS filesystem? I'm sure that if someone needs it, he can load it (the module xfs.ko) form the USB. It's reasonable to waste 3/4 of a Megabyte to include this module and broke the JFFS support?
I think it's not!
Finally, please, think on this: JFFS is a HIGH requirement, don't broke it if you can maintain it!
I hope, that BrianSlayer agree to recover this functionality on Atheros devices.
Thank you very much to all developers of DD-WRT for your huge effort!
Regards,
Rocket.
Last edited by rocket on Thu Nov 03, 2011 10:03; edited 1 time in total
Thank you for your response! But I can't do that because:
1) I'm not using r16785 because the bricks with the last version and the bugs with dyndns in between.
2) Now I have JFFS enabled!!
Here my research:
1) I extracted the firm with the MDK firmware-mod-kit (http://code.google.com/p/firmware-mod-kit/). The tip is this: you need to use "extract-ng.sh" and "build-ng.sh"; with the last version of MDK you can extract/modify/re-create the dd-wrt firmware for Atheros WiSoC firmwares.
2) I fully removed the XFS module (rm -rf /lib/modules/2.6.34.8-svn16695/kernel/fs/xfs)
3) I re-created the firmware (sudo build-ng.sh ./my-build) and flashed it manually form the commandline (write new-firmware.bin linux)
4) After reboot without reload defaults, JFFS is enabled and working!!!
Would this be ok/safe to flash through the web interface of a different build?
I've been wanting jffs on my TL-WR1043ND forever, even if its just a little bit (without external usb space)
ps. You wrote TL-WR1040ND.. did you mean TL-WR1043ND?
I'm an (almost) complete rookie when it comes to dd-wrt (not so much as a user, but as a programmer) so I need people like you - otherwise I would be nowhere.
Would this be ok/safe to flash through the web interface of a different build?
I've been wanting jffs on my TL-WR1043ND forever, even if its just a little bit (without external usb space)
Absolutely safe! I'm using it on my current device without any trouble.
Boompje wrote:
ps. You wrote TL-WR1040ND.. did you mean TL-WR1043ND?
Fixed! Thank you.
Boompje wrote:
And thank you a lot for your efforts
Also thanks to BrianSlayer and the other developers!
I hope that in the next version this "fix" will be incorporated in the main branch.
Perfect! Works like a charm and it does indeed give me jffs space
The truth is, fixing this problem with jffs space only brought me to the next.
I'm trying to set up a printerserver through the USB.
- enabled JFFS (thanks to your firmware!)
- ipkg not working properly, cant update (fixed by copy ipkg to jffs and use vi to remove wget passive command. Also fixed)
- do: ipkg -force-depends install kmod-usb-printer
- "dmesg | grep usb" shows printer is connected
- "ls -la /dev/usb/" however shows NOTHING.
I can install the printer daemon, but printing simply doesn't work.
I've found 3 tutorials (including one on the dd-wrt website. it just doesn't work.)
oh well.. thank you again
i'll look into these problems later
best
/edit: just read that you actually dont need to install a printserver on later builds lol (which I guess includes this build). Guess i'll clean jffs and go figure that printserver stuff out later
thanks again. I'll get out of this topic now!