Mailinglist Archive: opensuse-amd64 (278 mails)

< Previous Next >
AMD64, VMWare and USB
  • From: "W. Voos" <wolfgang.voos@xxxxxxx>
  • Date: Sat, 4 Sep 2004 17:31:04 +0000 (UTC)
  • Message-id: <4139FC85.7090302@xxxxxxx>
Hello,

there seems to be a (known?) problem with VMWare 4.5 and SuSE 9.1 regarding USB-support. It seems to be resolved with newer 32-bit Kernels, after a node under /proc was named back to the kernel default.
( http://www.vmware.com/community/thread.jspa?forumID=19&threadID=6044 )

However, there still seems to be another problem with 64bit kernels. This problem looks very similar, the host-kernel recognizes the USB-device correctly, you can connect it to the guest (in VMWare), but the Guest-OS then only recognizes an "unknown device". If I look into the vmware-log, I see entries stating:

Aug 27 01:47:06: vmx| USB: Connecting device 0xf0010002057c1900
Aug 27 01:47:06: vmx| VMXVmdbLoadUsbDevices: New set of 1 USB devices
Aug 27 01:47:06: vmx| USBGL: SUBMITURB=0x8578bc0 failed -1:22:Invalid argument
Aug 27 01:47:06: vmx| type=2 endpoint=80 status=0 flags=0 buffer=0x8578bec
Aug 27 01:47:06: vmx| buflen=10 actlen=0 sof=0 numpkts=0 errcount=0
Aug 27 01:47:06: vmx| signr=0 ucontext=0x8578bb8
Aug 27 01:47:06: vmx| USB: Setup issued during another setup action

and in the guest-OS /var/log/messages (SUSE 9.1 i386) I see:

Aug 27 00:36:14 server02 kernel: usb 1-1: new full speed USB device using address 2
Aug 27 00:36:15 server02 kernel: usb 1-1: device not accepting address 2, error -71

A dmesg on the host gives me the messages:

ioctl32(vmware-vmx:13090): Unknown cmd fd(106) cmd(802c550a){00} arg(085a47c0) on /proc/bus/usb/002/002
ioctl32(vmware-vmx:13090): Unknown cmd fd(106) cmd(802c550a){00} arg(084363b0) on /proc/bus/usb/002/002

Now, for me it looks like there is some kind of missing compatibility between 32 bit programs (VMWare) and the 64bit kernel.
How could this be resolved? I have seen some mapping calls in vmmon (which is a module that is built by vmware for the host kernel), but I guess those where mostly added by the maintanier of vmware-any-any (a patch to enable better 64bit support).
Should the fixes go into that module, into some kind of LD_PRELOAD library (suggested in the thread at the vmware-site) or should these be in the kernel itself?

There is a ioctl32 which I guess is the compat-layer in the kernel, but either the wrapping for this particular call is wrong (perhaps because it includes a structure?!), or entirely missing.

Any ideas?

Kind regards,
Wolfgang

< Previous Next >
This Thread
Follow Ups