PPCGeeks

PPCGeeks (http://forum.ppcgeeks.com/index.php)
-   Android On TP2 Development (http://forum.ppcgeeks.com/forumdisplay.php?f=319)
-   -   NAND Testing - 05-25 Update: New LK, Recovery.img, Kernel Updates through Recovery (http://forum.ppcgeeks.com/showthread.php?t=134598)

natemcnutty 09-29-2010 09:00 PM

NAND Testing - 05-25 Update: New LK, Recovery.img, Kernel Updates through Recovery
 
THIS IS FOR TESTING ONLY. DO NOT ATTEMPT TO INSTALL THIS IF YOU DON'T KNOW HOW TO GET INTO BOOTLOADER MODE AND FLASH A ROM FROM THE SD CARD.

Announcements

We are currently replacing Tinboot with LK for boot. This will give us fastboot and many other enhancements and fixes to make our device more like a native Android device. This has already fixed some issues with GSM phones, sleep modes, and a few other things. The current issue being worked on is the power button not working (possible GPIO issue).

Introduction

This thread tracks the most recent NAND development. A huge thanks to [ACL] and WoZZeR999 for dedicating time to NAND development for us, and again, thanks to Jonpry, PHH, stinebd, and the rest of #htc-linux for their contributions. It's truly amazing what these guys have done for us, so be sure to show them your appreciation :wink:

The original NAND boot testing thread can be found here:
http://forum.ppcgeeks.com/tp2-androi...tilt2-fix.html

File Repository

Autobuild files can be found here: Index of /files/
The LK directory will contain the latest LK Bootloader and boot image code.
The rhodium_nand directory contains the latest kernels
The XDAndroid directory contains the latest OS files and updates (including the root update)
Note: We often disable autobuild when extremely experimental code is submitted, so this may not always be up to date but should be more stable than content we post in the threads.

Latest Files
LK Bootloader: http://htcdevs.wirelesstcp.net/files...NORECOVERY.NBH
Recovery Image: http://htcdevs.wirelesstcp.net/files/LK/recovery.img
05-22 Kernel: http://htcdevs.wirelesstcp.net/files...nel-update.zip
FRX06 OS Files: http://htcdevs.wirelesstcp.net/files...RX6/update.zip
Optional - FRX06 Root: http://htcdevs.wirelesstcp.net/files...oot-Update.zip

Installation Procedure

Obtain Install Files
You need 4 files to get NAND up and running:
LK Bootloader NBH
Recovery.img
Kernel
OS Files

Install Directions
1) Set up your computer to use fastboot: http://forum.xda-developers.com/showthread.php?t=532719
2) Flash your phone with the LK Bootloader NBH
3) Copy recovery.img to your fastboot/adb folder
4) Open bash/command prompt and run fastboot flash recovery recovery.img
5) If successful, type fastboot reboot, and hold the Power Button as your phone boots
6) Your phone should boot into recovery, and there you can apply the various update.zip files in this order:
- FRX06 Update.zip
- Kernel-Update.zip
- Root-Update.zip

To navigate in recovery, use volume up/down (or up/down on keyboard) to change selection, then use End Call key (or Enter on keyboard) to make a selection.

Here's a video from ACL
http://www.youtube.com/watch?v=4r4o2CCKwvU

Work in Progress
Panel init/power down
No data on first boot
Youtube app has issues
GSM can boot with no rild arguments (no data)

Not Working at all
Camera
No bluetooth
No 3.5mm headphone jack

natemcnutty 09-29-2010 09:00 PM

Re: NAND Boot File Repository
 
Frequently Asked Questions

What is NAND booting?
NAND booting uses code on the NAND to boot directly into Android without having Windows Mobile on the device. Currently, we have the kernel and initrd in XIP, and four partitions: recovery, data, system, and cache.

How is NAND different than Haret?
Other than the fact that all files are running from the internal memory, NAND uses cmdline from Tinboot code instead of using startup.txt. This means you cannot change force_cdma or other settings like you can with Haret without recompiling. Also, NAND is a different kernel than the one used for Haret, so some commits on NAND may be ahead of Haret and some commits may not have made it over to us yet.

Where are the Android files stored and how do I update them?
Modules are stored in the data partition and are symlinked with /system/lib/modules. Every kernel update will also require a modules update which will be applied through the use of androidupdate.tgz in the /sdcard/andboot folder. Kernel updates will be applied through recovery, and modules will probably be handled at the same time.

