Saturday, April 30, 2016

Drives over 2TB on Windows XP?

Before I bought my 8 TB Seagate external backup drive, I did a lot of research to see if it would work under Windows XP. Most sources claim that under no circumstances can XP read a drive over 2.2 TB. The then-price of $250 was a lot to gamble if it didn't work, so I had to know for sure. Fortunately, one source (probably Seagate or their Amazon listing) listed XP among compatible operating systems, so I bought it and it worked perfectly.

Most drives in the past (~1980s through early 2010s) had 512-byte sectors. Recently they've moved up to 4096-byte sectors. How does this help? Because each sector needs error correction codes, and it's more efficient to store 8 sectors' worth of information and error-code it once than to do it 8 times separately. This translates to higher drive capacity. The only catch is that ordinary BIOS-based computers can't boot from them (but they can be read as data drives by a running OS).

Most people argue that Windows XP can't read drives over 2.2 TB because the MBR partition table can only address 2^32 sectors, and since sectors are 512 bytes this means a 2TiB limit. One answer is to use GPT, but XP can't read that, so they conclude that GPT is the only option and hence XP is barred from using big drives. Microsoft's official stance is that XP can't read big drives, although I think this is to encourage sales of their newer operating systems.

The 2^32 part is right, but what these people fail to see is that MBR is addressing sectors, which is an arbitrary measure. Since drives now are 4K, each individual sector holds more, so bigger drives can be used by old operating systems.

This is all well and good if you buy a drive, because it would be pre-formatted. But what if you want to format the drive yourself? You shouldn't do it in an older operating system (probably includes Windows Vista) because, although it will format and be valid, the OS doesn't know to align the partition based on the sector size. Aligning it to an arbitrary offset was fine for 512-byte sectors, but it would slightly reduce performance on a 4K drive. Your partition should be offset by a multiple of 4096. If you want to verify that it is, then (under Windows XP), Click Start, Run, type msinfo32 and press Enter. In the System Information window that pops up, go to Components->Storage->Disks. Find your 4K drive and look for Partition Starting Offset.

One more concern voiced on a forum was that XP would only read the first 2TiB and experience errors on anything higher. I have disproved that by filling my 8 TB drive with about 3 TB of data and doing a search in Windows XP. There were no errors, so I am confident that XP had no issues. Besides, I went through some of the directory structure myself and looked at a few photos from a huge family album that has to have crossed the 2TB mark.

I think I've said enough. Here's a screenshot of the drive in Windows XP.

In a nutshell:

Myth #1: You can't use >2TB drives on Windows XP because they require GPT
Truth: While it's true XP doesn't support GPT, large drives don't need it*, so you're fine.
*Of course, if your >2TB drive has 512-byte sectors then you are out of luck.

Myth #2: XP only supports 512-byte sectors; Microsoft's official stance
Truth: Yeah, right. See first screenshot, in the Bytes/Sector field.

Myth #3: XP will only read and write the first 2 TB and then fail
Truth: No, my full-drive search under XP proves this is false.

I hope this helps the many uninformed people (like myself, previously) who waver over a drive purchase. I have backed up my points with real tests and pictures, not the unconfirmed advice you find on forums.

It's quite refreshing having recently made the switch back to XP.  Its clean, simple interface is unparalleled and the speed of Windows Explorer is amazing, even in the face of huge amounts of data. It's no secret why Windows XP still has nearly 11% market share. A new computer should be coming in the mail soon, and it has Windows 7 x64. I'll use that for things that need modern Windows.

Thursday, April 7, 2016

LED TV interference

I was trying to receive some Iridium signals and turned on my TV while I worked. The TV is right beside my SDR and L-band patch antenna. It's an RCA LED TV from 2014, and when the screen came on I got interference all over the spectrum window. I noticed that the lines got weaker when there was less motion, suggesting the MPEG-2 decoder was the culprit. Or maybe it was the LCD controller. Whatever it was, when the TV show's intro briefly showed the static logo, the lines went away completely.

Friday, April 1, 2016

Iridium decoding: almost there

Recently I've been working on getting the Iridium Toolkit up and running. The Iridium Toolkit is a set of Python programs written by the CCC (a German hacking club) to decode whatever comes off an Iridium satellite. In one of their videos they describe how the system is proprietary and how they had to start from scratch, using trial and error to guess how it worked. They've finally figured it out pretty well and have published their findings.

I realized pretty quickly that this was one project my $20 rabbit ears couldn't handle, so I proceeded to build an L-band (1-2 GHz) antenna.

I first tried a helix, but it barely worked. I don't understand it, but I seem to have a knack for building bad antennas, even when I follow directions, so I was not surprised.

Then I tried a patch antenna. I'd heard that these work well on the L-band. I was expecting a small 1.5-inch square like those little GPS antennas, and I wondered how that could possibly work, but I was willing to try. On researching it, I found that it actually needs to be about 7 inches square with a ~4-inch square in the middle. This particular antenna was designed by Adam 9A4QAV. This RTL-SDR Blog post shows his antenna and its performance with the SDRplay. Notice how the Inmarsat signals look like blowtorches. What's most important is that you don't need an LNA or downconverter to make this happen with the SDRplay; it already comes with an LNA and full L-band support.

The instructions for this antenna can be found on another RTL-SDR Blog post. Finally, you should see killmore231's Adam's Imgur page which contains in-depth pictures. I was blown away by the waterfall images. Killmore231 describes how he tried the RTL dongle, HackRF, and SDRplay with this antenna and how the SDRplay beat out all of them by a huge margin.

I proceeded to build his antenna out of aluminum. I cut everything precisely, down to the millimeter. The only thing I couldn't do was solder to it, what with it being aluminum. I instead put some varnished wire through it, connected to the patch, and used a alligator clip to clip to the back plate. The first few times I hooked it up, it wouldn't show any satellite signals, making me think this was yet another dud.

Today, however, I realized that using varnished wire might leave conductive areas that could touch the back and short it out, so I ran a cut alligator clip to the patch, the plastic insulation providing guaranteed protection against contacting the back plate. I still needed an alligator clip to clip to the back plate. Then I hooked it up, leaned it near a window, and was able to get some strong Iridium signals.

Before, I had only gotten vague blue and green smudges, but these are sharp and have red areas. Below I have zoomed in on some of them:

There's no doubt this is Iridium. All this trouble makes me wonder how an Iridium phone's built-in antenna can possibly work. I watched a YouTube video of an Iridium phone in action and it got all the bars using just its little antenna.

I decided to mount my antenna on a pole sticking out of a second-floor window that's 25 feet above the ground. It gets great reception when it's outdoors like that.

I'm close to decoding Iridium but there are a few things I still don't understand:
1. Why do I only get the bursts? Why not the constant signals like in Adam's pictures?

2. Why doesn't Inmarsat show up? When I tune the Inmarsat band all I see is a strong signal that looks like GSM (see below)

3. What is keeping Python from running the Iridium Toolkit? I managed to install the dependencies it needed, like SciPy, but when I run it seems to run but gives constant errors. I don't see any output files, either, so I assume it's not decoding anything.