Installing Windows 8 Preview on the HTC Shift

Installing Windows 8 Preview on the HTC Shift

The HTC Shift is a wonderful anachronism left over from the results of earlier HTC and Microsoft love-ins, flirting with touchscreens, neat hybrid form factors and ULV CPU’s. It’s origins lie in hardware that was created to run the ill-fated Origami platform on top of Vista. That combined with a Windows Mobile 5/6 device (on the ARM side) managing a 3G connection and low power access to mails, contacts and the like made for one very interesting bit of hardware.

I have been happily using the Shift for a few years now (since a good friend kindly passed it on to me) with various Windows and Linux setups (on both the ARM and x86 side).

But in fairness I have been using it less and less of late. As it feels that the Origami work is spiritually being dusted off and rolled into Windows 8 with the healthy dose of the Metro design language and friends it seemed only right to dust off the venerable old Shift and see how it coped with the latest software incarnation.

No part of this process is very complicated, it mostly came down to installing the right drivers in the right order Winking smile, just read the post and follow each point and you should not go far wrong.

Read this: Please make sure….

    • You are 100% happy to totally wipe the Shift’s HDD. Don’t bother with an upgrade from Windows 7. Not worth the hassle!
    • You don’t mind manually reinstalling Windows Vista or Windows 7 when you decide 8 is not for you.
    • You are signed up on XDA Developers Winking smile
    • You are well aware you are installing an unsupported pre-beta bit of software on your device, and the device is under MS’s recommended minimum specs. The chances are it will not work well! But it’s fun to try.
    • You understand not all the hardware is 100% supported and there may be driver issues.
    • You have removed any external storage from the device other than the USB stick (no SD card inserted, no random USB HDD connected etc.).
    • You have enabled WiFi using the Shift Control Panel before you start the install inside the old OS. If you don’t you may need to have a USB Ethernet adaptor before you can enable WiFi to get on the internet.

Prerequisites:

I am assuming people have access to another Windows PC to setup the install, if your using a Linux distro or something cool and exotic I am sure you can adapt the guide.

Hardware:

  • Large (say 8GB or bigger) USB stick.
  • USB Ethernet adaptor (optional but very handy)

You can also save yourself a lot of pain by using that after you have completed the install to get on the internet initially and let the Shift install drivers from Windows Update and get things up and running that little bit quicker. The guide assumes you don’t have a USB Ethernet adaptor so is worst case.

Windows Software:

Drivers: Use the mirror links if you have download issues.

You will need to download the following from the above link.

  1. “Control Center” (Shagctrl_1[1].2.6.122-control center) – Mirror
  2. “Vista EC Driver” (VistaECDrvV1[1].0.1.10) – Mirror
  3. “TouchScreen Driver” (TouchScreen(1[1].1.0.2)) – Mirror
  4. “Synaptics Micro Pad Driver” (Synaptics MicroPad(10[1].0.11.1)) – Mirror

Making a USB Install Stick:

Ok, this one is REALLY simple.

Download the ISO, install the USB download tool, select the ISO you downloaded, select the USB stick you want to install to and start the process.

It will take a few minutes and check at the end that there are no warning shown and you should be good to go.

Adding useful stuff to the USB install stick:

Now you have a Windows 8 install on the stick you will need to graft in some extra goodies that will make the Shift install a little less painful.

Open the USB stick in Explorer and create a Drivers folder on the root.

Copy over the Intel GMA drivers and Windows Mobile Device Center to the Drivers folder on the USB stick.

Extract all the other ZIP files you downloaded into this folder (so you end up with :\Drivers\shagctrl_1[1].2.6.122-control center\, :\Drivers\TouchScreen(1[1].1.0.2) etc.).

Note: Don’t try and work with compressed ZIP files when installing on the Shift. Until everything is setup it is just pain you don’t need Winking smile, you better off just extracting everything that is not an EXE to it’s own folder before you start.

Installing:

Pop the USB stick into the Shifts USB port and turn on the device. At the BIOS boot screen select Fn + 0 (F10) and pick the USB stick as the boot device. If it is not shown chances are something stopped the stick being marked as bootable.

Note: If when you run setup it does not find a hard disk on the Shift the chances are you may have an odd partition layout (I noticed this after I had Meego installed to the HDD with BtrFS). If that is the case you will need to use DISKPART from the Windows recovery command prompt to wipe the disk and add back a traditional disk layout. If you need help with that leave a comment.

