Dear
Thanks to various post in this forum (and few others), I could achieve the following
1. Edit the firmware 3.1.24 to enable SSH and MJPROXY
2. Upload into RTP300
3. Auto execute on startup MJPROXY
now the issue.
I have kept a sleep of around 50 for mjproxy to start. I have configured the same RTP300 SIP details to 192.168.15.1:5070. [b]The issue is before mjproxy can start the voice server(or what ever it is called) tries to connect to its own 5070 and locks it. So when MJPROXY tries to bind to 5070 port it fails.[/b]
So net to net, if change the SIP proxy to someother port say 5060, mjproxy starts very well and I am able to use xlite to connect to sucessfully. BUT THE LINE 1 inthe same ATA fails.
Please help how to solve the same.
MagicJack on RTP300 with MJPROXY
Moderators: Bill Smith, Pilot
-
stirucherai
- MagicJack Newbie
- Posts: 3
- Joined: Sat Sep 19, 2009 2:00 pm
-
stirucherai
- MagicJack Newbie
- Posts: 3
- Joined: Sat Sep 19, 2009 2:00 pm
Solved : MJ on RTP300 with MJPROXY
Dear az1324,
Thanks a lot. Somehow nothing worked. Finally I changed the SIP port to 5060 with MagicProxy @5070. It is working perfectly.
Here is step by step what I did.
Please note the following just to ensure what u will not still get
1. I did not get ROOT password. This means, I could not get a write partition on Router (even though /var/ is RW mountpoint but it gets erased and re-created at the boot time - every time)
2. As we could not get any RW mount point and still not able to get the stored password (through front-end VOICE front-end). It is accessed through the program ggsip.
I used the "http://www.dslreports.com/forum/r198726 ... fmode=full" -- Post [b]
GrauerFuchs 2008-01-25 19:49:54 [/b]
Steps
1. Download rtp300_fw_3.1.24_US.img from Linksys website (that is only firmware I could see)
2. Download pap2v2-3.1.24patcher.zip (from www.dslreports.com forum)
3. Copy these into Linux box. I used Centos 5.2
4. Unzip pap2v2-3.1.24patcher.zip
5. Edit splitfw.sh as follows
## Firmware manual splitter v0.0.1
## Set the below info for different firmwares
FWFILE="rtp300_fw_3.1.24_US.img"
BLOCK_Sz="4k"
KERNEL_Of="16"
KERNEL_Sz="128"
ROOTFS_Of="144"
ROOTFS_Sz="672"
PADDER_Of="816"
PADDER_Sz="128"
dd if=${FWFILE} of=${FWDATADIR}head-w.bin bs=${BLOCK_Sz} count=16 2> /dev/null
dd if=${FWFILE} of=${FWDATADIR}kernel.bin bs=${BLOCK_Sz} skip=${KERNEL_Of} count=${KERNEL_Sz} 2> /dev/null
dd if=${FWFILE} of=${FWDATADIR}rootfs.bin bs=${BLOCK_Sz} skip=${ROOTFS_Of} count=${ROOTFS_Sz} 2> /dev/null
dd if=${FWFILE} of=${FWDATADIR}padder.bin bs=${BLOCK_Sz} skip=${PADDER_Of} count=${PADDER_Sz} 2> /dev/null
cp head-w.bin head-f.bin
6. Edit buildfw.sh as
KERNEL_B="128"
ROOTFS_B="800"
${FWTOOLDIR}mksquashfs-lzma ${1} ${FWDATADIR}${2}.sqfs -noappend > /dev/null
cat ${FWDATADIR}kernel.bin ${FWDATADIR}padder.bin > ${FWDATADIR}${2}.kprep
cat ${FWDATADIR}${2}.sqfs ${FWDATADIR}padder.bin ${FWDATADIR}padder.bin > ${FWDATADIR}${2}.rprep
dd if=${FWDATADIR}${2}.kprep of=${FWDATADIR}${2}.kernel bs=4k count=${KERNEL_B} 2> /dev/null
dd if=${FWDATADIR}${2}.rprep of=${FWDATADIR}${2}.root bs=4k count=${ROOTFS_B} 2> /dev/null
cat ${FWDATADIR}head-w.bin ${FWDATADIR}${2}.kernel ${FWDATADIR}${2}.root ${FWDATADIR}sig.bin > ${2}.web
${FWTOOLDIR}tichksum ${2}.web > /dev/null
cat ${FWDATADIR}head-f.bin ${FWDATADIR}${2}.kernel ${FWDATADIR}${2}.root ${FWDATADIR}sig.bin > ${2}.flash
7. Now we need get user.html which is avaliable on the firmware. One way is to take use following commands
dd if=rtp300_fw_3.1.24_US.img of=rootfs.bin bs=4k skip=144 count=672
source/bin/unsquashfs-lzma rootfs.bin
this will create a directory squashfs-root. under this usr/www_safe/html/admin/user.html -- edit this file as per instruction provide in the dslreport fourm post -- attached in the begning of the steps
8. cp this user.html to known location (I copied to the directory inwhich patch_apply.sh exist)
9. Now copy dropbear from the unziped [u][b]pap2v2-3.1.24patcher.zip [/b][/u]. copy the same to same location in which "patch_apply.sh exist)
Download mjproxy executable for DW-DTR and copy the same to same location in which "patch_apply.sh exist)
10. Copy the rcS file from squashfs-root/etc/init.d into known location (I copied to the directory inwhich patch_apply.sh exist).
11. Now edit rcS and add last line as
mjproxy 0.0.0.0 5070 mj.proxy.server 5070 "PASSWORD"
12. Edit patch-apply.sh --
Comment cp ${PATCHDATADIR}/head-?.bin ${PATCHDATADIR}/sig.bin ${PATCHWORKDIR}/ > /dev/null
Comment all lines from
"echo -n "Applying hardware config and UI patches...""
to
"rm -f ${PATCHWORKDIR}/squashfs-root/usr/sbin/ggsip.old > /dev/null"
13. Now u need to edit this file and add the following lines
cp ./user.html ${PATCHWORKDIR}/squashfs-root/usr/www_safe/html/admin/
cp ./dropbear ${PATCHWORKDIR}/squashfs-root/usr/sbin/
cp ./mjproxy ${PATCHWORKDIR}/squashfs-root/usr/sbin/
cp ./rcS ${PATCHWORKDIR}/squashfs-root/etc/init.d
chmod +x ${PATCHWORKDIR}/squashfs-root/usr/sbin/dropbear
chmod +x ${PATCHWORKDIR}/squashfs-root/usr/sbin/mjproxy
14. Now you should be able to execute patch_apply.sh and hope everything works fine.
15. Apply the new firmware -- I used front-end to do the same.
While configuring the RTP SIP details use 192.168.15.1 as the proxy server. For SIP port which is seperate field -- use 5060 instead of 5070.
Hope this works. Please let me know if there some issue.
Thanks a lot. Somehow nothing worked. Finally I changed the SIP port to 5060 with MagicProxy @5070. It is working perfectly.
Here is step by step what I did.
Please note the following just to ensure what u will not still get
1. I did not get ROOT password. This means, I could not get a write partition on Router (even though /var/ is RW mountpoint but it gets erased and re-created at the boot time - every time)
2. As we could not get any RW mount point and still not able to get the stored password (through front-end VOICE front-end). It is accessed through the program ggsip.
I used the "http://www.dslreports.com/forum/r198726 ... fmode=full" -- Post [b]
GrauerFuchs 2008-01-25 19:49:54 [/b]
Steps
1. Download rtp300_fw_3.1.24_US.img from Linksys website (that is only firmware I could see)
2. Download pap2v2-3.1.24patcher.zip (from www.dslreports.com forum)
3. Copy these into Linux box. I used Centos 5.2
4. Unzip pap2v2-3.1.24patcher.zip
5. Edit splitfw.sh as follows
## Firmware manual splitter v0.0.1
## Set the below info for different firmwares
FWFILE="rtp300_fw_3.1.24_US.img"
BLOCK_Sz="4k"
KERNEL_Of="16"
KERNEL_Sz="128"
ROOTFS_Of="144"
ROOTFS_Sz="672"
PADDER_Of="816"
PADDER_Sz="128"
dd if=${FWFILE} of=${FWDATADIR}head-w.bin bs=${BLOCK_Sz} count=16 2> /dev/null
dd if=${FWFILE} of=${FWDATADIR}kernel.bin bs=${BLOCK_Sz} skip=${KERNEL_Of} count=${KERNEL_Sz} 2> /dev/null
dd if=${FWFILE} of=${FWDATADIR}rootfs.bin bs=${BLOCK_Sz} skip=${ROOTFS_Of} count=${ROOTFS_Sz} 2> /dev/null
dd if=${FWFILE} of=${FWDATADIR}padder.bin bs=${BLOCK_Sz} skip=${PADDER_Of} count=${PADDER_Sz} 2> /dev/null
cp head-w.bin head-f.bin
6. Edit buildfw.sh as
KERNEL_B="128"
ROOTFS_B="800"
${FWTOOLDIR}mksquashfs-lzma ${1} ${FWDATADIR}${2}.sqfs -noappend > /dev/null
cat ${FWDATADIR}kernel.bin ${FWDATADIR}padder.bin > ${FWDATADIR}${2}.kprep
cat ${FWDATADIR}${2}.sqfs ${FWDATADIR}padder.bin ${FWDATADIR}padder.bin > ${FWDATADIR}${2}.rprep
dd if=${FWDATADIR}${2}.kprep of=${FWDATADIR}${2}.kernel bs=4k count=${KERNEL_B} 2> /dev/null
dd if=${FWDATADIR}${2}.rprep of=${FWDATADIR}${2}.root bs=4k count=${ROOTFS_B} 2> /dev/null
cat ${FWDATADIR}head-w.bin ${FWDATADIR}${2}.kernel ${FWDATADIR}${2}.root ${FWDATADIR}sig.bin > ${2}.web
${FWTOOLDIR}tichksum ${2}.web > /dev/null
cat ${FWDATADIR}head-f.bin ${FWDATADIR}${2}.kernel ${FWDATADIR}${2}.root ${FWDATADIR}sig.bin > ${2}.flash
7. Now we need get user.html which is avaliable on the firmware. One way is to take use following commands
dd if=rtp300_fw_3.1.24_US.img of=rootfs.bin bs=4k skip=144 count=672
source/bin/unsquashfs-lzma rootfs.bin
this will create a directory squashfs-root. under this usr/www_safe/html/admin/user.html -- edit this file as per instruction provide in the dslreport fourm post -- attached in the begning of the steps
8. cp this user.html to known location (I copied to the directory inwhich patch_apply.sh exist)
9. Now copy dropbear from the unziped [u][b]pap2v2-3.1.24patcher.zip [/b][/u]. copy the same to same location in which "patch_apply.sh exist)
Download mjproxy executable for DW-DTR and copy the same to same location in which "patch_apply.sh exist)
10. Copy the rcS file from squashfs-root/etc/init.d into known location (I copied to the directory inwhich patch_apply.sh exist).
11. Now edit rcS and add last line as
mjproxy 0.0.0.0 5070 mj.proxy.server 5070 "PASSWORD"
12. Edit patch-apply.sh --
Comment cp ${PATCHDATADIR}/head-?.bin ${PATCHDATADIR}/sig.bin ${PATCHWORKDIR}/ > /dev/null
Comment all lines from
"echo -n "Applying hardware config and UI patches...""
to
"rm -f ${PATCHWORKDIR}/squashfs-root/usr/sbin/ggsip.old > /dev/null"
13. Now u need to edit this file and add the following lines
cp ./user.html ${PATCHWORKDIR}/squashfs-root/usr/www_safe/html/admin/
cp ./dropbear ${PATCHWORKDIR}/squashfs-root/usr/sbin/
cp ./mjproxy ${PATCHWORKDIR}/squashfs-root/usr/sbin/
cp ./rcS ${PATCHWORKDIR}/squashfs-root/etc/init.d
chmod +x ${PATCHWORKDIR}/squashfs-root/usr/sbin/dropbear
chmod +x ${PATCHWORKDIR}/squashfs-root/usr/sbin/mjproxy
14. Now you should be able to execute patch_apply.sh and hope everything works fine.
15. Apply the new firmware -- I used front-end to do the same.
While configuring the RTP SIP details use 192.168.15.1 as the proxy server. For SIP port which is seperate field -- use 5060 instead of 5070.
Hope this works. Please let me know if there some issue.
Awesome.
Nice work!!!
This is exactly what i have been looking for. Looks a bit complicated though. can you upload your modified firmware image to rapidshare and post the link?
then we can just modify for our particular MJMD5 and voice paramters and upload the FW to our RTP300 boxes?
I'm running 3.1.24-NA right now on old vonage device by patching 4 bytes in hex. i'll probably have to make the same patch to your FW.
-Frank
This is exactly what i have been looking for. Looks a bit complicated though. can you upload your modified firmware image to rapidshare and post the link?
then we can just modify for our particular MJMD5 and voice paramters and upload the FW to our RTP300 boxes?
I'm running 3.1.24-NA right now on old vonage device by patching 4 bytes in hex. i'll probably have to make the same patch to your FW.
-Frank