Archive for the ‘PC Hardware/Consumer Electronics’ Category

Notes on programming Creative Sound Blaster series ISA cards

Monday, July 6th, 2009

In the world of PC hardware, Sound Blaster cards were the market leader in terms of install base. There are three different types of Sound Blaster cards which interest us. The types are derived from the BLASTER environment variable from DOS. We discuss the non-Vibra and non-PCI types only, because compatibility with software written for the standard “classic” Sound Blaster series was really suffering with PCI and Vibra.
(more…)

Why doesn’t Slackware run on my old 386?

Monday, July 6th, 2009

It might seem like a laughable question. After all, who uses a 386 anymore? Well, one reason might be for integrating legacy industrial hardware with newer technology. Or utilizing legacy PC hardware for which a modern equivalent does not exist.

In any case, it is common knowledge that the Slackware kernels up to and including version 8.1 were compiled as 386 kernels. But in Slackware 9.0 and later, the kernels are compiled as 486 kernels, with the exception of the lowmem.i kernel.

(more…)

How to change encryption type on your encrypted LVM

Sunday, June 28th, 2009

If you are like a lot of users who were “early adopters” of Linux disk encryption, you probably installed with the aes-cbc-essiv encryption scheme, which is decent, but not as secure as the new aes-xts-plain encryption method.

There is a helpful post on the Ubuntu bugtracker explaining how to install Ubuntu with i.e. XTS support. Unfortunately, this does not help a user who wishes i.e. to change encryption methods while upgrading his hard disk.
(more…)

Why does my Antec case not support high speed front USB operation?

Saturday, May 2nd, 2009

On a 2004 vintage Antec SX series case, I was surprised to find out that while the rear ports on the motherboard supported high speed USB 2.0 operation, the front ports limited the USB device (iPod) to USB 1.1 speed (“full speed”). I checked and rechecked the wiring.

I came across the following posts which described a similar problem, USB 2.0 devices are unable to connect to the front ports or simply don’t work. This is due to a no-connect pin being connected to the front USB panel. The solution is to remove the header pin or cut the wire going to that pin.

Then I found the solution to my precise problem: USB 2.0 devices only work in slow speed on the Antec cases. The solution is to remove and bypass the filter circuit on the small board containing the front USB and firewire ports! It looks like Antec may even offer a free upgrade of the front USB board to one that operates correctly with USB 2.0 devices, so it doesn’t hurt to ask at Antec’s tech support site.

What if my SATA controller doesn’t see my new 1TB SATA hard disk?

Wednesday, April 29th, 2009

First-generation SATA controllers have several problems getting along with newer SATA drives, among them: inability to negotiate transfer rate of the drive down from 3.0Gb/s to 1.5Gb/s, and failure to account for the large capacity of the drive (>527GB).  There is more information on this issue in this excellent post.

Unfortunately, it is difficult to tell which issue is being experienced when the BIOS merely locks up, or the controller locks up during drive inquiry and is invisible to the system thereafter. Assuming first that the problem persists under a newer version of the Linux kernel with the libata drivers mostly sorted out, there are several other potential compatibility fixes that do not involve buying and installing a newer SATA controller card that you are sure will work:

(more…)

Compaq Proliant DL380 Generation 1

Wednesday, February 4th, 2009

I was given a Compaq Proliant DL380 (Generation 1 or G1) as part of an exchange for doing some filesystem recovery for a customer. It came with 2x800MHz/256K SECC2 Pentium III CPUs; 512MB PC133 CL3 SDRAM DIMMs; five Compaq 18.2GB Ultra2 SCSI hard disks (two failed); a Compaq “Integrated Smart Array” onboard RAID controller; a floppy drive, slimline CD-ROM, and single 275W hotswap Compaq power supply. Here are HP’s specs for the system. Here is where you can find manuals and documentation for the system. Now, this isn’t a bad machine as-is, but let’s turn it into a beast with some smart buys on the used market.

(more…)

VIA KT600 chipset and PCI Wireless card experiences

Tuesday, May 20th, 2008

Seems VIA’s Athlon chipsets, specifically the KT600 in this board, don’t much care for some common PCI wireless chipsets. All of these are actual PCI devices, not on a Cardbus adapter card.

A Broadcom BCM4318 “AirForce” failed even basic PCI configuration; it was detected instead as a Gammagraphx device (0000:0040). Same card works perfectly in a system with nForce3 chipset.

A card with an Atheros chipset worked under light use, but caused random kernel panics under even light NFS traffic while acting as a file server. Under Windows, sporadic hangs were the result. Didn’t check if this one worked in the nForce3 board yet.

Finally after almost giving up, a card based on a Realtek RTL8185 worked correctly and reliably.

Why does Linux only see 1GB of my 2GB SD Card?

Friday, August 31st, 2007

This mailing list post explains why.

A 2GB SD card reports a 1024 byte block size instead of the 512 byte block size that all smaller SD cards employ. However, I/O is performed in 512 byte blocks by the USB mass storage driver. The card reader is supposed to know about this and report a 512 byte block size, while multiplying the number of blocks reported by the card by 2, in order to report the correct card geometry to the operating system.

Older card readers do not know about this conversion, and may even assume that all SD cards have a 512 byte block size. Thus, a 512 byte block size is reported, along with the number of blocks reported by the card. This cuts the reported capacity of the card in half.

But the filesystem that exists on the card reports a 2GB size. On a system where the card physically only shows up as 1GB, this causes the FAT filesystem driver to read past the end of the card. This will produce read/write errors, and could even crash the filesystem driver if it is not equipped to deal with this case.

Windows reportedly employs one of two solutions to ensure that 2GB cards are correctly recognized.

