[GUIDE] AR.Drone running on my Samsung Galaxy S2 - Galaxy S II General

Credits: I cannot take credit for the steps here. This is basically a version specifically for the SGS2 cobbled together by me after reading Shellware's excellent guide here: http://www.shellware.com/BlogEngine...ually-Infrastructure-Enable-Your-ARDrone.aspx. I bought their App to say thanks.
Note: The first time you run this it will seem like you are spending a long time to get it going. After you have done it once, it really takes only a few minutes to repeat. Also, Shellware have scripts that can be semi-permanently added to your AR.Drone to skip out the "laptop bit" but you may invalidate your warranty. See Shellware's site for more information about those.
Stage 1: First off, gather up everything you need:
Samsung Galaxy S2 (duh!)
AR.Drone (double duh!)
A telnet client program:
For the purpose of this guide, we will be using a free Windows tool called PuTTY. You can download it from here: http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe. However, feel free to use any telnet client.
Most versions of Windows have one built in. In Windows 7, it is not installed by default so you need to add it manually using "Control Panel" > "Programs" > "Programs and Features" > "Turn Windows features on or off" > "Telnet Client".
A laptop with wi-fi on it
An AR.Drone client program from the Android Marketplace. ARDrone Demo (free by MeanyDev) and AR.Pro (Shell M. Shrader £3.09) have been tested.
NB: I don't think the SGS2 needs to be rooted - so no warranty issues. Mine is rooted, but only because I was trying to get adhocs working - which I couldn't!
NB2: The AR.Drone will not lose it's warranty as the changes you make are temporary.
Stage 2: Preparing your phone:
On your SGS2, go into "Settings", and then "Wireless and network"
Make sure Flight Mode is not turned on!
Scroll down to "Tethering and portable hotspot"
Select "Portable Wi-Fi hotspot settings"
Tick the box against "Portable Wi-Fi hotspot" and answer "Yes" to the prompt to "Disconnect Wi-Fi for using portable Wi-Fi hotspot". I guess you will only see this prompt if wireless is already turned on...
You should get a blue Wi-Fi Hotspot logo on the notification bar across the top.
Select "Configure portable Wi-Fi hotspot"
Give the hotspot a name, e.g., "GALAXY_HOTSPOT"
Set the Security to "Open"
Select "Save"
Stage 3: Fire up your laptop:
On your laptop, look for available wi-fi networks
Select and connect to your phone's hotspot - which should appear as "GALAXY_HOTSPOT" (or whatever you called yours)
**************************************
These next steps probably only need to be ran once as they are unlikely to change. I've tried it a few times and get the same results. I guess the chances are you will find the same address that I found.
**************************************
Once your laptop is connected to your phone's hotspot, you just need to double-check the IP address of your phone. To do this, open a command prompt by pressing the Windows key + R, or by clicking on the start button (or orb as it is now called), and selecting "Run...".
Enter "cmd" and press enter. A command prompt will open.
At the command prompt, type in "ipconfig" and press enter.
Look for the line that says "Default Gateway" under the heading of your wireless network adapter. You are looking for the default gateway of your current wireless connection - it should be something like this: 192.168.43.1. Make a note.
Stage 4: Laptop, say hello to AR.Drone:
Power up your AR.Drone. Waiting for the green lights to come on.
On your laptop, run your telnet program. In our example we are using PuTTY.
In PuTTY, select Telnet and enter the following IP address: 192.168.1.1 (this is the default IP address of the AR.Drone).
Click "Open" in PuTTY to reveal the telnet prompt.
**************************************
Your laptop is now talking to your AR.Drone!
**************************************
Copy and paste the following line into the telnet prompt. PLEASE NOTE: this is all one line - if your browser has wrapped it - be careful to select everything - the line starts with "killall" and ends with "up":
Code:
killall udhcpd ; iwconfig ath0 mode managed essid [COLOR=RoyalBlue][B]GALAXY_HOTSPOT[/B][/COLOR] ; ifconfig ath0 [B][COLOR=SeaGreen]192.168.43.[COLOR=Red]2[/COLOR][/COLOR][/B] netmask 255.255.255.0 up
**************************************
*IMPORTANT* before you press Enter on the keyboard, double check the IP address is correct and hotspot name is correct. In this example, the hotspot was called GALAXY_HOTSPOT. The last part of the IP address should be one number up from the IP address you noted down earler. If you noted 192.168.43.1, then on the telnet command line it should say 192.168.43.2. See how the "1" on the end is now a "2"? Don't miss this step out!
**************************************
Press Enter on the keyboard to run the command.
Your laptop will lose connection with your AR.Drone at this point because you have just told your AR.Drone to connect to your phone instead of your laptop! The session on your laptop might hang. Just close it down.
You are now finished with your laptop.
Stage 5: AR.Drone, say hello to your new best friend:
On your SGS2, fire up your AR.Drone client program and go into the settings to specify the IP address you entered on the telnet command line. In this case we used 192.168.43.2.
Hey presto your AR.Drone client should now work and away you go!
Be safe and have fun!
Let me know if this works for you!

