We’ve found that the vme software will in fact compile with a 2.6 kernel. The version of the software that worked for us was Scientific Linux 4.7. Strangely, Red Hat Enterprise Linux 4 did not work at all. We got lots and lots of error messages when running make. On SL47, we only got a few errors about MODULE_PARMS being an error. (I read somewhere that we just had to switch MODULE_PARMS to module_params, but turns out that we didn’t even need to do that.)

The odd error that we did have was after we ran make install, we could load the module (modprobe vme_universe) and things worked fine. However, after a reboot, the module would be loaded, but the hello_vme program would keep giving us the “Cannot initialize VMEbus” error. After examining more closely what make install was doing, we added the following to /etc/rc.d/rc.local:

# Load VME module
# Also need to create the device files
mkdir -p /dev/bus/vme
mknod --mode=666 /dev/bus/vme/ctl c 221 8
modprobe vme_universe

That fixed things. I don’t know why MAKEDEV isn’t making the module, but we got around this issue.

We still have a problem of getting large usb drives to work, but possibly, since we have to make the device files by hand for the vme stuff, that we may also have to do that for the usb stuff. (And we need to look into which modules need to be loaded for usb things.)