Gabriele Bulfon wrote:
No way.........USB CDC modem/fax under VMWare Esxi 4.1 does not work....
Everything looks fine under the OS (devices, dev/cua, messages from the USB
management),
but then tip does not attach as if the dev file is missing, or maybe just not
responding....
Anyone does have the ability to check this why?
Try running this dtrace script while doing the failing tip, to see
where in the kernel the ENXIO is coming from. Drop it into a
file with the #! as the first line and with +x access, and just run
the file.
#!/usr/sbin/dtrace -Fs
#pragma D option bufsize=1m
#pragma D option specsize=1m
syscall::open:entry
/execname == "tip"/
{
/*
* The call to speculation() creates a new speculation. If this
fails,
* dtrace(1M) will generate an error message indicating the
reason for
* the failed speculation(), but subsequent speculative tracing
will be
* silently discarded.
*/
self->spec = speculation();
speculate(self->spec);
/*
* Because this printf() follows the speculate(), it is being
* speculatively traced; it will only appear in the data buffer
if the
* speculation is subsequently commited.
*/
printf("%s", stringof(copyinstr(arg0)));
}
fbt:::entry
/self->spec/
{
/*
* A speculate() with no other actions speculates the default
action:
* tracing the EPID.
*/
speculate(self->spec);
printf("%x %x %x %x %x", arg0, arg1, arg2, arg3, arg4);
}
fbt:::return
/self->spec/
{
/*
* A speculate() with no other actions speculates the default
action:
* tracing the EPID.
*/
speculate(self->spec);
printf("%x errno=%d", arg1, errno);
}
syscall::open:return
/self->spec/
{
/*
* To balance the output with the -F option, we want to be sure that
* every entry has a matching return. Because we speculated the
* open entry above, we want to also speculate the open return.
* This is also a convenient time to trace the errno value.
*/
speculate(self->spec);
trace(errno);
}
syscall::open:return
/self->spec && errno == ENXIO/
{
/*
* If errno is ENXIO, we want to commit the speculation.
*/
commit(self->spec);
self->spec = 0;
}
syscall::open:return
/self->spec && errno != ENXIO/
{
/*
* If errno is not ENXIO, we discard the speculation.
*/
discard(self->spec);
self->spec = 0;
}
--
Andrew
_______________________________________________
OpenIndiana-discuss mailing list
[email protected]
http://openindiana.org/mailman/listinfo/openindiana-discuss