Very nice!
Shell

It would be much nicer and easier if adhoc would work correctly on the sgs II. You may not void your system warranty but changing the drone fw in this manner voids the drone warranty according to them.

You are not altering the firmware. You are using tools provided within the host OS to implement a transient change. There are examples similar to this provided within the Parrot SDK. They can't release code samples exploiting functions then tell devs not to use them.
Apply my infrastructure mode patch and ship your drone to Parrot with it still installed.... That'll void your warranty. Reality is 95% of the time Parrot doesn't dig that deep and blindly reflashes over it.
We could also just as easily argue that the drone needs to support infrastructure networks.
Read the following and the consider it at the heart of the community supporting the AR.Drone on Android: "You don't truly own something until you've voided its warranty."
A warranty is getting voided in either case... you just need to come to terms with which device you want to target....
If you are not comfortable with these risks then this platform probably isn't the right one for you. Drop me a line providing the basic payment details you used when purchasing AR.Pro and I'll promptly issue a refund.
Sent from my GT-I9000 using Tapatalk

Hacked supplicant confirmed as functional on rooted stock S2
http://forum.xda-developers.com/showthread.php?t=1058319
Sent from my GT-I9000 using Tapatalk

I was successful using this guide with my galaxy s2, my ARdrone and an app called 'AR.Pro'.
The Drone settings are back to standard after pressing reset (and probably after power loss as well).
Thanks for posting the guide.
EDIT: I did not patch my drone, that's the reason the changes were non-permanent i think.

Related

(WORKING)Remote Control of your phone from PC. (NOT WORKING)Remote file access