Setup will take a few minutes to show anything on the screen.

  • Select your appropriate Language and Keyboard settings and hit Install
  • Accept the license terms
  • Hit ‘Custom Install
  • Click ‘Drive options (advanced)
  • Select every disk partition and select ‘Delete’ to remove them (yep, this really will delete everything on your Shift)
  • You should be left with one device showing ‘Disk 0 Unallocated Space
  • Click ‘Next’ and go and grab a Caffè macchiato while you wait 30 minutes or so

The actual Windows 8 install is pretty uneventful and will just sit there for a while churning its way through the install. It will culminate in a reboot.

After it starts for the 1st time you will be presented with the setup wizard (highly reminiscent of Windows Phone 7 Winking smile).

Note: Leave the Shift to settle for a few minutes as Windows is actually installing a lot of the device drivers in the background and you will not actually have a working keyboard for the 1st few seconds anyway.

Graphics, touchscreen and the like will not be correctly setup at this point so you will only be able to use the trackpad mouse and keyboard for input.

Just run through the setup wizard (you have no working wireless at this point so unless you have a USB Ethernet adaptor and hub connected you can’t link your Windows account to your Windows Live ID just yet as that wants internet access).

Once the finalise process has finished you will be dumped at the main Metro screen. At this point your Shift is running Windows 8, all that remains is to actually get the hardware drivers working so we can get some graphical goodness, touchscreen, 3G and the like working.

Getting the hardware working:

Tip: Don’t forget that the Windows key switches between the active application and the Metro interface. This starts to make more sense when you consider that the classic Windows desktop is actually being run as an application from Metro.

Now your logged into Windows 8 you will need to do a few things to get the Shift up and running.

Warning: The driver install order below is the one that worked well for me and mitigated the problems that arise with the hardware or SmartScreen filtering (now baked into the core of Windows) not allowing installs due to the lack of internet access to check digital signatures.

If you install the drivers out of order be prepared to deal with Windows not letting you run files due to SmartScreen errors at various points Winking smile.

Everything else not mentioned here like the fingerprint scanner and webcam sees to work well out of the box once you get online and it grabs drivers from Windows Update.

Start off by navigating to the Windows Explorer tile on the Metro screen and click it, this will take you to a traditional Windows Explorer screen on the classic desktop surface, select the removable disk you installed Windows 8 from and navigate into the ‘Drivers’ folder you created earlier.


1 – Install the Embedded Controller driver:

Note: Both the EC and TouchScreen drivers must be installed in compatibility mode for ‘Windows Vista (Service Pack 2)

After the reboot navigate to the Windows Explorer tile on the Metro screen and click it, select the removable disk you installed Windows 8 from and navigate into the ‘Drivers\VistaECDrvV1[1].0.1.10’ folder you created earlier, then right click on ‘Setup.exe’ and select ‘Properties’, from there select the ‘Compatibility’ tab and setup the program to in in compatibility mode for ‘Windows Vista (Service Pack 2)’. Hit return to close the properties window.

Now run ‘setup.exe’ from the ‘Drivers\VistaECDrvV1[1].0.1.10’ folder and run through the install until finished. It should say the EC driver was successfully installed.


2 – Install touchscreen support:

Next up we need to install the touchscreen driver.

Note: The TouchScreen driver must be ‘Run as Administrator’.

The TouchScreen driver install also pokes some I/O addresses behind the scenes, setup by the EC driver, enabling later parts of the install and is critical.

Navigate into the ‘Drivers\TouchScreen(1[1].1.0.2)’ folder you created earlier, then right click on ‘ATSV1102(WHQLed).exe’ and select ‘Properties’, from there select the ‘Compatibility’ tab and setup the program to in in compatibility mode for ‘Windows Vista (Service Pack 2)’. Hit return to close the properties window.

Now right click on the ‘ATSV1102(WHQLed).exe’ from the ‘Drivers\TouchScreen(1[1].1.0.2)’ folder select “Run as Administrator” (very important). Run through the install until finished.

It should ask for a reboot (got to love drivers). Let it reboot. After the reboot you should have a working touchscreen Smileand a bunch of other processes kicked off and drivers being automagically installed.


3 – Installing the Synaptics Micro Pad Driver:

