Page 2 of 11 FirstFirst 1234 ... LastLast
Results 11 to 20 of 105

Thread: How to stream mp3 to an airport express using only open source

  1. #11
    Join Date
    Jan 2008
    Beans
    4
    Distro
    Ubuntu 7.10 Gutsy Gibbon

    Re: How to stream mp3 to an airport express using only open source

    Pardon me, but I'm a bit of a Linux newb. I followed your directions exactly and I get the following when I run the start_airport_express script

    DBG: Audio-Jack-Status: connected; type=analog
    DBG: CSeq: 2
    DBG: Session: 809E3B40
    DBG: Transport: RTP/AVP/TCP;unicast;interleaved=0-1;mode=record;server_port=6000
    DBG: Audio-Jack-Status: connected; type=analog
    DBG: CSeq: 3
    DBG: Audio-Jack-Status: connected; type=analog
    DBG: CSeq: 4
    DBG: Audio-Jack-Status: connected; type=analog
    connected
    ERR: errror: auds_open
    Not sure what the problem is.

  2. #12
    Join Date
    Mar 2006
    Location
    San Francisco Bay Area
    Beans
    371
    Distro
    Ubuntu 10.04 Lucid Lynx

    Re: How to stream mp3 to an airport express using only open source

    I'm not sure either. Maybe another computer was connected to your express when you ran it? I think it supports one connection only.

  3. #13
    Join Date
    Aug 2006
    Beans
    2

    Re: How to stream mp3 to an airport express using only open source

    Great thread guys, but I have one addition that will take this a step further.

    After following the second tutorial on this page to install raop_play alsa driver, install pulseaudio (there are plenty of tutorials online). This will let you send the audio of any app to your airport express, not just amorok.

    One change that needs to be done is to add to following line

    load-module module-alsa-sink device=hw:0,1

    to /etc/pulse/default.pa

    If you have any questions feel free to ask.

    Ben

  4. #14
    Join Date
    Jul 2007
    Beans
    37

    Re: How to stream mp3 to an airport express using only open source

    Quote Originally Posted by bensonious View Post
    Great thread guys, but I have one addition that will take this a step further.

    After following the second tutorial on this page to install raop_play alsa driver, install pulseaudio (there are plenty of tutorials online). This will let you send the audio of any app to your airport express, not just amorok.
    Ben
    Thanks, this sounds really cool! With pulseaudio integrated into Hardy hopefully this will be really easy to get to work with rhythmbox.

  5. #15
    Join Date
    Aug 2005
    Beans
    88

    Re: How to stream mp3 to an airport express using only open source

    I use the raop_play alsa driver to stream my flac files to my Benchmark DAC1. It usually works extremely well -- as well as any CD transport! However I've just upgraded to the new development kernel from Hardy "2.6.24-11-generic", and I can no longer load the driver. [Edit: I'm using the 64bit Ubuntu, in case that's important]

    raop_play -- including the essential alsa driver -- compiled and installed after applying the patch to the latest 0.5.1 release.

    When I try to load the driver I get this:

    $ sudo sh driver_start
    FATAL: Error inserting alsa_raoppcm (/lib/modules/2.6.24-11-generic/sound/alsa_raoppcm.ko): Unknown symbol in module, or unknown parameter (see dmesg)
    mknod: missing operand after `0'
    Try `mknod --help' for more information.

    here's the dmesg:

    Code:
    $ dmesg | grep alsa
    [  322.098948] alsa_raoppcm: disagrees about version of symbol snd_pcm_new
    [  322.098950] alsa_raoppcm: Unknown symbol snd_pcm_new
    [  322.098994] alsa_raoppcm: disagrees about version of symbol snd_pcm_lib_preallocate_pages_for_all
    [  322.098995] alsa_raoppcm: Unknown symbol snd_pcm_lib_preallocate_pages_for_all
    [  322.099029] alsa_raoppcm: disagrees about version of symbol snd_pcm_lib_malloc_pages
    [  322.099030] alsa_raoppcm: Unknown symbol snd_pcm_lib_malloc_pages
    [  322.099043] alsa_raoppcm: disagrees about version of symbol snd_pcm_lib_ioctl
    [  322.099043] alsa_raoppcm: Unknown symbol snd_pcm_lib_ioctl
    [  322.099057] alsa_raoppcm: disagrees about version of symbol snd_pcm_lib_free_pages
    [  322.099058] alsa_raoppcm: Unknown symbol snd_pcm_lib_free_pages
    [  322.099071] alsa_raoppcm: disagrees about version of symbol snd_pcm_set_ops
    [  322.099072] alsa_raoppcm: Unknown symbol snd_pcm_set_ops
    [  322.099086] alsa_raoppcm: disagrees about version of symbol snd_pcm_period_elapsed
    [  322.099087] alsa_raoppcm: Unknown symbol snd_pcm_period_elapsed
    [  721.923178] alsa_raoppcm: disagrees about version of symbol snd_pcm_new
    [  721.923181] alsa_raoppcm: Unknown symbol snd_pcm_new
    [  721.923224] alsa_raoppcm: disagrees about version of symbol snd_pcm_lib_preallocate_pages_for_all
    [  721.923225] alsa_raoppcm: Unknown symbol snd_pcm_lib_preallocate_pages_for_all
    [  721.923259] alsa_raoppcm: disagrees about version of symbol snd_pcm_lib_malloc_pages
    [  721.923260] alsa_raoppcm: Unknown symbol snd_pcm_lib_malloc_pages
    [  721.923273] alsa_raoppcm: disagrees about version of symbol snd_pcm_lib_ioctl
    [  721.923274] alsa_raoppcm: Unknown symbol snd_pcm_lib_ioctl
    [  721.923287] alsa_raoppcm: disagrees about version of symbol snd_pcm_lib_free_pages
    [  721.923288] alsa_raoppcm: Unknown symbol snd_pcm_lib_free_pages
    [  721.923301] alsa_raoppcm: disagrees about version of symbol snd_pcm_set_ops
    [  721.923302] alsa_raoppcm: Unknown symbol snd_pcm_set_ops
    [  721.923316] alsa_raoppcm: disagrees about version of symbol snd_pcm_period_elapsed
    [  721.923317] alsa_raoppcm: Unknown symbol snd_pcm_period_elapsed
    And here's all the output from the compile/install:
    Code:
    $ make for i in rendezvous raop_play aexcl; do make -C $i; done make[1]: Entering directory `/home/simon/Desktop/raop_play-0.5.1/rendezvous' gcc -Wall -DNOT_HAVE_SA_LEN -c -o mDNSPosix.o mDNSPosix.c gcc -Wall -DNOT_HAVE_SA_LEN -c -o mDNSUNP.o mDNSUNP.c gcc -Wall -DNOT_HAVE_SA_LEN -c -o ExampleClientApp.o ExampleClientApp.c gcc -Wall -DNOT_HAVE_SA_LEN -c -o mDNS.o mDNS.c gcc -Wall -DNOT_HAVE_SA_LEN -c -o Client.o Client.c Client.c: In function 'main': Client.c:333: warning: format '%ld' expects type 'long int', but argument 4 has type 'mStatus' gcc mDNSPosix.o mDNSUNP.o ExampleClientApp.o mDNS.o Client.o -o mDNSClient make[1]: Leaving directory `/home/simon/Desktop/raop_play-0.5.1/rendezvous' make[1]: Entering directory `/home/simon/Desktop/raop_play-0.5.1/raop_play' gcc -Wall -c raop_play.c -o raop_play.o gcc -Wall -c raop_client.c -o raop_client.o gcc -Wall -c rtsp_client.c -o rtsp_client.o gcc -Wall -c aexcl_lib.c -o aexcl_lib.o gcc -Wall -c base64.c -o base64.o gcc -Wall -c aes.c -o aes.o gcc -Wall -c m4a_stream.c -o m4a_stream.o gcc -Wall -c audio_stream.c -o audio_stream.o gcc -Wall -c wav_stream.c -o wav_stream.o gcc -Wall -c mp3_stream.c -o mp3_stream.o gcc -Wall -c flac_stream.c -o flac_stream.o gcc -Wall -c ogg_stream.c -o ogg_stream.o gcc -Wall -c aac_stream.c -o aac_stream.o gcc -Wall -c pls_stream.c -o pls_stream.o gcc -Wall -c pcm_stream.c -o pcm_stream.o gcc -o raop_play -lssl -lsamplerate -lid3tag raop_play.o raop_client.o rtsp_client.o aexcl_lib.o base64.o aes.o m4a_stream.o audio_stream.o wav_stream.o mp3_stream.o flac_stream.o ogg_stream.o aac_stream.o pls_stream.o pcm_stream.o make[1]: Leaving directory `/home/simon/Desktop/raop_play-0.5.1/raop_play' make[1]: Entering directory `/home/simon/Desktop/raop_play-0.5.1/aexcl' fluid -c aexcl_gui.fl g++ -Wall -D_GNU_SOURCE -I../raop_play -I../rendezvous -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -c aexcl_gui.cxx g++ -Wall -D_GNU_SOURCE -I../raop_play -I../rendezvous -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -c aexcl_play.cxx aexcl_play.cxx: In function 'int play_next_song()': aexcl_play.cxx:154: warning: deprecated conversion from string constant to 'char*' aexcl_play.cxx: In function 'int aex_contplay()': aexcl_play.cxx:311: warning: deprecated conversion from string constant to 'char*' aexcl_play.cxx: In function 'int aex_pause()': aexcl_play.cxx:341: warning: deprecated conversion from string constant to 'char*' aexcl_play.cxx: In function 'int main(int, char**)': aexcl_play.cxx:436: warning: deprecated conversion from string constant to 'char*' aexcl_play.cxx:436: warning: deprecated conversion from string constant to 'char*' aexcl_play.cxx:436: warning: deprecated conversion from string constant to 'char*' aexcl_play.cxx:437: warning: deprecated conversion from string constant to 'char*' g++ -Wall -D_GNU_SOURCE -I../raop_play -I../rendezvous -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -c ipod_browser.cxx gcc -Wall -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I../raop_play -DGLIB_SUBST -c ipod/itunesdb.c -o ipod/itunesdb.o gcc -Wall -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I../raop_play -DGLIB_SUBST -c -o ipod/glibsubst.o ipod/glibsubst.c g++ -o aexcl_play aexcl_gui.o aexcl_play.o ipod_browser.o ../raop_play/aexcl_lib.o ipod/itunesdb.o ipod/glibsubst.o -lfltk rm aexcl_gui.cxx make[1]: Leaving directory `/home/simon/Desktop/raop_play-0.5.1/aexcl' $ sudo make install for i in rendezvous raop_play aexcl; do make -C $i install; done make[1]: Entering directory `/home/simon/Desktop/raop_play-0.5.1/rendezvous' /bin/bash ../mkinstalldirs /usr/local/bin/ install -s mDNSClient /usr/local/bin make[1]: Leaving directory `/home/simon/Desktop/raop_play-0.5.1/rendezvous' make[1]: Entering directory `/home/simon/Desktop/raop_play-0.5.1/raop_play' /bin/bash ../mkinstalldirs /usr/local/bin/ install -s raop_play /usr/local/bin make[1]: Leaving directory `/home/simon/Desktop/raop_play-0.5.1/raop_play' make[1]: Entering directory `/home/simon/Desktop/raop_play-0.5.1/aexcl' /bin/bash ../mkinstalldirs /usr/local/bin/ install -s aexcl_play /usr/local/bin make[1]: Leaving directory `/home/simon/Desktop/raop_play-0.5.1/aexcl'
    And now the alsa driver:
    $ make make -C /lib/modules/2.6.24-11-generic/build SUBDIRS=/home/simon/Desktop/raop_play-0.5.1/drivers modules make[1]: Entering directory `/usr/src/linux-headers-2.6.24-11-generic' Building modules, stage 2. MODPOST 1 modules make[1]: Leaving directory `/usr/src/linux-headers-2.6.24-11-generic' simon@aristurtle:~/Desktop/raop_play-0.5.1/drivers$ sudo make install install -d /lib/modules/2.6.24-11-generic/sound cp -f alsa_raoppcm.ko /lib/modules/2.6.24-11-generic/sound || exit 1 strip -g /lib/modules/2.6.24-11-generic/sound/alsa_raoppcm.ko || exit 1 depmod simon@aristurtle:~/Desktop/raop_play-0.5.1/drivers$
    In case it's relevant, here are the kernel related packages I have installed:

    Code:
    $ apt-cache search 2.6.24
    linux-image-2.6.24-11-generic - Linux kernel image for version 2.6.24 on x86/x86_64
    linux-restricted-modules-2.6.24-8-generic - Non-free Linux 2.6.24 modules on x86/x86_64
    linux-restricted-modules-common - Non-free Linux 2.6.24 modules helper script
    linux-source-2.6.24 - Linux kernel source for version 2.6.24 with Ubuntu patches
    linux-restricted-modules-2.6.24-11-generic - Non-free Linux 2.6.24 modules on x86/x86_64
    linux-ubuntu-modules-2.6.24-11-generic - Ubuntu supplied Linux modules for version 2.6.24 on x86/x86_64
    linux-headers-2.6.24-11-generic - Linux kernel headers for version 2.6.24 on x86/x86_64
    linux-image-2.6.24-8-generic - Linux kernel image for version 2.6.24 on x86/x86_64
    linux-headers-2.6.24-11 - Header files related to Linux kernel version 2.6.24
    linux-ubuntu-modules-2.6.24-8-generic - Ubuntu supplied Linux modules for version 2.6.24 on x86/x86_64
    Any help will be *really* appreciated (I have my new Sonus Faber speakers coming tomorrow and I'd really like to test them out!)


    Thanks!

    Simon
    Last edited by simoncullen; March 3rd, 2008 at 05:47 AM.

  6. #16
    Join Date
    Mar 2006
    Location
    San Francisco Bay Area
    Beans
    371
    Distro
    Ubuntu 10.04 Lucid Lynx

    Re: How to stream mp3 to an airport express using only open source

    This no longer works on Hardy (Beta)

    I get these warnings during the build:
    Code:
    WARNING: "snd_pcm_lib_ioctl" [/home/kirby/raop_play-0.5.1/drivers/alsa_raoppcm.ko] undefined!
    WARNING: "snd_pcm_period_elapsed" [/home/kirby/raop_play-0.5.1/drivers/alsa_raoppcm.ko] undefined!
    WARNING: "snd_card_register" [/home/kirby/raop_play-0.5.1/drivers/alsa_raoppcm.ko] undefined!
    WARNING: "snd_pcm_lib_preallocate_pages_for_all" [/home/kirby/raop_play-0.5.1/drivers/alsa_raoppcm.ko] undefined!
    WARNING: "snd_pcm_set_ops" [/home/kirby/raop_play-0.5.1/drivers/alsa_raoppcm.ko] undefined!
    WARNING: "snd_pcm_new" [/home/kirby/raop_play-0.5.1/drivers/alsa_raoppcm.ko] undefined!
    WARNING: "snd_card_new" [/home/kirby/raop_play-0.5.1/drivers/alsa_raoppcm.ko] undefined!
    WARNING: "snd_pcm_lib_malloc_pages" [/home/kirby/raop_play-0.5.1/drivers/alsa_raoppcm.ko] undefined!
    WARNING: "snd_pcm_lib_free_pages" [/home/kirby/raop_play-0.5.1/drivers/alsa_raoppcm.ko] undefined!
    WARNING: "snd_card_free" [/home/kirby/raop_play-0.5.1/drivers/alsa_raoppcm.ko] undefined!
    make[1]: Leaving directory `/usr/src/linux-headers-2.6.24-12-generic'
    after installing, sudo /sbin/modprobe alsa_raoppcm does not return.

    Is this the end of the road for raop_play?

  7. #17
    Join Date
    Jan 2008
    Beans
    34

    Re: How to stream mp3 to an airport express using only open source

    same warnings here, and some errors too:
    during make of raop_play
    make[1]: *** [ipod/glibsubst.o] Error 1
    rm aexcl_gui.cxx
    make[1]: Leaving directory `/home/mtin/Desktop/raop_play-0.5.1/aexcl'
    make: *** [all] Error 2
    during make install
    install -s aexcl_play /usr/local/bin
    install: cannot stat `aexcl_play': No such file or directory
    make[1]: *** [install] Error 1
    make[1]: Leaving directory `/home/mtin/Desktop/raop_play-0.5.1/aexcl'
    make: *** [install] Error 2
    and yeah its not working anymore....if I run the script, i just get
    mtin@mtin-desktop:~$ start_ae
    mknod: missing operand after `0'
    Try `mknod --help' for more information.
    mtin@mtin-desktop:~$
    then, after a few seconds this appears and thats all:
    mtin@mtin-desktop:~$ start_ae
    mknod: missing operand after `0'
    Try `mknod --help' for more information.
    mtin@mtin-desktop:~$ DBG: CSeq: 1
    DBG: Apple-Response: AR/FD3MCvUGYdYToOb1CUT/FjXjXvXbJJQYQqk/UShLQMSz/4frt1mZ1Pn3K1q3JPqivz0JyrGAZ8IyviL2uSoa54BXx7WWscJ deHEh3CqwLdDpmy5XQsEpb0h3LGKy5oj5LAfhauDyo1sDpMKOp NyNva4qVPuZD6054xFej3zgjjJwb2Z2tSqjS/IRKfMB9/bz79zYl6eE6fDXVmyCIoEH0XF9zvTpu0ip8e3Ns9fIYT4ssiCt EohxeWvxWhkcDcQGLve1qQbSBdKTRfW0dXSBfWjjCegL9IUxwa Yjl/Qdnpbcu1PcF/XmcTgPYXLgCQ/qW0XwZiiqvig39hezIzw
    DBG: Audio-Jack-Status: connected; type=analog
    DBG: CSeq: 2
    DBG: Session: 80947B60
    DBG: Transport: RTP/AVP/TCP;unicast;interleaved=0-1;mode=record;server_port=6000
    DBG: Audio-Jack-Status: connected; type=analog
    DBG: CSeq: 3
    DBG: Audio-Jack-Status: connected; type=analog
    DBG: CSeq: 4
    DBG: Audio-Jack-Status: connected; type=analog
    connected
    ERR: errror: auds_open
    so, well.....seems pretty broken...used to work with 7.10 before I upgraded to this damn beta

    can anybody help here?
    and another question, IF it would work again, would it be possible to route the whole system sound to the airport express via pulse audio? so that everything gets played there, expecially rhythmbox!? that would be so great *dream*....

  8. #18
    Join Date
    Mar 2006
    Location
    San Francisco Bay Area
    Beans
    371
    Distro
    Ubuntu 10.04 Lucid Lynx

    Re: How to stream mp3 to an airport express using only open source

    I can compile by making this patch to aexcl/ipod/glibsubst.c:

    Code:
    --- ../raop_play-0.5.1-original/aexcl/ipod/glibsubst.c	2005-12-16 06:17:00.000000000 -0800
    +++ aexcl/ipod/glibsubst.c	2008-03-24 11:31:24.000000000 -0700
    @@ -32,12 +32,12 @@
     #include "aexcl_lib.h"
     
     
    -inline gpointer g_malloc(gulong size)
    +inline gpointer g_malloc(gsize size)
     {
     	return malloc(size);
     }
     
    -inline gpointer g_malloc0(gulong size)
    +inline gpointer g_malloc0(gsize size)
     {
     	gpointer p;
     	if((p=malloc(size))) memset(p,0,size);
    but the bigger problem is that the module still doesn't load.

  9. #19
    Join Date
    Mar 2008
    Location
    Manchester
    Beans
    120
    Distro
    Ubuntu 11.10 Oneiric Ocelot

    Re: How to stream mp3 to an airport express using only open source

    This is the only open source tool I've found to stream audio via wi-fi to the Airport Extreme base station.

    What you can do with this How-to:

    It's pretty basic, you can stream wirelessly single mp3 files or all the files in a given folder to your Airport Express base station (pretty basic AirTunes functionality). Hopefully this will inspire other people to make xmms/amarok/vlc plugins to accomplish more advanced functionalities.

    What you need:
    Mono:
    Code:
    sudo apt-get install mono mono-gmcs
    JustePort.exe: Download JustePort-0.2.tar.gz from http://nanocrew.net/sw/justeport/JustePort-0.2.tar.gz. Extract the contents somewhere, open a terminal, navigate to the folder you just extracted and compile JustePort with mono typing the following command:
    Code:
    mcs -out:JustePort.exe *.cs
    That will make a file named JustePort.exe that you'll have to move to /usr/bin/ to make it available as a shell command:
    Code:
    sudo cp JustePort.exe /usr/bin/

    I've been following the instructions above but get stuck when I try to move the JustePort.exe to the usr/bin/ because apparently I don't have the permission to copy the file into that folder.

    Any help much appreciated

  10. #20
    Join Date
    Aug 2005
    Beans
    88

    Re: How to stream mp3 to an airport express using only open source

    Quote Originally Posted by bzzzzz View Post

    I've been following the instructions above but get stuck when I try to move the JustePort.exe to the usr/bin/ because apparently I don't have the permission to copy the file into that folder.

    Any help much appreciated
    Are you sure your using "sudo"? That should give you adequate permission to copy to the /usr/bin folder.

    Try: sudo -s

    And then just: cp JustePort.exe /usr/bin


    You can run the program without putting it in the /usr/bin directory.

    Just run it with: sudo ./JustePort.exe

Page 2 of 11 FirstFirst 1234 ... LastLast

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •