Thoughts on Raspberry Pi (& others) and the FCD

Folks

I am sure many of you will be salivating over the Raspberry Pi Linux board. I have reports from a member of the FUNcube team who apparently has managed to get hold of one, and that the FCD works with it, although I am not sure if this is just at the driver level or if he also has SDR working with it too.

Anyway, meanwhile back at the FUNcube Dongle manufacturing and R&D facility, we’ve been playing with this http://omnima.co.uk/store/catalog/MiniEMBWiFi-p-16180.html over the past couple of months. It’s very cool. And very reasonably priced. And the FCD works with it at the driver level, both HID and audio. I have already had it streaming, but I need to do some more work to get it reliably sending via RTP.

You do need to be a bit of a hacker to use it, but that’s the same as any embedded board including the R-Pi. Unlike the R-Pi there’s no video out, so you need to provide a serial connection and/or ssh. It also has an HTML front end, as it’s based on OpenWRT.

If you’ve ever played with boards like these (eg, the Chumby Hacker Board and the BeagleBoard spring to mind), you’ll know that being able to rebuild the kernel becomes a way of life, a bit like taking you back to the mid to late 90’s with Linux on PCs. You need a LOT of time on your hands.

Unlike the CHB and the BeagleBoard though, I found that rebuilding the entire Linux based OpenWRT stack on the MiniEMBWifi was a walk in the park.

Back to the Raspberry Pi, there is much to applaud. But I personally found it excrutiating that they fell into some of the same traps that I did (and that I documented in several places) about manufacturing. This includes such things as far east manufacturers promising that they will only ever use the parts that you specify, and then go off and substitute something else.

Then there’s the non-small matter of device compliance and certification, where R-Pi state that they originaly thought they’d leave until later: getting retailers and distributors to take the risk of selling uncertified kit to end users is going to be difficult. Both of these issues we know have delayed R-Pi’s distribution already.

Performing certification and compliance testing is a bit like having the auditors in. If they don’t find something, they won’t feel they’ve justified themselves. Let’s all hope and pray that the certification and compliance results will not dictate any rework, or worse redesign, possibly further delaying this truly superb philanthropic endeavour.

Many thanks, Howard

This entry was posted in Uncategorized. Bookmark the permalink.