My battery drained and now my phone is stuck in a boot cycle! AHHHHHH!
There are two different causes of this. If your phone died while in Android, the fix is quick and easy:
1) Unplug the USB cable, then remove the battery
2) Put the battery back in, and plug the USB cable back in
3) Let it charge for 5 - 10 minutes (it will vibrate like it is starting, ignore this)
4) Unplug the USB cable, then remove the battery
5) Put the battery back in, and start the phone

If you lost power while booting, the kernel may attempt to restart every time you plug the cable in (not confirmed this is the real cause yet). The only known solution to this is incremental charging of a few seconds at a time. Basically, follow the above steps, but you have to remove power every 5 - 10 seconds or so before it starts the kernel back up again. This sucks, and ACL is trying to reproduce so he can figure out how to fix it.

Kernel Status


FRX05 Build Status


Haret Console and ADB
This is going to be quick and ugly since I have to hit the sack. I'm assuming most of you are running Windows, so I'm going to start from there.

HaretConsole - http://dl.dropbox.com/u/11790134/Har...kageForWin.zip
Download, unzip, and connect your phone in ActiveSync mode.
On the phone, browse to Haret.exe and make sure there is no startup.txt or default.txt file in the same directory.
Run Haret.exe on the phone, and click Listen for Connections
Now, on your computer, run the batch file for haretconsole, and it should connect.
Until I get a chance to explain things, you can find details on commands here: http://www.htc-linux.org/wiki/index..../Documentation

ADB Drivers - http://dl.dropbox.com/u/11790134/usb_driver.zip
First we need to unzip the drivers and connect your phone to the computer (must be at least booting into Android or in Android).
Now, open Device Manager (right click on Computer, click Manage, then click Device Manager)
You should see several unkown devices including one named XDA.
Right click on XDA, click Update Driver, click Browse, then click "Let me pick...", then click Have Disk.
Now browse to the unzipped drivers, and force it to use the ADB Interface driver. Say yes to any warnings.

You are now set to use ADB. I highly recommend checking out Droid Explorer from http://de.codeplex.com. This will let you run console and a lot more against your phone when it is in Android.

proxhack 09-29-2010 10:00 PM

Re: NAND Boot File Repository
 
Thank you and great job!

[ACL] 09-29-2010 10:01 PM

Re: NAND Boot File Repository
 
This post is ACL approved :-)

coolsilver 09-29-2010 10:58 PM

Re: NAND Boot File Repository
 
I'll be happy to test whatever you need.

Problem is... I have a RHOD500 so no help there on the tinboot for other devices.

[ACL] 09-29-2010 11:18 PM

Re: NAND Boot File Repository
 
Quote:

Originally Posted by coolsilver (Post 1960844)
I'll be happy to test whatever you need.

Problem is... I have a RHOD500 so no help there on the tinboot for other devices.

no problem.. all rhods are supported.. but lets say you had a topaz or blackstone.. id prob tell you to go back the way you came.. and never show your filthy self again.. but you have rhod so all good

proxhack 09-29-2010 11:38 PM

Re: NAND Boot File Repository
 
Quote:

Originally Posted by [ACL] (Post 1960869)
no problem.. all rhods are supported.. but lets say you had a topaz or blackstone.. id prob tell you to go back the way you came.. and never show your filthy self again.. but you have rhod so all good

Let me know what's the next test.

coolsilver 09-30-2010 01:37 AM

Re: NAND Boot File Repository
 
Quote:

Originally Posted by [ACL] (Post 1960869)
no problem.. all rhods are supported.. but lets say you had a topaz or blackstone.. id prob tell you to go back the way you came.. and never show your filthy self again.. but you have rhod so all good


I would be telling them they have a bricked compass. :D

Anyway, I'm about ready to pull the latest build even if it sucks and play with it.

I'd love to get in there and help but I'm no programmer/dev.

natemcnutty 09-30-2010 03:21 AM

Re: NAND Boot File Repository
 
I've put together a FAQ with what I could think of for now. If you have any other information that you guys think would be particularly helpful, let me know. I do plan on putting together a step by step for flashing and what files do what. I also plan on compiling a list of useful commands for debugging (like dmesg >> /sdcard/log.txt) :)

