Notizbl0g.

h4cking, ham radio, fire fighting and m0re

Excluding FT-232 From Ftdi_sio Driver

For the upcoming AMBEd daemon needed by XLX reflector software there is a need to connect an FTDI USB-serial adapter without using the default ftdi_sio kernel module. Instead the software makes use of the D2XX drivers by FTDI. This driver is available as binary only from FTDI’s website.

The problem with Linux operating systems is that it loads the ftdi_sio driver by default. One option is to blacklist that module. The drawback is that also all other FT232 based USB-serial adapters will also not work anymore. In my case I had some other devices that had to use the ftdi_sio driver while the AMBE device should not. So blacklisting the whole driver is not an option.

Make SVXlink Tell 24h Time / UTC

After re-setting up my SVXlink node I encoutered the problem that the time announced was using German spelling but English time format. That lead to very strange time announcements during the long identification transmission. Also the 24h time format was missing. After reading around on [1] and [2] I found that this can be overridden locally. The best local.tcl settings were found on a German forum (see [2]). Andi, DL1HRC made a nice local.tcl that just needs to be installed under /usr/share/svxlink/events.d/local. The sub directory has to be created if not existent. So the last issue was to let listeners know that the time ist UTC.

Interfacing Motorola GM1200

I had an unused GM1200 that should be interfaced to a SVXlink node. Turns out that it is not as easy as I thought. I wanted to use the CTCSS decoder and a hardware squelch signal. The CPS offers different options that can be programmed per FM channel. The essence is the option “Data Channel”. That enabled unfiltered raw output on pin 25 of the accessory connector. The audio input can be connected to pin 24. The hardware squelch can be used on pin 8. It carries +4.5V if the squelch is closed and drops to GND if the squelch opens.

Headless Building MMDVM Firmware

A while ago I was looking for a way to build the MMDVM firmware on a bare Debian Jessie system running on a Raspberry Pi. It has no X installed and thus I need a way to build the Arduino Due firmware without installing tons of GUI packages. I copied parts of a Makefile for the Arduino IDE as it is just executing command line binaries under the hood.

I added some support for building the MMDVM firmware using a Makefile to the github project a while ago. The only problem left was finding a way to “install” the Arduino IDE in command line mode.

Interfacing Tait TB7100 and MMDVM

The other day I got hold of a Tait TB7100 1U repeater. I thought I might make a good basis for a MMDVM HotSpot or even repeater. Apparently the RX had a sort of a problem. Using the service manual I discovered that the TCXO for the RX was missing its power supply due to a removed resistor. After fitting in a replacement the unit worked ok with a testing configuration for a FM repeater.

So that would make a good hardware for a MMDVM HotSpot now. Some research on the Yahoo group revealed that you need to directly wire RX and TX audio directly to the two modules on the inside.

Monitor a DAPNET Transmitter With Nagios

After describing how to get notified of system criticalities via pager I wanted to have my DAPNET transmitters monitored via Nagios. A basic description can be found under [1]. Firstly you need to set up the plugin check_http_json. The source and installation hints can be found on [2]. That enables Nagios to query the DAPNET master using a JSON request and process the result.

A little different to the manual by RWTH Aachen I also configured the hostname of the master in /etc/nagios3/resource.cfg in order to have it not depend on the hostname of the Nagios host.

DAPNET Alarm Page by NAGIOS

After settinp up a DAPNET client for the POCSAG Amateur Radio paging network I was looking for some good source for interesting information to be sent to my pager. I already had a Nagios monitoring solution set up in order to monitor several D-Star service and repeaters in my area. So I wanted to get Nagios to inform me as soon as one of these services changes state to critical.

The solution is to implement a second method for nagios to send a notification. The original method to send an alarm via email was left as it is.

Compiling Aprsc for ARM Platform

After discovering that the HamserverPi release 1.5 is actually a Debian wheezy based system and therefore not supporting RustPager ([1]) I manually set up a Debian Jessie lite on my Raspberry Pi to serve as web server for the HamNet. RustPager compiled fine after two hours of full CPU load.

As I had set up an APRS server for HamNet use I also wanted to do that on the Jessie lite system. Apparently there are no .deb packages to install from the package tree. So I tried to compile it manually mainly following Hessu’s guide on [2]. A problem occured with the statically linked library libevent.a. This is how I managed to get along with this error.

ICOM IC-2820 Fan Mod

By the time the fan of my IC-2820 became really noisy. And as it runs from time to time automatically it can be disturbing although the unit is mounted under my table here. My friend DL5BQ was so kind as to look for a replacement part. And as I did not want to just cut the wire but leave the original part as it is I looked for the connector. The replacement is a Pabst 0412 fan that comes with a 5,25” PC connector. I replaced it with a 1.5mm two pin JST ZH connector.

Flashing STM32F446RE Nucleo

After building the MMDVM shield by Toufik F0DEI I tried to flash the MMDVM firmware using the MMDVM Makefile and executed “make deploy”. That command failed and the output said something about that it could not open the port. After looking through the openocd config files I discovered that it looks for a device with 0x0483/0x3748 as VID/PID.

But in my case the board showed up with 0x0483 0x374b. After changing this in /usr/share/openocd/scripts/interface/stlink-v2.cfg the deploy command worked like a charm and transferred the firmware successfully. By the way: This was done on an Ubuntu 16.04 with openocd v0.9.0 installed from the official repositories.