New videos

2016 recap

It’s been quite a while since I last posted here (more than a year ago…). Let’s see what happened with me this year:

I’ll try to post here more frequently than once a year :)

Linux USB HDD fix

I partitioned and formatted a 2TB HDD connected with an USB HDD adapter to a Debian system running under VMware, copied the files and moved the HDD to an old P4 system with Debian and a non-AHCI capable BIOS. The HDD showed up as a 232.9GB one:

Device     Boot Start       End   Sectors   Size Id Type
/dev/sdc1         256 488378645 488378390 232.9G 83 Linux

After googling a while I found out that the problem is with the BIOS reporting the HDD to the OS as if it had 512 bytes long sectors, not 4096 ones.

I could mount the ext4 file system with losetup by telling that it starts at byte no. 8*256 = 2048:

losetup /dev/loop0 /dev/sdc -o 2048
mount /dev/sdc1 /home/storage4

A permanent fix is to edit the HDD’s MBR partition table to have the file system start at the correct byte no. I exported the partition table to a text file with sfdisk:

sfdisk -d /dev/sdc > sdc.partitions.sfdisk.text

Then opened the file and edited the start value to 2048, and size to 8*488378390=3907027120. After that I wrote back the partition table to the drive:

cat sdc.partitions.sfdisk.text | sfdisk /dev/sdc

After running partprobe everything was all right again.

Disk /dev/sdc: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x0006aac3

Device     Boot Start        End    Sectors  Size Id Type
/dev/sdc1        2048 3907029167 3907027120  1.8T 83 Linux

A few weeks ago I ordered an Android TV box called U BOX i one (i828) from To my suprise, the updated YouTube app only played videos at 360p resolution. The stock app works fine, but I wanted to use the latest one. After googling a while I found a Japanese site with the fix:

  1. Install Build Prop editor
  2. Set these key-value pairs:
        ro.product.model=Nexus 10
        ro.product.manufacturer=samsung 4.2.2 JDQ39 573038 release-keys
  3. Clear YouTube app cache and data in Android settings / App settings
  4. Reboot

Optionally you may need to open a terminal before rebooting and enter these commands:

wm size 2560x1440
wm density 320

And after the system booted up:

wm size reset
wm density reset

Some recent videos

dmrshark updates

I’ve been working on dmrshark in the past few months. Most of the improvements can be seen online at the Hungarian network’s live status page, or you can check the project’s GitHub page.

The new features are:

  • The info column shows decoded SMS messages and GPS coordinates.
  • dmrshark decodes voice calls and calculates their current and average RMS volumes. There’s a circle which varies it’s color according to the volume and helps setting the correct mic gain.
  • Several new columns added to the repeater table.
  • dmrshark can record decoded voice data to .mp3 files. Recorded files of the Hungarian network can be downloaded from the archive page.
  • Live streaming via WebSockets or HTTP are now supported.
  • DMR messages can be sent from an external SQL database table (see the Hungarian live status page). Both Hytera and Motorola formats are supported.
  • Data packet sending and receiving with full FEC encoding/decoding and selective retransmission.
  • SMS format conversion is supported. If you send an SMS from a Hytera transceiver to a Motorola (or Chinese one), dmrshark detects that the message send was unsuccessful and retries sending your message in the opposite (in this case, Motorola) format.
  • If you send the message “help” (without quotation marks) to dmrshark’s DMR ID (7777), you can get the supported command list in SMS.
  • If the first word of a message to 7777 is an email address, and the other words are the message, dmrshark will send the message as an email to the given destination address.
  • If you send the word “ping” to 7777, it will answer with “pong”.
  • If you send the word “info” to 7777 with a callsign or DMR ID as the second word, it will give you info back about the given callsign/ID from the callsign book database.
  • If you send a message to 7777 with the first word being a callsign and the rest are the message, it will be sent to the APRS-IS system as an APRS message.
  • APRS message sending/receiving to and from APRS-IS
  • GPS position decoding and sending to the APRS network. Both time and button triggered Hytera GPS position packets can be decoded. DMR data ack is sent after a successful GPS position packet has been decoded, so the transceivers won’t send duplicate position packets unnecessarily.
  • Echo service is available on 7777, in both timeslots and both private and group calls. After the echo test ends, dmrshark will send you back your average RSSI and RMS volume values during the echo test. This echo test SMS gets sent also after a normal DMRplus echo test sent to TS2/9990.
  • Most of the FEC algorithms are used not only for error checking but for error correction too. Most of the DMR protocol’s packets can be decoded and displayed in the log.