The first solution is to assume that the card has a PC partition table on it (a mostly correct assumption for any card purchased retail). The Windows USB mass storage driver then examines the partition table to determine the number of blocks on the physical device, and ignores the number of blocks reported by the reader. A possible flaw with this scheme is that the Windows driver may not account for cases where a partition table has been erroneously or maliciously constructed, leading to an incorrect physical size being entered, and thus a device which cannot be correctly repartitioned or reformatted. It may also not account for the device being divided into several partitions. And of course this scheme won’t work for a card which is formatted without a partition table.

The other solution is to ignore the number of blocks reported by the reader, and to probe the size of the card by issuing test reads, probably in large increments at first and then smaller increments, until a read failure occurs. The read failure is assumed to occur because the read occurred past the end of the device. A possible flaw in this scheme is that a card with one or more defective sectors could cause the storage driver to believe it has found the end of the device, when in fact the read error occurs because of a bad sector.

At the moment, the solution for Linux and other operating systems which do not implement such hacks and which trust the card reader to report a useful block count and block size of the inserted card, is to buy a new card reader.

Kitchen-Aid mixer quality

Thursday, April 12th, 2007

Kitchen-Aid mixers have a legendary status among kitchen appliances for their power and longevity. But in recent years, its seems more and more Kitchen-Aid mixers aren’t even lasting a year after purchase. Common complaints include stripped gears and motor failures.

What has happened to Kitchen-Aid?

Well, for one, Kitchen-Aid mixers were prior to 1986 made by Hobart, a manufacturer of professional food service equipment. In 1986, the Kitchen-Aid brand was sold to Whirlpool, a consumer appliance manufacturer.

This Usenet thread is very informative regarding the differences between Hobart-made Kitchen-Aid mixers and Whirlpool-made Kitchen-Aid mixers. The usual suspects are involved: plastic drive gears and an underpowered motor.

One thing you might notice, once you pick up a Hobart Kitchen-Aid on eBay is that a Hobart-made Kitchen-Aid is much heavier than it looks. That says something about the quality of the Hobart internals, but the simple reduction in weight of the Whirlpool models says volumes about the engineering tradeoffs that are commonly made in the name of marketing.

You can tell a Hobart model apart from a Whirlpool model, because the Hobart models all say Hobart somewhere on the housing or name plate.

Hint: To find a good eBay deal on a Hobart mixer, search for “kitchen-aid hobart”, but also click the box that says “Search title and description”. Most people will search for Hobart in the default title-only search and overlook the listings where Hobart is mentioned only in the description.

Also, if you didn’t get the instruction manual, one key warning is to be observed: don’t operate the mixer at a level above 2 if you are kneading bread dough.

Corrupted NTFS filesystem recovery

Monday, March 19th, 2007

The quick guide to recovering a corrupt Windows NTFS filesystem from a dead or dying hard drive:
1) If the drive does not power up or respond at all to host I/O, replace the drive controller board with a compatible one (i.e. from an identical drive purchased on Ebay), unless it is a drive known to not work with a controller board swap. Don’t bother doing this if the drive responds but clicks when accessing certain files. If a controller swap doesn’t get the drive to at least respond to ID, the drive has serious problems and will require professional service (or a do-it-yourself head stack/preamp replacement, and possible reserved region rewrite…not for the faint of heart).
2) Put the hard drive in a Linux system with excess hard disk capacity.
3) Attempt to mount the partition. Recover any utterly irreplaceable files immediately, in order of necessity. You may not be able to get anything, and it may take several reboots if you “poke” the drive in the wrong place, but if you do get something, at least you know you have _that_.
4) Use dd_rescue, and dd_rhelp if necessary, to make a “clone” image of the drive. The clone image can be a file or it can be another blank hard disk. This may take several weeks and the drive may die while it is being cloned. Not much you can do if that happens but send it in to the recovery house like you would have had to do anyway.
5) Attempt to loop-mount the NTFS filesystem (mount -o loop /tmp/image.img /mnt). If it succeeds, try to copy the data you need out of /mnt that way. Very likely that the filesystem will not mount. Even more likely that it will mount, but then attempting to read certain files crashes the kernel.
6) If you couldn’t get the files you need, copy the image to a sufficiently sized blank hard disk if you hadn’t already (dd if=/tmp/image.img of=/dev/hdd bs=10M), and then attach the cloned drive to a Windows XP machine. Do NOT allow Windows to “Chkdsk” the drive when it boots.
7) If Windows blue screens when it looks at the drive while booting up, wipe out the partition table in Linux (dd if=/dev/zero of=/dev/hdd bs=512 count=1). This will cause Windows to effectively ignore the drive.
8) Use EasyRecovery from Ontrack in “Advanced” mode to scan the disk for directory structure, and recover as necessary. The result can be copied to another disk or uploaded to a FTP server.

Hints for EasyRecovery:

  • Don’t bother with the Undelete tool because it does not deal with massive filesystem corruption.
  • The Format recovery tool will only work on an existing NTFS volume, which it won’t see because yours is corrupted.
  • The Raw scan should only be used a last resort because it omits all file and directory names, resulting in a disorganized mess. However, it may find files that the Advanced scan does not, because they have been severed from the directory structure by corruption. If you know the contents of the file you are looking for, you can do a Raw recovery, and then “grep” through the files for a pattern that you know is in the interesting file.

If EasyRecovery cannot find your file, use a hex editor to search through the raw disk image for a piece of the file contents. You may get lucky and find it in the hex dump, and use the hex editor to save it to a file, or copy and paste from the hex editor to another program. If you don’t, well, time to decide if that file is worth $500+ for an attempted professional recovery…