Note: This driver must be installed before the Shift Control Center.

Just run “setup.exe” from ‘Drivers\Synaptics MicroPad(10[1].0.11.1)’ and run through the setup process.

Select no when asked about rebooting at the end.


4 – Installing the HTC Shift Control Center:

Navigate to the Windows Explorer tile on the Metro screen and click it, this will take you to a traditional Windows Explorer screen, select the removable disk you installed Windows 8 from and navigate into the ‘Drivers\shagctrl_1[1].2.6.122-control center’ folder you created earlier.

Right click on ‘Setup.exe’ and select ‘Properties’, from there select the ‘Compatibility’ tab and setup the program to in in compatibility mode for ‘Windows Vista (Service Pack 2)’.

Now you can ok the properties window and actually run ‘Setup.exe’. Select all the prompts and let it run through the setup.

Warning: At the end of the setup you will get a message asking you to enable the ‘Microsoft .NET Framework 3.5.1’ feature.

You should cancel the request to enable .Net (not the main install) for the moment and let the main install finish. It is not actually needed by the part of the Shift Control Center we wish to use to enable WiFi.

This step is necessary as you will need working Internet access before you can enable the .Net feature and you don’t have working Internet just yet Winking smile..

Once setup has completed select yes and let the Shift restart.


5 – Hackish steps to get WiFi driver working and get Internet access Winking smile

Now you have the device rebooted and the Shift Control Center installed (but not fully working due to the lack of .NET 3.5.1) you can use it to toggle the Wireless LAN setting and start the process of getting connected to the internet.

Navigate to the “Shift Control Center” tile on the Metro screen (scroll over to the far right to see the Metro tiles for things you have installed) and click it, this will take you to the Shift Control Panel just as you remember it. Turn on Wireless LAN (toggle it if it thinks it is already on) and let Windows find a nice unknown bit of hardware.

Close the Shift Control Center and navigate to Windows Explorer. Scroll down to ‘Computer’ on the left hard side and right click it then select ‘Manage’.

Now select ‘Device Manager’ and scroll down to ‘Other devices’.

Select ‘Marvell 820.11 SDIO ID: 0B’, right click and select ‘Update driver software’.

Browse your computer and select the Drivers folder you extracted everything to earlier. Hit next and let Windows install the Wireless driver.

