wiki:COM-ON-AIR-Linux

COM-ON-AIR Linux Driver Project

To use the COM-ON-AIR PCMCIA card on Linux, we decided to write our own Linux driver for the card including a minimal DECT stack and userland utilities.

To get the source checkout our svn repository:

svn co https://dedected.org/svn/trunk dedected

then see the corresponding README files

DON'T

  • remove the card while the driver is loaded
  • unload the driver while the char-dev is open
  • suspend/resume with the driver loaded
  • Record calls of other people, without their explicit permission. This is not allowed in most parts of the world.

I'll look in to the issues, actually they're not too nasty once you know how to handle the card.

Known Bugs

  • Kernel panics if you do anything named above
  • With some phones you can get audio only in one direction

HOWTO

  • run dect_cli (ppscan) or coa_syncsniff to obtain .pcap files
  • view them in wireshark (with the DECT-plugin from the svn)
  • (party) decode C-channel messages with pcap2cchan
  • dump B-field data only of the pcap using pcapstein obtain .ima files
  • .ima files are raw G.726/G.721 ADPCM 4bit per sample, 32 kbps dumps
  • use a modified decode from http://www.ps-auxw.de/g72x++.tar.bz2
    sha1sum g72x++.tar.bz2 
    9b88d16479464d3e990f52396fcc33fd473e1340  g72x++.tar.bz2
    md5sum g72x++.tar.bz2 
    c9b1c84ca90aedcf3c4594a668417e2c  g72x++.tar.bz2
    
  • postprocess with sox

the last steps might look like

SOX=/usr/bin/sox

for i in `/bin/ls -1 *.pcap` ; do
        ./pcapstein $i
done

#decoder for g.721
        for i in *.ima ; do
                cat $i | ./decode-g72x -4 -a | sox -r 8000 -1 -c 1 -A -t raw - -t wav $i.g721.wav;
        done

#decoder for g.726.R
        for i in *.ima ; do
                cat $i | ./decode-g72x -64 -l -R | sox -r 8000 -2 -c 1 -s -t raw - -t wav $i.g726.R.wav;
        done

#decoder for g.726.L
        for i in *.ima ; do
                cat $i | ./decode-g72x -64 -l -L | sox -r 8000 -2 -c 1 -s -t raw - -t wav $i.g726.L.wav;
        done

Sound quality should be fine.

FAQ

  • Q: what hardware is supported?
  • A: for now only the Dosch&Amand Type II and Type III PCMCIA Com-On-Air cards are supported. Future SW releases might support one ore more of the Type II Greengate cards, the PCI cards, the freepad (a wireless DECT touchpad), the ISA cards. The Greengate DA099 is a relabeled Dosch&Amand Type II card and is also supported. Other Greengate cards like the DA100 are still unsupported.
  • Q: I can't load the module die to unresolved symbols "pcmcia_*"
  • A: modprobe pcmcia
  • Q: I can't compile the tools in the tools/ dir
  • A: install a package libpcap-dev or the like. counsult your distributor
  • Q: do I need to run the userspace tools as root?
  • A: no.
  • option 1: chmod 666 /dev/coa
  • option 2: create a group dect; chgrp dect /dev/coa && chmod 660 /dev/coa
  • Q: I get a modpost missing error while trying to build
      MODPOST 1 modules
    /bin/sh: scripts/mod/modpost: not found
    make[2]: *** [__modpost] Error 127
    make[1]: *** [modules] Error 2
    make[1]: Leaving directory `/usr/src/linux-source-2.6.20'
    make: *** [default] Error 2
    
  • A:
    cd /usr/src/linux-source-2.6.20
    make oldconfig && make prepare && make modules_prepare
    
  • Q: I only get audio in one direction.
  • A: The problem is known, we are working on a solution.
  • Q: I only get noise.
  • A: It looks like your phone is encrypted
  • Q: How do I make sure that I really listen to my phone
  • A: We suggest that you start a callscan in dect_cli, start a call on your phone and wait at least 25 seconds on dect_cli. Write down all RFPIs with active calls. Then hang up and repeat this, until only a single RFPI is left, which has been seen in all callscans. This is your phone with a high probability.
  • Q: sox soxio: Failed reading -': unknown file type raw'
  • A: sudo apt-get install libsox-fmt-all
Last modified 10 years ago Last modified on Feb 20, 2009, 12:13:01 PM