 |
 |
 |
 |
| Installation and Live Media Help with Installation & Live Media (Live CD, USB, DVD) problems. |

25th June 2007, 05:26 AM
|
|
Registered User
|
|
Join Date: Jun 2007
Posts: 16

|
|
|
Trying to compile the 'lm' part of the GATOS driver.
I've been trying to compile this module forever. It's the 'lm' part of the gatos driver. When I try to run the makefile, it gives me this error:
include/linux/pci.h: In function ‘pci_register_driver’:
include/linux/pci.h:595: error: ‘KBUILD_MODNAME’ undeclared
here is the makefile:
######### makefile #########
ifneq ($(KERNELRELEASE),)
KM_OBJS=km.o km_v4l.o km_memory.o radeon.o mach64.o rage128.o
KM_API_OBJS=km_api.o km_api_data.o km_memory.o
km_drv-objs := ${KM_OBJS}
km_api_drv-objs := ${KM_API_OBJS}
obj-m += km_drv.o
obj-m += km_api_drv.o
EXTRA_CFLAGS += -DLINUX_2_6
else
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
all:
$(MAKE) -C $(KDIR) M=$(PWD) modules
clean:
$(MAKE) -C $(KDIR) M=$(PWD) clean
install:
$(MAKE) -C $(KDIR) M=$(PWD) modules_install
######### end of makefile #########
Here is the output of 'make V=1'
make -f scripts/Makefile.build obj=/root/Desktop/km
gcc -m32 -Wp,-MD,/root/Desktop/km/.km_memory.o.d -nostdinc -isystem /usr/lib/gcc/i386-redhat-linux/4.1.2/include -D__KERNEL__ -Iinclude -include include/linux/autoconf.h -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Os -pipe -msoft-float -mregparm=3 -freg-struct-return -mpreferred-stack-boundary=2 -march=i686 -mtune=generic -mtune=generic -ffreestanding -maccumulate-outgoing-args -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -Iinclude/asm-i386/mach-generic -Iinclude/asm-i386/mach-default -fomit-frame-pointer -g -fno-stack-protector -Wdeclaration-after-statement -Wno-pointer-sign -DLINUX_2_6 -DMODULE -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(km_memory)" -c -o /root/Desktop/km/.tmp_km_memory.o /root/Desktop/km/km_memory.c
I thought the 'obj-m +=' declared the KBUILD_MODNAME varable, but I really don't understand this kbuild stuff. I'm running fedora core 7 (2.6.21). Thanks for readin
|

25th June 2007, 06:51 AM
|
 |
Registered User
|
|
Join Date: Apr 2006
Location: Ohio, USA
Posts: 8,300

|
|
I'm not sure myself, except KBUILD_MODNAME is newly introduced to the Linux kernel. It wasn't in 2.6.18 but it is in 2.6.21.
Make sure you've installed the 'kernel-devel' package.
This term KBUILD_MODNAME appears in the 2.6.21 kernel in include files and appears to equate to
the module name (duh!). I would have thought it would be defined when Makefile.build includes
Makefile.lib, but apparently not in your case.
Try revising the Makefile by adding this line .....
after the "else" line.
I*think* km_drv.ko is the .ko name but adjust if I have it wrong.
Then I do this I get ... the following defines in the gcc compile
-DMODULE -D"KBUILD_STR(s)=\#s" -D"KBUILD_BASENAME=KBUILD_STR(km_drv)" -D"KBUILD_MODNAME=KBUILD_STR(km_drv)"
|

25th June 2007, 06:53 AM
|
 |
Registered User
|
|
Join Date: Apr 2006
Location: Ohio, USA
Posts: 8,300

|
|
|
BTW - please post or message me if you get this working. The gatos stuff has apparently been abandoned - tho' it's a lot of code and the only means of using a lot of ATI features.
I find it extremely confusing on the Gatos site to see what is real and what is ancient and what is unfinished. Needs a howto badly.
|

25th June 2007, 10:40 AM
|
|
Registered User
|
|
Join Date: Jun 2007
Posts: 16

|
|
MODULE := km_drv.ko didn't work  But I'm getting some success with putting the line
CFLAGS_km_memory.o = -D"KBUILD_MODNAME=KBUILD_STR(km_memory)"
in. But I don't know what to use in the KBUILD_STR(here) part. Do I use km_memory, km_drv.ko, all generate errors.
Oh yes -- yep, got kernel-devel, and the kernel source (recompiled). I had to to get this far. Thanks for the reply.
|

25th June 2007, 11:04 AM
|
|
Registered User
|
|
Join Date: Jun 2007
Posts: 16