20 Responses to Thoughts on Raspberry Pi (& others) and the FCD

  1. Janos Tolgyesi says:

    Howard,
    how can understand your notes about streaming? Did you send with rpt the sound stream comes from the usb driver? And how can control the FDC from remotly?
    t.janos

    • admin says:

      Hello Ljanos

      It’s been about six weeks since I last looked at this, but by loading the appropriate OpenWRT packages, the FCD is recongnised and correctly enumerated, both HID and Audio. Using Gstreamer, it is then possible to stream the I/Q stream from the FCD. I am sure there are many other ways of skinning this cat on embedded Linux.

      This is a work in progress, but I am sure that many others with better Linux knowedge than me (I live in a 95% Windows world) will be able to take this forward on their own.

      Many thanks, Howard

      • Janos Tolgyesi says:

        Howard,
        many thanks for your quick reply.
        We are faced this problem: my collegue ask me try to “redirect’ the FCD sound stream to him…
        But I am confused a little. On my ubuntu 10.10, when I pluged in the FCD, comes up a FCD device, which is a link to the /dev/snd/controlC2 (maybe, the last chars will be change time-to-time). But it seems me, this isnot the sound stream, I can “redirect”. If I start an sdr gui on it, (actually quisk) it want to connect to the jack audio server…
        To use gstreamer, it can be record the sound, if I can identify it. To send it to the net, maybe it need rpt tool, maybe rpt in gstreamer (?) Can you help me, which packeges did you installed in your experiments? and how did you identified the sound device?
        best wishes:
        t.janos

        • admin says:

          Hello Janos

          It was about six weeks ago when I did this, so I’ll have to set up the environment again. The problem I had with gstreamer was that I found that on the miniembwifi it had trouble maintaining a constant stream, but I was just learning gstreamer then, so I am sure with a bit more work such as adding a little buffering it would work.

          As I think I mentioned, this stuff needs a fair bit of time and hacking ability, and my knowledge of Linux is far inferior to what I can quickly implement in Windows I’m afraid.

          The link you suggest is not something that rings a bell. I used the OpenWRT USB audio support.

          If you can hang on until I get this stuff out again, I’ll take some more detailed notes, but it may be a few weeks: I have my head down in another project right now that has been brewing for some months, and it really needs my full attention to keep my head “in the zone”, so I am limiting distractions as much as I can!

          Howard

  2. Janos Tolgyesi says:

    Howard,
    really thank you!
    I dont want to make trouble to you, maybe, I will try to consult somewhere on a linux forum.
    best:
    t.janos

  3. Tim Anderson says:

    Ouch, I have been proven wrong! Happens fairly often. Finally up and listening on the funcube dongle. Good stuff!

    • admin says:

      Hello Tim

      Ah! OK, Sorry, I just responded to your other email.

      If you still need some help, please let me know.

      Many thanks, Howard

  4. Jim says:

    Hi:
    I have an only semi-related comment, but don’t know where else to post it…

    I am interested in using the Funcube Dongle to monitor aircraft radio data transmissions, primarily ACARS signals. I’ve got the FCD and SDR tuning and demodulating ACARS, but so far no luck decoding it with any of the usual tools for decoding ACARS from a PC sound card (ACARSD, http://www.acarsd.org, being one of the most popular and reliable). Has anyone else tried this, and if so how was it done? Also: a pure digital ACARS decoder module for the FCD would be a huge step forward if anyone has ideas about how to implement it.

    • admin says:

      Hello Jim

      Can you confirm you’ve updated the firmware? There was a fix put in about four or five months ago to fix data demodulation. 18j is pretty stable now.

      Many thanks, Howard

      • Jim says:

        OK… updated to firmware 18j… still no luck demodulating ACARS. Have tried SpectraVue, HDSDR, and SDR Console. Each one seems to provide different audio but none are apparently providing a “decodable” signal. If someone has a “formula” that works I’d love to find out what it is. SpectraVue seems to provide the clearest, most apparently-usable ACARS audio, but still nothing is decoded.

        • admin says:

          Hello Jim

          I don’t have any experience myself of using the FCD to decode ACARS but I am sure it has been done. You might like to try your question on the FUNcube Yahoo group, there are over 3,000 subscribers who I am sure have done this.

          Usually I would expect to feed the output of Spectravue into the input of an ACARS decoder.

          Many thanks, Howard

  5. Jim says:

    OK… I’ll try the Yahoo group. There have been a few posts there about decoding ACARS with MultiPSK – I’ll try that.

    It seems the problem is routing the demodulated audio to the ACARS decoder. I get good audio from the speakers using the Funcube Dongle as the audio input source, but nothing to any other software (decoders, streamers, level meters). Also I have no mixer line for the FCD, even though I’m getting good audio to the speakers.

    Probably the notoriously unreliable Windows sound system is the main culprit here. I just need to find out how to fix the FCD mixer line to provide audio to other apps and it should work. Of course, that is easier said than done.

  6. David Gunn says:

    This little TP-Link wireless router may be another option similar to the MiniEMB board you mentioned above. I’ve got OpenWRT running on mine, and you’ve given me the idea to test my FCDP+ with it. http://www.tp-link.us/products/details/?categoryid=218&model=TL-MR3020

    • admin says:

      Hello David

      Thanks for the tip, I ordered a couple over the weekend, hopefully will get some chance to try them myself. Are they MIPS or ARM do you know?

      Many thanks, Howard

  7. David Gunn says:

    They’re MIPS-based. There are two TP-Link Routers which look a little bit different (one has a grey cover, and one is light blue,) but the internals are pretty much the same. These routers are popular in the information security penetration testing community, and the site has lots of information about getting OpenWRT loaded on the device.

  8. David Gunn says:

    There’s also some more info on the OpenWRT site about newer firmware revisions. You might want to check it out before flashing. http://wiki.openwrt.org/toh/tp-link/tl-wr703n

  9. admin says:

    Hello David.

    If they’re MIPS based then I would think they have the same kernel problem that the MiniEMBs have with the USB host driver. For reference, I wrote some notes about this online here: https://forum.openwrt.org/search.php?action=show_user_posts&user_id=87275

    Many thanks, Howard

  10. Stu Capon says:

    I have obviously had my head in the sand as hadn’t read this thread before posting a question on smallnetbuilders forum.
    I was questioning whether the FCDPP could be controlled by an Asus router.
    It’s running the merlin firmware.

    I got an answer back of fcdctl (& -pp) compiled for the platform running entware and some other modules that would have any half decent programmer on the way, but I’m not, I’m an operator so got as far as seeing the FCDPP as present and in application mode on my Asus RT-N66U but no further.
    Even if the thing was fully working not sure exactly what I’d do with the audio but luckily fell down much before that point (failing to load modules).

    Just in case anyone with some knowledge wants to take it further (or flag that it is just duplicating other work) it’s at http://forums.smallnetbuilder.com/archive/index.php?t-10868.html

    Stu

    • admin says:

      Hello Stu.

      I’m having quite some success with Openwrt on a couple of MIPs-based devices at the moment, but as I’m not a Linux guy it’s proving quite an uphill struggle for me! I have some code already that streams the full FCD+ I/Q bandwidth over UDP, and either wired or wireless connections. It’s a work in progress at the moment.

      Many thanks, Howard

  11. Stu says:

    Hi Howard,
    That sounds extremely interesting as I spend probably 20hours a day within ten feet of running MIPS based devices and FCD+.
    Finding I could hook up the two would be superb if the MIPS was up to it. Understood on the Linux, it’s all beyond me so considering the amount of calls on your time I won’t be chasing.
    Could see it becoming a real market considering how many MIPS devices are around and the processing power they now have.
    Cheers
    Stu