Tip: You may need a reboot (I did on one of my test installs) so if you have wireless problems try that (power options are now hidden under ‘Start’, ‘Settings’ and ‘Power’ in the menu that pops up on the right hand side.

Now you can connect to your wireless network by clicking on the wireless icon in the tray area (classic desktop). Control Panel/Wireless in Metro does not seem to work until the system has visited Windows Update, hmmm…

Once you actually have a working network connection (USB Ethernet or Wireless) you can finish off the install and put the digitally signed executable drivers on the Shift.


6 – Install Windows Mobile Device Center:

Navigate back to the Windows Explorer and just run “drvupdate-x86.exe” from wherever you put the drivers and run through the setup process. The install starts automatically and just silently exits at the end.


7 – Install Graphics Drivers:

Next up run “win7_1512754.exe” from wherever you put the graphics drivers and run through the setup process. Select yes to rebooting at the end (do this or things get very messy).

Once the system restarts it will come up in a very high resolution interpolated mode (1152*864 to be precise) that is not very easy on the eyes in the classic desktop Winking smile.

 

 

Warning: Some Metro apps (a lot actually) require a minimum resolution of 1024*768 to run so the 1024*600 normal high resolution interpolated mode is not enough to run everything in Metro.

Setting the screen manually to 1152*864, or not changing it after you install the graphics driver, fixes this. I’ll try and knock up an app to toggle the screen resolution 3 ways Smilerather than the current 2. That way people can stuff use the desktop at 1024*600 and Metro at 1152*864.


8 – Enable .NET 3.5.1:

There are a few last missing things from having a basically feature complete setup. The handy little app that switches between the normal (800*480) and regular high res interpolated (1024*600) mode is actually the component of the Shift Control Center that is written in .NET.

The easiest way to force the install of .NET now you have a working network connection is to press the resolution switch button (above the touchpad) and have Windows try and run the app then switch to the classic desktop, it will then detect the app needs .NET and guide you down the process.

Once that is done your shortcut buttons for the resolution change and Shift Control Center should now work as expected and you can toggle 800*480 and 1024*600 on the fly.


9 – Check Windows Update:

Almost done, we just want to check Windows Update from the Shift and make sure we have picked up all the driver updates and other stuff that may be needed.

Just navigate to ‘Control Panel’ in Metro and scroll down to ‘More Options’ and then select ‘System and Security’, ‘Windows Update’. Then click ‘Check for Updates’.

While your here you may also want to enable the ‘Get updates for other Microsoft products’, your choice really.

10 – Link your user with your Windows Live ID:

This step is solely optional but as a lot of the Metro apps in the Developer Preview are tied up with Live ID integration it may not a bad idea to do this.

Navigate into the ‘Control Panel’ tile and tap ‘Users’, from here you can link your user to your Windows Live ID so integration with cloud cruft like SkyDrive becomes seamless.


All done….

With that you are just about done, that is the old HTC Shift running Windows 8.

The setup could have been a little easier but in fairness this is a very specialised device that is well under MS’s recommended hardware specifications (both in graphics resolution and CPU) for Windows 8.

The fact it runs at all, not to mention that it is actually pretty damm usable with Windows 8, even bells and whistles like the fingerprint scanner and webcam work fine, is somewhat impressive. Regardless of what you may think about Windows 8 itself or the direction it is going (that’s a debate for another day) it scores fairly high on the geek factor.

I would be really interested to hear of any other interesting hardware (outside the normal laptops and desktops) that is running Windows 8 or other people’s experiences trying this working on the Shift.

Regards,

John

37 thoughts on “Installing Windows 8 Preview on the HTC Shift

  1. Indie

    Hi!! Many thanks for this but I’ve got some problems on STEPS 8 and 9

    When I press the button to change resolution and then I go to classic desktop, I got the windows to install .Net 3.5.1. I follow all the steps and it finally says it needs to go to Windows Update, I say yes and it says that there must be an internet connection problem…. but there isn’t as I have full internet connection by WiFi…

    Any help???

    Thaaaaaanks!

  2. TARRAT

    I am trying to install Windows 8 on my Fujitsu U810 which has very similar specs to the Shift. How did you get past the “checking your PC” step. On my fujitsu it knocks me out because my processor is not 1 GHZ or greater. Doesn’t the shift have the same 800 MHz processor?

  3. thepilotfish

    Great work – thanks for sharing this! It’s a real shame that the SD Card isn’t supported – does anyone have any ideas on this? Would be good to get it working…

    Any ideas on the timescale to an official release of Windows 8?

  4. Dr. Sagacity

    What kind of battery life do you get with this device running Windows 8? I don’t have one, but I like what you are doing. . .

  5. Storm

    Hi,

    Just installed w8 on my shift, i did the manual step by step and to the letter but after the installation of the touchscreen driver it needed an reboot, once in windows it stil didn’t work.

    I rebooted again, since it seemed it installed some new hardware. And it still didn’t work.

    So what went wrong?

  6. DJWillis Post author

    Nooor,

    Thanks for the info on the SD card, I have a few ideas. I can’t be sure but it looks like this build does not like the combination of SD and SDIO on the same bus.

    pstjmack,

    The OSK/HWR works fine on the Shift out of the box. I can’t say anyone has had a problem. That said, it is controlled by a hardware toggle on the Shift. For example, if you have the physical slideout keyboard open you get no OSK, if you have it shut the OSK will show up when you enter a text box.

    Verssetti,

    The Shift is an Intel x86 based UMPC, the N900 is a Ti OMAP3 ARM SoC. Without going into much detail let’s just make it very clear that it is a NO on all counts ;).

    hwjoplin,

    Nothing Windows 8 does has any effect on the BIOS installed on the Shift (I assume you getting confused with the UEFI stuff that will optionally feature on new systems). The BIOS does not seem the be the cause of the issue but I’ll have a little mess about and see what I can find out.

    Regards,

    John

  7. pstjmack

    Do you have any problem getting the onscreen keyboard/HWR input panel to show up on the HTC Shift in Windows 8? I installed Windows 8 on a Viliv S5, and can’t get this to show up, even though Windows Services shows it is running. The Viliv touchscreen driver works fine in Win8 with third party HWR software like RitePen, but I’d rather use the OS HWR capability.

  8. JM

    I didn’t even think of trying this, but noticed a post on one of my IT RSS feeds about running it on the shift. So I pulled out my shift, dusted it off and a few hours later, had windows 8 installed!

    Very clear and easy to understand instructions. Thanks!

  9. nooor

    hi guys i can inform you that there is sd problem with windows 8 it not work at all no mounting and it freeze the system
    any one has any idea about multi-touch option for htc?

  10. thatguypeter

    John and DonCarlos,

    I got window 8 up an running! Thanks very much for the support. I got a weird issue with the SD card. I took out the SD card for the installation and it went fine, everything is working. However, when I put the SD card back into the slot the system freeze on me, also when the SD card is in the slot on boot up I get the same result as when I try to install the OS with the “blue squares of death”.

    Can you guys check if this is happen with your machine or not too?

    Thanks,

    Peter

  11. Peter

    I will give a shot after work. Hopefully this will install and fix the “blue squares of death” for me too!!

    Thanks guys,

    Peter

  12. DJWillis Post author

    Hi Peter and DonCarlos,

    I did a little experimentation last night with trying the install while having an SD card inserted.

    Your quite right, 3 times out of 5 (with different SD cards) the install failed to start stalling at the blue squares. I assume this is related to the install trying to enumerate devices and getting upset with the SD slot but I can’t be sure.

    Anyway, upon removing the SD card and restarting the install came up just fine every time I tried.

    I have added a note to the guide to suggest people remove any SD cards before they start.

    John

  13. DonCarlos

    Hi Peter!

    I had the exact problem as you, until… I removed my sdcard from the card reader. For the cd/dvd driver, I’m sure it complains because the existing win7 install. I tried a lot of usb drives, downloaded 3 times, the SHA-1 hash is matching so I think the problem is the existing partition table.

  14. Peter

    Hi John,

    I try the MS USB Boot Tool and using the command prompt method with Disk-Part and I get the same result. I even try to copy the files over after formatting it with Disk-Part. Nothing seem to work…

    Any help you can provide would be much appreciated. I will check on the ISO Sha 1 thingy when I get home today.

    I installed Window 7 from an external hard drive and it work. Is there a way to make one partition from an external HD as my boot image for window 8. I don’t want to format the whole drive since I have stuff on it now.

    Thanks,

    Peter

  15. Peter

    Hi John,

    I went out and bought another USB stick, I got the same result. How do I get into the Window Recovery command prompt? I don’t have a recovery disk.

    “If when you run setup it does not find a hard disk on the Shift the chances are you may have an odd partition layout (I noticed this after I had Meego installed to the HDD with BtrFS). If that is the case you will need to use DISKPART from the Windows recovery command prompt to wipe the disk and add back a traditional disk layout. If you need help with that leave a comment.”

    Can you show me how this is done?

    Thank,

    Peter

    1. DJWillis Post author

      Hi Peter,

      The recovery command prompt is built into the Windows 8 setup process so if your having trouble getting the USB stick to boot into setup your not getting far enough into the process to run the recovery console. I also think your confusing your bootable USB stick and the Shifts HDD. At this stage in the process you have not got setup running from the USB stick and you have no reason to suspect any problem with your HDD.

      Take it one step at a time, get the USB stick booting into Windows 8 Setup and work from that point.

      Have you tried another tool to create the USB stick?

      Also, have you verified your ISO download is good (if it is not this is the sort of issue you may well get)?

      The Sha 1 hash for the ISO is 4E0698BBABE01ED27582C9FC16AD21C4422913CC and you can verify your ISO Sha1 hash is correct using the MS command line tool (http://support.microsoft.com/kb/841290) or many other apps (just Google “verify sha1 windows”).

      Regards,

      John

  16. Thatguypeter

    I can’t install Window 8 on the Shift either. I used MS boot USB Tool. It create the image on my USB drive, but each time I try to installed on the system. It get stuck at the blue squares of line on the top left corner…the system just hang…

    What am I doing wrong?

    Is there a way to format the hidden partition on the Shift and get a clean partition?

    Really want to try Window 8 on the Shift..

    Peter

    1. DJWillis Post author

      Hi Peter,

      If your not actually getting into the Windows 8 setup (it comes up a few minutes after the blue squares) and you have already rebuilt the USB stick the chances are you just have a USB stick that the Shift does not like.
      My only suggestion would be to try another one and see if that makes a difference. A few people have mentioned similar issues that went away after rebuilding the stick or just using a different one.

      As for removing the hidden partition on the shift, the Guide tells you how to do just that. You can delete all on the volumes on the HDD from within the ‘Drive options (advanced)’ options once you start the setup process.

      Regards,

      John

    1. DJWillis Post author

      Hi Werionae,

      My guess would be that you have an incomplete USB stick missing some of the data. Did you create it using the Microsoft tool or DISKPART?

      I am assuming that you had no problem selecting the Shift’s HDD in the setup windows when you reached that part?

      Try recreating the USB stick and when you have it built and Windows 8’s install files added make sure you eject the drive cleanly from the Computer (Start/Computer, Right Click the Drive and select ‘Eject’).

      John

  17. angelos

    My mistake! i was in a hurry and did not read all the info. sorry for that! everything working just perfect! THANK YOU!

  18. angelos

    Hi, i just installed windows 8 on my htc shift…
    The problem is i dont have the usb ethernet controller so i am stuck without wireless/ethernet and cant enable net framework 3.5.1 . Is there a separate link to download it and install it manually?

    Btw, great work, shift looks and behaves very smooth with windows 8!
    Thank you for your effort, nice work!

  19. nooor

    dear friend so much thanks this is my first post from my shift with touch screen keybored
    ok …keeping in touch

  20. noor

    with touch screen i think there is something with calibration
    what about you
    and there are lot of application not work with metro screen
    and where my programs of mine in windows and how to get it in metro screen?

    1. DJWillis Post author

      Hi Noor,

      In order to use most Metro apps you must run the Shift at a resolution of 1152*864 (the highest interpolated mode the driver supports).
      Read the ‘Tip’ section in the bit of the guide about the Graphics Driver for the reasons why this is needed (Most Metro apps need 786 pixels of hight minimum).

      Touchscreen calibration is something I am looking at, the existing calibration tools do not seem to work with the touchscreen stack in Windows 8 and the documentation is somewhat lacking on the subject.

      As for getting shortcuts to show up as Metro tiles, I would have a quick Google round the various Windows 8 sites, it is not something unique to the Shift and a few people have various methods.
      I just searched for apps I installed in the Apps menu (Start/Search/Apps) and pinned items from that to the Metro UI. Find the app your looking for ‘flick’ it, select ‘Pin’ from the bottom menu and your done. You can edit existing tiles in the UI by shaking them in a similar fashion.

      Regards,

      John

  21. noor

    congratulate me Man i did it
    its amazing system i tried ubuntu and meego and others gui which give me both full os and touch handle in same time
    windows 8 seem do it
    thanks for guide as it save my time by avoiding trial error
    thanks and keep in touch

  22. eole73

    Hello,
    Thank you for your help
    Installation went smoooth but I can’t install any driver, I keep getting a message about windows smartscreen !

    1. DJWillis Post author

      Hi,

      The reason you get the green SmartScreen error messages is the lack of an Internet connection. Windows 8 includes a feature that used to only be part of IE that calls off to an MS web service to verify digital signatures are valid on newer type signed executables.
      As both the Intel graphics driver and Windows Mobile Device Center are signed you can’t install without an internet connection or crippling SmartScreen.

      Have another read as the order in which I installed the drivers was very deliberate and also intentionally ordered the way it was to work around the SmartScreen issues.

      The guide does not even try to install the signed executables until you have got the Wireless LAN up and running so the signatures can be verified, I even mention SmartScreen as one of the reasons for the order of drivers in the guide ;).

      Regards,

      John

  23. noor

    Amazing post
    thanks so so much
    i spent now 2 days trying to do this but it seem i have problem in windows 8 copy i re download it again
    i will keep in touch while i am doing that
    and if any problem i will contact you
    thanks again man

    1. DJWillis Post author

      Your welcome,

      Make sure you download the 32bit version.
      Already had an email from someone who could not get the 64bit Preview with all the Developer Toys working (as the Shift is a 32bit CPU that is not all that surprising).

      The exact version I used is…

      “Windows Developer Preview English, 32-bit (x86) – 2.8 GB – Sha 1 hash – 4E0698BBABE01ED27582C9FC16AD21C4422913CC”

      John

cheap oakley sunglasses mulberry outlet Ugg Coupon Code cheap uggs mulberry outlet