IPv6 - now working on Android! (no matter if your provider supports it) - Android Software/Hacking General [Developers Only]

I searched xda-developers a lot about IPv6 (Android related) but only questions, no one seamed to get it to work. Now I got IPv6 working on my Android phone and I want to share it.
Of course I can not held any responsibility for anything. I am no developer, just a user, who used Google a lot and who put a lot of single things together. Rather I am not sure why it works, but it does work.
Quick guide:
1. find out if Linux (Debian) is available for your Android phone and learn how to use it
2. find out if a tun module or a kernel with tun support exists for your phone
3. learn how to use IPv6 on Windows (if you are a Windows user) (I was happy with gogo Client at http://gogonet.gogo6.com/page/download-1) and on normal Linux (normal in meaning of running on PC) (I used miredo first)
4. learn what aiccu is and how to use it on PC
5. install Linux (Debian) on your phone
6. load the tun module (or use a kernel with tun support)
8. register aiccu
9. request tunnel at aiccu
10. install aiccu on your rooted Android phone (with tun) inside Debian chroot
11. done, test "ping6 ipv6.google.com" inside console, should work, and test in Android stock browers, it should also work!
Comprehensive guide:
First of all, before you start fiddling with Android and IPv6, which is quite tricky, I highly recommend to learn how to use IPv6 on Windows (only if you are a Windows user) and on some Linux distribution (Debian or Ubuntu recommend, as Debian is imho the most easy to get Linux for our Android phones).
On Ubuntu, which was running in VMware, I installed a package called miredo.(used this guide https://wiki.ubuntu.com/IPv6 look for miredo) It is a great piece of software. I just installed it and afterwards an apache2 webserver and the server was reachable from outside the virtual machine. Furthermore I did run another virtual machine with XP, both virtual machines, XP and Ubuntu where behind NAT (standard network configuration in VMware, setting up port forwardings is quite complicated) and also my router has a NAT and Windows firewall on host computer was also activated. Still... From the XP virtual machine I could access the apache2 running on Ubuntu. Great. You do not need VMware to learn how to use IPv6, of course, you can also use real hardware, but for me, VMware is very convenient.
Also learn what aiccu is and how to use it (https://wiki.ubuntu.com/IPv6#Get_connected_with_SixXS).
After you just learnt how to use IPv6 on normal Linux (normal refers to the normal end user version, no hacked stuff for Android) you have to learn how to use Linux (Debian) on your Android phone.
I used this guide http://forum.xda-developers.com/showthread.php?t=1254283 but you will need another guide for your phone, because this is phone specific. Google the name of your phone in conjunction with chroot, Android, Linux, Debian or search xda. It may not be possible to install Linux on all Android phones. I do not know that and I can not help you with that because I am a Linux noob. Of course, maybe you don't have to use Debian on your phone, I just like Debian because imho you'll find most informations in conjunction with Android about it and because it's more newbie friendly in general compared to other Linux distros. So maybe you prefer some other distro.
Then you need to get a tun module for your phone/kernel or a kernel with tun support for your kernel. Load the module.
You need to register for aiccu and also request a tunnel.
Afterwards, last step, install aiccu. I think I edited aiccu.conf and entered username and password.
ping6 inside Debian chroot is working for me and also in Android stock browser I can access IPv6 websites.
There are quite a lot requirements and things to learn before, I am sorry, because I can not ease this process.
Right now I also can not tell you nothing about how stable this works, how reliable it is or what the benefits are.
Update:
Working - 3g connection on phone (everything only IPv6 of course)
- apache2 webserver
- SSH server - access with Putty
- SFTP - access with FireFTP or WinSCP

Native aiccu for Android
Some time ago, I hacked together a native aiccu port for Android. I only tested it with AYIYA tunnels. It worked greatly both on Android 2.1 in a Xperia X10 mini pro and on Android 2.3 in a Galaxy Tab.
To use, copy the aiccu-android-bin.7z contents to your phone and put your config at /data/aiccu/aiccu.conf.
Please note that you HAVE to use the provided "ip" executable. The one provided with busybox is incomplete for usage with aiccu, and won't work.
The aiccu-android-src.7z contains the source code if someone is interested in hacking deeper. In particular, testing heartbeat tunnels and seeing if any changes are needed to the source would be nice. Also, cleaning up and trying to push upstream would be great.

Nice thx
Sent from my MB860 using Tapatalk

thotypous said:
Some time ago, I hacked together a native aiccu port for Android. I only tested it with AYIYA tunnels. It worked greatly both on Android 2.1 in a Xperia X10 mini pro and on Android 2.3 in a Galaxy Tab.
To use, copy the aiccu-android-bin.7z contents to your phone and put your config at /data/aiccu/aiccu.conf.
Please note that you HAVE to use the provided "ip" executable. The one provided with busybox is incomplete for usage with aiccu, and won't work.
The aiccu-android-src.7z contains the source code if someone is interested in hacking deeper. In particular, testing heartbeat tunnels and seeing if any changes are needed to the source would be nice. Also, cleaning up and trying to push upstream would be great.
Click to expand...
Click to collapse
Very nice. This simplifys the process a lot.
Unfortunately this does not work on my x8. Maybe because busybox is preinstalled with my ROM?
When I do acciu test, it complains about the ip executable. But I already copied both.
Can I get ride of the old buybox ip? Should it work on x8 as well?

T-Mobile USA has an beta native IPv6 service for ICS Nexus S and Galaxy Nexus UMTS phones. You can google the details. It is natively supported on the stock ICS software now using the UMTS network.

New solution:
https://code.google.com/p/gogodroid/wiki/GogoDroid
drawback:
needs ROM (kernel) with TUN (but any app could null that dependency)

First of all thanks for your work of putting all these information together!
I am using a Galaxy Nexus which allready has tun built in to the stock rom (ICS 4.0.4).
Unfortunately I cant get gogoDroid working. It seems it doesnt recognize the built in tun functionality.
So I tried it with the tun.ko module - no luck there neither, since there is no compiled version for the IMM76I Build :-(
Any suggestions on how to get it working anyways?
Edit: I also found another app which supports 6to4 tunneling called IPv6Config - you can find it on the Play market. Unfortunately 6to4 doesnt get thru NATted mobile networks...

Hello all !
Sorry to dig out this old thread again but here some infos about running IPv6 tunnels on a rooted Android phone.
I wrote a little app to simplify the installation, configuration and running the binaries posted by thotypous:
The app is called Androiccu and you can find it in the google market. Sorry, I'm not old enough to be allowed to post a link to it.
It's still in an early development stage but it does basically work for me and I would enjoy some feedback about success or failure.
This application downloads and installs the binaries, creates a config file with your login infos and can start and stop aiccu. All from a GUI, no need to play on a terminal.
Cheers and have fun testing.

why tunnel when you can have native ipv6 https://sites.google.com/site/tmoipv6/lg-mytouch

elgato99 said:
why tunnel when you can have native ipv6
Click to expand...
Click to collapse
Because most mobile network operators don't provide native IPv6 yet. You're among a few lucky ones that has such an operator. I'm not. When i'm at home i don't need this app as my router provides natively an IPv6 address to my phone over the wifi network. But on my router itself i have to run a tunnel as well as my provider is also not able to provide IPv6.
The biggest aim of this application is to become quickly obsolete when finally all mobile network operators will be able to provide IPv6 natively.
Best regards,
Martin

ty for info. my phone now running sixxs and route it on hostpot.

core7x said:
ty for info. my phone now running sixxs and route it on hostpot.
Click to expand...
Click to collapse
I have a sixxs tunnel. But how can I route this to wifi tethering? My ipad is connected to the wifi hotspot from the android, but the ipad can not resolve ipv6.google.com, but the android can do this.

Related

WIFI GUI

Here is an idea I have thought of:
Making a GUI (root needed of course) applaction for turning on/off and managing WIFI routing. Basically, it would package the tethering script, and give the ability to see who is connect/block/etc. Possibly even mac filtering down the line.
My one main stumping block is that I would really love to get a little DHCP server running on it in the background, so that it would be much easier to manage. For instance, say I am on customer site with my coworker, and there is no net access. I would like to just allow him to autoconnect with out having to go through the process of setting up a new static ip and having him need to do that on the client side.
I went through the current linux distro on the phone, and, not surprisingly did not find dhcpd One solution that I am thinking of is to install debian, and get one that way, but that would not work too well as it would also require users to install debian and apt-get dhcpd.
Another thought that I had was to extract the files from the .deb, and include them in app, and have it just copy the files to the proper places (include shell script) then call out to dhcpd start/stop when needed.
The last option would be implementing a simple DHCP server in Java, kind of my last resort, as I am not even sure the API access to java.util.net.*
Just found this:
http://www.dhcp.org/javadhcp/
Seems to be J2SE compliant, so I am thinking (if the android JVM is compliant) it could be leveraged as a simple DHCP server. I still like the idea of using a premade linux one though
See other thread..
very cool.... dnsmasq is the way to go me things

Android supporting TUN/TAP-Devices?

Hey guys!
On my long and lonesome journey through the Internet, I am on the hunt for an android, cisco compatible vpn client, I realized, that a lot of open source linux-vpn-clients that are cisco compatible often require the kernel tuntap-module.
So, as I'd like to try to crosscompile vpnc (or any other vpn-client) I have to check that the tuntap-module is supported by htc dreams android linux.
I was not able to find enough information about that, so my simple question to you:
Is there a tuntap mod for android?
Thanks for your help!
z
VPN on android
Firstly, if you have debian set up it's easy to use vpnc from there. You just install vpnc ("apt-get install vpnc"), load the tun module ("modprobe tun"), setup your profile in /etc/vpnc/YourProfileNameHere.conf, and connect: "vpnc YourProfileNameHere". Then just "vpnc-disconnect" to terminate the daemon. This works great and if you want you can always run a proxy in debian, and connect to localhost from an app in android. However, for a better solution, I saw this on the forum, although I've not got around to trying it out yet myself:
http://forum.xda-developers.com/showthread.php?t=447230
Anyway, the first method most certainly works with my the Cisco VPN server my company uses. I'd imagine the second way will too, and would be all nice and native.
Hope this helps

[Q] (Q) Serving up the best solution. VNC Server on Android

I am new to BeagleBoard and Android Development. Recently I had someone literally drop a Android Dev project into my lap. Sweet! He gave me a BeagleBoard and three main objectives. 1. Get android working on BeagleBoard. (completed) 2. VNC Server running without being "rooted" or needing ADB. 3. Ethernet over USB. (usbnet may work just fine) After extensive research I found no usable open source vnc server for Android. (I'm sure I may have missed something with Google or here on the XDA-dev forums. I'm thinking of porting a open sourced java based VNC Server over to Android and am needing suggestion and tips. My main questions is this, must a VNC server require root access to Android or is there a way around this. My client was pretty specific on this requirement. I am using TI-Android-Gingerbread-devkit on a BeagleBoard XM Rev B. the rom is on a 2gb sd card (would a 4gb be better as I may have to purchase that an invoice my client. Something I'd rather not do) So to reiterate, what would be the best way to get a VNC Server running on Gingerbread without the need for ADB or root accress? Thanks for all the great people here and thank you XDA Developers for having such a great site (also thanks for the HTC Inspire tuts that I'll need once I get my grubby hands on it after this project is over )
In this thread is a VNC server being developed: http://forum.xda-developers.com/showthread.php?t=710805
Thanks, I knew I missed something.

[Q] Android C compiler, offline webserver with PHP

Hi!
I'm looking for an offline C compiler, and an offline webserver with PHP. The best would be a whole IDE, but I don't think it's exist for android 'cause it's for phones for first. I'm doing the C compiling on a chrooted debian, but it's not so comfortable. And the apache in there doesn't work. So any suggestions?
Thx:RiseR
It is possible to do something like this I just wouldnt know where to start. They have been able to get Ubuntu working on it and I am thinking about buying a second one to do that but its still buggy. I did however turn my rooted G1 into a server controller.
I already did it. I'm dual booting it. And on ubuntu it's fine, I can compile my programs but apache doesn't work there as well. I'm using IceWM, the only problem is the following:There're not as good keyboard as android has, so it's a bit slow to use. I'm using xvkbd, tried matchbox-keyboard, and onboard as well, but none of them are tablet ready, I think.
(I still don't have keyboard dock)
Give virtualbox a try ?
Have you tried using something other than Apache? nginx and lighttpd have worked for me under the debian chroot.
Try paw server for android then install the PHP plugin. Works for me so far.

Direct Wi Fi Connection between Android and PC?

Hi guys! After searching for months on google I decided to ask it to pro developer of this awesome forum. Is it possible to have a Direct Wi Fi Connection between my Android device (Lg L5 e610) and my PC (Win7, Ubuntu 13.04, Mac OSx Snow Leopard)? Is there any tool or program to do it? Or at least a developement project (I like to be a tester)? I found some solutions for my question but they need to a router to work :crying: and i haven't it
Sorry for my very bad english and applauses to this awesome community!
ZiO312 said:
Hi guys! After searching for months on google I decided to ask it to pro developer of this awesome forum. Is it possible to have a Direct Wi Fi Connection between my Android device (Lg L5 e610) and my PC (Win7, Ubuntu 13.04, Mac OSx Snow Leopard)? Is there any tool or program to do it? Or at least a developement project (I like to be a tester)? I found some solutions for my question but they need to a router to work :crying: and i haven't it
Sorry for my very bad english and applauses to this awesome community!
Click to expand...
Click to collapse
Not exactly what you are looking for but could work
http://virtualrouter.codeplex.com/
I search for something that could use the direct wi fi technology between PC and android without router or internet
+1
Yes there be plenty of ways. If you want commanding access thru the command line and you're running root, then try wireless Android debugging bridge (usually found under developer settings I think) or download an ssh server app from the market place (some don't require root and you can find a good list of apps to test herehttp://android.stackexchange.com/questions/9905/is-there-some-ssh-server-for-android from Android stack exchange) further more if you are running root and you want the screen and all the GUI there are apps that let you do this too such as Droid vnc serverhttp://www.google.com/url?q=https:/...dycANA&usg=AFQjCNGQZqmOFJI8BJfOYyjJ9Gi1sjm_Rg
One weird word of warning about some of these; if you're on a nice network service provider, then some of the above apps work over 3G or 4G too. sooooo set a good password and don't forget to turn it off when you're done with it
So that's something for android what about the other end of the connection? The client side of things
On my laptop I've access to Vista and Ubuntu 12.04
For Vista I use Putty to connect via ssh and it works fine over wifi. I have yet to figure the GUI side for Windows but I've been working on it.
For Ubuntu I use remia to view the GUI of linux running on Android, works fine but have yet to test droid VNC server for the android GUI. And sshing in through command line wasn't a problem over wifi.
For more info on the android linux to pc connection see section 7 in the bellow links to the guide I maintain for such things.
Edit- I see that the formatting using mobile XDA app still leaves me wanting better functions, I'll see about fixing it when on a PC. In the meantime try this app
[APP][2.1+] SSH Server - SFTP, SCP, multiple users, per user public key auth, no root
http://forum.xda-developers.com/showthread.php?t=1896428
Looks like it'll have some good options on connections and such
Sent from either my SPH-D700 or myTouch3Gs
Debian Kit/QEMU Linux Install guide for all android devices that I'm writing:
http://forum.xda-developers.com/showthread.php?t=2240397
Now have working Installers for ARM Java 7 JDK + Maptools + jMonkey
+1 Nice But How To make Direct Wi Fi Connection between android and other android
alaa1988 said:
+1 Nice But How To make Direct Wi Fi Connection between android and other android
Click to expand...
Click to collapse
Well I've been able to run server and client services on either side of the following setup;
1 turn wifi tethering on one device (I'll call this device Wabafet)
2 connect to Wabafet with another device (I'll call this device Q)
3 run what's my IP searches for Q and for Wabafet
4 start server service on Q and client services on Wabafet
5 connect to server on Q with Wabafet and enjoy
Note; this set up keeps Q from being seen over the rest of the net, and some kind of port forwarding is needed to make it viable outside of the local wifi network
Note 2; if you connect a third device to Wabafet as a client you can still access the server on Q
Note 3; if you run a server on Wabafet and on Q then both can also run client services too and connect to one another
Note 4; if you've got a wireless router then you can skip the part about wifi tethering and instead connect Wabafet and Q to the router instead, however, this may require port forwarding to be set up on your specific router.
As far as wifi to wifi without a router or hot spot... I think setting a static IP in your wifi settings on Wabafet and on Q and then turning on but not connecting to a router should allow the devices to scan and connect to one another... But this will require some kind of client server set up again and will require that the apps being used don't require an active network to start. Droid vnc is a good example of this and has been reported to work over bluetooth too and even when the device is in airplane mode when the app starts.
You can find more info on this here: [Q] is theirs any app or way to share a screen? http://forum.xda-developers.com/showthread.php?t=2422782
Update 08312013 11am- found this short and sweet guide for connecting to your device from a linux pc
http://shujinkou.blogspot.com/2009/04/how-to-vnc-from-android-phone-to-linux.html
likely you can use the same apps and set up on the device side of the guide and then modify the pc side of the guide to suit your needs, such as mac, vista and such. For windows I would suggest putty; its very friendly and there are many good guides for how to use putty as a client on the web, but let me know if you need help with that too oh and hit the thanks or something if this is at all helpful or let me know how better to help.
Sent from either my SPH-D700 or myTouch3Gs
Debian Kit/QEMU Linux Install guide for all android devices that I'm writing:
http://forum.xda-developers.com/showthread.php?t=2240397
Now have working Installers for ARM Java 7 JDK + Maptools + jMonkey
WiFI Direct is supported out of the box for Win8 as well as JellyBean. However, they way they are supported, even thought you can "pair/connect" over WiFi Direct, you need an application to take advance of this "pipe". As far as I'm aware there are currently no apps that can directly connect a Win8 device and an Android device over WiFi Direct to share a file.
Coincidentally, I'm working on an app that at least can do so with Android. Based on the OP's post, he seems to be describing AirDrop. I think what I'm doing is "better", but users will tell =) I am putting it out on limited Private Beta soon, so if you're curious to what all the buzz/fuss is about, go to www.get-drop.com.
S0AndS0 said:
Well I've been able to run server and client services on either side of the following setup;
1 turn wifi tethering on one device (I'll call this device Wabafet)
2 connect to Wabafet with another device (I'll call this device Q)
3 run what's my IP searches for Q and for Wabafet
4 start server service on Q and client services on Wabafet
5 connect to server on Q with Wabafet and enjoy
Note; this set up keeps Q from being seen over the rest of the net, and some kind of port forwarding is needed to make it viable outside of the local wifi network
Note 2; if you connect a third device to Wabafet as a client you can still access the server on Q
Note 3; if you run a server on Wabafet and on Q then both can also run client services too and connect to one another
Note 4; if you've got a wireless router then you can skip the part about wifi tethering and instead connect Wabafet and Q to the router instead, however, this may require port forwarding to be set up on your specific router.
As far as wifi to wifi without a router or hot spot... I think setting a static IP in your wifi settings on Wabafet and on Q and then turning on but not connecting to a router should allow the devices to scan and connect to one another... But this will require some kind of client server set up again and will require that the apps being used don't require an active network to start. Droid vnc is a good example of this and has been reported to work over bluetooth too and even when the device is in airplane mode when the app starts.
You can find more info on this here: [Q] is theirs any app or way to share a screen? http://forum.xda-developers.com/showthread.php?t=2422782
Update 08312013 11am- found this short and sweet guide for connecting to your device from a linux pc
http://shujinkou.blogspot.com/2009/04/how-to-vnc-from-android-phone-to-linux.html
likely you can use the same apps and set up on the device side of the guide and then modify the pc side of the guide to suit your needs, such as mac, vista and such. For windows I would suggest putty; its very friendly and there are many good guides for how to use putty as a client on the web, but let me know if you need help with that too oh and hit the thanks or something if this is at all helpful or let me know how better to help.
Sent from either my SPH-D700 or myTouch3Gs
Debian Kit/QEMU Linux Install guide for all android devices that I'm writing:
http://forum.xda-developers.com/showthread.php?t=2240397
Now have working Installers for ARM Java 7 JDK + Maptools + jMonkey
Click to expand...
Click to collapse
try to put a wifi dongle in your pc and use an program like... ah i forgot the name! but it is use to let the dongle release a signal like router
U can also use airdroid.
Sent from my Galaxy Nexus using Tapatalk 4.

Categories

Resources