Bug 11250

Summary: drm mach64 module loading problem
Product: DRI Reporter: walter <vorgina33>
Component: DRM/otherAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED NOTABUG QA Contact:
Severity: normal    
Priority: medium CC: valentio
Version: DRI git   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description walter 2007-06-13 03:07:25 UTC
I've followed the instructions from: 

http://dri.freedesktop.org/wiki/Building#head-1d3236b8fe603a3ecc41c7295609f538aca9b38c

and I get the following message when I attempt to load the mach64.ko module:

FATAL: Error inserting via (/lib/modules/2.6.20-r8/kernel/
drivers/char/drm/mach64.ko): Unknown symbol in module,
or unknown parameter (see dmesg)

There explains that it is a kernel-2.6.1 problem but I have 2.6.20 (gentoo r8). Here the relevant scanpci output:

pci bus 0x0000 cardnum 0x01 function 0x00: vendor 0x8086 device 0x7191
 Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge

pci bus 0x0001 cardnum 0x00 function 0x00: vendor 0x1002 device 0x4c4d
 ATI Technologies Inc Rage Mobility P/M AGP 2x
Comment 1 walter 2007-06-13 03:16:49 UTC
(In reply to comment #0)

I replied myself. I'm sorry. The actual error message is: 

FATAL: Error inserting mach64 (/lib/modules/2.6.20-gentoo-r8/kernel/drivers/char/drm/mach64.ko): Unknown symbol in module, or unknown parameter (see dmesg)
Comment 2 Julien Cristau 2007-06-13 04:58:01 UTC
(In reply to comment #1)
> FATAL: Error inserting mach64
> (/lib/modules/2.6.20-gentoo-r8/kernel/drivers/char/drm/mach64.ko): Unknown
> symbol in module, or unknown parameter (see dmesg)
> 
have you actually looked at dmesg?
Comment 3 walter 2007-06-13 05:05:07 UTC
> have you actually looked at dmesg?

This is the output from `dmesg | grep mach64

mach64: Unknown symbol drm_open
mach64: Unknown symbol drm_fasync
mach64: Unknown symbol drm_poll
mach64: Unknown symbol drm_core_get_reg_ofs
mach64: Unknown symbol drm_pci_alloc
mach64: Unknown symbol drm_irq_uninstall
mach64: Unknown symbol drm_get_dev
mach64: Unknown symbol drm_ioctl
mach64: Unknown symbol drm_exit
mach64: Unknown symbol drm_getsarea
mach64: Unknown symbol drm_debug
mach64: Unknown symbol drm_core_ioremapfree
mach64: Unknown symbol drm_core_get_map_ofs
mach64: Unknown symbol drm_init
mach64: Unknown symbol drm_vbl_send_signals
mach64: Unknown symbol drm_cleanup_pci
mach64: Unknown symbol drm_pci_free
mach64: Unknown symbol drm_core_ioremap
mach64: Unknown symbol drm_mmap
mach64: Unknown symbol drm_core_reclaim_buffers
mach64: Unknown symbol drm_release
mach64: Unknown symbol drm_open
mach64: Unknown symbol drm_fasync
mach64: Unknown symbol drm_poll
mach64: Unknown symbol drm_core_get_reg_ofs
mach64: Unknown symbol drm_pci_alloc
mach64: Unknown symbol drm_irq_uninstall
mach64: Unknown symbol drm_get_dev
mach64: Unknown symbol drm_ioctl
mach64: Unknown symbol drm_exit
mach64: Unknown symbol drm_getsarea
mach64: Unknown symbol drm_debug
mach64: Unknown symbol drm_core_ioremapfree
mach64: Unknown symbol drm_core_get_map_ofs
mach64: Unknown symbol drm_init
mach64: Unknown symbol drm_vbl_send_signals
mach64: Unknown symbol drm_cleanup_pci
mach64: Unknown symbol drm_pci_free
mach64: Unknown symbol drm_core_ioremap
mach64: Unknown symbol drm_mmap
mach64: Unknown symbol drm_core_reclaim_buffers
mach64: Unknown symbol drm_release
Comment 4 Alex Deucher 2007-06-13 16:36:38 UTC
*** Bug 11251 has been marked as a duplicate of this bug. ***
Comment 5 Alex Deucher 2007-06-13 16:37:05 UTC
*** Bug 11252 has been marked as a duplicate of this bug. ***
Comment 6 Olivier Valentin 2008-07-22 23:49:31 UTC
Actually, I had this problem too, and the explanation/solution is quite simple:

1) When you build a specific DRI driver from git code, the building process also creates an up to date version of the drm.ko module. And your mach64 module depends on this new version.

2) The mach64 drm module is not bundled in many distros so, when you install the mach64.ko, it has no previous version in your /lib/modules/.../ directory. But this is not the case for drm.ko . So you should replace the former module by the new one, then modprobe will load the drm module with the correct version.

You can search for drm.ko in the modules for the currently running linux version with: find /lib/modules/`uname -r` -name "drm.ko"


STEPs:

1) unload any drm module: rmmod drm
2) remove the old version of the drm module (the one that is not in the 'extra' directory)
3) update modules dependencies: depmod -a
4) load mach64 module: modprobe mach64

Hope this helps

Ovalenti

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.