3764xt - USB drive based Buildroot for Sagemcom F@st 3764 VDSL router
== Disclaimer section ==
DISCLAIMER:
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
NOTE:
3764xt was tested only on Sagemcom F@st 3764 firmware version
TPSA v8058. I don't know if it'll work on other firmware versions
for this router, and i don't recommend trying it without good
knowledge what one is doing.
== What is it ==
3764xt is an addon for factory firmware of Sagemcom F@st 3764.
3764xt allows to use F@st 3764 as a fairly complete linux system
based on Buildroot version 2012.08.
To use 3764xt, you don't need to reflash your modem with any third
party firmware image. All you need is USB drive with 3764xt files,
and to follow simple install procedure.
3764xt install process alters router startup sequence by adding one
file to JFFS2 filesystem on flash: /mnt/jffs2/process_list.dat.
This file allows to execute 3764xt startup script during router
boot process.
== How to install/uninstall, enable/disable ==
Installation procedure is fairly simple, however it requires some
linux knowledge - you should know how to use linux fdisk, mkfs,
tar, etc...
* Preparing USB drive
1. Get an empty USB flash drive (at least 1GB)
2. Plug this drive into some system running linux
3. Use "dmesg" to check special device name assigned to your USB drive
4. Use "fdisk" to delete any existing partitions from USB drive
(don't delete your hard drive partitions - check device names twice!)
5. Use "fdisk" to create linux partition on entire USB drive
6. Using "mkfs.ext2", create ext2fs filesystem on USB drive
7. Mount prepared USB drive in your linux system
8. Put 3764xt_v1.tar.gz in the root of your USB drive
9. Unpack 3764xt_v1.tar.gz using: tar -zxpvf 3764xt_v1.tar.gz
10. Unmount USB drive, and plug it into your Sagem F@st 3764
* Installing 3764xt on your F@st 3764
1. Log in to your router via telnet
(username/pass from admin web interface)
2. Issue "system shell" command, which will drop you into busybox shell
3. Use "mount" to check where your USB drive is mounted
4. Change directory to $usb_drive_mount_dir/etc/install
5. Run ./install.sh script, and wait for it to finish
6. Reboot the router
7. That's all - you can log in to your router now using ssh
Default login/password for ssh is root/3764xt
* Uninstalling 3764xt from your F@st 3764
1. Log in to router via ssh
2. Change directory to /3764xt/etc/install
3. Run ./uninstall.sh script
4. Reboot the router, and remove USB drive
5. Re-format USB drive with VFAT under Windows
* Disabling 3764xt
(Simplest way to disable 3764xt is just to pull USB drive
out of the router and reboot)
1. Extension startup is controlled by presence of file:
/mnt/jffs2/3764xt/config/3764xt.on
2. Log in to router via ssh
3. Use shell command "3764xt off" to disable 3764xt
(this will simply remove /mnt/jffs2/3764xt/config/3764xt.on)
4. Reboot the router - 3764xt will not be started
* Re-enabling 3764xt
1. Log in to router via telnet
2. Issue "system shell" command
3. When in shell - issue "touch /mnt/jffs2/3764xt/config/3764xt.on" command
4. Reboot the router
== How to use ==
There is no web or any other graphical interface - just ssh,
startup scripts, and config files. Enjoy
To avoid USB drive filesystem corruption, 3764xt processes should be
stopped before reboot (as in every linux system). Therefore, when
using 3764xt, you should reboot the router only using "reboot" command
issued as root when logged in via ssh.
(don't use reset button, don't use reboot option in router admin webpage)
Please note that you should disable/uninstall 3764xt and reboot the router
before doing real firmware upgrade.
Applications present in 3764xt, and some comments regarding their usage:
* Startup/control scripts for F@st 3764
/3764xt/etc/init.d contains startup scripts for the extension system.
Use "3764xt" shell command to check 3764xt options/status, or disable
3764xt startup scripts.
* Additional kernel modules not present in factory firmware
There are few modules which i've decided to add: HCI USB bluetooth,
SMBFS, etc... Note that you _have_ to use modprobe with --force
option to load these modules into router's kernel.
* Dropbear SSH server/client
* Minidlna UPnP/DLNA server
There is a bug which causes minidlna and ushare to fail to listen on
TCP sockets when started as a daemon, so basically you have to restart
these apps using "do not fork" option, and put this mess in a background
using "&".
(I'll try to fix this in the next release - if it'll happen at all)
* Ushare UPnP server
(same as above - can be some libupnp bug)
* Lighthttpd
* PHP 5.3 CGI
Tested and works with included lighthttpd.
* ws-ftpd
* gcc c/c++ compiler with binutils
Sometimes, when compiling some packages, you have to force gcc to use
linker path appropriate for 3764xt:
"-Wl,-rpath /3764xt/lib"
Otherwise it'll link your compiled binaries with /lib/libc.so.0 and
they will not work properly (or won't work at all).
* Python 2.7
* Monitoring tools: htop, bwm-ng, rrdtool
* Transmission bittorrent client (cli and web-based)
It can eat a _lot_ of router's CPU power, so use with caution.
* ffmpeg
Not tested thoroughly, but at the first sight, it works.
* Midnight Commander 4.8.1.7
Just works
==