FedoraForum.org - Fedora Support Forums and Community
Results 1 to 3 of 3
  1. #1
    Join Date
    Mar 2005
    Location
    Brisbane, Australia
    Age
    46
    Posts
    271

    How to specify module for sound card?

    How to specify module for sound card?

    I have a Asus Essence ST (PCI) sound card that is using the wrong driver / module in Fedora 25. The card detects in lspci but is using a different driver to my Asus Essence STX (pci-e) card that is using the Virtuoso driver.

    The card using the Virtuoso driver works.

    The card using the Oxygen driver doesn't work.

    The PCI Essence ST Card always defaults to the Oxygen Driver. The PCIe Essence STX card always defaults to the Virtuoso driver which does work.

    My lspci -v

    03:06.0 Multimedia audio controller: C-Media Electronics Inc CMI8788 [Oxygen HD Audio]
    Subsystem: C-Media Electronics Inc CMI8787-HG2PCI
    Flags: bus master, medium devsel, latency 32, IRQ 20, NUMA node 0
    I/O ports at ce00 [size=256]
    Capabilities: [c0] Power Management version 2
    Kernel driver in use: snd_oxygen
    Kernel modules: snd_oxygen
    As per MJMWired, the Xonar ST should be using the Virtuoso module.

    How can I force the Asus Essences ST to use the Virtuoso driver? It keeps defaulting to the Oxygen driver which only supports the Asus Xonar DG and DGX.

    The change in driver seemed to occur around Fedora 23 but I'm not sure which kernel I was using. In any case, my $220 dollar sound card doesn't work because of this change in driver association.

    Suggestions appreciated. Hand holding preferred... ie: Cut and paste commands in a terminal
    Last edited by synic; 27th December 2016 at 12:29 AM.

  2. #2
    Join Date
    Oct 2006
    Location
    CN99CF Agassiz BC Canada
    Posts
    369

    Re: How to specify module for sound card?

    Well, I was on a heck of a roll, until I re-read this post from my linux box and suddenly realized I was describing a totally different approach than that required.

    The following describes an approach with a USB device.

    What this appeal for help requires is an approach for a PCI-connected device.

    Is there anyone on the forum that can assist?

    TIA
    Jim

    -----

    I suspect you can achieve an association with a specific driver for your card by using a udev rule. The man page for udev describes creating such an association.

    I have a PL2303 USB<-->Serial adapter and was having major issues with it and Modem Manager. MM was probing the device and making it unusable for my purposes.

    Creating a udev rule (/etc/udev/rules.d/98-usb-serial.rules) solved my problem.

    As you can see from the rule I created, I had quite a time achieving exactly what I required -- note the various comments over time with the evolving incantations I had changed a number of amateur radio networking software components over time, but still needed the USB<-->Serial adapter to be operational.

    Code:
    #Device #1 - Generic 1-port USB to serial adapter (Prolific-based) for a PacComm TNC
    
    # 2013.01.26 testing remove RUN+= to see if this will eliminate systemd wait timeout error on paccommtnc on unplug / replug and rely on systemd to restart
    # does not work without RUN+= but this will still cause a timeout error on paccommtnc on unplug / replug
    #
    # 2013.10.11 removed run statement entirely.  I had it pointed at a hotplug wrapper that didn't exist and was receiving warnings in the log
    # therefore, the logic is that it should set things correctly and make them available to the VM running TNOS because of the selinux specfic use
    # VM specific instance of instance :c5,c923 is in the rules to affect all /dev/ttyUSB[0-9]+
    
    #SUBSYSTEM=="tty", ATTRS{idVendor}=="067b", ATTRS{idProduct}=="2303", SYMLINK+="paccommtnc", TAG+="systemd"
    #SUBSYSTEM=="tty", ATTRS{idVendor}=="067b", ATTRS{idProduct}=="2303", SYMLINK+="paccommtnc", TAG+="systemd", RUN+="kissattach /dev/paccommtnc lan &"
    #SUBSYSTEM=="tty", ATTRS{idVendor}=="067b", ATTRS{idProduct}=="2303", SYMLINK+="paccommtnc", TAG+="systemd", RUN+="/bin/systemctl restart autologin@tty8.service &"
    
    SUBSYSTEM=="tty", ATTRS{idVendor}=="067b", ATTRS{idProduct}=="2303", SYMLINK+="paccommtnc", TAG+="systemd"
    
    # keep modem manager from probing this device
    ACTION=="add|change", SUBSYSTEM=="usb",\
        ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="067b",\
        ATTRS{idProduct}=="2303",\
        ENV{ID_MM_DEVICE_IGNORE}="1"
    From what I read in the udev man page, you should be able to create a rule for your card and associate a device driver with it. Essentially, you would replace my non commented stanzas first with a stanza that describes your card (device). Then you would add an action (in place of mine) that does the device driver association.

    You would name this rule with something meaningful for the name and set the leading numeric part of the name to where you want this rule to take place (udev rules are invoked in name alpha order).

    I wish you best of luck and will assist as best I can on a going-forward basis. I think I have described a reasonable pathway for your purposes, but I have not used this pathway for your specific purpose of associating a device driver. In my case, I was able to comfortably use the 'stock' pl2303 driver and did not need to override it with another.
    Last edited by jims; 27th December 2016 at 05:30 AM.
    -----
    f25 x86_64 SMP AMD Athlon(tm) 64 X2 Dual Core Processor 4800+ 2

  3. #3
    Join Date
    Mar 2005
    Location
    Brisbane, Australia
    Age
    46
    Posts
    271

    Re: How to specify module for sound card?

    Would it not be easier to blacklist the Oxygen driver from loading in favour of the Virtuoso driver?

    I wish to use the Xonar Essence ST exclusively.

Similar Threads

  1. Replies: 1
    Last Post: 7th December 2016, 05:13 AM
  2. Replies: 24
    Last Post: 1st June 2010, 12:35 AM

Tags for this Thread

Posting Permissions

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