usb audio interface not recognized by alsa

5,021

I have a 2i4 as well, it works on computers with proper USB2 performance, it doesn't work on my ThinkPad T41 because the T41 USB2 performance is not very good (seems to be a fault on some T41s).

[14973.155287] usb 3-2: new full-speed USB device number 7 using ohci-pci
[14973.355783] usb 3-2: not running at top speed; connect to a high speed hub

Your dmesg printout shows that the 2i4 is not connected to high-speed USB2. Fix that and it will work (Replug it to a USB2 port).

Share:
5,021

Related videos on Youtube

user383847
Author by

user383847

Updated on September 18, 2022

Comments

  • user383847
    user383847 almost 2 years

    after reading a lot of recommendations I finally bought a Focusrite Scarlett 2i4 and installed ubuntu studio. I am running Ubuntu 14.04 on a amd64 desktop.

    $ uname -rvi
    3.13.0-46-generic #76-Ubuntu SMP Thu Feb 26 18:52:13 UTC 2015 x86_64
    

    When pugging it in, the device it is recognized by the kernel.

    $ dmesg
    ...
    [14973.155287] usb 3-2: new full-speed USB device number 7 using ohci-pci
    [14973.355783] usb 3-2: not running at top speed; connect to a high speed hub
    [14973.370772] usb 3-2: New USB device found, idVendor=1235, idProduct=800a
    [14973.370784] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
    [14973.370791] usb 3-2: Product: Scarlett 2i4 USB
    [14973.370797] usb 3-2: Manufacturer: Focusrite
    ...
    
    $ lsusb -v
    ...
    Bus 003 Device 007: ID 1235:800a Focusrite-Novation Scarlett 2i4
    Couldn't open device, some information will be missing
    Device Descriptor:
      bLength                18
      bDescriptorType         1
      bcdUSB               2.00
      bDeviceClass            0 (Defined at Interface level)
      bDeviceSubClass         0 
      bDeviceProtocol         0 
      bMaxPacketSize0        64
      idVendor           0x1235 Focusrite-Novation
      idProduct          0x800a Scarlett 2i4
      bcdDevice            1.25
      iManufacturer           1 
      iProduct                2 
      iSerial                 0 
      bNumConfigurations      1
      Configuration Descriptor:
        bLength                 9
        bDescriptorType         2
        wTotalLength           18
        bNumInterfaces          1
        bConfigurationValue     1
        iConfiguration          0 
        bmAttributes         0x80
          (Bus Powered)
        MaxPower              500mA
        Interface Descriptor:
          bLength                 9
          bDescriptorType         4
          bInterfaceNumber        0
          bAlternateSetting       0
          bNumEndpoints           0
          bInterfaceClass         0 (Defined at Interface level)
          bInterfaceSubClass      0 
          bInterfaceProtocol      0 
          iInterface              0 
    ...
    

    But it can't be seen as an audio device and therefore is not recognized by alsa.

    $ cat /proc/asound/cards
     0 [NVidia         ]: HDA-Intel - HDA NVidia
                          HDA NVidia at 0xfbe78000 irq 21
     1 [HDMI           ]: HDA-Intel - HDA ATI HDMI
                          HDA ATI HDMI at 0xfbffc000 irq 41
    
    $ aplay -l
    **** List of PLAYBACK Hardware Devices ****
    card 0: NVidia [HDA NVidia], device 0: VT1708S Analog [VT1708S Analog]
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    card 0: NVidia [HDA NVidia], device 3: VT1708S Digital [VT1708S Digital]
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    card 0: NVidia [HDA NVidia], device 7: HDMI 0 [HDMI 0]
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    card 1: HDMI [HDA ATI HDMI], device 3: HDMI 0 [HDMI 0]
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    

    Since the device couldn't be opened altering the /etc/modprobe.d/alsa-base.conf didn't help and creating a ~/.asoundrc file was useless.

    $ cat /etc/modprobe.d/alsa-base.conf 
    # autoloader aliases
    install sound-slot-0 /sbin/modprobe snd-card-0
    install sound-slot-1 /sbin/modprobe snd-card-1
    install sound-slot-2 /sbin/modprobe snd-card-2
    install sound-slot-3 /sbin/modprobe snd-card-3
    install sound-slot-4 /sbin/modprobe snd-card-4
    install sound-slot-5 /sbin/modprobe snd-card-5
    install sound-slot-6 /sbin/modprobe snd-card-6
    install sound-slot-7 /sbin/modprobe snd-card-7
    
    # Cause optional modules to be loaded above generic modules
    install snd /sbin/modprobe --ignore-install snd $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-ioctl32 ; /sbin/modprobe --quiet --use-blacklist snd-seq ; }
    #
    # Workaround at bug #499695 (reverted in Ubuntu see LP #319505)
    install snd-pcm /sbin/modprobe --ignore-install snd-pcm $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-pcm-oss ; : ; }
    install snd-mixer /sbin/modprobe --ignore-install snd-mixer $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-mixer-oss ; : ; }
    install snd-seq /sbin/modprobe --ignore-install snd-seq $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-seq-midi ; /sbin/modprobe --quiet --use-blacklist snd-seq-oss ; : ; }
    #
    install snd-rawmidi /sbin/modprobe --ignore-install snd-rawmidi $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-seq-midi ; : ; }
    # Cause optional modules to be loaded above sound card driver modules
    install snd-emu10k1 /sbin/modprobe --ignore-install snd-emu10k1 $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-emu10k1-synth ; }
    install snd-via82xx /sbin/modprobe --ignore-install snd-via82xx $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-seq ; }
    
    # Load saa7134-alsa instead of saa7134 (which gets dragged in by it anyway)
    install saa7134 /sbin/modprobe --ignore-install saa7134 $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist saa7134-alsa ; : ; }
    # Prevent abnormal drivers from grabbing index 0
    options bt87x index=-2
    options cx88_alsa index=-2
    options saa7134-alsa index=-2
    options snd-atiixp-modem index=-2
    options snd-intel8x0m index=-2
    options snd-via82xx-modem index=-2
    #options snd-usb-audio index=-2
    options snd-usb-audio index=2
    options snd-usb-caiaq index=-2
    options snd-usb-ua101 index=-2
    options snd-usb-us122l index=-2
    options snd-usb-usx2y index=-2
    # Ubuntu #62691, enable MPU for snd-cmipci
    options snd-cmipci mpu_port=0x330 fm_port=0x388
    # Keep snd-pcsp from being loaded as first soundcard
    options snd-pcsp index=-2
    # Keep snd-usb-audio from beeing loaded as first soundcard
    #options snd-usb-audio index=-2
    #Focusrite Scarlett 2i4 to hw:2
    options snd-usb-audio index=2 vid=0x1235 pid=0x800a
    
    $ cat .asoundrc 
           pcm.usb-audio {
              type hw
              card 2
           }
    
           ctl.usb-audio {
              type hw
              card 2
           }
    

    Loading the snd-usb-audio module and reloading alsa by hand (sudo modprobe snd-usb-audio && sudo alsa force-reload) doesn't help. Is there a way to get the Focusrite Scarlett 2i4 to be opened by the usb drivers and recognized by alsa?

    When I plug it in to my old laptop (ubuntu 14.04 i686) without ubuntu-studio and jack using the default alsa-base.conf it can be opened, is recognized as audio device and then by alsa, and the snd-usb-audio module is loaded, but there are no controls. I am at the end of my knowledge.

    • user.dz
      user.dz about 8 years
      It is a USB2 device and you have connected it to USB1 port!!! new full-speed USB device... ohci-pci means USB1, not running at top speed; connect to a high speed hub mean needs to be connected to USB2 (high-speed). Check lsusb -t and change the port.