[ACL] 09-30-2010 03:33 AM

Re: NAND Boot File Repository
 
Quote:

Originally Posted by coolsilver (Post 1960996)
I would be telling them they have a bricked compass. :D

Anyway, I'm about ready to pull the latest build even if it sucks and play with it.

I'd love to get in there and help but I'm no programmer/dev.

a good tester is worth 2 good programmers. So test on my good man, your feedback is like gold to us.

damage_them 09-30-2010 06:14 AM

Re: NAND Boot File Repository
 
in nand we dont need a start up text right?? i just want to make sure ...everything should be in tinboot?..cuz im not usin any and the phone works fine!!

pts69666 09-30-2010 08:00 AM

Re: NAND Boot File Repository
 
Quote:

Originally Posted by damage_them (Post 1961095)
in nand we dont need a start up text right?? i just want to make sure ...everything should be in tinboot?..cuz im not usin any and the phone works fine!!

the startup text is in tinboot. that is why you cannot change any boot options unless you recompile it. =P

Good Job Guys! Continue the great work. I should be able to test when I'm not as busy. Should be soon, I hope...

coolsilver 09-30-2010 09:12 AM

Re: NAND Boot File Repository
 
Quote:

Originally Posted by [ACL] (Post 1961073)
a good tester is worth 2 good programmers. So test on my good man, your feedback is like gold to us.

I'd figure you say something of the sort. WinMo has been backed up.

I still have my old MR2 RUU and I got the Custom RUU which I will probably use as well as my mighty rom version I am running now.

Provided flashing this 20 BILLION times doesn't brick it, I'll be good :D

Update:

Ran Task 29 just to be safe.

Flashed with Test 7: Single nbh file. Using 9-28 Kernel.

Boots and looks good so far. Text is smaller for Icons. Looks nicer IMHO. Everything is resized nicely.

Winmo is Officially Gone. Feels great too.... A newly liberated Windows Device.

Great Job!!

Works:
Data
GPS
SMS
Sound - Call and Normal
3d
Speakerphone - Sound and bottom mic


Not Working:
Wifi
Bluetooth as before
Screen not sleeping.
No LED status light
Anything else not working in other builds

I forget what else to check... lol

natemcnutty 09-30-2010 03:04 PM

Re: NAND Boot File Repository
 
Quote:

Originally Posted by coolsilver (Post 1961147)
I'd figure you say something of the sort. WinMo has been backed up.

I still have my old MR2 RUU and I got the Custom RUU which I will probably use as well as my mighty rom version I am running now.

Provided flashing this 20 BILLION times doesn't brick it, I'll be good :D

Update:

Ran Task 29 just to be safe.

Flashed with Test 7: Single nbh file. Using 9-28 Kernel.

Boots and looks good so far. Text is smaller for Icons. Looks nicer IMHO. Everything is resized nicely.

Winmo is Officially Gone. Feels great too.... A newly liberated Windows Device.

Great Job!!

Works:
Data
GPS
SMS
Sound - Call and Normal
3d
Speakerphone - Sound and bottom mic


Not Working:
Wifi
Bluetooth as before
Screen not sleeping.
No LED status light
Anything else not working in other builds

I forget what else to check... lol

I'm taking a look into wifi right now. It should be working. After my work reading through what tinboot is doing, I noticed I'm missing compcache and ti from my modules. I'll be putting an updated NBH, zImage, and modules up on the first post within the hour. I just want to test them first :)

JustusIV 09-30-2010 03:13 PM

Re: NAND Boot File Repository
 
So i have been keeping an eye on this and was going to switch when i thought nand booting was "Good enough" looking at the not working list i think it might be there.
Is this just as stable as when booting haret? and it seems the only addition thing broken is wifi which i NEVER use.
Screen not sleeping? does that mean its even more of a battery hog? how do that's work sleeping on its own or you cant turn it off.

coolsilver 09-30-2010 04:03 PM

Don't get me wrong but I am on NAND right now and what isn't working is 90% what isn't working in the HARET kernel.

Other than Wifi and handful of other Minor things as I see it. It is functional as a phone. It has Data. 3D is working which just got enabled for HARET.

Otherwise, android is fully in development mode. If you can't accept the broken things then wait.



I'll test out the new build when I charge tonight.

Sent from my HTC Touch Pro 2 on Android with Tapatalk Pro.

