Closed teteric closed 10 years ago
Hi teteric,
you don't have to compile the whole kernel yourself. It is sufficient If the kernel headers for your current kernel are installed under the /lib/modules directory. With installing the linux-headers package that should be done. Did you issue "make" in the bcd2000 folder?
Those are other modules required by this module. If people compile the whole kernel themselves they have to ensure that these modules are built as well. Else you get an error as I described in the "If it doesn't work" section.
Almost forgot: if you're using Ubuntu (or Debian), using DKMS might be better as it rebuilds the module for you if you install a new kernel.
x@y:~/Desktop/snd-bcd2000$ ls bcd2000.c dkms.conf Makefile README.md
x@y:~/Desktop/snd-bcd2000$ cat Makefile obj-m := snd-bcd2000.o snd-bcd2000-objs := bcd2000.o all: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules clean: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
x@y:~/Desktop/snd-bcd2000$ make make: Nothing to be done for `all'. x@y:~/Desktop/snd-bcd2000$
1) I am using ubuntu.
2)I followed the link you v provided for DKMS, sounded interesting but their dkms.conf is more detailed compared to the one you provided, so I gave up because I don't know if and how I should modify it. MAKE="make -C src/ KERNELDIR=/lib/modules/${kernelver}/build" CLEAN="make -C src/ clean" BUILT_MODULE_NAME=awesome BUILT_MODULE_LOCATION=src/ PACKAGE_NAME=awesome PACKAGE_VERSION=1.1 REMAKE_INITRD=yes
Hm, okay, I have no idea why it doesn't build. It works for me with the commands you listed.
It should work with the dkms.conf I included in the repository.
I have Just find out it should be a tab after all: in the makefile, now it is ok...
Success!
Sofar what I did is manage to make it work without dkms: x@y:~/Desktop/snd-bcd2000$ make x@y:~/Desktop/snd-bcd2000$ sudo insmod snd-usb-bcd2000.ko
x@y:~/Desktop/snd-bcd2000$ dmesg (last line) [ 7242.726532] usbcore: registered new interface driver snd-bcd2000
x@y:~/Desktop/snd-bcd2000$ lsmod Module Size Used by snd_bcd2000 13596 0
then I have pluged the controler and: x@y:~/Desktop/snd-bcd2000$ amidi -l Dir Device Name IO hw:1,0 BCD2000
thanks for your help
Hi Anyc,
I can not make it work, $make: Nothing to be done for 'all' What have I have done sofar: sudo apt-get install build-essential linux-headers-3.11.0-20-generic sudo apt-get install linux-source make and gcc are installed.
Then I have a question as it is the first time for me to compile the kernel: you wrote 'assure that kernel sources are available under: /lib/modules/$(shell uname -r)/build', how can it be done?
An other question: you wrote: 'Dependencies: snd_usbmidi_lib snd_rawmidi' but what exactly should be done ?
Thanks in advance