|
|
|
Well, I'm using CFLAGS_km_memory.o = -D"KBUILD_MODNAME=KBUILD_STR(km_memory_drv)", hope that works. Here's the next hurdle, in one of the headers it declares a varable of the type 'poll_table" which I guess was in /linux/spinlock.h at on point in time. Any clue which header file needs to be included?
|

25th June 2007, 11:25 AM
|
|
Registered User
|
|
Join Date: Jun 2007
Posts: 16

|
|
|
Well, hit a brick wall. Apparently, one of the .c files uses the function 'MODULE_PARM' which is not used with kernel 2.6.21. Any ideas?
Here are the lines that need to be replaced:
MODULE_PARM(km_debug, "i");
MODULE_PARM(km_debug_overruns, "i");
MODULE_PARM(km_buffers, "i");
I know MODULE_PARM got replaced with module_param, but the syntax was changed.
Last edited by LinGreg; 25th June 2007 at 08:31 PM.
|

28th June 2007, 04:54 AM
|
|
Registered User
|
|
Join Date: Jun 2007
Posts: 1

|
|
|
I have the same problem in our drivers. Have not tried adding the CFLAGS yet. But will do so. Apparently what is happening (at least with our drivers) is that one module is being compiled several times into different kernel extensions and it is now required to have KBUILD_MODNAME for each and every module or at least that's what I interpreted. I was quite surprised not to find a lot of people with the same problem. Apparently not many people have 2.6.21 yet.
LinGreg, please let me know if you find a solution and will do so too if I come across anything.
Thanks
|

28th June 2007, 05:36 AM
|
|
Registered User
|
|
Join Date: Jun 2007
Posts: 16

|
|
|
The CFLAGS_ seamed to work. I was actually able to compiling it, after a bunch to changes though. I needed to change some of the older headers to the newer ones. Replaced MODULE_PARM function with module_param. The drivers compiled and installed fine, but it didn't recognize my card. I think it wasn't supported. I'm going to make a post with the modified code.
|

28th June 2007, 06:14 AM
|
|
Registered User
|
|
Join Date: Jun 2007
Posts: 16

