[openib-general] Re: user-mode verbs on Itanium

Grant Grundler iod00d at hp.com
Fri Apr 29 09:21:27 PDT 2005


On Fri, Apr 29, 2005 at 07:48:09AM -0700, Roland Dreier wrote:
>     Grant> gsyprf3:/usr/src/linux-2.6# ibv_pingpong libibverbs:
>     Grant> Warning: no driver for uverbs0
> 
>     Grant> What obvious, silly thing did I overlook?
> 
> Where is mthca.so installed?

sorry - it wasn't installed. I missed the "and src/userspace/libmthca"
in the original instructions. Here's a summary of what I have done
so far:

	cd /usr/src/openib_gen2/src/userspace/libibverbs
	./autogen.sh
	dpkg-buildpackage -rfakeroot -uc -us
	dpkg -i ../libibverbs-dev_0.1.0-1_ia64.deb
	dpkg -i ../libibverbs-dev_0.1.0-1_ia64.deb
	dpkg -i ../ibverbs-examples_0.1.0-1_ia64.deb

	cd /usr/src/openib_gen2/src/userspace/libmthca
	./autogen.sh
	dpkg-buildpackage -rfakeroot -uc -us
	dpkg -i ../libmthca1_0.1.0-1_ia64.deb

> By default libibverbs only looks in
> $PREFIX/lib/infiniband, but you can add any path via the
> OPENIB_DRIVER_PATH environment variable.

It's now installed here:
gsyprf3:/usr/src/openib_gen2/src/userspace# dpkg -S mthca.so
libmthca1: /usr/lib/infiniband/mthca.so

gsyprf3:~# dpkg -S ibv_pingpong
ibverbs-examples: /usr/bin/ibv_pingpong

gsyprf3:~# ibv_pingpong
libibverbs: Warning: no driver for uverbs0
No IB devices found

Debian packages can "suggest" or "require" libmthca1 pkg be installed.
But that won't help if the two packages don't use the same PREFIX.
config.status logfile indicates autogen.sh uses '--prefix=/usr'.
That's true for both libmthca/config.status and libibverbs/config.status.

Turns out I had ibv_pingpong still in /usr/local/bin/ from a "manual"
build i had done as reccomended in the original announcement.
Deleting that got me past this...but...

Users of other distro's I think are going to be just as confused.
Can the "no driver for uverbs0" error message indicate the *userspace*
driver is missing?
And indicate where it's looking?
e.g. something like:
libibverbs: no userspace driver found in /lib/infiniband
	for /dev/infiniband/uverbs0. $OPENIB_DRIVER_PATH is set?


But it's still not working:
yprf3:~# OPENIB_DRIVER_PATH=/usr/lib/infiniband/ ibv_pingpong
Couldn't get context for mthca0

What silly detail am I missing now?

I'm not getting any console output either when running this.


And one minor diff appended to help people if they forget
to modprobe ib_uverbs.

thanks,
grant


Index: src/init.c
===================================================================
--- src/init.c	(revision 2231)
+++ src/init.c	(working copy)
@@ -214,7 +214,7 @@
 
 	cls = sysfs_open_class("infiniband_verbs");
 	if (!cls) {
-		fprintf(stderr, PFX "Fatal: couldn't open infiniband sysfs class.\n");
+		fprintf(stderr, PFX "Fatal: couldn't open sysfs class \"infiniband_verbs\".\n");
 		return;
 	}
 



More information about the general mailing list