FFP as zypkg

From NAS-Central Zyxel Wiki
Jump to: navigation, search

What it is

The fonz fun_plug is a collection of applications compiled and packaged by fonz, and many (third party) packages are available, including ssh(d), lighttpd, rsync(d), buildtools, editors], midnight commander, transmission, nzbget, openvpn and many more.


In addition to the FFP-stick, it's also possible to install FFP using the build-in package manager. Use MetaRepository to install it.

Trouble shooting



The web_prefix file should have exactly that name. No capitals, no extension. In Windows an extension like .txt might be hidden. When there is some default program (like notepad) attached to the file, it *has* an extension!


When web_prefix doesn't seem to work, it might be a DNS issue. If you can't open ftp://ftp.zyxel-tech.de/2.new_mirror/ in an ftp client or web browser, when in the same network as the NAS, your DNS may fail. In that case you can try to put a static DNS in your network (router) or your NAS. (Google) is a good one. If you think Google knows already enough of you, you can try OpenDNS ( and

Low level

Sometimes it just doesn't work. In that case you can try to login over telnet, and inject the web_prefix a level deeper.

echo ftp://ftp.zyxel-tech.de/2.new_mirror/<NAS-TYPE>/4.40/zypkg/ >>/etc/package_src_url

where you have to exchange <NAS-TYPE> by your nas type. Have a look at the ftp server if you want to know which types are available. BTW, this is volatile. After a reboot you'll have to re-apply this, if you want to re-use the 'retrieve list form internet' button.


You can also copy just everything from ftp://ftp.zyxel-tech.de/2.new_mirror/<NAS-TYPE>/4.40/zypkg/ to \\<YOUR-NAS>\admin\zy-pkgs\

Post install

When ffp is installed, it should have created a logfile in \\<nas>\admin\zy-pkgs\ffp\. On my NSA325 the first logfile looks like this:

Rotating logfiles...
Try to determine NAS type...
according to /zyxel/mnt/info/modelid: AA03->NSA325
type NSA325, fw NSA325_4.50(AAAJ.0)
Starting /usr/local/zy-pkgs/ffproot/after_booting.sh version 20120924 at Sat Oct 20 23:41:05 GMT 2012...
Which FFP version to use?
Is OABI supported?...yes. Is EABI supported?...yes, choosing FFP 0.7/arm
Will try to download fun_plug.tgz (version 0.7/arm)
If the script stops here, downloading the tarball from ffp.inreto.de failed.
ping ffp.inreto.de...
ffp.inreto.de found. Downloading fun_plug.tgz...
pwd /usr/local/zy-pkgs/ffproot/ffp
fun_plug.tgz is downloaded
Delete some DNS-323 specific stuff...done
Try to create a /ffp symlink...done
To chroot or not to chroot...FFP 0.7/arm, no
Change root shell
Change admin shell
Generate helper file 1 /tmp/.ffpstick/helper.inc...done
Generate helper file 2 /tmp/.ffpstick/helper.inc...done
Generate convenience symlink /mnt/HD_a2
ln: /mnt/HD_a2/sysvol: File exists
exec /ffp/etc/rc
* /ffp/start/SERVERS.sh inactive
* /ffp/start/portmap.sh inactive
* /ffp/start/nfsd.sh inactive
* /ffp/start/LOGIN.sh inactive
* /ffp/start/telnetd.sh ...
WARNING: telnetd: Already running
* /ffp/start/sshd.sh ...
Generating public/private rsa1 key pair.
Your identification has been saved in /ffp/etc/ssh/ssh_host_key.
Your public key has been saved in /ffp/etc/ssh/ssh_host_key.pub.
The key fingerprint is:
ca:28:0b:ad:96:57:02:42:4a:86:b6:aa:28:42:d0:1b root@NSA325
The key's randomart image is:
+--[RSA1 2048]----+
|.                |
|.=               |
|*..              |
|+oE              |
|+ .o    S        |
|.o.. + .         |
|= + + o          |
|== +             |
|= o              |
Generating public/private dsa key pair.
Your identification has been saved in /ffp/etc/ssh/ssh_host_dsa_key.
Your public key has been saved in /ffp/etc/ssh/ssh_host_dsa_key.pub.
The key fingerprint is:
02:0d:5c:7e:80:72:7a:11:ec:d6:1c:8a:e2:ad:c5:be root@NSA325
The key's randomart image is:
+--[ DSA 1024]----+
|   oo+o          |
|  . *+..         |
|   *.=o..        |
|. o =.o.         |
|..oo  . S        |
| . +   .         |
|  +              |
| . .             |
|   E.            |
Generating public/private rsa key pair.
Your identification has been saved in /ffp/etc/ssh/ssh_host_rsa_key.
Your public key has been saved in /ffp/etc/ssh/ssh_host_rsa_key.pub.
The key fingerprint is:
87:ca:35:5a:0c:3d:f1:7a:d0:d5:61:9c:62:c0:d5:17 root@NSA325
The key's randomart image is:
+--[ RSA 2048]----+
|        ...oo+oE.|
|       . +..o.= .|
|      . + o. . . |
|       o =       |
|        S o      |
|     . = +       |
|      +          |
|                 |
|                 |
Generating public/private ecdsa key pair.
Your identification has been saved in /ffp/etc/ssh/ssh_host_ecdsa_key.
Your public key has been saved in /ffp/etc/ssh/ssh_host_ecdsa_key.pub.
The key fingerprint is:
c7:b8:de:b1:6a:42:25:09:05:33:18:fe:73:2d:32:df root@NSA325
The key's randomart image is:
+--[ECDSA  256]---+
|  .o+o.          |
| .. .o           |
|  .  . .         |
|   .  o..o       |
|    = ooS o      |
|     *.o o       |
|     .. E .      |
|      .... o     |
|       oo.o      |
Starting /ffp/sbin/sshd 
* /ffp/start/rsyncd.sh inactive
* /ffp/start/kickwebs.sh inactive
* /ffp/start/lighttpd.sh inactive
* /ffp/start/inetd.sh inactive
* /ffp/start/fp_master.sh inactive

Subsequent logs are shorter.

Release notes

zypkg 5, 2015-09-19

  • Added support for the NAS540&NAS520.

zypkg 4, 2013-11-24

  • The FFP tarball is now embedded in the zypkg. This discharges ffp.inreto.de (at expense of ZyXEL), and gives the opportunity to offer an FFP version which is adapted for a ZyXEL nas. Further the 'installing progress counter' in the packages menu behaves more intuitively
  • Added hardware recognition for the NSA325v2.

zypkg 3, 2012-10-20

zypkg 2, 2012-09-04

  • Instead of hijacking /etc/profile, now the root shell is changed in /etc/passwd for unchrooted installation. This should solve this issue.
  • User 'user' is removed (for chrooted installations). It seems nobody uses it, and at least one person has had an intruder on that account.
  • Added some clean 'disable' functionality for the zypkg version.
  • Cleaned up the logfile, as some messages were read as errors by users.
  • Cleaned up unneeded directories for unchrooted installations. after_booting.sh will create them when needed.
  • Added an /etc/mtab symlink, df and others needed that
  • When /ffp/etc/ffp.version fails, /ffp/etc/ffp_version is used for chroot/no chroot decisions.
  • Added a webinterface (no thrills, just some basic information/instructions)

zypkg 1, 2012-08-24

  • Initial release.