Raspberry Pi Sensors

Another great book from PacktPub. The subtitle is great to give a short description on what this book is about: “Integrate sensors into your Raspberry Pi projects and let your powerful microcomputer interact with the physical world“.

It begins with an introduction to Linux, basic electronics, communication protocols, so everyone who is interested in the topic can begin tinkering, you don’t need to be an embedded Linux expert. The chapters cover very interesting topics like measuring distance using ultrasonic sensors, measuring temperature, air pressure, humidity, using a photoresistor, an A/D converter, how to process and store gathered data, and lastly how to use OpenCV for simple image processing.

I recommend this book for everyone who want to learn building something with sensors connected to the Raspberry Pi.


In the last 2 weeks I’ve been working on a software called dmrshark in my free time. It uses libpcap to analyse the traffic of a Hytera IPSC network.

It can be used for:

  • Tracking calls, logging to a text file, and/or inserting them to a remote MySQL-compatible database.
  • Automatic and periodic reading of repeater timeslot RSSI values during calls and also inserting them to the remote database.
  • Updating a remote database table with currently active repeaters and their info (ul/dl freqs, type, fw version etc.).
  • I’m planning other features as well, development hasn’t stopped of course :)

More info can be found on dmrshark’s GitHub page. A working example can be found here.

Here’s a video of an early preview version which only supported DMR packet structure decoding and logging to the text console:

I’ve translated my recent blogpost on, so here’s some info about the Hytera RD625 DMR repeater and about setting up VoIP communications.

We’ve measured the bandwidth required for the repeater to communicate with the DMR master software to transfer one timeslot. The result is 15-17 kbit/s for both up and download directions, so the bandwidth required is about 35 kbit/sec, if there’s someone talking on one timeslot. We’ve conducted the tests using a 3G internet connection with an 8 slot length jitter buffer. The latency of our 3G connection is quite high, but the voice communication remained perfect. I’ve made a video about the tests:

Some interesting facts

  • The blue LED under the D sign is on when the repeater is communicating with the master software. When the repeater connects to the master, a voice says on TS2 TG9 that the reflector 4770 got connected.
  • The repeater doesn’t care about an unplugged Ethernet cable, it won’t ask for a new IP address. It doesn’t care about DHCP lease timeouts, it only asks for an IP address in DHCP mode only when we power it on.
  • All 3G connections are NATted in Hungary, so there’s no external address and connection tracking for the UDP packets, so incoming packets can’t find a way to the repeater. We had the repeater plugged into a Routerboard, which had the 3G stick in it, and we created a VPN tunnel to our server and set the default gateway for that VPN connection. This way we had an external IP address and could set up our firewall to pass through UDP packets destined to the repeater.
  • The repeater uses the following UDP ports: 62005 (status, heartbeat, etc.), 62006 (general traffic), 62007 (management info, RDAC)

» …continue reading ‘Hytera RD625 DMR repeater tests, VoIP setup’

Hytera tests

I had two PD785Gs this evening with me so I couldn’t resist to do the glass of water test :)

Today we tested the bandwidth and the VoIP integration of the Hytera RD625. I’ve made a (Hungarian) tutorial on how to set up Asterisk, the repeater and a handheld radio to be able to make and receive VoIP calls.

About me

I'm Nonoo. This is my blog about music, sounds, filmmaking, amateur radio, computers, programming, electronics and other things I'm obsessed with. ... »


Listening now

My favorite artists