[WebTop] rDesktop 1.7.0 for WebTop - Atrix 4G Android Development

rDesktop 1.7.0
What is rDesktop?
rDesktop is a terminal services client for Linux - it will allow you to connect to a terminal services session of any Windows machine with Remote Desktop enabled.
This is a newer release of rDesktop than is available in the Debian repos.
Prerequisites
Access to a terminal from WebTop
A small amount of Linux shell knowledge
Usage
Copy the attached binary to somewhere on your device (I suggest /usr/bin, or somewhere else on your PATH)
Open a terminal
Enter the following:
Code:
rdesktop -g workarea -a16 -z -xm -P -0 <server>
You can use the following switches:
-g workarea - sets the window size to the desktop size
-f - makes the session fullscreen (ie. on top of all current chrome)
-a16 - sets 16bit colour depth (valid values are 8, 15, 16 and 24)
-z - enables compression (leave this enabled!)
-xm - sets the 'experience' level to 'modem' (valid values are modem, broadband or LAN)
-0 - causes you to be logged in to the console session (same as the /admin switch for mstsc)
I've found this to be invaluable for getting onto my desktop and servers at work. Now to see if I can get rid of that bloody awful Avant Window Manager and just use FluxBox

I don't have a lapdock, but its compiled for arm/tegra?
Sent from my Motorola Atrix 4G on the network with the most backhaul, whatever that is. This post might have errors as I hate touchscreen keyboards.

GUI support?
I know rdesktop is only terminal based, but is there a sort of add-on to it that allows for a graphical representation of the screen, much like rdp clients in the Android market? that would be far more useful for my purposes, although this is a great step in that direction.

paravorheim said:
I know rdesktop is only terminal based, but is there a sort of add-on to it that allows for a graphical representation of the screen, much like rdp clients in the Android market? that would be far more useful for my purposes, although this is a great step in that direction.
Click to expand...
Click to collapse
An easy solution is to simply create a shell script and then specify the server.
EG: ./rdp.sh <server>
Much prettier than having to type all the strings.

paravorheim said:
I know rdesktop is only terminal based, but is there a sort of add-on to it that allows for a graphical representation of the screen
Click to expand...
Click to collapse
grdesktop is a graphical front end. It works on hacked webtops such as webtop2sd or the debian chroot mod.

krkeegan said:
grdesktop is a graphical front end. It works on hacked webtops such as webtop2sd or the debian chroot mod.
Click to expand...
Click to collapse
Thanks! you just saved me $1000!
If I couldn't run some programs like matlab and mathematica, I would have had to but a laptop for classes.
Sent from my MB860 using XDA Premium App

