Tag Archives: Linux

udev rules for ADB

# nano /etc/udev/rules.d/51-android.rules

SUBSYSTEM=="usb", ATTR{idVendor}=="0502", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="0B05", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="413C", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="0489", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="091E", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="18D1", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="109B", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="0BB4", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="12D1", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="24E3", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="2116", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="0482", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="17EF", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="1004", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="22B8", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="0409", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="2080", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="0955", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="2257", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="10A9", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="1D4D", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="0471", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="04DA", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="05C6", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="1F53", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="04E8", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="04DD", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="0FCE", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="2340", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="0930", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="19D2", MODE="0666", GROUP="plugdev"

# chmod +x /etc/udev/rules.d/51-android.rules

Using Hardware Devices

ENE Technology, Inc. SD card reader (UB6250)

This is how I got the ENE UB6250 card reader working under Debian testing one my Acer Aspire One D255E


Bus 001 Device 005: ID 0cf2:6250 ENE Technology, Inc. SD card reader (UB6250)

This card reader uses the ums-eneub6250 module and needs firmware to operate correctly which is currently not included in the Debian firmware-linux or firmware-linux-nonfree packages.

The way I have gotten around the problem at the moment is to downloaded the Ubuntu linux-firmware package and extracted the deb package to copy the directory ene-ub6250 from the extracted directory /lib/firmware/ to /lib/firmware/ on my working system as I not wanted to install 40 odd megabyte of other firmware I not needed.

After moving the files over run the following and all should be ready to use
# depmod -ae
# update-initramfs -u


[Part 3] ALSA Speech Compression and FT-857D

This is an update of my previous post

As testing goes on, the .asoundrc file is getting more complexed in its setup. This is where we are up to now, we have 2 profiles going for ‘local’ and ‘DX’ and we select between the profiles by running in terminal


$ arecord -B 12000 -D local_eq_ -r 44100 -f S16_LE | aplay -B 12000 -D ladcomp


$ arecord -B 12000 -D dx_eq_ -r 44100 -f S16_LE | aplay -B 12000 -D ladcomp

And now for the dreaded .asoundrc file.
Continue reading

[Part 2] ALSA Speech Compression and FT-857D

This is just an update from my older post. I have built an isolation box to use between the computer and the FT-857D which at the moment only consists of two 3K 1:1 audio transformers and 500K trimpot to not over load the radios audio input on the data port. I have still got to add the optocoupler into the box so can get the computer to control the PTT via the data port too.

At the moment there has been no noticeable different in the audio quality with the isolation transformers inline, and the compressed audio still sounds good :-)

ALSA Speech Compression and FT-857D

Well friend and I have been playing around with speech compression as the FT-857D on it own does not have the best DSP. As my friend is keeping a better log of it all and how to set up up on the Raspberry Pi head on over to VK2MEV’s site and check it out.

I have the speech compression running on my computer rather than the raspberry pi at the present moment for testing purposes, but will get around to setting it up on the raspberry pi at later date.

My setup consists of:
Creative Sound Blaster Play USB Dongle
Heil Pro Set Elite
Necessary cabling to connect between the data port on the FT-857D and the USB dongle and headset

[How To] Nouveau Dualhead Setup

Well I thought I’d have another play with Nouveau the open source driver for nVidia GPU’s, as it been a while since played around with them. Since the last time I played with Nouveau it was very buggy and unstable and 3D support was even worse, but I very surprised that there is some 3D support via Gallium3D.

Anyways this how I setup my xorg.conf for dual head setup with nouveau under Debian testing (wheezy):

Section "Monitor"
          Identifier   "monitor0"
          Option       "PreferredMode" "1920x1080_60.00"

Section "Monitor"          
          Identifier   "monitor1"
          Option       "PreferredMode" "1440x900_60.00"
          Option       "RightOf" "monitor0"

Section "Device"
    Identifier 	       "device0"
    VendorName         "nVidia Corporation"
    BoardName          "GeForce GT 220"
    Driver  	       "nouveau"
    Option  	       "Monitor-DVI-I-1" "monitor0"
    Option  	       "Monitor-VGA-1" "monitor1"

Section "Screen"
    Identifier "screen0"
    DefaultDepth 24
      SubSection "Display"
        Depth      24
        Virtual 3360 1080
    Device "device0"

Section "ServerLayout"
    Identifier 			"layout0"
    Screen 			    "screen0"

At the moment I am very happy with Nouveau and going to keep using it till it borks it again :-)

Also if you not want to go through the hassle of xorg.conf you could run or put this in your session startup file, example this what I used for testing with ~/.fluxbox/startup

$ xrandr --output DVI-I-1 --mode 1920x1080 --pos 0x0 && xrandr --output VGA-1 --mode 1440x900 --pos 1920x0 &

The above does the same as the above xorg.conf configuration.

[How To] Compiling QSSTV 7.1 under Debian testing (wheezy)


QSSTV 7.1 is a program for receiving and transmitting SSTV and for receiving FAX. A lot of enhancement have been made since QSSTV version 5 and 6. It took me a while to come up with a new version due to my professional activities.
This is a beta version, and you can expect to find updates and bug fixes on a (not so) regular basis.

UPDATE Monday 21 May 10:49:52 CST 2012: QSSTV 7.1.7 is now available in the Debian repository for about a month now as of writing this

Getting the source:

wget http://users.telenet.be/on4qz/qsstv/downloads/qsstv_7.1.7.tgz

Installing the required software:

# apt-get install g++ libfftw3-dev qt4-qmake libqt4-dev hamlib-dev libasound2-dev


$ tar -xvzf qsstv_7.1.7tgz
$ cd qsstv_7.1.7
$ qmake-qt4
$ make

you can either run QSSTV from it current location or you can install it system wide by

# make install

The only problem I got with running QSSTV was it complaining about GTK+

$ ./qsstv 
QGtkStyle was unable to detect the current GTK+ theme.

But it can easily fixed by running

export GTK2_RC_FILES="$HOME/.gtkrc-2.0"

or you can just edit the Trolltech.conf file and change the line ‘style=GTK+‘ to ‘style=Cleanlooks

nano ~/.config/Trolltech.conf


[How To] Compiling WSPR under Debian testing (wheezy)


WSPR implements a protocol designed for probing potential propagation paths with low-power transmissions. Normal transmissions carry a station’s callsign, Maidenhead grid locator, and transmitter power in dBm. The program can decode signals with S/N as low as -28 dB in a 2500 Hz bandwidth. Stations with internet access can automatically upload their reception reports to a central database called WSPRnet, which includes a mapping facility.

Installing the required software:

# apt-get install subversion python2.7-dev python-numpy python-imaging-tk python-pmw libportaudio2 portaudio19-dev libsamplerate0-dev gfortran cl-fftw3

Getting the source:

$ svn co http://svn.berlios.de/svnroot/repos/wsjt/branches/wspr

Compiling WSPR:

$ cd wspr
$ ./configure
$ make

you can either run WSPR from it current location or you can install it system wide by

# make install

I got an error about port audio 19 when running configure, example:

This program needs portaudio v19 to compile.
Please use --with-portaudio-include-dir= and
 --with-portaudio-lib-dir= to set the paths.
configure: error: Please check error messages and install missing packages.

but that is easily fixed by running configure like this:

$ ./configure --with-portaudio-include-dir=/usr/include --with-portaudio-lib-dir=/usr/lib/x86_64-linux-gnu