coolsilver 09-30-2010 04:48 PM

Re: NAND Boot File Repository
 
I don't know but might not be charging when powered off either. Or didn't shut down right.

I plugged it into the pc here to charge and vibrated twice like it was booting but nothing was displayed. But the orange light came on. I tried pulling the battery and usb and trying again. Same vibration after plugging it in.

We shall see if it keeps doing it.

[ACL] 09-30-2010 05:20 PM

Re: NAND Boot File Repository
 
Quote:

Originally Posted by coolsilver (Post 1961728)
I don't know but might not be charging when powered off either. Or didn't shut down right.

I plugged it into the pc here to charge and vibrated twice like it was booting but nothing was displayed. But the orange light came on. I tried pulling the battery and usb and trying again. Same vibration after plugging it in.

We shall see if it keeps doing it.

I'll look into this issue. I know for some reason when we shutdown with usb on the phone, we get the crazy behavior. Im going to try to turn off usb before the shutdown. Its on my task list :-)

[ACL] 09-30-2010 05:28 PM

Re: NAND Boot File Repository
 
Quote:

Originally Posted by coolsilver (Post 1961682)
Don't get me wrong but I am on NAND right now and what isn't working is 90% what isn't working in the HARET kernel.

Other than Wifi and handful of other Minor things as I see it. It is functional as a phone. It has Data. 3D is working which just got enabled for HARET.

Otherwise, android is fully in development mode. If you can't accept the broken things then wait.



I'll test out the new build when I charge tonight.

Sent from my HTC Touch Pro 2 on Android with Tapatalk Pro.

Not sure what you mean. Nand is actually ahead of haret in many ways. If wifi isnt working for you guys, we need to look into the modules that are being deployed. wifi has always worked..

natemcnutty: can you make sure the modules you are deploying match the kernel thati s being compiled.

ALso when you are trying to turn on wifi we need a logcat and dmesg. That will say why its not working.

coolsilver 09-30-2010 05:58 PM

I understand what you mean. Plus I know you and the others have code that hasn't been committed to the haret git branches like the battery meter code.

Anyway, I see he found some modules that wasn't built in the last time. I will take a look when I get home. Forgot my microsd adapter to put kernel on sd. Now without winmo I forgot usb mass storage isn't quite ready. I don't have a system with adb setup.

Sent from my HTC Touch Pro 2 on Android with Tapatalk Pro.

coolsilver 09-30-2010 07:55 PM

Re: NAND Boot File Repository
 
2 Attachment(s)
9/30 zImage and Modules.

I tried to start wifi with logcat dump.

E/WifiService( 1286): Failed to load Wi-Fi driver.

Tried a couple times.

dmesg shows it had been enabled

[ 6.280609] MMC: WiFi device enable

Anyway here is the full thing.

If needed with clean build/Data.Img let me know I have a backup.

natemcnutty 09-30-2010 09:25 PM

Re: NAND Boot File Repository
 
Quote:

Originally Posted by coolsilver (Post 1961924)
9/30 zImage and Modules.

I tried to start wifi with logcat dump.

E/WifiService( 1286): Failed to load Wi-Fi driver.

Tried a couple times.

dmesg shows it had been enabled

[ 6.280609] MMC: WiFi device enable

Anyway here is the full thing.

If needed with clean build/Data.Img let me know I have a backup.

I've been troubleshooting this for a while now. The problem is that it is not using the update modules and instead is looking for the ones from Wozz's NBH build. I believe the only way to get this working is to build a new NBH, but I can't boot all the way into Android with any of the NBH files that I've generated today.

I have a bad feeling that tinboot git is missing a lot of code. When I flash Wozz's, I see details about the keyboard and everything loads fine. On mine, I see nothing about the keyboard, and it stalls at the loading screen. dmesg dump says it freezes right after compcache stuff.

I'm going home now and rebuilding everything. I've got 5 copies of the NBH, zImage, and modules compiled with and without ti and compcache. Perhaps someone else can clone tinboot and give compiling a shot. Maybe I'm just retarded...

coolsilver 09-30-2010 09:29 PM

Re: NAND Boot File Repository
 
I could boot into my vmware and clone the git.

I'm not sure what all I'll need to build it.

At one time I did compile a kernel off the main htc-msm-linux branch.

Just remembering how to setup the compile environment.

