Page 3 of 5 FirstFirst 12345 LastLast
Results 21 to 30 of 45

Thread: External MIDI and Audigy Platimun eX

  1. #21
    Join Date
    Dec 2009
    Location
    Sydney, Australia
    Beans
    20
    Distro
    Ubuntu Studio 9.10 Karmic Koala

    Re: External MIDI and Audigy Platimun eX

    Support sparse irq numbering (SPARSE_IRQ) [N/y/?] (NEW) --- accepted default!
    Support for DMA Remapping Devices (EXPERIMENTAL) (DMAR) [N/y/?] (NEW) ---- accepted default!
    Mutex debugging: basic checks (DEBUG_MUTEXES) [N/y/?] (NEW) --- accepted default!
    Debug access to per_cpu maps (DEBUG_PER_CPU_MAPS) [N/y/?] (NEW) --- accepted default!

    # configuration written to .config

    scinram@bntstud:/usr/src/linux-source-2.6.31/sound/pci/emu10k1$ ls
    emu10k1.c emu10k1_main.c emu10k1_synth.c emu10k1x.c emumixer.c emupcm.c io.c Makefile p16v.c p17v.h tina2.h emu10k1_callback.c emu10k1_patch.c emu10k1_synth_local.h emufx.c emumpu401.c emuproc.c irq.c memory.c p16v.h timer.c voice.c

    #################

    The bricks are tumbling ... *smile*

  2. #22
    Join Date
    Dec 2009
    Location
    Southeast USA
    Beans
    48
    Distro
    Kubuntu

    Re: External MIDI and Audigy Platimun eX

    Yep, the bricks are tumbling. Let's proceed to the next step. You should be in the directory /usr/src/linux-source-2.6.31/sound/pci/emu10k1, and you should have the file emumpu401.c open in a text editor (kate? nedit? gedit? Your choice). Go to the very end of the file. Some 20 lines above the last line you should find this code:

    int __devinit snd_emu10k1_audigy_midi(struct snd_emu10k1 *emu)
    {
    struct snd_emu10k1_midi *midi;
    int err;


    Further down, the very last lines of the file are:


    return 0;
    }


    This defines the initialization function snd_emu10k1_audigy_midi, and the actual code is within those curly brackets. You need to add two things. First, immediately after the int err; you need another variable. Like this:

    int __devinit snd_emu10k1_audigy_midi(struct snd_emu10k1 *emu)
    {
    struct snd_emu10k1_midi *midi;
    int err;
    unsigned int val;

    And right before the "return 0" goes my new code that pulses the output:

    snd_printk(KERN_ERR "Audigy MPU-401 UARTs intialized\n");
    val = inl(emu->port + A_IOCFG);
    outl (val | A_IOCFG_GPOUT2, emu->port + A_IOCFG);
    udelay(10);
    outl (val, emu->port + A_IOCFG);
    snd_printk(KERN_ERR "Audigy MPU-401: Tricitys Trick - UART enabled\n");

    return 0;
    }

    Note that the two "snd_printk" statements are not absolutely necessary. However, you can later look at /var/log/kern.log and verify that the changes have executed correctly.

    Save the file. Now, in this directory type the following commands (make sure that you get the quotes right!):

    $ make -C /usr/src/linux-headers-`uname -r` M=`pwd` modules
    $ sudo make -C /usr/src/linux-headers-`uname -r` M=`pwd` modules_install
    $ sudo depmod -a
    $ ls

    The last "ls" should show you that a number of new files have been created: a number of files that end with .o, such as emumpu401.o and - most importantly - snd-emu10k1.ko, which is the actual kernel module.

    Furthermore, if you do

    $ ls /lib/modules/`uname -r`/extra

    you should see three new modules: snd-emu10k1.ko snd-emu10k1-synth.ko snd-emu10k1x.ko

    Almost ready. We need to disable the old module (and at the same time keep it for possible recovery):

    $ cd /lib/modules/`uname -r`/kernel/sound/pci/emu10k1/
    $ ls

    Here, you should see the same modules. Now do

    $ sudo mv snd-emu10k1.ko snd-emu10k1.ko.original

    Perhaps a

    $ sudo depmod -a

    would not hurt at this point. You have disabled the old snd-emu10k1 module by renaming it in such a way that it no longer ends in .ko - the kernel won't load it, but by renaming it to its old name, you'd have your computer restored. Instead, the kernel now finds its snd-emu10k1 module in the "extra" directory. Normally, you could load the new module with modprobe, but it is likely that the emu10k1 won't unload because it is in use. Therefore

    reboot. (yuck. This is Windows style)

    Once your computer is back up, open a command-line terminal and type

    $ dmesg

    Somewhere in the mess, you should see these gems:

    [ 6.147313] EMU10K1_Audigy 0000:03:06.0: PCI INT A -> GSI 21 (level, low) -> IRQ 21
    [ 6.153762] Installing spdif_bug patch: SB Audigy 2 [SB0350b]
    [ 6.177207] Audigy MPU-401 UARTs intialized
    [ 6.177302] Audigy MPU-401: Tricitys Trick - UART enabled


    Try it. Your MIDI-IN should work at this time.
    Last edited by Tricity; December 19th, 2009 at 04:38 AM. Reason: Typo

  3. #23
    Join Date
    Dec 2009
    Location
    Sydney, Australia
    Beans
    20
    Distro
    Ubuntu Studio 9.10 Karmic Koala

    Re: External MIDI and Audigy Platimun eX

    Quote Originally Posted by Tricity View Post
    Yep, the bricks are tumbling. Let's proceed to the next step.
    <clip>
    $ make -C /usr/src/linux-headers-`uname -r` M=`pwd` modules
    $ sudo make -C /usr/src/linux-headers-`uname -r` M=`pwd` modules_install
    $ sudo depmod -a
    $ ls

    The last "ls" should show you that a number of new files have been created: a number of files that end with .o, such as emumpu401.o and - most importantly - snd-emu10k1.ko, which is the actual kernel module.
    I do not see the kernel module file [snd-emu10k1.ko] ???? I copied and pasted the shell command lines above, so typo can be ruled out???

    Here is my output:

    scinram@bntstud:/usr/src/linux-source-2.6.31/sound/pci/emu10k1$ ls
    emu10k1.c emu10k1_main.c emu10k1_patch.c emu10k1_synth_local.h emufx.c emupcm.c irq.c memory.c p16v.h tina2.h
    emu10k1_callback.c emu10k1_main.o emu10k1_patch.o emu10k1_synth.o emumixer.c emuproc.c irq.o memory.o p17v.h voice.c
    emu10k1_callback.o emu10k1.o emu10k1_synth.c emu10k1x.c emumpu401.c io.c Makefile p16v.c timer.c voice.o


    Furthermore, if you do

    $ ls /lib/modules/`uname -r`/extra

    you should see three new modules: snd-emu10k1.ko snd-emu10k1-synth.ko snd-emu10k1x.ko
    'uname -r'/extra is MT!!

    scinram@bntstud:/lib/modules/2.6.31-9-rt/extra$ ls
    scinram@bntstud:/lib/modules/2.6.31-9-rt/extra$


    I have halted proceedings at this point ... until we address anomalies above...


    SC

  4. #24
    Join Date
    Dec 2009
    Location
    Southeast USA
    Beans
    48
    Distro
    Kubuntu

    Re: External MIDI and Audigy Platimun eX

    OK, it did not compile. Please repeat this step:

    $ make -C /usr/src/linux-headers-`uname -r` M=`pwd` modules

    and paste (post) the output.

  5. #25
    Join Date
    Dec 2009
    Location
    Sydney, Australia
    Beans
    20
    Distro
    Ubuntu Studio 9.10 Karmic Koala

    Re: External MIDI and Audigy Platimun eX

    Quote Originally Posted by Tricity View Post
    OK, it did not compile. Please repeat this step:

    $ make -C /usr/src/linux-headers-`uname -r` M=`pwd` modules

    and paste (post) the output.
    scinram@bntstud:~$ make -C /usr/src/linux-headers-`uname -r` M=`pwd` modules
    make: Entering directory `/usr/src/linux-headers-2.6.31-9-rt'
    scripts/Makefile.build:44: /home/scinram/Makefile: No such file or directory
    make[1]: *** No rule to make target `/home/scinram/Makefile'. Stop.
    make: *** [_module_/home/scinram] Error 2
    make: Leaving directory `/usr/src/linux-headers-2.6.31-9-rt'
    scinram@bntstud:~$

  6. #26
    Join Date
    Dec 2009
    Location
    Southeast USA
    Beans
    48
    Distro
    Kubuntu

    Re: External MIDI and Audigy Platimun eX

    Ah. There _was_ one step missing. You need to partly compile the kernel so that the individual makefiles are created. You already accomplished the "make oldconfig", so now cd to the soruce base directory, then start compiling the kernel:

    $ cd /usr/src/linux-source-2.6.31
    $ make

    This will take hours to complete. If you have multiple cores, you can speed it up with make -j 4 (for a quad-core). I am not sure when all files have been generated, so it might be worth letting the make process run through to the end. Then go back to the emu10k1 directory and repeat the make - make - depmod sequence.
    Last edited by Tricity; December 19th, 2009 at 05:12 AM. Reason: Correction of details

  7. #27
    Join Date
    Dec 2009
    Location
    Sydney, Australia
    Beans
    20
    Distro
    Ubuntu Studio 9.10 Karmic Koala

    Re: External MIDI and Audigy Platimun eX

    Quote Originally Posted by Tricity View Post
    <clip>This will take hours to complete.<clip>
    Its on its way ...!!

  8. #28
    Join Date
    Dec 2009
    Location
    Southeast USA
    Beans
    48
    Distro
    Kubuntu

    Re: External MIDI and Audigy Platimun eX

    Addendum:

    Quote Originally Posted by scinram View Post
    scinram@bntstud:~$ make -C /usr/src/linux-headers-`uname -r` M=`pwd` modules
    Why are you in your home directory and not in /usr/src/linux-source-2.6.31/sound/pci/emu10k1 ?

    When you type the commands to make the module, you MUST be in that directory, so do

    $ cd /usr/src/linux-source-2.6.31/sound/pci/emu10k1

    beforehand.

  9. #29
    Join Date
    Dec 2009
    Location
    Sydney, Australia
    Beans
    20
    Distro
    Ubuntu Studio 9.10 Karmic Koala

    Re: External MIDI and Audigy Platimun eX

    The 'Makefile' is there ..... do i continue or halt the script??

    -rw-r--r-- 1 scinram root 516 2009-09-10 08:13 Makefile

  10. #30
    Join Date
    Dec 2009
    Location
    Sydney, Australia
    Beans
    20
    Distro
    Ubuntu Studio 9.10 Karmic Koala

    Re: External MIDI and Audigy Platimun eX

    Quote Originally Posted by Tricity View Post
    Addendum:



    Why are you in your home directory and not in /usr/src/linux-source-2.6.31/sound/pci/emu10k1 ?

    When you type the commands to make the module, you MUST be in that directory, so do

    $ cd /usr/src/linux-source-2.6.31/sound/pci/emu10k1

    beforehand.

    OK ... sorry bout that ... here is tthe output from emu10k1 directory

    #######

    scinram@bntstud:/usr/src/linux-source-2.6.31/sound/pci/emu10k1$ make -C /usr/src/linux-headers-`uname -r` M=`pwd` modules
    make: Entering directory `/usr/src/linux-headers-2.6.31-9-rt'
    CC [M] /usr/src/linux-source-2.6.31/sound/pci/emu10k1/emumpu401.o
    /usr/src/linux-source-2.6.31/sound/pci/emu10k1/emumpu401.c:373:3: error: invalid preprocessing directive #Following
    /usr/src/linux-source-2.6.31/sound/pci/emu10k1/emumpu401.c:400:4: error: invalid preprocessing directive #Following
    make[1]: *** [/usr/src/linux-source-2.6.31/sound/pci/emu10k1/emumpu401.o] Error 1
    make: *** [_module_/usr/src/linux-source-2.6.31/sound/pci/emu10k1] Error 2
    make: Leaving directory `/usr/src/linux-headers-2.6.31-9-rt'
    scinram@bntstud:/usr/src/linux-source-2.6.31/sound/pci/emu10k1$

    ###########

    ... but the 'make' process is still running ... should i halt it???

Page 3 of 5 FirstFirst 12345 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
  •