[SATLUG] vi as a hex editor/file transfer

Geoff Edmonson w5omr at att.net
Fri Feb 18 11:18:53 CST 2011

I've kicked, screamed, bit*hed, moaned and groaned about learning the 
dreaded editing program "vi". (even typing those two letters makes me 

however... I've found something it's useful for...

    Using vi as a hex editor

Sometimes I find it useful to switch to hex mode when editing a file in 
vi. The command for switching is not very obvious so thought I’d share…

So, open a file in vi as usual, hit escape and type:
|:%!xxd| to switch into hex mode

And when your done hit escape again and type:
|:%!xxd -r| to exit from hex mode.

The REASON I needed a hex editor is that, as part of the ham radio 
fraternity, I can say that we're a frugal bunch (read: cheap!)

Recently, at a ham radio swapfest, I picked up a commercial ham radio 
repeater. It's a Motorola R-100. What a repeater does (for those who 
don't know) is it receives a signal on one frequency, then (usually from 
a high vantage point because V/UHF propagation is 'line-of-sight') 
"repeats" it on another frequency. Call it a 'range extender', if you 
like. Placement on building roof-tops, or tall towers is common. This 
allows, for example, someone in their car on the East side of town to 
talk (via the repeater) to someone in their car on the West side of 
town, when the distance is too great for these to mobile units to talk 
directly to each other.

Eventually, once the repeater is programmed and installed at a tower 
site, it will then be accompanied by a Micro-ITX computer (small 
footprint) a 4gig solid state drive, run headless, and incorporate VoIP, 
via Internet Repeater Linking Project to connect to other repeaters all 
over the world. Interesting note about the IRLP is, it uses Linux, and 
they've adopted CentOS as their host OS. (another Plus for the 
Penguin!). For more info on IRLP see http://irlp.net

These old radios show up on the used market all the time, typically from 
commercial radio installs that have been upgraded or are obsolete. This 
particular radio is currently programmed on the commercial two-way 
frequencies, is from the mid/late 80's and is computer programmable. The 
hex editing was to change the band-split of the radio to allow it to 
cover the Ham frequencies.

Sounds like a simple process, right? Hook up the radio via a cable to 
the computer, invoke the program, punch in the new frequencies, save it 
and be done... right? Oh, no. Indeed NOT! It seems the geniuses at 
Motorola wrote the software specific to CPU clock cycles. Which means 
-old- hardware is needed to program the radio, and -maybe- a computer as 
fast as a 486-SX 33, running DOS 5.0 machine 'might' be slow enough for it.

Turns out, I found my old laptop back in San Antonio (the aforementioned 
486-SX-33) in the form of an IBM Thinkpad 355C. I'm sure this thing was 
the bottom of the line, but some enterprising hacker had managed to load 
Windows95 on it. I have vague memories of this machine being -way- 
underpowered for Win95, and was -forever- waiting on it to do 
-anything-. But, it has a PCMCIA slot, a 56k PCMCIA modem (long ago 
lost) and all that was needed was a phone jack. Remember those days? ;-)

Assuming the floppy drive is still good, and while I -have- found the 
power supply for the laptop, getting the file that I've now hex-edited 
(thanks to {{shuder}} vi {{shudder}}) from my openSuSE 11.2 Linux 
machine on a dual-core Dell PowerEdge SC430 (with NO floppy) to the 
Thinkpad is going to be a chore. I'm pretty sure the Thinkpad 355c was 
pre-usb days.

Linux has come to the rescue in many other ways on this project... what 
would you suggest to transfer the file from a semi-state-of-the-art 
system to an ancient dinosaur of a system?


More information about the SATLUG mailing list