Thursday, 18 February 2016

DV4mini on RPi1

I have had a great deal of success running the DV4Mini on an original RPi Model B with the lower amount of memory (256MB). Obviously, this model does not really have the grunt to run the entire Mono framework and the DV4MF2 GUI (or the original GUI). As a result, I've had to be creative with any interaction with the system.

Please note that the following supposes a connection to a Brandmeister Master Server is wanted, the same would work for a DMR+ Master server, and I presume it would also work for DStar and Fusion, although I have no way to test these.

I have got the Raspberry Pi running the latest version of Raspbian, and I have connected it to the network using a CAT5 cable rather than a USB WiFi dongle. WiFi dongles do work, but where I want the Pi to sit there is somewhat patchy WiFi coverage and I have an RJ45 port available.

Firstly, running the DV4Mini completely headless is definitely possible. In order for the DV4mini to work, it is sufficient to run only the dv_serial program, as this is the binary that actually governs the communication between the USB interface on the dongle and the network connection on the RPi. As long as the dv_serial binary is running, and the dongle is logged into a master server, the GUI does NOT need to be running.

Running the dv_serial binary is best done in a screen session, so that if the SSH connection used to start start the program drops, the program keeps running, and it can be reconnected to easily. To prepare for this, SSH to the Raspberry Pi and run the following:
pi@hotspot:~ $ sudo apt-get install -y screen

Now copy the dv_serial binary to the pi user's home directory (or another user's home directory if you want to run dv_serial as another user). Once the binary is there, you invoke it inside a screen window like this:
pi@hotspot:~ $ screen -S dv4mini ./dv_serial

You will see output on the command line as the DV4mini is initialised and then logs into the last reflector/master server combo it was set to.
You can detach from the screen session using the "Ctrl+a", "d" key sequence and then close the SSH session. When logging in using SSH at a later time, you can simply reconnect to the screen session using
pi@hotspot:~ $ screen -r dv4mini 
For more help with screen, run
pi@hotspot:~ $ man screen

You can then connect to this instance of dv_serial from another computer on the same network by using the IP address field in the GUI, and use the GUI remotely to control the DV4mini, or alternatively you can use the radio itself to change reflectors, by sending a private call to the ID of the reflector you want to connect to. This normally works, although on occasion it takes two attempts. If you still have a SSH session open to the screen session running dv_serial, you will see lines of output indicating you have logged into a new reflector. You then use TG9 as normal to send traffic.
This has been a short description of how the DV4mini dongle can work very well with older or minimal hardware, albeit with some limitations. The above should work equally well with a Pi Zero, although you will either need a USB hub with built in WiFi or a USB hub with a built in Ethernet connection. If you have any comments or questions, please leave a response below.

Thursday, 28 January 2016

DMR, DV4mini and the Raspberry Pi

I have recently been experimenting with Amateur Radio DMR, using a Connect Systems 700 handheld and a DV4mini USB dongle.

One of the cool things about the DV4mini dongle is that it can give access to the Brandmeister DMR network where there are no physical repeaters in range which is good, as in all of Northern Ireland, at the time of writing, there are only 2 operational repeaters on the Phoenix network and another one licensed but not yet operational, with an announcement on the network not yet released.

The DV4mini is an amazing piece of kit, and with the DV4MF2 dashboard allows the use of many of the same features as available on repeaters, including reflectors and Extended Routing. Access to Talk Slot 1 is also in the works. Once the frequency correction is set, it is literally a Plug-n-Play solution.

As someone who uses Linux for a lot of his computers, it was interesting that the software will run on Linux through the Mono framework, which essentially emulates a Windows environment in which the .exe file can run. That's not a completely correct statement, but close enough for this case. This means that the software can run on a Raspberry Pi, essentially giving you the option to run the DV4mini permanently online at little cost in terms of power or hardware. There are some great tutorials around on how to get this working with 3.5" TFT screens and VNC etc. but I wanted to take this in a slightly different direction. I have a number of original Pi Bs, with the 256MB RAM, as well as a few Pi Zeros, and I though it would be useful to use them to run completely headless, without even running the dashboard. They don't really have enough grunto to run Mono and the dashboard without issues, but if all they had to do was interface the USB dongle to the network, they should be easily capable of that.

So my experimenting started, and what follows in the next few blog posts is a record of some of the ideas I've tried, along with how well they worked.

Thursday, 21 January 2016

CQ de MI0PYN

Hi there!

If you've stumbled across this, you still have time to back away slowly, turn around and escape unharmed.

This blog is essentially a way for me to document some of my stumblings amongst the various aspects of ham radio, and especially where it interacts with my other hobbies of computer networking and Linux.

Expect to read about DMR, digimodes, homebrew repeaters and other gear.

If you're not into any of that, you'll probably have died of boredom already, but if you are interested in it, and you find anything in these pages helpful, let me know.

Best 73,
Stefan
MI0PYN