Valid XHTML 1.0! Valid CSS! Made in NANO

Now with 31% more meaningless statistics!

Insert Tab A into Slot B

I've come across many a geeky problem, and taken some chicken-scratch notes on how I solved 'em. So, here are some tutorials (I use the term loosely) and quick fixes covering various topics.

Er..this section is new. Bare with me!

Chicken Scratch

Here's some bits and pieces I like to refer to on various topics. Some I wrote, others were borrowed from sources around the net. Note that the use of % in BSD or Linux code segments is meant to resemble the command prompt - do not type it.

How to Dual Boot BSD with Windows, using the NT boot loader:

In BSD (Linux is similar, replace rwd0a with something like hda1), type:

  % dd if=/dev/rwd0a of=bsd.pbr bs=512 count=1

Copy the .pbr file to your windows partition. In windows, add this to c:\boot.ini:

  c:\bsd.pbr="OpenBSD"

OpenBSD Package System

Ports are great, but packages are faster! Set a mirror for your PKG_PATH, and use pkg_add with -v for verbose output. You need to be root.

  % PKG_PATH=ftp://mirrors.rcn.net/pub/OpenBSD/3.5/packages/i386/
  % export PKG_PATH
  % pkg_add -v perl

Even better, set PKG_PATH for all users by putting those top two lines in /etc/profile. This works only with Bourne Shell derivatives, such as ksh and bash (ymmv).

OpenBSD DHCPD Configuration

Modify /etc/dhcpd.conf. To hard-code an IP address for a specific MAC address, use this:

  host myputer {
  hardware ethernet ab:01:cd:02:ef:03;
  fixed-address 192.168.1.12; }

Run ps -ax | grep dhcpd to find the dhcp daemon. Kill it and restart it with the same options noted by ps for changes to take effect. A sig_HUP will not work.

BSD Disk Partitioning (disklabel) Notes

If you want to do your own custom disklabel, there are a few standard things to keep in mind. First, each slice has its own name, designated by a single character. The "a" partition is always where you mount root (/). Next, the "b" partition is where your swap space goes. Swap is typically made to be about 2 to 3 times the amount of physical RAM in your system...but if you have 16MB or less, make this a minimum of 64MB! After "a" and "b", things get a little odd. The "c" partition cannot be used; it is a representation of the entire BSD partition in NetBSD and FreeBSD, or the entire disk in OpenBSD. Similarly, "d" represents the entire disk in NetBSD and FreeBSD, but is free for use in OpenBSD. Mount points e through p are available in all BSD flavors.

Interesting information about charging NiMh and Li-Ion batteries:

Charging circuits are not carefully designed for the impedance of a particular batch of batteries. They are designed for the chemistry involved (Ni-MH v. Li-Ion), for the approximate voltage (read, number of cells), and for the really approximate capacity of the cells ( 1600, 1800, 2000 mah batteries would all be safely charged by the same circuit, but a different circuit would be used for a 4000 mah battery for example).

Li-Ion batteries are only slightly more difficult to charge than Ni-Mh (you need four different charge states: Constant low-current for initial charge, Constant high-current, Constant voltage, and Off, where Ni-MH only needs two (Constant high-current and constant low-current)), and have a few more safety precautions around them (For example, letting a Ni-Mh pack discharge too far reduces it's capacity on subsequent charge/discharge cycles; letting a Li-Ion pack discharge too far can cause fire and noxious chemical release, in addition to a probable permanent failure of the cell).

Thus, most of the arguments about matching cells to charging circuitry are bogus.

However, it is correct that you must match the cells relatively closely. This is not a problem when buying a bunch of cells a lot at a time, but is extremely difficult when buying individual cells months or years later to try and match to other cells in a pack. The physical reason for matching is due to discharge - if one cell discharges before the others, and the device does not detect it and shut down, the discharged cell will be getting a "reverse charge". This reverse charging causes irreversible chemical reactions at the cathode and anode, further damaging the cell and reducing it's capacity.

His argument about the packs being ultrasonically welded is also valid, but is more a technique/tools/workmanship issue than a roadblock. I do not have the tools or techniques to seperate the halves of a battery pack cleanly; that doesn't mean that a company devoted to doing so couldn't develop them.

So, if the refurbisher replaces ALL cells in a pack with new ones, even new ones with 20-30% more capacity, all the charging and protection ciruitry will still work just fine, and the pack will be fine, subject to the workmanship of the plastics work. If the refurbisher simply tests to find the dead cells in a pack, and replaces only those, then the life of the pack will be short as the new cells will NOT be matched to the rest of the pack. It will appear to work fine, and even have good capacity, for a number of charge/discharge cycles, but will fail long before a pack built completely with new cells. If the refurbisher is a real sleazeball, there are certain tricks one can use to rehabilitate some NiCd and even NiMH packs that don't require disassembling the packs, but have an even shorter expected lifetime (for example, using a short duration, very high current pulse to vaporize internal crystals that have poked through the seperator and are causing short-circuits).

So, the quality of the pack rebuild can be highly variable, and is based on the rebuilder. Buying the cheapest rebuild you can find will probably lead to heartache, as it may be "rebuilt" using one of the last two approaches. Buying a more expensive one is no guarantee of a quality rebuild, but it's more likely. I would only buy from an established dealer who guarantees that ALL cells are replaced.