Thursday, January 7, 2010

hacking eGreat EG-R1 (installing torrent client, samba, ssh, plowshare etc..)

Hello,

I am presenting here my way how to run some useful applications on this (e)great device.

IMPORTANT: This guide is not for the beginners. Some linux skills are necessary, otherwise you can broke your box! Please be careful, never proceed to the next step until previous was successfully done. Good luck.

Step 1. Preparation of environment, installation of ipkg package management system (must be done)

What we need:
- ssh/telnet client (for windows it's putty - http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe
- USB memory stick (256M+) or USB/SATA harddisk which will be formated as ext3 filesystem, SATA disk is the best solution here

So let's start:
- connect USB stick to the box and power it on.
- launch putty and open a Telnet connection to ip address of the box, log in as "root"
- check if you have connection to the Internet:
ping www.google.com
if you don't see "is alive!", something's wrong

- let's check if we see USB stick "/tmp/usbmounts/sda1" (if we are using USB disk with more than one partition, we will see also sda2, sda3 etc...).

mount
/dev/root on / type yaffs2 (ro,noatime)
none on /dev type devfs (rw)
none on /proc type proc (rw,nodiratime)
devpts on /dev/pts type devpts (rw)
none on /sys type sysfs (rw)
none on /tmp type ramfs (rw)
/dev/mtdblock/2 on /usr/local/etc type yaffs (rw,noatime)
/dev/rd/0 on /mnt/rd type vfat (rw,nodiratime,fmask=0022,dmask=0022,codepage=cp437,iocharset=iso8859-1)
/dev/scsi/host2/bus0/target0/lun0/part1 on /tmp/usbmounts/sda1 type vfat (ro)

- see info about free space and disk size (in case of more disk partitions, identify correct partition by it's size:
df -h

NOTICE: note the line with correct partition to notepad for later
examp. "/dev/scsi/host2/bus0/target0/lun0/part1 on /tmp/usbmounts/sda1 type vfat (ro)"

- remount "/" as read/write:
mount / -o remount,rw

- we must free some space in /.
the best way is to substitute any big chinesse bitmap font which we never use with arial.ttf

- in case of 1.0.4.10 firmware do:
cp /usr/local/bin/Resource/tahoma.ttf /usr/local/bin/Resource/yahei.ttf

- in case of 1.0.3.5 firmware do:
cp /usr/local/bin/Resource/tahoma.ttf /usr/local/bin/Resource/yahei.ttf

- in case of 1.0.3.2 firmware do:
cp /usr/local/bin/Resource/arial.ttf /usr/local/bin/Resource/yahei.ttf

- in case of 1.0.2.3 firmware try :
cp /usr/local/bin/Resource/arial.ttf /usr/local/bin/Resource/msyh.ttf
(if is your firmware older than 1.0.2.3, update it)

- format selected partition:
umount /tmp/usbmounts/sda1

mkfs.ext3 -L opt /dev/scsi/host2/bus0/target0/lun0/part1

tune2fs -o journal_data_writeback /dev/scsi/host2/bus0/target0/lun0/part1

- mount it back as ext3:
mount /dev/scsi/host2/bus0/target0/lun0/part1 /tmp/usbmounts/sda1 -o noatime,data=writeback

- create directories and symlinks:
mkdir /tmp/usbmounts/sda1/root; ln -s /tmp/usbmounts/sda1/root /root

mkdir /tmp/usbmounts/sda1/opt; ln -s /tmp/usbmounts/sda1/opt /opt

- correct root profile and environment:
echo -e PATH="/opt/bin:/opt/sbin:\$PATH"\\nHOME=/root\\nTERM=xterm\\nINPUTRC=/etc/inputrc\\nPAGER=more\\nexport PATH TERM INPUTRC PAGER\\nalias mc=\"mc -c\"\\n"" >/root/.profile

cp -p /etc/passwd /etc/passwd.bak; sed "s/root::0:0:root::\/bin\/sh/root::0:0:root:\/root:\/bin\/sh/" < /etc/passwd.bak > /etc/passwd

- create a root password to be secure:
passwd root

exit

- connect back and check if you are now in your home directory on usb disk:
pwd; echo $PATH


Installation of ipkg package system:

mkdir /opt/tmp; cd /opt/tmp

wget http://www.kovari.priv.hu/download/ipkg-cl.tgz; tar -xvf ipkg-cl.tgz; rm ipkg-cl.tgz

mv /opt/tmp/ipkg-cl /usr/local/bin

wget http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/uclibc-opt_0.9.28-13_mipsel.ipk

ipkg-cl install uclibc-opt_0.9.28-13_mipsel.ipk

wget http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/ipkg-opt_0.99.163-10_mipsel.ipk

ipkg-cl install ipkg-opt_0.99.163-10_mipsel.ipk

rm *.ipk

- download list of packages:
/opt/bin/ipkg update

- test it by installing Nano text editor (we will need it later):
ipkg install nano


Step 2. Auto mounting of /opt and /root after reboot + starting of SSH daemon:
(must be done)

- we need UUID number of our ext3 filesystem:
tune2fs -l /dev/scsi/host2/bus0/target0/lun0/part1 | grep UUID
output will be something like:
Filesystem UUID: a46bd0c3-0479-481b-8b36-cebc69b6c397

note your UUID to notepad, for example "a46bd0c3-0479-481b-8b36-cebc69b6c397"

>>Now be very careful!!!<<
- open the starting script and put following lines at the bottom of file:
NOTE: as k="a46bd0c3-0479-481b-8b36-cebc69b6c397" use your disk UUID!!!

nano /usr/local/etc/rcS
input following text at the bottom of file:

# Mounting /opt and /root
sleep 60
mount / -o remount,rw
rm /opt
rm /root

# my disk UUID:
k="a46bd0c3-0479-481b-8b36-cebc69b6c397"

# disk checking and mounting:
for i in `mount | awk '/\/dev\/scsi\// {print $1}'`
do
if [ `tune2fs -l $i | awk '/UUID/ {print $3}'` = $k ]
then m=`mount | grep $i | awk '{print $3}'`
umount $m
fsck.ext3 -f $i
mount $i $m -o noatime,data=writeback
ln -s "$m/opt" /opt
ln -s "$m/root" /root
fi
done

sleep 1
# starting SSH:
/opt/etc/init.d/S40sshd start
(to save press ctrl+x, then "y")

Ok, so let's reboot the box ant check if everything is OK
reboot

Wait approx 2 minutes and log in back, check if you are in your home directory and if /opt and /root exist:
pwd; ls -lad /opt; ls -lad /root


Step 3. Installation of OpenSSH/SFTP
(strongly recommended if you are connected to the Internet)

ipkg install openssh openssh-sftp-server

- reboot wait approx. 2 minutes and try to connect via SSH:
reboot
(in putty change type of connection from Telnet to SSH and log in back as root)

OPTIONAL:
If you want to disable Telnet (we have SSH working now) just comment (#) following line in /etc/inetd.conf:
#telnet stream tcp nowait root /usr/sbin/telnetd telnetd

How to use SFTP:
- connect via sftp client to the same ip and port as SSH.
For more detailed configuration you have to modify "/opt/etc/openssh/sshd_config".
More info here - https://help.ubuntu.com/community/SSH/OpenSSH/Configuring

If you want to have all disks mounted as writable, add this to rcS at the bottom:
(good idea if you plan to use SAMBA or torrent client)
nano /usr/local/etc/rcS

# remount disks as "rw"
for i in `mount | awk '/\/tmp\/usbmounts\/sd/ {print $3}'`
do mount $i -o remount,rw
done


Step 4. Installation of Transmission torrent client

- install packages:
ipkg install transmission

mkdir /root/transmission

- create a directory for downloads:
mkdir /root/downloads

- create a config file, adjust settings as you need, specially "rpc-username" and "rpc-password", more info here: http://trac.transmissionbt.com/wiki/EditConfigFiles

nano /root/transmission/settings.json
paste following text in to it:
{
"alt-speed-down": 50,
"alt-speed-enabled": false,
"alt-speed-time-begin": 540,
"alt-speed-time-day": 127,
"alt-speed-time-enabled": false,
"alt-speed-time-end": 1020,
"alt-speed-up": 50,
"bind-address-ipv4": "0.0.0.0",
"bind-address-ipv6": "::",
"blocklist-enabled": false,
"dht-enabled": true,
"download-dir": "\/root\/downloads",
"encryption": 0,
"lazy-bitfield-enabled": true,
"message-level": 2,
"open-file-limit": 16,
"peer-limit-global": 120,
"peer-limit-per-torrent": 30,
"peer-port": 51413,
"peer-port-random-high": 65535,
"peer-port-random-low": 49152,
"peer-port-random-on-start": false,
"peer-socket-tos": 0,
"pex-enabled": true,
"port-forwarding-enabled": true,
"preallocation": 1,
"proxy": "",
"proxy-auth-enabled": false,
"proxy-auth-password": "",
"proxy-auth-username": "",
"proxy-enabled": false,
"proxy-port": 80,
"proxy-type": 0,
"ratio-limit": 1.0000,
"ratio-limit-enabled": false,
"rpc-authentication-required": true,
"rpc-bind-address": "0.0.0.0",
"rpc-enabled": true,
"rpc-password": "your_password",
"rpc-port": 9091,
"rpc-username": "admin",
"rpc-whitelist": "*.*.*.*",
"rpc-whitelist-enabled": false,
"speed-limit-down": 150,
"speed-limit-down-enabled": false,
"speed-limit-up": 100,
"speed-limit-up-enabled": false,
"umask": 18,
"upload-slots-per-torrent": 7
}

- set up a web engine for it:
rm -rf /tmp/www

ln -s /opt/share/transmission/web/ /tmp/www

- finally let's run the transmission daemon:
/opt/bin/transmission-daemon -g /root/transmission/

- wait for a moment and try to connect to transmission web page, it should work now:
http://ip_of_box:9091

IMPORTANT: If you want to change any setting in "settings.json" , you must first stop transmission daemon:
killall transmission-daemon; sleep 1;killall transmission-daemon
then edit "settings.json" and start is back

- if the transmission webpage is working OK, add to the start script:
nano /usr/local/etc/rcS

# starting Transmission:
rm -rf /tmp/www
ln -s /opt/share/transmission/web/ /tmp/www
/opt/bin/transmission-daemon -g /root/transmission/

- reboot box to test start script:
reboot
wait approx. 2 minutes and access Transmission web page, it should work.


Step5. SAMBA installation
(if you want to access your box over home network)

- download EG-R1_BT_SAMBA package from eGreat site and unpack:
cd; wget http://www.egreatworld.com/download/EG-R1_BT_SAMBA.rar

ipkg install unrar

unrar x EG-R1_BT_SAMBA.rar

cd EG-R1\ BT_SAMBA_20091017EN/

ipkg install samba_3.0.23c_mipsel.ipk

cd; rm -rf EG-R1*

mv /tmp/package /opt/

ln -s /opt/package /tmp/package

- edit smb.conf:
nano /opt/package/samba/lib/smb.conf

- add line:
guest ok=yes
up line "guest account=root"

- change line "domain logons=Yes" to
domain logons=No

- change line "client NTLMv2 auth=yes" to
client NTLMv2 auth=no

- add at the bottom:
[Storage]
comment = Storage
browseable = yes
writable = yes
path = /tmp/usbmounts/

- start SAMBA daemons:
/tmp/package/script/samba start

- after a while, you should see box on the network as "Venus"

- edit start script and add at the bottom:
nano /usr/local/etc/rcS

# Samba start
rm /tmp/package
ln -s /opt/package/ /tmp/package
/tmp/package/script/samba start

- reboot box to test SAMBA autostart
reboot
wait approx. 2-3 minutes, then log back in and check if samba is running:
ps -ef | grep mbd

if you see this, it's OK:
378 root 1732 S N /tmp/package/samba/sbin/smbd -D
381 root 1080 S N /tmp/package/samba/sbin/nmbd -D
383 root 1716 S N /tmp/package/samba/sbin/smbd -D

after a while you can access your disks from the home network (tested on Windows7 and XP)


Step 6. Plowshare Download manager
(it supports Megaupload, Rapidshare, 2Shared, 4Shared, ZShare, Badongo, DepositFiles and Mediafire)

- it include programs:
plowdown
plowup
plowdel

- install packages:
ipkg install coreutils imagemagick tesseract-ocr tesseract-ocr-lang-eng grep bash plowshare

- create a symlink (if doesn't exist):
ln -s /proc/self/fd /dev/fd

- add to the rcS script at the bottom:
nano /usr/local/etc/rcS

# plowshare fix
ln -s /proc/self/fd /dev/fd

Usage is very simple, go to the download directory and do:
plowdown http://www.rapidshare.com/files/86545320/Tux-Trainer_25-01-2008.rar
or
plowdown list.txt
(in list.txt is list of links to download, 1 link for line)

To ensure that all links from list will be downloaded, create a simple script in downloads directory:
cd ~/downloads; nano plow_down.sh

while true
do plowdown -m $1
sleep 120
done

chmod +x plow_down.sh

usage is: ./plow_down.sh list.txt

more info here: http://code.google.com/p/plowshare/wiki/Readme

NOTE: the "parse failed.." message mean that all public download slots are occupied, you have to wait 2 minutes and try again


Step 7. Installation of SCREEN
(ideal in combination with plowshare)


We have to solve problem, how to run plowshare in the background, so we don't need to be connected over putty all the time. The "screen" is ideal solution. It's a virtual terminal in which we can run programs, detach it, and reconnect back when we want.

- install package
ipkg install screen

- make a config file:
nano /root/.screenrc

- add following text:
shell -$SHELL
startup_message off
hardstatus alwayslastline '%{= wk}%?%-Lw%?%{r}(%{k}%n*%f%t%?(%u)%?%{r})%{k}%?%+Lw%?%?%= %m/%d %C%A'
activity ''

NOTE: when you put text to nano, it will split this line, correct it to be one:
hardstatus alwayslastline '%{= wk}%?%-Lw%?%{r}(%{k}%n*%f%t%?(%u)%?%{r})%{k}%?%+Lw%?%?%= %m/%d %C%A'

- run the program:
screen -R
( -R will connect us to the already running screen if it exist)

We are now in screen 0 and can start plowdown. To detach terminal just press "ctrl+a" then "d",
(see "[detached]" message). Screen is now running in the background and we can disconnect from putty. To connect back to the screen just run "screen -R".

More information here: http://erdelynet.com/tech/openbsd/my-gnu-screen-config/


Step 8. Installation of rTorrent terminal client

rTorrent is lightweight alternative of Transmission. I am using it because it consume less cpu and memory and I don't need web features of Transmission.

ipkg install rtorrent

- create a temp. directory:
mkdir /root/downloads/rtorrent

- create a config file:
ln -s /opt/etc/rtorrent.conf /root/.rtorrent.rc

- modify it as you need:
nano /root/.rtorrent.rc

- before start is good idea to run screen, because rtorrent can't run in the background as Transmission. So just launch "screen -R" and then run "rtorrent".

- some basic control keys:
backspace - start download torrent link you paste
up, down - move between torrents
left, right - more info about torrent
ctrl + d - stop downloading, 2x remove torrent
ctrl + r - recalculate checksum

more info here:
http://libtorrent.rakshasa.no/wiki/RTorrentUserGuide

Step 9. Installation of NFS server (unfs3)

NFS has better performance then Samba, so why do not use it?

ipkg install portmap unfs3

- add your directory to /etc/exports, in my case "/tmp/usbmount/sda1" and my home network is 192.168.1.0/24 (IP range from 192.168.1.1 to 192.168.1.255):

echo "/tmp/usbmounts/sda1/ 192.168.1.0/24(rw,async,no_root_squash)" >> /etc/exports

- test if NFS is working OK, run:

/tmp/usbmounts/ext3/opt/etc/init.d/S55portmap; /tmp/usbmounts/ext3/opt/etc/init.d/S56unfsd


- add at the end of the start script "/usr/local/etc/rcS":

# NFS start
/tmp/usbmounts/ext3/opt/etc/init.d/S55portmap
/tmp/usbmounts/ext3/opt/etc/init.d/S56unfsd

- reboot.

Regards Brano






37 comments:

  1. Thanks a lot!

    May you know why FLAC not played? May be need exchange software player?

    ReplyDelete
  2. Hello, I will check this, but it should be supported...

    ReplyDelete
  3. Hi Brano
    I try to follow your tips but no work! I have AVS HD-R1 (clone of egreat) and firmware 1.0.3.5
    Look what show me!
    Venus login: root
    warning: cannot change to home directory


    BusyBox v1.1.3 (2009.11.16-14:04+0000) Built-in shell (ash)
    Enter 'help' for a list of built-in commands.

    / # ping www.google.com
    www-tmmdi.l.google.com is alive!
    / # mount
    /dev/root on / type yaffs2 (rw,noatime)
    none on /dev type devfs (rw)
    none on /proc type proc (rw,nodiratime)
    devpts on /dev/pts type devpts (rw)
    none on /sys type sysfs (rw)
    none on /tmp type ramfs (rw)
    /dev/mtdblock/2 on /usr/local/etc type yaffs (rw,noatime)
    /dev/rd/0 on /mnt/rd type vfat (rw,nodiratime,fmask=0022,dmask=0022,codepage=cp4
    37,iocharset=iso8859-1)
    /dev/scsi/host0/bus0/target0/lun0/part1 on /tmp/hdd/volumes/HDD1 type ufsd (rw,n
    odiratime)
    /dev/scsi/host0/bus0/target0/lun0/part3 on /tmp/hdd/root type ext3 (rw)
    /dev/scsi/host3/bus0/target0/lun0/part1 on /tmp/usbmounts/sdb1 type vfat (ro,nod
    iratime,fmask=0000,dmask=0000,codepage=cp437,iocharset=iso8859-1,shortname=winnt
    ,utf8)
    /dev/scsi/host4/bus0/target0/lun0/part1 on /tmp/usbmounts/sdc1 type vfat (ro,nod
    iratime,fmask=0000,dmask=0000,codepage=cp437,iocharset=iso8859-1,shortname=winnt
    ,utf8)
    / # df -h
    Filesystem Size Used Available Use% Mounted on
    /dev/root 117.5M 103.4M 14.1M 88% /
    /dev/mtdblock/2 16.0M 1.2M 14.8M 8% /usr/local/etc
    /dev/rd/0 40.0k 40.0k 0 100% /mnt/rd
    /dev/scsi/host0/bus0/target0/lun0/part1 931.0G 376.9G 554.1G 40% /tmp/
    hdd/volumes/HDD1
    /dev/scsi/host0/bus0/target0/lun0/part3 151.9M 13.3M 130.8M 9% /tmp/
    hdd/root
    /dev/scsi/host3/bus0/target0/lun0/part1 7.5G 1.1G 6.3G 15% /tmp/
    usbmounts/sdb1
    /dev/scsi/host4/bus0/target0/lun0/part1 7.5G 1.1G 6.3G 15% /tmp/
    usbmounts/sdc1
    / # mount / -o remount,rw
    / # cp /usr/local/bin/Resource/tahoma.ttf
    BusyBox v1.1.3 (2009.11.16-14:04+0000) multi-call binary

    Usage: cp [OPTION]... SOURCE DEST

    Copies SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.

    -a Same as -dpR
    -d,-P Preserves links
    -H,-L Dereference all symlinks (implied by default)
    -p Preserves file attributes if possible
    -f force (implied; ignored) - always set
    -i interactive, prompt before overwrite
    -R,-r Copies directories recursively

    / # /usr/local/bin/Resource/yahei.ttf
    /usr/local/bin/Resource/yahei.ttf: /usr/local/bin/Resource/yahei.ttf: 1: Syntax
    error: ")" unexpected
    / #
    Wait your comments
    Regards Marius

    ReplyDelete
  4. hello,
    you must paste WHOLE red text until new EMPTY line, so this is ONE line:

    "cp /usr/local/bin/Resource/tahoma.ttf /usr/local/bin/Resource/yahei.ttf"

    ReplyDelete
  5. do you know if the egreat will support mythfrontend?
    Do you know how I could go about installing it?

    www.mythtv.org/wiki/mythfrontend.

    There doesnt seem to be much expertise out there, so any help you can provide would be great.

    Russ

    ReplyDelete
  6. Thanks Brano
    I do it in meantime but now I have other problem.my mistake before was following (I have sdb1 not sda1).Lokk what I have now
    # mkfs.ext3 -L opt /dev/scsi/host2/bus0/target0/lun0/part1
    mke2fs 1.38 (30-Jun-2005)
    Filesystem label=opt
    OS type: Linux
    Block size=4096 (log=2)
    Fragment size=4096 (log=2)
    981120 inodes, 1960900 blocks
    98045 blocks (5.00%) reserved for the super user
    First data block=0
    60 block groups
    32768 blocks per group, 32768 fragments per group
    16352 inodes per group
    Superblock backups stored on blocks:
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

    Writing inode tables: done
    Creating journal (32768 blocks): tune2fs -o journal_data_writeback /dev/scsi/host2/bus0/target0/lun0/part1
    done
    Writing superblocks and filesystem accounting information: done
    This filesystem will be automatically checked every 33 mounts or
    180 days, whichever comes first. Use tune2fs -c or -i to override.
    / # tune2fs -o journal_data_writeback /dev/scsi/host2/bus0/target0/lun0/part1
    tune2fs 1.38 (30-Jun-2005)
    / # mount /dev/scsi/host2/bus0/target0/lun0/part1 /tmp/usbmounts/sdb1 -o noatime,data=writeback
    / # mkdir /tmp/usbmounts/sdb1/root; ln -s /tmp/usbmounts/sdb1/root /root
    ln: /root: Read-only file system
    / # mkdir /tmp/usbmounts/sdb1/opt; ln -s /tmp/usbmounts/sdb1/opt /opt
    ln: /opt: Read-only file system
    / # echo -e PATH="/opt/bin:/opt/sbin:\$PATH"\\nHOME=/root\\nTERM=xterm\\nINPUTRC=/etc/inputrc\\nPAGER=more\\nexport PATH TERM INPUTRC PAGER\\nalias mc=\"mc -c\"\\n"" >/root/.profile
    -sh: cannot create /root/.profile: Directory nonexistent
    Regards marius

    ReplyDelete
  7. Brano, thank you for (e)great hacking!

    I have done it to my R1 and it works!
    But I have done it to esata disk.
    At the begin it was formatted from R1 menu.
    It splits disk into two partitions.
    One small 128Mb ext3 partition ROOT and another large NTFS partition HDD1

    /dev/scsi/host0/bus0/target0/lun0/part1 on /tmp/hdd/volumes/HDD1 type ext3 (rw)
    /dev/scsi/host0/bus0/target0/lun0/part3 on /tmp/hdd/root type ext3 (rw)

    I reformatted NTFS partition with ext3 as you showed, but after that player does not see any HDD inside HDD menu.
    Do you have any suggestions to make it show ext3 partitions from menu.

    If not, how could I resize those partitions in order to make ROOT partition slighlty bigger.
    /dev/scsi/host0/bus0/target0/lun0/part1 293.0G 3.1G 274.9G 1% /tmp/hdd/volumes/HDD1
    /dev/scsi/host0/bus0/target0/lun0/part3 151.9M 4.0M 140.0M 3% /tmp/hdd/root

    I suppose to use it for applications and NTFS for torrent download area and for sharing throughout samba.

    ReplyDelete
  8. Hello,

    I'm having the same problem as marius.

    Immediately after I make the sym link to /root, it tells me that /root is a Read-only system, and the next line of code inevitably fails. see below...


    /tmp/usbmounts/sdb1 # mkdir /tmp/usbmounts/sdb1/root; ln -s /tmp/usbmounts/sdb1/root /root
    ln: /root: Read-only file system

    /tmp/usbmounts/sdb1 # echo -e PATH="/opt/bin:/opt/sbin:\$PATH"\\nHOME=/root\\nTERM=xterm\\nINPUTRC=/etc/inputrc\\nPAGER=more\\nexport PATH TERM INPUTRC PAGER\\nalias mc=\"mc -c\"\\n"" >/root/.profile
    -sh: cannot create /root/.profile: Directory nonexistent

    Thanks for your help!

    Steve

    ReplyDelete
  9. Hello,
    Can I install all programs below on 1GB USB flash, an use an SATA HDD as is, formatted with player internal utility?

    ReplyDelete
  10. Awesome, thank you very much!

    ReplyDelete
  11. Why is Step 2 mandatory?

    ReplyDelete
  12. this is great information! Is there a way to mount NFS shares? Samba is too slow for me :(

    ReplyDelete
  13. "Why is Step 2 mandatory?"
    Because is necessary to ensure that /opt disk will be always mounted as we want, even you put another device as first or have more that 1 disk attached to the box.

    ReplyDelete
  14. "Samba is too slow for me :("

    the NFS is possible, just install packages and configure it :-)

    ReplyDelete
  15. Crack flash rom make more space
    http://1073.konamicn.com/thread-73-1-1.html

    ReplyDelete
  16. Hi,

    do you know if there is an equivalent "top" command for eg-r1? ipkg cannot find any package cointaining it. I am curious how much cpu the processes take up

    ReplyDelete
  17. ipkg install htop

    then run htop to see cpu usage...

    ReplyDelete
  18. Brano - This is awesome! Thanks so much for the great guide.. works like a charm.

    Just one question - once done is there a way to install YAMJ or any other movie jukebox? Appreciate your help..

    ReplyDelete
  19. Hi,

    I've read another post that says I have to change some register values if I have windows 7 and I want samba to work. In this case, do I have to make a change?
    I followed the steps to install samba, but I have a problem: my pc-windows 7 sees the media-player, but my media-player don't see my shared files from PC(I've also changed the workgroup name to be the same(default is MYGROUP on media player))
    Thanks

    ReplyDelete
  20. Hi Brano,
    I've installed latest firmware R1-R1B-R2A-R4A-R6A-FW_1.0.4.14 on my egreat - R1 NMT.
    After that i connected through telnet and executed all your instructions. With some errors in following instructions:
    mkdir /tmp/usbmounts/sda1/root; ln -s /tmp/usbmounts/sda1/root /root
    I've got message about can't create root dir.
    And other error there:
    cp -p /etc/passwd /etc/passwd.bak; sed "s/root::0:0:root::\/bin\/sh/root::0:0:root:\/root:\/bin\/sh/" < /etc/passwd.bak > /etc/passwd

    All other commands have been executed correctly.
    After that, I can't login to egreat using telnet. I've re-installed firmware again, but i still don't have connect to egreat through telnet. I use putty and connect using static IP through WI-FI Asus Router. I've got following error:
    "Connection reset by peer".
    Do you have any idea how I can connect to my linux box? :-)

    ReplyDelete
  21. I suggest, that use this command:
    mount / -o remount,rw; mkdir /tmp/usbmounts/sda1/root; mount --bind /tmp/usbmounts/sda1/root /root -o rw,defaults

    instead of this:

    mkdir /tmp/usbmounts/sda1/root; ln -s /tmp/usbmounts/sda1/root /root

    Before making changes on /etc/passwd, be sure, that the "/" directory is writable.
    (mount / -o remount,rw)

    If you made all steps (including the SSH daemon installing and disabling the telnet client) You can use the ssh protocol to connect) in PuTTY set the connection type to SSH, and give a try with this settings.

    ReplyDelete
  22. Wroadd,
    You didn't catch me.
    After changes, that are described below, I can't connect to Egreat-R1 using Putty or just from linux terminal. You can see linux terminal output follow:

    maxim@maxim-laptop:~$ telnet 192.168.1.120
    Trying 192.168.1.120...
    Connected to 192.168.1.120.
    Escape character is '^]'.
    Connection closed by foreign host.
    maxim@maxim-laptop:~$ ssh 192.168.1.120
    ssh: connect to host 192.168.1.120 port 22: Connection refused
    maxim@maxim-laptop:~$

    192.168.1.120 it's IP my egreat.
    I guess SSH changes have not applied, but why I can't login through telnet I have no idea.
    When I try to connect trough telnet using Putty I've got following error:
    "Connection reset by peer".

    Do you have any ideas?

    ReplyDelete
  23. It looks like, that the ssh-daemon not running property.
    The telnet-daemon is watching the telnet port, just shutting down the connection.
    In this case, here is a solution, but you will loose all of your settings, and installed packages(the content of the hdd or pendrive will not harm), if the image.img is on the pendrive, which is connected on of the USB ports of R1:
    You can do a full erase-install cycle if you pushing the small button on your R1's right side, 2. row, 1. hole, when the main power switch is turned off, and keep it pressed when You're turning it on. Don't release the button, until You not see the installation screen.
    This method will rewrite all parameter from the image to the R1's memory.
    If the method done successfully, You can see the starting setup menu on your TV(if you do the normal update method, this screen not appears again)
    You can connect to the R1 with telnet.

    ReplyDelete
  24. Here is a pic about the position of Egreat R1's reset button:
    http://twitpic.com/2jmy0s

    ReplyDelete
  25. Hi Wroadd,
    Thank's a lot for your help!
    I've re-installed firmware at R1 and now I can connect through telnet. I've successfully installed ipkg and ssh. But my main goal, was watching IPTV on the R1. And I've made it! ;-) If you wish I can give some instruction how to run it.

    ReplyDelete
  26. Yeah, let us know how you made it for watching iptv. Also implement internet radio ?

    ReplyDelete
  27. Hi everyone.
    I've used following link - http://sayler.ru/
    You can translate it using google translate tool.
    I'm not sure should you use instruction that are described on this page above, I finished at Step 4.

    ReplyDelete
  28. please Sr.,this file isn't for R1 , when I try to upload firmware R1-R1B-R2A-R4A-R6A-FW_1.0.4.14 ??
    Need help !! Thank's

    ReplyDelete
  29. Hello everyone,

    I'm trying to install transmission client but I block at step2 described above. After reboot I can see the hdd is not mounted although the UUID is correct. It appears the rcS is not executed. I also tried to use the mount command directly in the rcS :
    mount /dev/scsi/host2/bus0/target0/lun0/part1 /tmp/usbmounts/sda1 -o noatime,data=writeback

    but with no result. If I telnet the box I can easily mount the hdd and install transmission just that ist doesn't work at boot by rcS script.

    Another frustrating trial was to install the transmission directly under / not on hdd. In this case ,although I can start the daemon from telnet, when I insert the "/opt/bin/transmission-daemon -g /root/transmission/" line in the rcS the system frezees at reboot and I need to reflash the firmware again.

    Any ideeas?

    Thanks

    ReplyDelete
  30. /tmp/usbmounts/sdb1/opt/tmp # ipkg-cl install uclibc-opt_0.9.28-13_mipsel.ipk
    ipkg: Cannot create directory `//tmp/package': File exists
    ipkg: Cannot create directory `/tmp/package': File exists
    ipkg: Cannot create directory `//tmp/package': File exists
    Installing uclibc-opt (0.9.28-13) to root...
    uclibc-opt: unsatisfied recommendation for ipkg-opt
    ipkg: //tmp/package/ipkg/info/uclibc-opt.control: No such file or directory
    ipkg: //tmp/package/ipkg/info/uclibc-opt.postinst: No such file or directory
    can't get //tmp/package/ipkg/info/uclibc-opt.control open for read
    Configuring uclibc-opt
    ipkg_conf_write_status_files: Can't open status file: //tmp/package/ipkg/status
    for writing: No such file or directory
    pkg_write_filelist pkg=uclibc-opt returned 2
    Successfully terminated.
    Collected errors:
    Unable to open the control file in set_flags_from_control
    Could not open //tmp/package/ipkg/info/uclibc-opt.list for writing: No such file
    or directory
    Could not open //tmp/package/ipkg/info/uclibc-opt.list for writing: No such file
    or directory


    How to resolve this

    ReplyDelete
  31. The commands:
    rm /opt
    rm /root
    remove the directories opt and root, do they?
    What's a point of removing everything just installed?
    After reboot the directories of course do not exist and BusyBox reports:
    warning: cannot change to home directory
    Why the removing of directories in script is called: # Mounting /opt and /root?

    ReplyDelete
  32. Anyone know how to get shoutcast on an egreat R6A?

    ReplyDelete
  33. i did first r2a machine non problem but another machine not success

    i cant resolve it

    sh: ipkg: not found
    :(

    ReplyDelete
  34. we want to see PlayON!HD Essential firmware for Egreat R6B

    ReplyDelete
  35. Hello,

    I bought recently eGreat R1-II and I have problem with changing root passwd and setting samba pass.
    When trying to change root passwd I am getting errors:
    ~ # passwd
    Changing password for root
    Enter the new password (minimum of 5, maximum of 8 characters)
    Please use a combination of upper and lower case letters and numbers.
    Enter new password:
    Re-enter new password:
    Segmentation fault (core dumped)
    ~ #
    Any Idea how to do it ?

    ReplyDelete
  36. Problem is i have not yaffs but squashfs I gues.
    But how to deal with it :(

    ReplyDelete
  37. anyone know how can I use youtube on egreat R1?

    ReplyDelete