Fixing my iPod Classic

How to fix your iPod, and how to reset your iPod as a USB Disk

 

My iPod Classic stopped working properly a couple of weeks ago.

My trusty iPod Classic

My trusty iPod Classic

 

 

 

 

 

 

 

 

 

It wouldn’t sync with iTunes.

I’d plug it in to my laptop and the iPod display would read ‘connected’.

But after about 15 seconds, iTunes would freeze.

If I unplugged the iPod, iTunes would immediately become responsive.

But plug the iPod back in, and once again iTunes would lock up.

If I opened Windows¬†Explorer I couldn’t see the iPod as a device, even if it was plugged in.

The unhelpful information on Apple’s help webpages suggested that I reset the iPod back to factory settings.

But in order to do that, you need to plug the iPod in and then access iTunes.

Except that never worked; iTunes became unresponsive every single time I tried.

I managed, on one occasion, to plug the iPod in and update the Apple USB driver, but that didn’t get me anywhere.

After playing with this problem, and a lot of googling, I came across a random piece of badly meta-tagged information that showed me how to reset my iPod in to USB Disk mode.

I figured why not, I had nothing to lose.

So I performed a hard reset of the iPod, then went straight in to switching it in to USB Disk mode.

Stone me, that worked.

With the iPod thinking it was now a USB Disk, I plugged it in to the laptop, then right clicked on it, and selected Format Disk.

That didn’t work

Then I right clicked on the iPod and selected Scan and Fix Problems.

The laptop thought about this for a while, showing a very slowly-moving progress bar.

After a while the progress bar sped up and then lo and behold, my iPod appeared in Windows Explorer.

And iTunes.

My iPod was in iTunes!

I did a full factory reset in iTunes (just in case), and then the iPod came back as a clean/vanilla device.

I syncd my iTunes library (7,173 tracks and 400 podcasts), and within a couple of hours, I had my iPod Classic back in full working order.

Now for the $60,000 question.

How do you reset your iPod in to USB Disk mode?

We all know how to restart our iPods, yes?

You just hold down the middle button and the menu button like this:

How to reset an iPod to USB Disk 1

How to reset an iPod to USB Disk 1

 

 

 

 

 

 

 

 

 

But, if you want to restart your iPod as a USB Disk, as soon as you’ve done this, and the screen has gone black, you need to hold down the middle button and the next track button, like this:

How to reset an iPod to USB Disk 2

How to reset an iPod to USB Disk 2

 

 

 

 

 

 

 

 

 

After a few moments your iPod display will look like this:

How to reset an iPod to USB Disk 3

How to reset an iPod to USB Disk 3

 

 

 

 

 

 

 

 

Then you just plug your iPod in to your USB port and do the kind of disk housekeeping that I have described above.

And that’s it.

WordPress hacked on GoDaddy

During the very many changes to my tech and personal life over the last three years, I have had to let one website/domain languish, ignored but not forgotten, over in my hosting account at GoDaddy.

I still host three websites in that account:

  1. My music/podcast website I have hosted for me since 2008(content and RSS & iTunes feeds in a customised WordPress development)
  2. A third-party cookery/recipe website that I have hosted for almost four years (content and RSS feeds in a customised WordPress development)
  3. A third-party blog/website that I have hosted for a friend for just over three years (content and RSS feeds in a customised WordPress development)

While I have plenty of free time on my hands, I thought it would be a good idea to migrate the music/podcast website content and iTunes feeds away from GoDaddy and in to my datacentre.

But when I viewed the domain and contents I noticed garbage text at the very foot of the front page, advertising drugs.

Damn it, I’ve been hacked!

And also, damn it, I’ve been hacked and haven’t noticed!

Curse me for taking my eye off the ball.

Curse me for being so busy.

Anyway, I am unpicking the hack and, as soon as I have finished this, I shall migrate this domain to my datacentre.

But I have spent some time wondering about the hack.

How come just one domain was successfully attacked, when there are other domains in the same hosting account?

So I googled the hackers content, that had caught my eye when I first spotted it.

And it showed up, word for word, in three other WordPress websites.

All of them hosted at GoDaddy (none of them were mine).

What are the chances?

Remote monitoring

A thing has been exercising my nocturnal wakefulnesses.

I have strong monitoring systems on the datacentre servers.

I get all the usual goodnesses:

  • Uptime
  • CPU Load/Utilisation
  • Real Memory Utilisation
  • Virtual Memory Utilisation
  • Local Disk Space Used/Free
  • Disk IO Reads/Writes
  • CPU IO Reads/Writes
  • Swap Space Free/Used

But despite these things, I’m looking for another tool for my monitoring armoury.

What I want is an email (or SMS) sent to me if certain conditions are encountered by an external monitoring server (a monitoring server outside of my WAN).

There are a number of paid monitoring services who will do this, but I don’t want to rely on anyone else (also, I don’t want to pay anyone for this, when I have it within my own infrastructure capacity).