THIS IS NOT COMPLETE....
My intention of this thread is to provide what I have done so far to try and get this working. After I can get it all working I will work on a user interface for Windows.
I have dyndns and PicMe setup on my phone I am able to connect to my phone with PicMe by typing http:\\my-hero.kicks-ass.org into my address bar. The reason for it is that Sprint will change your IP address and everytime you wanted to access your phone you would have to type in the IP address that you currently have. Now all you have to do is remember one addess.
After installing these 2 programs I created a shortcut to both of them on one of my homescreens so that I can easily disable them as they will both eat up your battery.
There is a VNC binary for Android, but the kernel for our phone needs to be modified and additional libs need to be added for it to work properly. I am looking into this so you would not need to install an app for it to work.
SETUP DYNDNS
This will allow you to specify an address that you can remember and your phone will then update the online server to your current IP address
--How to set it up--
1) Go to http://www.dyndns.com
2) If you have an account log in, if not click here
3) Once you verify your email, log in to the site and under My Services there should be a sub category named my hosts. Click on my hosts and click on Add New Host.
4) Setup a Hostname-This can be whatever name you want as you will type this in instead of the phones IP address. Also choose a domain name (example: My-Hero.kicks-ass.org)
Keep Service Type as Offline hostnames
Ip Address can be left blank
Select remote file access as What you will use this host for
Click on ADD TO CART
Click NEXT
Click Activate Services
5) Now on your phone download dyndns from the market
6) Once its done open it up and got settings and change all of these
Update domain: members.dyndns.org (once you start typing it should let you select it
Hostname: Type in the full hostname you created (my-hero.kicks-ass.org)
Username:What you used to setup your account
Password:The password you used when setting it up
You can leave the bottom 2 unchecked if you want
7) Press your back button and click Start. After a couple of seconds it should detect your IP address and display under Status. If not make sure everythings is typed just as it was when you set it up on the website.
8) I created a shortcut to this app on my homescreen so that i can easily access it to turn it off and on as it will update the server and will reduce your battery life.
To test it out...
Download PicMe from the market and once installed open it up and Click Accept. It should then start trying to connect to its server. Mine connects and then close the app, but it is still running.
Now back on your computer open up whatever browser you use and type in http:\\xxxxxxxxx-where this is the hostname you created. You must type http:\\ for it to connect using PicMe. On the right side of your browser window should be 3 options (Static, Live, Live standalone) Click on Live and give it a couple of seconds. In order to use this, your phone can not be sleeping.
I am working on getting ftp to work though my 3g connection, but have not been able to yet.
I have tried swiFTP and FTP Server. It connects to my phone, but then gives an error right before it fully connects to allow file transfers.I am looking for someone to help out if they know anything about this.
Reserved--Because I can
This looks awesome! Nice work, I'll have to try it

Device security

If keeping your Android free from software that spies on you and your data is important to you, you might want to consider an occasional check.
Get a terminal emulator from the market an load it on your phone.
Open the terminal app and become super user:
Code:
su
Then enter
Code:
netstat -taupe
What follows will be a list of open net connections with IP addresses, both local and foreign. Sometime the process controlling the connection is also given - but not always.
Look over the foreign addresses. Any you are suspicious or unsure of, you can check on your PC.
In Linux open a terminal; in Windoze run cmd -w from the start menu to get a terminal window. Then issue a whois [IP ADDRESS] command. For example...
Code:
whois 209.85.229.102
The result will show information about the host for that IP address - in this example it turns out to be Google... probably one of the good guys... (but until the net neutrality issue is sorted the jury is still out).
So if you find a link to some unknown host belonging to a Internet Provider, in, say Brazil or China, that really has no business being connected to your phone, you may want to think about removing the app that added it, or asking its developer some serious questions.
It might be an idea to run this kind of check fairly often and especially after loading hacks of proprietary applications.

HTC Shift - Connect WM side with Windows 7 side using WM Network Plugin