[ACL] 10-01-2010 12:20 PM

Re: NAND Boot File Repository
 
natemcnutty: i spoke to wozz, he will jump on tonight to take a look and see what we are missing.

rawker 10-01-2010 02:16 PM

Re: NAND Boot File Repository
 
I feel like a noob asking this, but what is the best way to update the zImage and Modules? are you taking out the sd card?

arrrghhh 10-01-2010 02:18 PM

Re: NAND Boot File Repository
 
Quote:

Originally Posted by rawker (Post 1962655)
I feel like a noob asking this, but what is the best way to update the zImage and Modules? are you taking out the sd card?

You'd have to shut down the phone first, but that would be one method. The other method is flash back to WinMo....

rawker 10-01-2010 03:38 PM

Re: NAND Boot File Repository
 
Is there a fix for the backlight staying on?

[ACL] 10-01-2010 03:43 PM

Re: NAND Boot File Repository
 
Quote:

Originally Posted by rawker (Post 1962809)
Is there a fix for the backlight staying on?

Its actually in the works. There is some testing going on but nothign was published. Should fix the auto dim and led lights. Hope all the tests go well so we can get this patched up.

damage_them 10-01-2010 03:46 PM

Re: NAND Boot File Repository
 
Quote:

Originally Posted by [ACL] (Post 1962819)
Its actually in the works. There is some testing going on but nothign was published. Should fix the auto dim and led lights. Hope all the tests go well so we can get this patched up.

sounds great!..im ready for testing once they drop!

natemcnutty 10-01-2010 03:47 PM

Re: NAND Boot File Repository
 
Quote:

Originally Posted by arrrghhh (Post 1962661)
You'd have to shut down the phone first, but that would be one method. The other method is flash back to WinMo....

Unfortunately, the zImage is on the actual NAND, and you can't update it. I originally thought it was pulling from my SD Card, but that explained why I could never get hw3d working and wifi wouldn't work with the updated modules.

For now, the only way to test the new zImage/modules is with Haret since Tinboot isn't playing nice right now. I was kind of hoping ACL and Wozz wouldn't have to waste their time on Tinboot, but whatever isn't working is over my head :(

damage_them 10-01-2010 03:52 PM

Re: NAND Boot File Repository
 
Quote:

Originally Posted by natemcnutty (Post 1962831)
Unfortunately, the zImage is on the actual NAND, and you can't update it. I originally thought it was pulling from my SD Card, but that explained why I could never get hw3d working and wifi wouldn't work with the updated modules.

For now, the only way to test the new zImage/modules is with Haret since Tinboot isn't playing nice right now. I was kind of hoping ACL and Wozz wouldn't have to waste their time on Tinboot, but whatever isn't working is over my head :(

i guess this explains why it would only look for the modules wozz put in..hmm(im learning new things everyday :))

rawker 10-01-2010 05:55 PM

Re: NAND Boot File Repository
 
Do we even need the files on the SD card then? or is still looking for the modules there?

natemcnutty 10-01-2010 06:34 PM

Re: NAND Boot File Repository
 
OK, here's the latest update. I have refactored a bunch of the first couple of posts with some new information. After trying to make modifications to tinboot to make it work, I decided to create NBH files from previous builds and check those. On the plus side, they all worked; on the downside, that means the commits for 3D messed things up (at least for me).

I have now included the NBH file with the builds from the 23rd and the 25th. The zImage is only included with those for reference and is not needed for NAND booting since the NBH puts the zImage and initrd.gz onto the NAND.

If you guys could test the one from the 25th and let me know how it works for you, that would be awesome. As far as the latest build with hw3d enabled, I'm learning how to start with a base of the 25th and selectively add one commit at a time to find which one breaks it for me :)

natemcnutty 10-01-2010 06:35 PM

Re: NAND Boot File Repository
 
Quote:

Originally Posted by rawker (Post 1963033)
Do we even need the files on the SD card then? or is still looking for the modules there?

Yes, I updated the FAQ to be more clear about what is going on with the NAND and SD card. Long story short, the zImage and initrd.gz files are in the NBH and get flashed directly to the NAND. The modules, system.ext2, rootfs.img, and data.img are still stored on the SD card.

damage_them 10-01-2010 09:41 PM

Re: NAND Boot File Repository
 
