View Single Post
Old 10-14-03, 08:38 PM   #3
Lyfe
Registered User
 
Join Date: Oct 2003
Posts: 2
Default

While I'm not one to usually revive dead topics, this question does not seem to be answered.

The reason you have this issue is because the FreeBSD nvidia graphics driver attempts to be *the* driver for all nvidia hardware components, and given that you have a board based on the nforce2, that's a lot of components that the simple graphics driver does not know how to handle. The freebsd drivers, however, know how to handle them. One solution is to make the nvidia graphics driver only respond for the nvidia graphics card, which is done as such:

Extract the nvidia driver
edit NVIDIA-FreeBSD-x86-1.0-4365/src/nvidia_pci.c and change the following from (at about line 36):
Code:
    if (rm_get_device_name(device, NV_DEVICE_NAME_LENGTH, name)
            != RM_OK) {     
        strcpy(name, "Unknown");
    }
to:
Code:
    if (rm_get_device_name(device, NV_DEVICE_NAME_LENGTH, name)
            != RM_OK) {     
        /* altered to make it fall through on unkonwn devices still made by nvidia */
        return ENXIO;       
    }
This will make it only attempt to be the authoritative driver for the nvidia graphics card, which is the only device it knows how to be authoritative for anyway.

Then you can continue to follow the directions and do a "make setup" so it'll compile and install the kernel module.


Side note: to boot without reinstalling, go to the boot command prompt (in bsd 5.1, you choose option 6), and hit any key besides enter when it asks to hit enter to boot immediately. This will get you to a prompt where you can issue commands to keep it from loading the nvidia module:
disable-module nvidia
boot-conf

Your system should now load, so that you can make the changes to the nvidia module.
Lyfe is offline   Reply With Quote