Hi,
I tried to do that using this solution:
http://forum.xda-developers.com/showpost.php?p=3491777&postcount=2
but I failed! Maybe because this solution is for Vista and I use Windows 7 Ultimate
Is anyone here which succesfully done the connection of WM side with Windows 7 side using "Network plugin" installed on WM side (already included in Thaihugo ROMs). If anyone which do it please let us know how he do it as this is very important for our HTC Shift which don't have SD Card on WM.
Nobody is an Network Expert here?
haha
Make sure you have properly setup a share under Windows 7
Create a dedicated share, don't use the share wizard (in your explorer, go to options, and deselect the last one: use sharing wizard.
Also, all your accounts must have passwords. specially administrators ones.
If you cannot connect to your share using a network computer, it will not work with the WM side.
Hi Thaihugo
I really appreciate your reply and the great ROMs you released for all of us!
My HTC Shift run your Light ROM on WM side and Windows 7 Ultimate on Windows side. My internet connection is USIM 3G/HSDPA.
I followed exactly your suggestion and also deselected "use sharing wizard" but I still get a "Map drive error".
What I can see is that "USB Tools" works for me only with "Enable advanced network functionaly" deselected and once the WM side si connected with Windows 7 side through ActiveSync then the internet connection become unavailable. Once the USB Tool "cable" is disconnected the internet connection become available.
I have only one Administrator user on my Windows 7 and is password protected.
My Windows 7 Internet Connection is defined as "Home" internet connection.
My PC name was defined as genuine name "SHIFT" as on your first instructions.
When I enter \\shift and press Enter I can see folders "Users" and "HTC Shift" (shared by me) as Shared Folders!
I also look inside "Change advanced sharing settings" and "network discovery" is turned on.
And I stilll can't map the network drive and believe me that I lost hours trying everything and searching Google but nothing works...
If you have any other suggestion please let me know and I will try...
Thanks!
Create a share without any right (all users allowed, on share and on NTFS)
go to the file explorer on WM side. Select menu, then open path - new path
enter \\shift\yourshare
It should connect.
If not, go to the Windows 7 side, click on the start menu, and search for "local". You will have local policy settings.
go to local policy, security settings, then network security: LAN manager authentication level. Select "send LM and NTLM responses". Confirm, reboot your pc and retry. It should work.
Thaihugo, thank you again for your real help.
I followed exactly the steps you suggest me and still can't connect and I tried even with USB Tools connected to Windows 7 side (internet connection not available) and also without USB Tools (internet connection available).
As I told you when "USB Tools" is connected to Windows 7 side then the internet connection becomes unavailable (disconnected) and once the "USB Tools" is disconnected the internet connection becomes available on Windows 7 side (reconnected).
Also for me "USB Tools" works only if I disable "Enable advanced network functionality".
I also disabled my Firewall on Windows 7 but nothing works... there should be other settings for me?
Thanks!
Nope, you have all the keys. Did you make sure the policy is changed as instructed?
You MUST connect USBtools, and yes, 3G connection will not be available during this.
I suggest you retry all this steps. I've done it on my own shift using exactly the same configuration.
Thaihugo, thank you again for your support. I will confirm here every step completed and this should help on finding the issue I have:
1. "first, know the name of your shift. If you didn't change it it is SHIFT, otherwise type hostname in a command line in vista side."
Done! My Windows 7 computer name was changed to: SHIFT
2. "then type services.msc and make sure the server service is started and set up to automatic if you want it to start every boot"
Done!
3. "Now type \\shift in your start menu. A windows must open, and you should see thinks, like Users,and printers. If not, don't worry, you can still go on. For more advanced users, it can be a good time to set up a share."
Done! I can see "Users" and "HTC Shift" folder. "HTC Shift" folder was created by me on partition D: (I have partition C: with Windows 7 only and D: for anything else) and set as shared folder with read/write/execute options for all users "Everyone".
4. "Now go on Snapvue side, and go to settings-connections-network plugin. First click on the "enable network folder" and wait for the reset."
Done!
5. "Now, when reset is done, start usbtools to activate activesync. On vista side, make sure you are connected ( set up a partnership, or just click on connect whitout partneship. In this case, you will have to do it each time.)"
Done! I choose "connect whitout partneship".
6. "Go back on Snapvue, and in network plugin click on New...
In remote path, enter \\shift\users if shift is your computername, and if you saw Users in the window on the second step. Otherwise, you can enter \\shift\c$ to access the whole drive. Click on map drive. Enter your username and your password (the one you use to login in vista)"
Done! I tried with \\shift\users and also with \\shift\htc shift or with \\shift\c$ and after some little time I get the same error "Map Drive failed".
7. "Make sure you have properly setup a share under Windows 7
Create a dedicated share, don't use the share wizard (in your explorer, go to options, and deselect the last one: use sharing wizard."
Done! I created "D:\HTC Shift" folder then right click on it Properties - Sharing - Advanced Sharing , I selected "Share this folder" then click on "Permissions" and I have "Group or user names" set for "Everyone" and at "Permissions for Everyone" I have "Full COntrol" , "Change" and "Read" all selected!
8. "Also, all your accounts must have passwords. specially administrators ones."
Done! I have only one Administrator account named "Admin" and have password.
9. "Create a share without any right (all users allowed, on share and on NTFS)
go to the file explorer on WM side. Select menu, then open path - new path
enter \\shift\yourshare
It should connect.
Done! but still don't have the connection...
10. "If not, go to the Windows 7 side, click on the start menu, and search for "local". You will have local policy settings. go to local policy, security settings, then network security: LAN manager authentication level. Select "send LM and NTLM responses". Confirm, reboot your pc and retry. It should work."
Done! but still don't have the connection...
Don't know where is the issue but there should be something else which made the difference between my configuration and yours...
Concentrate on trying point 9, and on checking point 10. Maybe you have something else blocking up. I would suggest trying with another computer, and maybe if you can another pocket pc on the same wifi network.
I'm sorry I cannot help you further. Have you other devices available for diagnostics?
BTW: I have my phone off, no sim card
My phone is turned ON and I have sim card inside as the internet connection come from my sim card (3G/HSDPA). My WiFi is turned OFF and Bluetooth ON (bluetooth mouse Microsoft 5000 on it).
Other devices I have is other HTC Shift where I have the same issue and my notebook with Windows XP Pro.
try turning phone off and remove your sim card (just to be sure). Also, please try to connect from your XP computer.

