I would like to compile the realtime kernel for raspberry pi (https://github.com/emlid/linux-rt-rpi) and want to use the pi with a soundcard - the tascam us122l.

The problem that I have is the compilation of the us122l module requires X86 to be selected, although I suspect that this is a kernel fudge, in that I know the code of the driver and it is no different from any of the other soundcard drivers from snd_usb*. I am going to ask the alsa dev team but I want to compile the kernel now.

Is there any way to edit the kernel source scripts to change the requirements for this module?

│ Symbol: SND_USB_US122L [=n]

|Type : tristate │
│ Prompt: Tascam US-122L USB driver │
│ Location: │
│ -> Device Drivers │
│ -> Sound card support (SOUND [=y]) │
│ -> Advanced Linux Sound Architecture (SND [=m]) │
│ (1) -> USB sound devices (SND_USB [=y]) │
│ Defined at sound/usb/Kconfig:92 │
│ Depends on: SOUND [=y] && !M68K && !UML && SND [=m] && SND_USB [=y] && USB [=y] && X86 --- Here is the problem

│ Selects: SND_HWDEP [=m] && SND_RAWMIDI [=m]

1 Answer 1


Hi please follow following steps to compile driver as module for arm architecture.

  1. Cross-compiling the rt kernel on Linux

    Export the following variables to specify cross-compilation options:

    export ARCH=arm
    export CROSS_COMPILE=~/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf- raspbian/bin/arm-linux-gnueabihf-
    make bcmrpi_rt_defconfig
  2. Compile the kernel:

    make -j5
  3. Edit Makefile present at sound/usb folder.


snd-usb-audio-objs :=   card.o \
                        clock.o \
                        endpoint.o \
                        format.o \
                        helper.o \
                        mixer.o \
                        mixer_quirks.o \
                        pcm.o \
                        proc.o \
                        quirks.o \

snd-usbmidi-lib-objs := midi.o

# Toplevel Module Dependency
obj-m += snd-usb-audio.o snd-usbmidi-lib.o

obj-m += snd-usbmidi-lib.o
obj-m += snd-usbmidi-lib.o
obj-m += snd-usbmidi-lib.o

obj-m += misc/ usx2y/ caiaq/ 6fire/ hiface/ bcd2000/
  1. Compile driver as module

     make modules M=sound/usb

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.