Mgamerz said:
I don't have a lapdock, but its compiled for arm/tegra?
Click to expand...
Click to collapse
Yes, it was compiled on the Atrix itself (that took a while...).
I use the chroot method on my atrix (I like keeping things seperate!), so this is probably only useful for those of us based on Debian (don't know what version is currently in the ubuntu repos)
The grdesktop package from the debian repos will work just fine with this binary.
I might even start a repo just for webtop... anyone think that would be useful?

YES
FallenAngelUK said:
Yes, it was compiled on the Atrix itself (that took a while...).
I use the chroot method on my atrix (I like keeping things seperate!), so this is probably only useful for those of us based on Debian (don't know what version is currently in the ubuntu repos)
The grdesktop package from the debian repos will work just fine with this binary.
I might even start a repo just for webtop... anyone think that would be useful?
Click to expand...
Click to collapse
That would be very useful, actually. Although I'm terrible at using Unix OSes and terminals in general haha.

this is awesome..almost as good as citrix xendesktop...who needs that though when this works so very well...one question did you get your sound working on the lapdock? when i try to enable sound via -r sound:local it says driver not found or smething like that..basically no matter what settings i use even via the gui tools or the cli..i get the same error and no sound....is there any way to get the sound to work?

If you're using the chroot method, it may be that you need to add some packages.
I haven't tried it myself, but I remember seeing a thread somewhere related to getting RythmBox working - this involved sorting out some missing audio-related stuff.

How is this better than the free 2X client for Android?

Well it runs in the webtop, so you get a much larger screen. Sure you could expand the android in window screen, but that doesn't increase the pixel count.

full-screen resolution grdesktop
Thanks for getting this working FallenAngel!
How would one use the xterm session to set grdesktop to represent the desktop as full screen on the laptop dock? 640 x 480 ( I think? ) just isn't cutting it.

add in -f
into your command line
paravorheim said:
Thanks for getting this working FallenAngel!
How would one use the xterm session to set grdesktop to represent the desktop as full screen on the laptop dock? 640 x 480 ( I think? ) just isn't cutting it.
Click to expand...
Click to collapse

any input on getting the sound to work?
humzat said:
this is awesome..almost as good as citrix xendesktop...who needs that though when this works so very well...one question did you get your sound working on the lapdock? when i try to enable sound via -r sound:local it says driver not found or smething like that..basically no matter what settings i use even via the gui tools or the cli..i get the same error and no sound....is there any way to get the sound to work?
Click to expand...
Click to collapse

humzat said:
add in -f
into your command line
Click to expand...
Click to collapse
I think I tried that, but it didn't work. Ill try again when I get home. Is the command grdesktop -f or after running grdesktop then do -f?
Sent from my MB860 using XDA Premium App

To connect to a server and run it fullscreen, try:
Code:
rdesktop -f -a16 -z -xm -P -0 <server>

To connect to a server and run it fullscreen, try:
Code:
rdesktop -f -a16 -z -xm -P -0 <server>
refer to the first post for command line args

i get an error:
"ERROR: Failed to open keymap en-us
ERROR: Connection refused"
i set all the remote desktop ok and all the settings ok, what was my mistake?

First, thanks for compiling this. I can't imagine how long it took on the Atrix.
Second, I am using this with the lapdock and the arrow keys, home, insert, page up, and the like are not working. I am assuming this is a keymap issue?? Any one else having these issues? Does anyone have the keymap that I need?

Related

[MOD] Basic HDMI mirroring

I played a little bit with the scripts starting the X server used for the webtop. That X server is what prevents the HDMI mirroring (which is there out of the box) from working.
Wrapping it all up in some (rather quick & dirty) app - and there we go: HDMI mirroring.
Disclaimer
If you choose to perform this installation, I cannot be held responsible if you brick your device, damage it otherwise, blowup your monitor or create SkyNet.
Install perquisites
Your phone is rooted
You have ADB installed and know how to use it
You are aware that this is rather a hack than a polished product
You have read the disclaimer
How to install
All the manual script work is now unnecessary. Just install the APK, the app will do the rest.
Edit the /system/build.prop file and set ro.hdmi.mirror.enable to true
Code:
su
mount -o remount,rw /dev/block/mmcblk0p12 /system
sed -ie s/ro.hdmi.mirror.enable=false/ro.hdmi.mirror.enable=true/g /system/build.prop
mount -o remount,ro /dev/block/mmcblk0p12 /system
Modify /etc/init.d/startXServer.sh to introduce some sort of a semaphore:
Code:
su
cd /etc/init.d
cp startXServer.sh startXServer.bak
(head -n 40 startXServer.bak; echo "if [ ! -e /var/run/noWebtop ]; then"; tail -n 12 startXServer.bak; echo "fi") > startXServer.sh
Install hdmimirroring.apk
Code:
adb install hdmimirroring.apk
Known Issues
While HDMI mirroring is enabled, starting webtop will freeze your screen (pull out HDMI cable to get a working screen again)
Once HDMI mirroring was enabled, webtop might not start smoothly anymore
Enabling HDMI mirroring might break your webtop session (The X server is killed in the process, thus all applications depending on the X display are likely to be killed as well. Let alone those started by xinit)
Auto rotation does not rotate the HDMI image (always in portrait mode)
Can't manually select the resolution or other parameters
Update/Edit
I reupploaded the app which no does all the setup on its own - so the procedure above is no unnecessary
All my digging (deep) in the guts of what runs on the Atrix suggests that there is no easy way of getting rotation to work. Someone might have to write a deamon which grabs the framebuffer image and draws it on the HDMI port (as GLES client). That's pretty much what they did on the Evo (someone correct me if I'm wrong). But not only is that a painful task, but also is the performance going to be rather bad (esp. compared to how good it is out of the box)
Can you PLZ get landscape working. This single handedly has made me buy the atrix! Please get landscape working. I Love android Devs. YAY OPEN SOURCE!
wow very nice, thanks weichel!
horizontal mode is def the next step!
great work
whats the point of mirroring..?
if u wanna watch vids/ pics u can use the multimedia via HDMI out anyways
enlighten me
SS2006 said:
whats the point of mirroring..?
if u wanna watch vids/ pics u can use the multimedia via HDMI out anyways
enlighten me
Click to expand...
Click to collapse
Playing games on the big screen is one thing. Some of the struggles I went through were whenever I go on the webtop mode is that it's hard for me to use it as a mirror when the touchscreen gets turned into a mouse (not everyone has a bluetooth mouse). Some people might not like that and want straight up mirroring, like how the Optimus 2X does it.
You might wanna check out ExtDispService. It relates to HDMI.
SS2006 said:
whats the point of mirroring..?
if u wanna watch vids/ pics u can use the multimedia via HDMI out anyways
enlighten me
Click to expand...
Click to collapse
mirroring is so much better than motorola's crappy entertainment app. For one, its not limited to filetypes. You can use rockplayer to play x264s among others.
Secondly, as mentioned before, games. Especially emulation... Playing fullscreen via the webtop did not work well for 2 reasons. Native android games would require you to use the touchscreen, impossible with the webtop. Secondly, there would be a lot of framerate drops in the webtop environment, while there isn't any noticeable drop during mirroring.
Techcruncher said:
Can you PLZ get landscape working. This single handedly has made me buy the atrix! Please get landscape working. I Love android Devs. YAY OPEN SOURCE!
Click to expand...
Click to collapse
The 2nd pic looks like it's working. Please advise!
rozzco said:
The 2nd pic looks like it's working. Please advise!
Click to expand...
Click to collapse
no, thats still portrait mode, even if he were to flip the phone, it would stay in portrait mode
I'm going to try to make a script (one that can be run from the phone) to swap the stock buildprop file with the modified one to make it easier and work well with the webtop. Will post later tonight if I'm successful.
can't wait to try this when i get my atrix. =)
any news on horizontal mirroring?
Unfortunately I don't have access to an HDMI capable monitor at the moment, as mine is broken. But still looking into landscape view ...
Hi! Did you manually create HDMIMirroring.apk or was this file pulled from somewhere?
Would it be possible to get the source code? Maybe we can put everything in there so that the app does everything automatically and no manual intervention has to be done...
weichel said:
Unfortunately I don't have access to an HDMI capable monitor at the moment, as mine is broken. But still looking into landscape view ...
Click to expand...
Click to collapse
I wrote the hdmirroring app myself (it's rather quick and dirty, but gets the job done).
There is an update available. Now the app does all the work, as Beach_Head suggested. See the first post for details.
There is also:
All my digging (deap) in the guts of what runs on the Atrix suggests that there is no easy way of getting rotation to work. Someone might have to write a deamon which grabs the framebuffer image and draws it on the HDMI port (as GLES client). That's pretty much what they did on the Evo (someone correct me if I'm wrong). But not only is that a painful task, but also is the performance going to be rather bad (esp. compared to how good it is out of the box)
Click to expand...
Click to collapse
So you can use the full multitouch screen and accelerometer to play games and operate your device. Webtop doesn't mirror your inputs. It just converts phone's screen into a laptop touchpad.
Sent from my MB860 using XDA Premium App
I have enable superuser right,but got erro message .
HDMI mirroring is not avalibal.Possible resons are:This application has no superuser rights.The ro.hdmi mirror enable poperty is not set.
It's very likely that something's wrong with the superuser rights, because if the ro.hdmi.mirror was not set, the application would try to set it.
Did you tick the "Remember" checkbox when you gave the application superuser rights the first time?
ANDY12001 said:
I have enable superuser right,but got erro message .
HDMI mirroring is not avalibal.Possible resons are:This application has no superuser rights.The ro.hdmi mirror enable poperty is not set.
Click to expand...
Click to collapse
Same for me I uninstalled it and made sure I clicked "allow" and still gave me the same error
Sent from my MB860 using XDA App

[TWEAK] Google DNS (No Verizon)

here is a link to the Google DNS script (flashable) but its in Amend scripting (which will only work with CMW 2.x
Can a smart dev covnert this to Edify so we can flash the D3? I've done this with my Eris works great. Would love to do this with the D3.
http://forum.xda-developers.com/showpost.php?p=12022796&postcount=22
For those who have no clue what benefit this has, read up here:
http://www.howstuffworks.com/dns.htm
in short, Verizon users its own DNS service (all your phone traffic routes to their DNS server), this file will route you to Google's DNS system which should theoretically be faster/superior to Verizons. Technically your still on Verizon bandwidth though, so dont get confused.
Google search amend2edify. Its a program that can convert it.
Sent from my DROID3 using Tapatalk
Try this....
kshen1 said:
Google search amend2edify. Its a program that can convert it.
Sent from my DROID3 using Tapatalk
Click to expand...
Click to collapse
yes, after I posted I started searching for a way to do it myself... thanks for posting that though!
stevefxp said:
Try this....
Click to expand...
Click to collapse
I tried yours, fails on flash. I also did convert the original with the admend script converter file (mentioned above), is found on XDA here:
[TOOL] amend2edify script converter
The conversion worked fine, but for whatever reason the file fails the flash also, not sure why though. some error code (status 0)
---update---
ok the files are obviously different, hence the error.
D3 uses ip-up-vpn, while other phones use ip-up and ip-down, I wonder if this is a Gingerbread thing or just a D3 thing? hmm
Solved just go here, works on D3 as well. Have fun!
http://forum.xda-developers.com/showthread.php?p=18253778#post18253778
There is no resolv.conf in etc/ or system/etc like the link to the bionic thread suggested.
Yep. No resolv. Lame.
I created my own resolv.conf file and put the line in there, then set the correct permissions.... dunno it did anything tho...
So this did work for me, but then I lost the tether hack. I can enable it but my computer fails to connect. Ideas?
you know, there is a program in the market called SetDNS that is free...works perfectly....
I read it was a trial based app. Have you confirmed it works on our phone?
Sent from my DROID3 using XDA App
Izeltokatl said:
I read it was a trial based app. Have you confirmed it works on our phone?
Sent from my DROID3 using XDA App
Click to expand...
Click to collapse
As far as I know it is not a trial app...I ran it selected the Google DNS and hit apply...that was it, as far as I know it is working flawlessly
I made a little script to automate changing the DNS's to Google's free DNS's whenever I'm on a 3G/WiFi connection. It's pretty simple and might require a bit of tweaking (ie: changing ppp0 to whatever your particular network uses as the interface) for users not on Bell Mobility but if you type "getprop | grep dns" without the quotes into a terminal or via adb you'll see the appropriate substitution.
You need to install SL4A (Scripting Languages for Android) as well as Tasker from the Android Market in order to use this, so it requires a bit of effort. You can get the .apk for SL4A here: http://code.google.com/p/android-scripting/
The script:
su -c "setprop net.ppp0.dns1 8.8.8.8"
su -c "setprop net.ppp0.dns2 8.8.4.4"
su -c "setprop net.dns1 8.8.8.8"
su -c "setprop net.dns2 8.8.4.4"
I saved the text above as "change-dns.sh" in /sdcard/sl4a/scripts/
Tasker is a bit tricky to figure out at first but really great for automating tasks once you get the hang of it. I just made a Profile (big green plus sign at the bottom), selected State->Net->Mobile Connected and checked off all the boxes except Invert and then for the Task, selected Misc->Run Script, clicked on the magnifying glass and selected "change-dns.sh" that was placed in the /sl4a/scripts/ folder on /sdcard/ earlier. Repeat again with "WiFi Connected" as the State for a new profile, keeping the Task of running the script the same.
Works pretty good so far!
Sent from my XT860 using xda premium
porky101 said:
As far as I know it is not a trial app...I ran it selected the Google DNS and hit apply...that was it, as far as I know it is working flawlessly
Click to expand...
Click to collapse
Set DNS actually does work fine, and its free. My only issue is a do prefer flashing a permanent setting over an app taxing my cpu. But, it gets the job done for now.

Ubuntu installer

just wanted to let you guys know that the ubuntu installer app works on the hp touchpad running CM9
unfortunately i cant provide the URL
so im just gonna give you the name of the app
Ubuntu Installer
its by ZPwebsites
to use ubuntu on android
all links are in the app
1.download boot script
2.download Large/Small (you choose[i chose the Large image])
3.create a folder called ubuntu on the root of the sdcard
4.extract both files to the ubuntu folder
5.download and install VNCviewer App (it should come up as androidVNC in the app drawer)
its gonna give you a link to install the terminal app but there is no need since it comes pre-installed with CM9
6.in the terminal app type
su
cd /sdcard/ubuntu
sh ubuntu.sh
7.you will be asked to choose a screen resolution and which destop you want to run (Large[i typed 1024x768 for screen resolution and 2 for Gnome])
8.in androidVNC set the address as localhost and the port to 5900 and the password to ubuntu
9.(optional) press the menu key and select input mode then select Touchpad (so your finger can act as a mouse (basically put your finger anywhere and drag the mouse)
10.enjoy
all credit goes to ZPwebsites for making the app
if u set the resolution to 1024x725 u will no longer need to scroll to see the whole thing
Very nice. Looks more like a virtual install that you VNC into but nothing wrong with that if the performance is good and everything works.
However this really belongs in the 'Other Touchpad Development" area since it is non-android.
omg i meant to post it in the other touchpad development
can someone please move this over there?
Done
Sent from my HTC_Amaze_4G using xda premium
Anyone try this yet?
Just wondering, isn't this basically the same thing as the "Ubuntu chroot" in preware on WebOS?
Going to try this.
I am Z.
Sound doesn't work though I'm pretty sure wifi does cuz I installed an app through the Ubuntu software center
xxjrkkrjxx said:
Just wondering, isn't this basically the same thing as the "Ubuntu chroot" in preware on WebOS?
Click to expand...
Click to collapse
Yeah except this is a lot easier as it doesn't deal with your partitions, and it still yields the same performance.
u guys liking it?
im not sure if it will work if u update ubuntu
have u guys updated it?
Anyone now of a way to get Sun Java running on this? All I want is to be able to run citrix on my touchpad and for some reason the native webos and android apps don't work. Best hope is the jvm and openJDK is a little flaky.
Looks like I might have to compile because the binaries can't be distributed. Any advice on how to do this?
Sent from my cm_tenderloin using Tapatalk
Anyone else having problems with the web browser? Every time i try to go to a new page that is not one of the ORIGINAL bookmarks it crashes.
calebu2 said:
Anyone now of a way to get Sun Java running on this? All I want is to be able to run citrix on my touchpad and for some reason the native webos and android apps don't work. Best hope is the jvm and openJDK is a little flaky.
Looks like I might have to compile because the binaries can't be distributed. Any advice on how to do this?
Sent from my cm_tenderloin using Tapatalk
Click to expand...
Click to collapse
Try downloading firefox and the citrix beta then access your company's citrix portal in firefox. this has worked for me on both CM7 and CM9.
Sent from my SGH-T989 using XDA
You can't get Sun...I mean Oracle Java on this, they don't compile for ARM. You can, however get OpenJDK version 6 or version 7 through the APT repository (should work on any Ubuntu system by installing openjdk-6-jre or openjdk-7-jre, works on the native Ubuntu for TP).

[GUIDE] Setup Your Own Asterisk Server With Google Voice on Amazon EC2

EDIT: THIS SETUP IS FOR PEOPLE WHO WANT A RELIABLE ALTERNATE TO USING MAIN STREAM SERVICES. THIS IS YOUR OWN SERVER -- AND YOU WILL BE THE ONLY ONE USING IT AS OPPOSED TO HUNDREDS OR THOUSANDS OF OTHER USERS. I'VE BEEN USING THIS FOR SIX MONTHS WITH NO ISSUES. BEFORE THIS I WAS USING PBXES.ORG AND THE SERVICE WAS 'OK' AND I MISSED SOME CALLS. I'VE HAD ZERO ISSUES WITH THIS SETUP.
A few people have asked me for a guide on howto setup Asterisk on an Amazon EC2 micro instance for their Nexus 4. Amazon offers a free micro instance for one year (new signups). Even after your first year it's pretty cheap to keep it running. Amazon's bandwidth will be faster than setting up Asterisk on your own home server (in most cases).
Once you have the server up and running you can easily configure your favorite SIP client on your Nexus 4 to enjoy free calling with your Google Voice account. This is particularly useful for people such as myself who are on the $30 T-Mobile plan.
As a bonus, I've also included the steps to setup a PPTP VPN.
This guide assumes that you've already setup your AWS account and figured out how to set the security group. You will need to open some ports (TCP: 22, 1723, 5060. UDP: 5060, 10000-20000)
Step 1. Goto: http://uec-images.ubuntu.com/releases/10.04/release/ and pick the t1.micro instance (ebs 64 bit) for the region that you setup in AWS. Launch this instance (there is a button) and get it working with the security group that you configured. After it's launched you need to setup an Elastic IP and associate it with the instance. After that go ahead and log into your new micro instance server. Once you get to this point, then you can continue with the guide. There are TONS of resources (including youtube videos) on how to get to this point. It's not rocket science.
Step 2. Setup firewall settings for pptpd and asterisk. Lucid also has firewall settings that need to be adjusted.
Code:
#Uncomplicated Firewall
sudo ufw enable
sudo ufw allow 22/tcp
sudo ufw allow 1723/tcp
sudo ufw allow 5060/tcp
sudo ufw allow 5060/udp
sudo ufw allow 10000:20000/udp
#check status
sudo ufw status
#edit /etc/default/ufw and enable forward policy
DEFAULT_FORWARD_POLICY="ACCEPT"
#edit /etc/ufw/sysctl.conf and uncomment
net/ipv4/ip_forward=1
#edit /etc/ufw/before.rules and add this after the header comments
---<BEGIN>--- (DON'T COPY THIS LINE)
# nat Table rules
*nat
:POSTROUTING ACCEPT [0:0]
# Forward traffic through eth0.
-A POSTROUTING -o eth0 -j MASQUERADE
# don't delete the 'COMMIT' line or these nat table rules won't be processed
COMMIT
---<END>--- (DON'T COPY THIS LINE)
#disable and enable to apply changes
sudo ufw disable && sudo ufw enable
Step 3. Recompile Kernel. The default kernel is set at 100HZ timing, this will give you HORRIBLE VOIP quality. The kernel needs to be recompiled to 1000HZ timing.
Code:
# Make yourself root
sudo su
# Update source list:
aptitude update
# Upgrade everything:
aptitude upgrade
# Install dependencies:
apt-get build-dep linux-image-$(uname -r)
apt-get build-dep linux
apt-get install fakeroot build-essential
apt-get install crash kexec-tools makedumpfile kernel-wedge
apt-get install libncurses5 libncurses5-dev
apt-get install libelf-dev asciidoc binutils-dev kernel-package
apt-get install git-core
cd /usr/src
git clone git://kernel.ubuntu.com/ubuntu/ubuntu-lucid.git
cd ubuntu*
git checkout --track -b ec2 origin/ec2
fakeroot debian/rules clean
fakeroot debian/rules editconfigs
# Configuration window should now appear, do the following:
Select YES
# Navigate to:
Processor type and features -> Timer frequency
# Select the 1000HZ frequency
Exit
Exit
Yes (Save)
#After saving and returning to prompt it may ask you to do it again for i386, select yes and repeat!
This next command will take about 7 hours to recompile the kernel. But, there is a shortcut. Amazon charges by the minute for each instance type that you use. I recommend shutting down your instance at this point and changing it to a m1 extra large instance type (this will cost you about 70 cents). This will increase your micro instance from:
613 MiB memory
Up to 2 EC2 Compute Units (for short periodic bursts)
EBS storage only
32-bit or 64-bit platform
I/O Performance: Low
EBS-Optimized Available: No
API name: t1.micro
to:
15 GiB memory
8 EC2 Compute Units (4 virtual cores with 2 EC2 Compute Units each)
1,690 GB instance storage
64-bit platform
I/O Performance: High
EBS-Optimized Available: 1000 Mbps
API name: m1.xlarge
The compiling time will be reduced to about 25 minutes.Once you got the instance backup with the m1.xlarge instance, continue like so:
Code:
sudo su
cd /usr/src/ubuntu*
fakeroot debian/rules binary
#Check if your deb files were created
cd ..
ls *.deb
#install new kernel
#IF A GRUB MENU POPS UP PICK PACKAGE VERSION
sudo dpkg -i linux-*.deb
Then shutdown your system again and change it back to a micro instance. Then boot it back up.
#Check your new Kernel version
Code:
uname -r
#Check if Kernel HZ value change persisted:
cat /boot/config-`uname -r` | grep HZ
#If value 1000HZ=yes then you did it right!
Step 4. Install Asterisk 11
Code:
#become root
sudo su
# Install dependencies:
apt-get install libiksemel-dev libsqlite3-dev libssl-dev libnewt-dev libxml2-dev
#get source
#note: dahdi needs to be installed to compile and install libpri -- we don't really need it for any other reason
cd /usr/src/
wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4-current.tar.gz
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-11-current.tar.gz
#extract source
tar zxvf dahdi-*
tar zxvf libpri-*
tar zxvf asterisk-11*
#resolve error for compiling dahdi
ln -nsf /usr/src/linux-headers-`uname -r`/include/asm-x86 /usr/src/linux-headers-`uname -r`/include/asm
#install dahdi
cd /usr/src/dahdi*
make && make install && make config
#install libpri
cd /usr/src/libpri-1.4*
make && make install
#install asterisk
#note: once the menu pops up check and make sure you have chan_motif and xmpp (should have a * next to them)
cd /usr/src/asterisk*
./configure && make menuselect && make && make install && make config && make samples
Step 5. Configure Google Voice
Backup original conf files (you should still be root)
Code:
cd /etc/asterisk
cp extensions.conf extensions.conf.orig
cp motif.conf motif.conf.orig
cp sip.conf sip.conf.orig
cp xmpp.conf xmpp.conf.orig
New Config files compiled by jhax01 - GO TO POST #85 FOR MORE DETAILS. Now you will want to replace the following files with these (change USERNAME to whatever you want and make sure you google account info is correct):
#extensions.conf - Don't forget the USERNAME on the last line
Code:
[general]
autofallthrough=yes
; If an unauthenticated request some how gets through, send them to free 411.
[default]
exten => 411,1,Answer()
same => n,Dial(Motif/google/[email protected])
[local]
exten => _1XXXXXXXXXX,1,Dial(Motif/google/${EXTEN}@voice.google.com,,r)
exten => _XXXXXXXXXX,1,Dial(Motif/google/${EXTEN}@voice.google.com,,r)
exten => _+1XXXXXXXXXX,1,Dial(Motif/google/${EXTEN}@voice.google.com,,r)
[incoming-motif]
exten => s,1,NoOp()
same => n,Set(crazygooglecid=${CALLERID(name)})
same => n,Set(stripcrazysuffix=${CUT(crazygooglecid,@,1)})
same => n,Set(CALLERID(all)=${stripcrazysuffix})
same => n,Dial(SIP/USERNAME,20,D(:1))
#motif.conf
Code:
[google]
context=incoming-motif
disallow=all
allow=ulaw
connection=google
#sip.conf - Pay attention to externhost, secret, and USERNAME
Code:
[general]
allow=all
allowguest=no
nat=force_rport,comedia
tcpbindaddr=0.0.0.0
tcpenable=yes
externhost=ELASTICIP
localnet=10.0.0.0/8
[USERNAME]
type=peer
secret=PASSWORDYOUGENERATE
host=dynamic
context=local
transport=udp,tcp
#xmpp.conf
Code:
[general]
[google]
type=client
serverhost=talk.google.com
[email protected]
secret=GMAILPASSWORD
priority=100
port=5222
usetls=yes
usesasl=yes
status=available
statusmessage="VOIP"
timeout=5
Code:
#
# Stop/Start asterisk
#
sudo /etc/init.d/asterisk stop
sudo /etc/init.d/asterisk start
If everything went at planned your Asterisk Server with Google voice should be working, you can now login with your SIP client utilizing the extension username and password that you chose in sip.conf.
BONUS STEP. PPTPD VPN
install (make sure you are still root)
Code:
apt-get install pptpd
Now take the following code and copy it into a script and execute as root:
Code:
echo "localip 10.40.1.1" >> /etc/pptpd.conf
echo "remoteip 10.40.1.20-50" >> /etc/pptpd.conf
echo "ms-dns 8.8.8.8" >> /etc/ppp/options.pptpd
echo "ms-dns 8.8.4.4" >> /etc/ppp/options.pptpd
echo "ms-dns 172.16.0.23" >> /etc/ppp/options.pptpd
pass=`openssl rand 8 -base64`
if [ "$1" != "" ]
then pass=$1
fi
echo "VPN pptpd ${pass} *" >> /etc/ppp/chap-secrets
echo -e "VPN service is installed, your VPN username is \033[1mVPN\033[0m, VPN password is \033[1m${pass}\033[1m"
Done. Just a reminder, do not upgrade the system to Ubuntu 12.04 or you will lose the recompiled Kernel. If you update the kernel you will need to recompile...
Eh? Understood none of that. What even is Asterisk?
CrazyPeter said:
Eh? Understood none of that. What even is Asterisk?
Click to expand...
Click to collapse
https://www.asterisk.org/
1. What is the advantage of this method over centos 6.3 + PIAF on EC2?
2. It seems you are using UDP transport on sip port 5060. How's the battery life when you are on 3g?
acegolfer said:
1. What is the advantage of this method over centos 6.3 + PIAF on EC2?
2. It seems you are using UDP transport on sip port 5060. How's the battery life when you are on 3g?
Click to expand...
Click to collapse
1. No advantage really, other than less resource are used. This is just using Asterisk 11 -- does centos/piaf combo use Asterisk 11?
2. Yes, I do use UDP because my SIP client is not running all the time. I mostly only use it for outgoing calls. The above steps could be easily adjusted for TCP use.
Or you can download the obi app from play store and use that with Google voice to make WiFi calls.
Much easier to setup all you need is your login info.
Sent from my Nexus 4 using xda premium
errorcod3 said:
1. No advantage really, other than less resource are used. This is just using Asterisk 11 -- does centos/piaf combo use Asterisk 11?
2. Yes, I do use UDP because my SIP client is not running all the time. I mostly only use it for outgoing calls. The above steps could be easily adjusted for TCP use.
Click to expand...
Click to collapse
1. I just managed to install centos + PIAF on EC2. It was a major struggle. It's using asterisk 1.8 but can add gtalk trunk with GV motif.
2. When csip uses TCP transport to connect to PIAF in EC2, I continue to experience the same hangup issue. I guess it will happen to your setup as well if you use TCP.
kthejoker20 said:
Or you can download the obi app from play store and use that with Google voice to make WiFi calls.
Much easier to setup all you need is your login info.
Sent from my Nexus 4 using xda premium
Click to expand...
Click to collapse
No offense, but there is a reason this thread was made. It was spawned by the efforts of TWO other threads as an alternative solution to making VOIP work RELIABLY over 3G.
OP, you should add a blurb at the very beginning of the post that notes why this thread was made so we can curb responses like this in advance.
Is there any advantage to doing this as opposed to getting service from a reputable VOIP provider (voip.ms, callcentric, etc) and just connecting to their servers? Surely their connection/service is going to be pretty reliable and call rates are more than reasonable (like 0.01 per minute).
These providers support G.729 so you could connect with csipsimple and have pretty good quality over 3G I think.
Are you guys doing this to avoid paying 0.01 a minute or to try to get more reliable service? I don't understand...
cmaxwe said:
Is there any advantage to doing this as opposed to getting service from a reputable VOIP provider (voip.ms, callcentric, etc) and just connecting to their servers? Surely their connection/service is going to be pretty reliable and call rates are more than reasonable (like 0.01 per minute).
These providers support G.729 so you could connect with csipsimple and have pretty good quality over 3G I think.
Are you guys doing this to avoid paying 0.01 a minute or to try to get more reliable service? I don't understand...
Click to expand...
Click to collapse
Yeah, we REALLY need that blurb about this in the OP.
We are trying to avoid any very small cost by doing this, although that was AceGolfer's original intent. The problem is that, so far, will all the previous setups using VOIP providers + GV + SIP client, there is always one thing eluding us: RELIABILITY. Really, the problem seems to stem from the fact that a single provider does not offer everything needed to make this work reliably on 3G. This stuff works great on WiFi. Even call out USUALLY work flawlessly. But INCOMING calls have been missed, traveling calls (in car) can be sketchy, and even 1 bad connection in 10 is just plain lousy.
Frankly, I can deal with some of those problems. Mine, and I'm sure many other posters', wives and business partner/clients, cannot. This is just another method to try to figure out the best and most reliable way to get VOIP on our phones.
cmaxwe said:
Is there any advantage to doing this as opposed to getting service from a reputable VOIP provider (voip.ms, callcentric, etc) and just connecting to their servers? Surely their connection/service is going to be pretty reliable and call rates are more than reasonable (like 0.01 per minute).
These providers support G.729 so you could connect with csipsimple and have pretty good quality over 3G I think.
Are you guys doing this to avoid paying 0.01 a minute or to try to get more reliable service? I don't understand...
Click to expand...
Click to collapse
Here's what we (smartphone users over 3g) want: G729 (or iLBC) and TCP.
The 2 VoIP providers that you mentioned only offer UDP connection, which will kill smartphone batteries. I have heard that some people even use pbxes as the gateway for voip.ms so that they can use TCP connection.
Fortunately, there are several methods we have found that don't cost anything.
acegolfer said:
1. I just managed to install centos + PIAF on EC2. It was a major struggle. It's using asterisk 1.8 but can add gtalk trunk with GV motif.
2. When csip uses TCP transport to connect to PIAF in EC2, I continue to experience the same hangup issue. I guess it will happen to your setup as well if you use TCP.
Click to expand...
Click to collapse
What's the hang up issue that you are experiencing? I can switch my configuration over to TCP and see if I get the same issue.
bluespire said:
Yeah, we REALLY need that blurb about this in the OP.
We are trying to avoid any very small cost by doing this, although that was AceGolfer's original intent. The problem is that, so far, will all the previous setups using VOIP providers + GV + SIP client, there is always one thing eluding us: RELIABILITY. Really, the problem seems to stem from the fact that a single provider does not offer everything needed to make this work reliably on 3G. This stuff works great on WiFi. Even call out USUALLY work flawlessly. But INCOMING calls have been missed, traveling calls (in car) can be sketchy, and even 1 bad connection in 10 is just plain lousy.
Frankly, I can deal with some of those problems. Mine, and I'm sure many other posters', wives and business partner/clients, cannot. This is just another method to try to figure out the best and most reliable way to get VOIP on our phones.
Click to expand...
Click to collapse
I have been using this setup for about 6 months. It's incredibly reliable. I'm the only one using this server as opposed to more main stream options where hundreds or thousands of people are using the service. Plus, I can use it for other things such as a VPN server when I need it.
ADD TCP SUPPORT
On your security group settings for the Amazo EC2 open port 5060/tcp.
login and execute:
Code:
sudo ufw allow 5060/tcp
Edit sip.conf and add the following under the [general] section:
Code:
tcpbindaddr = 0.0.0.0
tcpenable = yes
Under your [USERNAME] in sip.conf add the following:
Code:
transport=udp,tcp
restart asterisk
ADDED TO OP.
It looks like you're only using G711u/a, and GSM for codecs. Have you tried installing G729? Or allowing G722?
errorcod3 said:
What's the hang up issue that you are experiencing? I can switch my configuration over to TCP and see if I get the same issue.
Click to expand...
Click to collapse
When Csipsimple is registered remotely (obviously is the case for EC2) using TCP, it takes 30 seconds to hangup after pressing the "end" call button. The voice gets transmitted during these 30 seconds.
OTOH, the call hangs up normally, if CSS uses UDP or I use a different client which costs to use G729.
osi13 said:
It looks like you're only using G711u/a, and GSM for codecs. Have you tried installing G729? Or allowing G722?
Click to expand...
Click to collapse
No, I haven't tried it. Asterisk 11 supports G722. If anyone is interested in using it just add an allow=g722 to the sip.conf file under [general].
Does Google Voice support G729?
acegolfer said:
When Csipsimple is registered remotely (obviously is the case for EC2) using TCP, it takes 30 seconds to hangup after pressing the "end" call button. The voice gets transmitted during these 30 seconds.
OTOH, the call hangs up normally, if CSS uses UDP or I use a different client which costs to use G729.
Click to expand...
Click to collapse
I just changed my configuration to TCP and I could not reproduce your problem. My calls terminate normally..
errorcod3 said:
No, I haven't tried it. Asterisk 11 supports G722. If anyone is interested in using it just add an allow=g722 to the sip.conf file under [general].
Does Google Voice support G729?
Click to expand...
Click to collapse
gtalk trunk only supports PCMU (g711 ulaw), which is used at PSTN. asterisk will transcode PCMU to other codecs such as G729.
errorcod3 said:
I just changed my configuration to TCP and I could not reproduce your problem. My calls terminate normally..
Click to expand...
Click to collapse
Forgot to mention, I'm also using CSS.

Question Termux: Linux with graphics working

Hello,
I want to use Linux on my Galaxy Tab S8+ through Termux and proot distro (Arch, actually).
However, no matter what I do, there's no way to make GPU work on it...
Using the last Termux from github + Termux-X11, I managed to launch xfce4 desktop on my Arch proot, but when I try glxgears, I get:
Error: couldn't get an RGB, Double-buffered visual
Click to expand...
Click to collapse
glxinfo:
Error: couldn't find RGB GLX visual or fbconfig
Click to expand...
Click to collapse
Blender:
intern/ghost/intern/GHOST_WindowX11.cpp:136: X11 glXQueryVersion() failed, verify working openGL system! initial window could not find the GLX extension Writing: /tmp/blender.crash.txt Segmentation fault
Click to expand...
Click to collapse
I do have compiled mesa on Arch with freedreno-KGSL enabled and zink.
My final goal is to make Blender work with GPU while using proot (no chroot because I don't want to root it yet and loose warranty).
Unfortunately, due to this issue: https://gist.github.com/agnostic-ap...#how-to-disable-the-phantom-processes-killing , you're going to need to root if you want to run Linux desktop apps on ANY Android 12 device.
Once you root your Tab S8, install Linux Deploy (https://play.google.com/store/apps/details?id=ru.meefik.linuxdeploy), run it and install whichever distro you like (I chose Kali), and Remote Desktop Manager (https://play.google.com/store/apps/details?id=com.devolutions.remotedesktopmanager) to connect to it via VNC
The only settings I had to change in Linux Deploy was changing the installation type to Directory and the installation path to
Code:
${ENV_DIR}/rootfs/linux
, but your mileage may vary depending on what distro you want to install. If you want to use your Android filesystem from Linux, enable mounts and mount /data/media/0 to /mnt/android.
I haven't messed with PulseAudio, because I really just wanted full LibreOffice. Let me know if you get it to work. You may also want to go into GUI settings in Linux deploy and change the resolution to 1920x1200, but again it depends on your distro chosen.
But keep in mind, rooting will 1. Brick your KNOX chip permanent 2. Without KNOX chip, apps like secret folder, samsung pass and few more will stop working. 3. To root you need to unlock the bootloader which triggers the knox chip and permanently disables it and it cannot be recovered or enabled again since knox chip has a tiny fuse inside itself so when bootloader is unlocked it will burn the thin copper thread inside fuse and snap off that will permanently disable knox and this would also void your warranty when knox chip gets triggered and disabled.
So take time think about it before doing it. Do you want warranty or not? Do you want to lose those apps that you may want to use later or already using?
Thanks for your answers.
I know that root and bootloader will break the waranty and is not recoverable. It's why I'm trying to make it work using proot.
skrowl said:
Once you root your Tab S8, install Linux Deploy (https://play.google.com/store/apps/details?id=ru.meefik.linuxdeploy), run it and install whichever distro you like (I chose Kali), and Remote Desktop Manager (https://play.google.com/store/apps/details?id=com.devolutions.remotedesktopmanager) to connect to it via VNC
Click to expand...
Click to collapse
I use termux-x11 or termux-wayland rather than VNC because it's more fast and smooth.
The GPU seem to work from termux itself (tried glxgears on openbox). However, it doesn't work from proot-distro.
After some research, I found that I could use the GPU by compiling virglrenderer with egl enabled, and then, export GALLIUM_DRIVER=virpipe from proot-distro.
However, to compile virglrenderer, I need to compile mesa from source with gbm enabled, but the compilation give me errors :
../src/vulkan/wsi/wsi_common_display.c:1238:4: error: implicit declaration of function 'pthread_setcanceltype' is invalid in C99 [-Werror,-Wimplicit-function-declaration] pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL); ^
../src/vulkan/wsi/wsi_common_display.c:1238:4: note: did you mean 'pthread_setname_np'? /data/data/com.termux/files/usr/include/pthread.h:352:5: note: 'pthread_setname_np' declared here int pthread_setname_np(pthread_t __pthread, const char* __name); ^
../src/vulkan/wsi/wsi_common_display.c:1238:26: error: use of undeclared identifier 'PTHREAD_CANCEL_ASYNCHRONOUS' pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL); ^
../src/vulkan/wsi/wsi_common_display.c:1268:7: error: implicit declaration of function 'pthread_cancel' is invalid in C99 [-Werror,-Wimplicit-function-declaration] pthread_cancel(wsi->wait_thread); ^
../src/vulkan/wsi/wsi_common_display.c:1268:7: note: did you mean 'pthread_once'? /data/data/com.termux/files/usr/include/pthread.h:275:5: note: 'pthread_once' declared here int pthread_once(pthread_once_t* __once, void (*__init_routine)(void)); ^
../src/vulkan/wsi/wsi_common_display.c:2183:10: error: implicit declaration of function 'pthread_cancel' is invalid in C99 [-Werror,-Wimplicit-function-declaration] pthread_cancel(wsi->hotplug_thread);
Click to expand...
Click to collapse
I found out that pthread_cancel is not supported in the android libc.
Now, I don't know what to do...
Here's the Termux discussion about it here: https://github.com/termux/termux-app/issues/2366
Trust me that I spent a lot of time looking into it and there are no workarounds. You MUST root to use Linux in Android 12, period. Termux is no longer viable for background processes (like an X server), but you can still use it to do stuff interactively (working directly in your shell with Termux never losing focus). Your background processes will eventually get murdered by the OS and your X session will just suddenly go poof. It's sad too, because I really liked Termux.
skrowl said:
Here's the Termux discussion about it here: https://github.com/termux/termux-app/issues/2366
Trust me that I spent a lot of time looking into it and there are no workarounds. You MUST root to use Linux in Android 12, period. Termux is no longer viable for background processes (like an X server), but you can still use it to do stuff interactively (working directly in your shell with Termux never losing focus). Your background processes will eventually get murdered by the OS and your X session will just suddenly go poof. It's sad too, because I really liked Termux.
Click to expand...
Click to collapse
Just tried, and yeah, you right...
I though "acquire wakelock" would fix that, but I never used Linux though X11 more than 5 seconds...
Why do the OS ever do that?
You should just probably wait until you've had your tab s8 long enough that you're satisfied it won't need to be returned and are willing to void the warranty by rooting it. Come back to playing around with linux then. Until then, just install linux in a VM on one of your computers and VNC into it with your tablet.
skrowl said:
You should just probably wait until you've had your tab s8 long enough that you're satisfied it won't need to be returned and are willing to void the warranty by rooting it. Come back to playing around with linux then. Until then, just install linux in a VM on one of your computers and VNC into it with your tablet.
Click to expand...
Click to collapse
Wait... Even with root, termux-x11 will still not work, won't it? It's a problem from android 12 itself.
I don't want to use VNC since it's too slow.
shim80 said:
Wait... Even with root, termux-x11 will still not work, won't it? It's a problem from android 12 itself.
I don't want to use VNC since it's too slow.
Click to expand...
Click to collapse
Check https://gist.github.com/agnostic-ap...#how-to-disable-the-phantom-processes-killing , they talk about commands you can run (as root) to disable the phantom process killing, which would allow termux to run. That said, termux's proot is MUCH MUCH slower than real chroot.
On localhost, you're very unlikely to be able to tell a difference between old school x11 and vnc. Wayland improves it somewhat, but it's probably still a very negligible difference on a local machine.
skrowl said:
Check https://gist.github.com/agnostic-ap...#how-to-disable-the-phantom-processes-killing , they talk about commands you can run (as root) to disable the phantom process killing, which would allow termux to run. That said, termux's proot is MUCH MUCH slower than real chroot.
On localhost, you're very unlikely to be able to tell a difference between old school x11 and vnc. Wayland improves it somewhat, but it's probably still a very negligible difference on a local machine.
Click to expand...
Click to collapse
You can execute this via adb btw
Can anyone explain to us, newbies in Linux , who can't understand what is the difference between x11, Wayland, vnc. If we root the tablet, will Linux work fast, or it will work somehow like we run it in an emulator?
What is the best/fastest approach. If we do the fastest method, how slower will it work compared with, if it could work Linux internal as default os. Just an estimation. Because I'm thinking if I'll root it to install Linux.
Thanks,
Checkout my gameplay with termux :
Guan Yu said:
Checkout my gameplay with termux :
Click to expand...
Click to collapse
What device are you using?
shim80 said:
What device are you using?
Click to expand...
Click to collapse
Redmi Note 11
sosimple said:
Can anyone explain to us, newbies in Linux , who can't understand what is the difference between x11, Wayland, vnc. If we root the tablet, will Linux work fast, or it will work somehow like we run it in an emulator?
What is the best/fastest approach. If we do the fastest method, how slower will it work compared with, if it could work Linux internal as default os. Just an estimation. Because I'm thinking if I'll root it to install Linux.
Thanks,
Click to expand...
Click to collapse
If you are entirely new to Linux, you probably should not be doing this yet. If you need a comparison as to why I'm stating this, here is one that is probably not as good: it is similar to trying to do a professional figure skating move that they do in the Olympics while you are still learning how to just balance without falling.
In other words, learn more about Linux and also get used to using Linux on a normal desktop / laptop computer before trying to do such stuff on your mobile device.
CtrlAltCuteness said:
If you are entirely new to Linux, you probably should not be doing this yet. If you need a comparison as to why I'm stating this, here is one that is probably not as good: it is similar to trying to do a professional figure skating move that they do in the Olympics while you are still learning how to just balance without falling.
In other words, learn more about Linux and also get used to using Linux on a normal desktop / laptop computer before trying to do such stuff on your mobile device.
Click to expand...
Click to collapse
Thanks for the reply, but it actually isn't a reply as it doesn't explaining what i ask. What are the differences of all those. I have linux in my pc, although i don't use it much as i can use windows there. If Linux in tab s8 ultra is working very good, i might use it here as i can't use windows.
skrowl said:
... I really just wanted full LibreOffice.
Click to expand...
Click to collapse
Why not just use the LibreOffice release for Android?
Renate said:
Why not just use the LibreOffice release for Android?
Click to expand...
Click to collapse
There isn't. You probably mean colabora office. It's not very good..
LibreOffice for Android and iOS | LibreOffice - Free Office Suite - Based on OpenOffice - Compatible with Microsoft
www.libreoffice.org
sosimple said:
There isn't. You probably mean colabora office. It's not very good..
Click to expand...
Click to collapse
Yeah, I was misled by the Wikipedia article. I did see that the Colabora stuff.
I don't use portable devices for anything productive.
At the most I'll use them with a BT keyboard to capture raw typing that will later get corrected/converted/used on a desktop.
shim80 said:
Hello,
I want to use Linux on my Galaxy Tab S8+ through Termux and proot distro (Arch, actually).
(...)
Click to expand...
Click to collapse
If you are still interested in Linux (for example, Ubuntu) on a smartphone, then take a look at the thread full of inspiration.
[GUIDE][NO-ROOT] How to install Ubuntu and other Linux Distros on Your Phone or Android TV Box, using Termux
NOTICE: THIS METHOD IS ONLY FOR NON ROOTED DEVICES PROOT-DISTRO GITHUB PAGE Hello Friends! Today I wanted to start a thread that will house prebuilt Linux environments, as well as instructions for building the Linux environments yourself...
forum.xda-developers.com

Categories

Resources