[HOWTO] Control PC without bluetooth, data cable, 3G/GPRS, or a router.

First of all, I would like you all to bear with me since this is my first HOWTO in my entire life. I decided to make this one since the guides from this site are for Windows Mobile, and some do it in a different way. Also, since there aren't really that much info on the net about an Android VNC client.
There's Gmote and RemoteDroid, but they're not VNC clients, so you still have to "look" at your PC's monitor.
Onward!
1. Download and install any VNC server to your computer. There are a bunch, but for this example, I used TightVNC because it's free, and it has a Linux version (which is kinda old).
After installation, set your authentication password. Skip this if you've done it during installation.
2. Download android-vnc-viewer and install it to your phone. [http://code.google.com/p/android-vnc-viewer/]
3. Go to your phone's wireless settings and enable wireless tethering / portable hotspot. Try to set a password to prevent...you know.
4. Disconnect any wifi connection in your laptop/pc and connect to your phone's access point.
5. Start android-vnc-viewer. Fill in the stuff. What's important is you fill in the IP Address and the port correctly.
You can get your IP address by hovering your mouse at TightVNC's icon in the system tray or typing ipconfig in Window's command prompt. Linux users can get their IP address by typing "ifconfig -a" (i just use conky for this so im not sure xD)
And oh. the port by default is 5900. You can check at TightVNC's configuration page.
6. Skip the windows authentication username thing.
7. All other settings like the color format, configure to your liking.
8. Press connect!
I'll post screenshots tomorrow, and by screenshot I mean the pictures of the two connected.
For any questions and violent reactions, just reply And note: You can also do this by setting your laptop/pc as the access point. A program like connectify does the trick. Once the phone is connected to the laptop, skip to step 5.
kpbotbot said:
First of all, I would like you all to bear with me since this is my first HOWTO in my entire life. I decided to make this one since the guides from this site are for Windows Mobile, and some do it in a different way. Also, since there aren't really that much info on the net about an Android VNC client.
There's Gmote and RemoteDroid, but they're not VNC clients, so you still have to "look" at your PC's monitor.
Onward!
1. Download and install any VNC server to your computer. There are a bunch, but for this example, I used TightVNC because it's free, and it has a Linux version (which is kinda old).
After installation, set your authentication password. Skip this if you've done it during installation.
2. Download android-vnc-viewer and install it to your phone. [http://code.google.com/p/android-vnc-viewer/]
3. Go to your phone's wireless settings and enable wireless tethering / portable hotspot. Try to set a password to prevent...you know.
4. Disconnect any wifi connection in your laptop/pc and connect to your phone's access point.
5. Start android-vnc-viewer. Fill in the stuff. What's important is you fill in the IP Address and the port correctly.
You can get your IP address by hovering your mouse at TightVNC's icon in the system tray or typing ipconfig in Window's command prompt. Linux users can get their IP address by typing "ifconfig -a" (i just use conky for this so im not sure xD)
And oh. the port by default is 5900. You can check at TightVNC's configuration page.
6. Skip the windows authentication username thing.
7. All other settings like the color format, configure to your liking.
8. Press connect!
I'll post screenshots tomorrow, and by screenshot I mean the pictures of the two connected.
For any questions and violent reactions, just reply And note: You can also do this by setting your laptop/pc as the access point. A program like connectify does the trick. Once the phone is connected to the laptop, skip to step 5.
Click to expand...
Click to collapse
Please elaborate...Do i have dial internet through my phone and access it on my pc????? Shud i connect the phone using data Cable???? Wat do u mean by "connect to your phone's access point"[\b] Does your methos involve internet access??? Please elaborate for us novice users...I want to use my phone's touchscreen as a mouse but dont want to buy a wifi dongle just so i cud use remote droid i do have a bluetooth dongle though
Do i have dial internet through my phone and access it on my pc????? Shud i connect the phone using data Cable????/quote]
No. Just tether with wifi. Think of your phone as a wireless router not connected to the internet. Once you've set up tethering on your phone, connect to your phone's tethered AP (default name is AndroidAP)
BUT,
If you just want a mouse alternative (not a remote desktop), i suggest you use Gmote.
Click to expand...
Click to collapse
kpbotbot said:
Do i have dial internet through my phone and access it on my pc????? Shud i connect the phone using data Cable????/quote]
No. Just tether with wifi. Think of your phone as a wireless router not connected to the internet. Once you've set up tethering on your phone, connect to your phone's tethered AP (default name is AndroidAP)
BUT,
If you just want a mouse alternative (not a remote desktop), i suggest you use Gmote.
Click to expand...
Click to collapse
Can Gmote let me use my O1's touchscreen as mouse if yes, can it do that over bluetooth ?? i dont have wi-fi on my Desktop and i dont intend to invest in a dongle just for doing that
Click to expand...
Click to collapse
sarfaraz1989 said:
kpbotbot said:
Can Gmote let me use my O1's touchscreen as mouse if yes, can it do that over bluetooth ?? i dont have wi-fi on my Desktop and i dont intend to invest in a dongle just for doing that
Click to expand...
Click to collapse
I don't think you can do that via bluetooth :/
Click to expand...
Click to collapse