i tired the one from 25th..for me the startup animation is gone..but the phone comes on rather quickly with out it :) less lag while navigating through out the phone(moves fast!!)..wifi works..its coming together slowly but surely..i also removed all the other junk like heret zimage intrid..since we dont need them on sd..im on rhod400..great work!!

natemcnutty 10-01-2010 11:16 PM

Wirelessly posted (Opera/9.80 (Android; Opera Mini/5.1.21126/20.2485; U; en) Presto/2.5.25)

Quote:

Originally Posted by damage_them
i tired the one from 25th..for me the startup animation is gone..but the phone comes on rather quickly with out it :) less lag while navigating through out the phone(moves fast!!)..wifi works..its coming together slowly but surely..i also removed all the other junk like heret zimage intrid..since we dont need them on sd..im on rhod400..great work!!

Awesome. I wonder why the animation isn't working for you. I started everything clean with mine, and everything is smooth.

So far, battery is lasting me about 6 hours probably entirely due to the screen not powering off. I'm really hoping I can find some time to build new tinboots with ACL's newer commits over this weekend. :)

coolsilver 10-02-2010 01:57 AM

Re: NAND Boot File Repository
 
YAY!

Great progress. Wifi indeed works. USB debugging works (had to load SDK x64 drivers for Win 7).

Seems good to me so far. I still like to see a fix to the screen at least not sleeping and wonky charging. Battery lasted just slightly shorter than usual probably due to screen not powering down.

Otherwise, I'm thrilled! Keep it up, I had problems trying to gather what I could on my own to build and test myself. So I'll wait for new updates and post my findings.

natemcnutty 10-02-2010 02:44 AM

Re: NAND Boot File Repository
 
Quote:

Originally Posted by coolsilver (Post 1963379)
YAY!

Great progress. Wifi indeed works. USB debugging works (had to load SDK x64 drivers for Win 7).

Seems good to me so far. I still like to see a fix to the screen at least not sleeping and wonky charging. Battery lasted just slightly shorter than usual probably due to screen not powering down.

Otherwise, I'm thrilled! Keep it up, I had problems trying to gather what I could on my own to build and test myself. So I'll wait for new updates and post my findings.

Well, since your device performed a little differently than mine did with the 0925 build, maybe you can see if the latest build works for you. I just updated the first post with a newly compiled NBH (included the zImage for reference) and module files. On my device, it seems like it freezes on the loading screen, but it is doing something because I'll see it flicker every so often. Unfortunately, nothing gets logged to dmesg, so I have no way to figure out exactly what it is doing.

Also, you may want to edit your froyo.conf file on the SD card to reduce the size of compcache to something smaller than 90 as that seemed to help me get a little further into the boot before it froze :)

[ACL] 10-02-2010 03:14 AM

Re: NAND Boot File Repository
 
As much as id love to do this on the kernel i think the quick and dirty way to get it done right now is just to modify the rootfs for nand.

What we can do is create a blank file on your sdcard that has the name of your physkeyboard value that would originally go to the startup/cmd line. So for example if you normally use physkeyboard=rhod400 on your cmdline, we can just create an empty file called rhod400.

This modded rootfs can detect that and load the correct kb settings. Thats all the difference really between the rhods.. rest of the crap we alreayd handle in the kernel. I can help someone do this or you would like i can upload one modified already. The downsides are that we would need to keep up with changes on the real community rootfs, but then again that doesnt change much.

Also, i checked tinboot and it really doesnt need any modification. So natemcnutty, not sure why its not working for you. But i can help you mod the scripts if needed.

damage_them 10-02-2010 03:43 AM

Re: NAND Boot File Repository
 
Quote:

Originally Posted by natemcnutty (Post 1963292)
Wirelessly posted (Opera/9.80 (Android; Opera Mini/5.1.21126/20.2485; U; en) Presto/2.5.25)



Awesome. I wonder why the animation isn't working for you. I started everything clean with mine, and everything is smooth.

So far, battery is lasting me about 6 hours probably entirely due to the screen not powering off. I'm really hoping I can find some time to build new tinboots with ACL's newer commits over this weekend. :)

i will try the newest one and report back..i hope 3d works :D


All times are GMT -4. The time now is 06:23 AM.

Powered by vBulletin® ©2000 - 2025, Jelsoft Enterprises Ltd.
©2012 - PPCGeeks.com


Content Relevant URLs by vBSEO 3.6.0