|
|
|
Got the km part Gatos drivers compiled and installed!
I finally got the km driver (from Gatos) compiled and installed. I got a /proc/km folder, so I think I did something right. But, the driver still won't recognize my card! I think it just isn't supported (on the website it did say the radeon 9600 wasn't supported yet). I had to change to the source code a bit to get it to compile on Fedora core 7. If anyone has a older card, you can try this driver and see if it works (please post your results if you do  ). Here is the modified driver:
http://webfiles.uci.edu/gmartine/km/...odified.tar.gz
You'll need to download and compile of kernel source code. Make two links from /usr/src/linux and /lib/modules/$(uname -r)/build to the directory where your source code is. For me, it was
ln -s /usr/src/redhat/BUILD/kernel-2.6.21/linux-2.6.21.$(uname -m) /usr/src/linux
ln -s /usr/src/redhat/BUILD/kernel-2.6.21/linux-2.6.21.$(uname -m) /lib/modules/$(uname -r)/build
Then in the km directory, run 'make', 'make test', then 'make install'
|

28th June 2007, 11:53 AM
|
 |
Administrator (yeah, back again)
|
|
Join Date: Jul 2004
Location: Colton, NY; Junction of Heaven & Earth (also Routes 56 & 68).
Age: 67
Posts: 21,215

|
|
|
I merged the two threads since anyone looking for solutions in the future would miss info with details in two areas.
__________________
Linux & Beer - That TOTALLY Computes!
Registered Linux User #362651
Don't use any of my solutions on working computers or near small children.
|

7th September 2007, 06:10 AM
|
 |
Registered User
|
|
Join Date: Apr 2006
Location: Ohio, USA
Posts: 8,300

|
|
|
Try a "make V=1 install" and you'll see the build fails to resolve a symbol and the insmod fails too.
It's some pci_.... call that should be a "register module" call.
tried that and still got nowhere.
More to follow as time allows.
|

10th February 2008, 04:41 AM
|
|
Registered User
|
|
Join Date: Feb 2008
Posts: 1

|
|
|
I've been trying to get my ATI AIW Radeon 7500 (yeah, get a supported card, ha) and came across this thread.
I incorporated the symbolic links suggested, but I am still getting an error. The results are below. The error has to do with config.h not being located. Any suggestions for a solution?
Thanks,
Rich
***Code and results below***
# make test
make -C /lib/modules/2.6.22.17-14-bigsmp/build M=/home/ramack/Desktop/gatos/km/km modules
make[1]: Entering directory `/usr/src/linux-2.6.22.17-14-obj/i386/bigsmp'
make -C ../../../linux-2.6.22.17-14 O=../linux-2.6.22.17-14-obj/i386/bigsmp modules
CC [M] /home/ramack/Desktop/gatos/km/km/km_api.o
/home/ramack/Desktop/gatos/km/km/km_api.c:22:26: error: linux/config.h: No such file or directory
make[4]: *** [/home/ramack/Desktop/gatos/km/km/km_api.o] Error 1
make[3]: *** [_module_/home/ramack/Desktop/gatos/km/km] Error 2
make[2]: *** [modules] Error 2
make[1]: *** [modules] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.22.17-14-obj/i386/bigsmp'
make: *** [all] Error 2
|

7th May 2008, 03:50 PM
|
|
Registered User
|
|
Join Date: May 2008
Posts: 1

|
|
I compiled km-0.6.1-modified.tar.gz(LinGreg) and several error ocurred
But some code change and compile well.
First,
ln -s /usr/src/(kernel source directory)/include/linux/autoconf.h \
/usr/src/(kernel source directory)/include/linux/config.h
Second,
km.c line 287,
SA_SHIRQ changed to IRQF_SHARED
Third,
km.c line 645,
printk(KERN_DEBUG "Register aperture is 0x%08lx 0x%08lx\n", pci_resource_start(dev, 2), pci_resource_len(dev, 2));
delete.
Fourth,
km.c line 1109,
function, pci_module_init chang to function, pci_register_driver.
Then compile km module and compile avview, avview run well.
I use radeon9000pro and, fedora7 kernel2.6.23.15-80.fc7.
Thanks to LinGreg.
other people compile like me and run well,
then notify 'run well' this forum.
|

29th January 2009, 05:17 PM
|
|
Registered User
|
|
Join Date: Jun 2006
Posts: 18

|
|
Quote:
Originally Posted by crosx
I compiled km-0.6.1-modified.tar.gz(LinGreg) and several error ocurred
But some code change and compile well.
First,
ln -s /usr/src/(kernel source directory)/include/linux/autoconf.h \
/usr/src/(kernel source directory)/include/linux/config.h
Second,
km.c line 287,
SA_SHIRQ changed to IRQF_SHARED
Third,
km.c line 645,
printk(KERN_DEBUG "Register aperture is 0x%08lx 0x%08lx\n", pci_resource_start(dev, 2), pci_resource_len(dev, 2));
delete.
Fourth,
km.c line 1109,
function, pci_module_init chang to function, pci_register_driver.
Then compile km module and compile avview, avview run well.
I use radeon9000pro and, fedora7 kernel2.6.23.15-80.fc7.
Thanks to LinGreg.
other people compile like me and run well,
then notify 'run well' this forum.
|
Hi: ...I happly discover that without to much effor I have my AIW7500 allmost workin in my new fedora 10!!!, tvout working, remote control working, and avview with some source from a opensuse guy...So, I just want to try the km module to check if I can use other v4l apps to record from the card...
I follow your instructions to build the km module..but get stock here:
make
make -C /lib/modules/2.6.27.5-117.fc10.i686/build M=/home/buho/Desktop/km modules
make[1]: Entering directory `/usr/src/kernels/2.6.27.5-117.fc10.i686'
CC [M] /home/buho/Desktop/km/km_api.o
/home/buho/Desktop/km/km_api.c: In function ‘km_api_init_module’:
/home/buho/Desktop/km/km_api.c:589: error: ‘proc_root’ undeclared (first use in this function)
/home/buho/Desktop/km/km_api.c:589: error: (Each undeclared identifier is reported only once
/home/buho/Desktop/km/km_api.c:589: error: for each function it appears in.)
/home/buho/Desktop/km/km_api.c: In function ‘km_api_cleanup_module’:
/home/buho/Desktop/km/km_api.c:616: error: ‘proc_root’ undeclared (first use in this function)
make[2]: *** [/home/buho/Desktop/km/km_api.o] Error 1
make[1]: *** [_module_/home/buho/Desktop/km] Error 2
make[1]: Leaving directory `/usr/src/kernels/2.6.27.5-117.fc10.i686'
make: *** [all] Error 2
...any ideas?, fedora 10 kernel that i'm using is: 2.6.27.5-117.fc10.i686
thanks ..
Mauricio
|

29th January 2009, 06:03 PM
|
 |
Registered User
|
|
Join Date: Apr 2006
Location: Ohio, USA
Posts: 8,300

|
|
|
proc_root disappeared sometime between 2.6.18 and 2.6.26.
Your driver needs to be modified.
|
| Thread Tools |
Search this Thread |
|
|
|
| Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
Current GMT-time: 22:05 (Monday, 20-05-2013)
|
|
 |
 |
 |
 |
|
|