[Guide] Natively convert your Windows 7 PC to an access point (no software needed).

Here is how to do it natively from the windows 7 under command shell.
STEP 0: Open a command-prompt with administrator privileges.
Click on Start menu, All Programs, Accessories, right-click on Command Prompt, select "Run as administrator"). Type in:
STEP 1: Configure the "hosted" interface:
Code:
netsh wlan set hostednetwork mode=allow ssid=[B]Enter your SSID here [/B]key=[B]Enter Password Here.[/B]
Note: Enter the name of your local network next to ssid= and password next to key= this will create a hotspot network with the SSID and pass key you assigned.
STEP 2: Configure Internet Connection Sharing (ICS)
Open up the networking control panel. Select the interface that currently has Internet connection (like your Ethernet or normal wifi), enable "Sharing", and then select the special "hosted" interface.
STEP 3: Start it
Code:
netsh wlan start hostednetwork
STEP 4: Enjoy
On your other devices (say, your android), connect to your SSID and enter the password.
Credits: http://erratasec.blogspot.com/2009/11/windows-7-includes-soft-ap.html
Excellent, this works every time and doesn't usually fail like trying to set up an ad-hoc network through the Network and Sharing Center.
+1 good sir.
Yes it uses a native service in windows 7 and doesn't need extra bloated software to do that.
Connectify does this as well, but it has a handy gui and some nice options to go along with it
http://www.connectify.me/

Categories

Resources