Archive Page 8

I’ve finished the new ham DSP tutorial section about SSTV modulation and demodulation.

Here’s a video which shows my decoder compared to MMSSTV:

I’m using cmus for playing music. It can call a script whenever a song changes using the :set status-display-program=/path/to/scrobbler command.

I’ve written a PHP script bundle which handles scrobbling the currently playing and played song to last.fm. It can also read the ID3 (v1 and v2) tag from the music file using the getid3 PHP library.

You should set your last.fm user and password in the status_display_program.sh file and then set cmus to use that script as the status-display-program. I’ve placed the whole stuff under /home/nonoo/.cmus/last.fm.

You’ll need php5-cli and php5-curl installed.

download (233.3 kb)

I already wrote about lowpass filtering using FFT in one of my ham DSP tutorial articles. The simple brickwall filtering method described there is not applicable in some cases because it introduces ringing in the resulting filtered sound.

After some research, I made an article about designing and implementing a proper FIR filter which uses FFT convolution.

I’ve expanded my ham DSP tutorial with sections describing RTTY encoding and decoding using several methods. Here’s an example video of my example encoder/decoder (FLdigi is shown for comparison):

See my x86 solution for measuring temperature here!

I’m using USB Temper devices again, but this time they are a newer revision, so the previous app with the source code I modified doesn’t work anymore. I downloaded this source code from here (look at the comments) and modified that so I can define from which USB bus and dev I want the temperature readings from. I had to cross compile this for the router (TP-Link MR3220) running OpenWRT. You can download my modified pcsensor source from here. UPDATE (2013/10/13): here’s an updated, cleaner code with a rewritten webpage.

First I needed the OpenWRT toolchain, which you can get by compiling the OpenWRT buildroot. Here’s a good tutorial how you can compile buildroot. There are also some notes in the OpenWRT wiki about cross compilation.
» …continue reading ‘Measuring temperature using OpenWRT’

On the weekend I’ve been hacking a TP-Link MR3220 for my friend Penya. The router has a USB port and I wanted to use a USB flash drive to expand the storage space available on the router. I had two flash drives, one noname 1GB and a Sandisk Cruzer 8GB. I had problems with the noname drive, random disconnects during data writing etc. so I used the Sandisk one.

First I formatted the drive to ext4 under Ubuntu, then plugged it in the router. After logging in with SSH, I installed the needed USB storage modules: opkg update; opkg install kmod-usb-storage kmod-fs-ext4. After that I was able to mount the drive under /mnt/pendrive1 (I had to create that directory to mount to): mount /dev/sda1 /mnt/pendrive1

If it says that there’s no /dev/sda1 device, look at dmesg to find out the newly attached flash drive’s device name. I wanted automount, so I installed the needed packages: opkg install blkid block-mount e2fsprogs
» …continue reading ‘Using a flash drive with OpenWRT’

GLX X11/Xorg problems

X won’t start up with compiz? Xorg log says it’s stuck at initializing extension GLX? glxinfo segfaults in libc? You have an Nvidia card and tried everything to bring life to compiz?

Boot into recovery mode, reinstall the proprietary Nvidia driver, delete /etc/ld.so.nohwcap and suddenly everything starts to work again after hours of frustrated X torture. Of course I’ve found this forum post after I found out the same solution… :)

– Download the driver source from here
– Extract it, run ./configure and install all needed *-dev packages
– Install x11proto-gl-dev and mesa-common-dev
– Run make, if it stops with an error, open the corresponding .c file and uncomment the line which gave an error (for example it tries to include mibank.h, but it’s no longer available and even it doesn’t needed for compilation). There are about 3-4 lines to uncomment.
– After the process finished, look for src/.libs/sis671_drv.so. Copy it to /usr/lib/xorg/modules/drivers.
– Run Xorg :1 -configure, move xorg.conf.new from your home dir to /etc/X11, and replace fbdev and vesa to sis671 in the lines starting with Device
– Execute sudo service lightdm restart and now the resolution should be 1280×800
– To fix the console: add blacklist vga16fb to /etc/modprobe.d/blacklist-framebuffer.conf
– If you still have problems, check /var/log/Xorg.0.log

I tried to install Ubuntu to a desk computer but there were no disks/partitions listed in the installer. Switching to a console and running fdisk -l listed the disk and I was able to partition it using fdisk, formatted to ext4 but it still wasn’t listed in the installer.

The solution: I used this disk in a motherboard RAID setup earlier, I just had to enable the RAID controller in the BIOS, enter the controller’s setup and remove RAID information from the disk. After that, I was able to partition the disk and continue Ubuntu install.

Remote controlled duck

I got this from my friends as a birthday present. A little slow because of the foam, but light speed fast on clear international waters :)

About me

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

Twitter

Listening now

My favorite artists