I just need to figure out the best way to make it happen.

The end is in sight

The ‘to do’ list is lacking significant items.

There is no remaining tech debt.

In fact, undocumented here, a significant amount of quality has been added to the datacentre project.

I now have real time replication between hosts.

Every VM update, every physical host change, is now replicated to a redundancy environment.

I can spin up a new VM in about 25 seconds (this includes a full LAMP stack, and webmail, mobile device mail, and FTP access).

For extra redundancy, in addition to RAID and real time replication, every physical host is also backed up to another host.

This currently sits in a separate location, but within the same building.

I plan to relocate this feature to another location as soon as I can find one.

So all in all, this project has come a very long way.

And oh what a lot has been learned!

Cursing recursive permissions recursively

During a phase of system testing on server c1, in the new datacentre, an interesting problem was discovered.

Using WordPress as the template (so the results could be applied to Drupal installations – and any other of those .php-related content management systems), we discovered that permissions on high-level directories were not being replicated down to low-level directories.

This meant a loss of function (where that function relied on scripts that are installed in those low-level directories by the vanilla application).

In WordPress and Drupal, for example, uploading media of any type wouldn’t work.

This is a significant barrier for a content management system.

The first workaround seemed to solve the problem, except that the uploaded files were owned by Apache (the webserver in the LAMP stack).

Unfortunately this took us to another permissions-based problem which stopped the owner (system user) modifying those files – even through ftp.

If you think about it for a minute, it’s an interesting problem – where a vanilla software installation granted the higher-level directories one set of permissions, while the lower-level directories were granted different (and functionality-limiting) permissions.

Anyway.

The first attempt to fix the problem was to deploy suEXEC on the server (VM). Unfortunately suEXEC didn’t get us all the way out of the problem, so we needed to look for another solution.

The second attempt to make the problem go away was to use fastCGI.

Yesterday afternoon Manuel, our brilliant technical resource, deployed fastCGI on the VM we have been using as a test.

I used the standard WordPress admin control panel to upload an image in to a test post and successfully published that.

Then created another test post, uploaded the image in to that and successfully published it.

Then I went back to both published posts and using the standard WordPress screen, I modified the second image and republished the post.

All of these tests worked.

Manuel’s next job is to add the deployment of fastCGI in to the VM creation template.

This will enable the datacentre to deploy a fully-functional LAMP-stack VM for a customer within a matter of seconds.

Well done Manuel!

reviewing datacentre servers and racks

Rack1:

  • UPS #1
  • primary router
  • primary network switch
  • power distribution unit

Rack 2:

  • server c1
  • server c2
  • server c3

In its physical state server c1 is a RAID6 platform that runs CentOS6.6, DenyHosts and the kvm hypervisor, and iLO2.

In its virtual state server c1 hosts the full LAMP stack, hosts an SFTP server, hosts email servers, and runs some security functions.

Server c2 is an extended storage platform to complement/support server c1.

Server c3 is a real-time replica of the physical and virtual entities that are server c1.

I plan on moving server c3 out of the Nottingham datacentre and in to a secondary location. This would give me failover resilience, in the event of something cataclysmic happening to the datacentre.

Rack 3:
When it arrives, I plan on populating rack 3 with a secondary router, a secondary network switch, a secondary power distribution unit and UPS #2. And maybe some Blades.

spitting venom

I did a controlled shutdown and restart of server c1 in the datacentre today.

This shutdown and restart of the physical server meant that the primary LAMP server – and all of the hosted VMs – were also shutdown and restarted in a controlled state.

The reason for this event was to embed the Venom fix that has been released (that my servers downloaded during the week), to close the latest Unix/Linux vulnerability.

Nothing else to report.

I love how reliable and robust the infrastructure is proving to be.

datacentre

This is what DC1 looked like the first time I saw it:

Datacentre 1 first look

 

 

 

 

 

 

 

 

 

 

 

Datacentre 1 first look 2

 

 

 

 

 

 

 

 

 

 

 

 

A few weeks later, this is rack 1, server c1, after having upped the RAM, installed all the disks, configured the disks to RAID6, installed the CentOS operating system, and I’m part-way through installing the KVM hypervisor. You can see the top of server c2 below:

Rack 1 Server c1

 

 

 

 

 

 

 

 

 

 

 

 

 

And this is a screenshot of me starting to configure eth0:

eth0

 

 

 

 

 

 

 

 

And here’s a screenshot of me configuring iptables:

iptables

 

 

 

 

 

 

 

 

For reasons of security, I’m not posting any other photos.

 

icing the climactic win

Today I learned an inelegant but very effective way to access iLO2 remotely.

From the safety and comfort of my own bed I was able to log in to the iLO2 function, access the full remote physical- and virtual-console for the server, and carry out the usual range of console-related management/admin functions.

Brilliant.