Linux - HardwareThis forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?

Notices

Welcome to LinuxQuestions.org, a friendly and active Linux Community.

You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!

Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.

If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.

Having a problem logging in? Please visit this page to clear all LQ-related cookies.

Introduction to Linux - A Hands on Guide

This guide was created as an overview of the Linux Operating System, geared toward new users as an exploration tour and getting started guide, with exercises at the end of each chapter.
For more advanced trainees it can be a desktop reference, and a collection of the base knowledge needed to proceed with system and network administration. This book contains many real life examples derived from the author's experience as a Linux system and network administrator, trainer and consultant. They hope these examples will help you to get a better understanding of the Linux system and that you feel encouraged to try out things on your own.

It works - inside the Windows XP VM - but whenever I unplug and re-plug the USB dongle (or reboot the XP virtual machine), I get after a very long delay (minutes) the following message:

Quote:

The specified device appears to be claimed by another driver (hci_usb) on the host operating system which means that the device may be in use. To continue, the device will first be disconnected from its current driver.

Once I confirm this message box (press OK), all is well. However, this is very annoying since it significantly impacts my productivity (I need to reboot and plug/unplug frequently for a project I am working on).

As I understand it, this stems from VMWare attempting to grab the device (hci_usb) from Linux. I believe that if I tell Linux in some way to disown/release the device, those delays will be eliminated.

(without jeopardizing VMWare's chance of recognizing that the USB device is in, that is.)

If so, how do I do that?

Thanks!
Alex

P.S. This ISSC (Integrated System Solution Corp.) dongle is identified in the User's Manual as "BT Dongle-IS1002N Horus Module". In the Windows BlueSoleil software it is identified as IVT. In Ubuntu's Device Manager it is identified as KY-BT100 Bluetooth Adapter. This is soooooo confusing.

Interesting. Have you tried unmounting the device using the umount or eject commands before unplugging it or restarting the XP VM? You should do that anyways with external drives on Linux before unplugging them, as I am sure you know.

I've not a lot of experience running Windows in a VM on Linux, but it seems to me that Linux will still be mounting the filesystem and if you don't umount it you may run into issues with your VM "thinking" someone else owns it.

Congratulations intrepid explorer, you've found a hidden feature in vmware that they claim doesn't exist - the inability to reattach a usb device a second time!

This bug was introduced sometime after the last vmware-4 release (so, as far as I've seen, >= vmware-5). The only way we've found to cleanly get around it, and this is not only hokey but only seems to work 90% of the time, is to unload and load the kernel module for usb support (iirc, its the uhci_hcd module). Your usual rmmod <kernel-mod> && modprobe <kernel-mod> should do the trick. If you're using a usb keyboard, i'd highly recommend that you do it in one line (literally, first command && second command ), otherwise you'll find yourself with an unloaded module and no way of typing in the command to load it

The boring details, as I recall so don't quote me, is that the first time you use the usb device, the kernel cedes controls over to vmware, but vmware fails to give the signal back saying its done with the device, use it as you will, so the kernel thinks the device is in use even after you stop (or unload the device) in vmware, and now vmware can't claim the device because the kernel says its already used. lovely, i know.

Sorry about the confusion there. Not unmounting a device before yanking it out can leave your system a little upset sometimes. My old ubuntu box used to get really cranky about it, using up /dev numbers as I unplugged and replugged USB non-drive accessories.

Good luck to you. If your hciconfig attempt doesn't work, try what mcummings suggests. Unloading a kernel module usually forces things to behave a little better.

To tell the kernel to not load a module add "alias module_name off" to either /etc/modules.conf or /etc/modprobe.conf. If you do not want a certain brand and model to be used by Linux, add a line to udev scripts. udev scripts are cryptic so read the documentation thoroughly. I recommend backup the udev scripts before editing them.

Bluetooth dongles or Bluetooth transceivers works in Linux, so I do not know why you are using VMware. Using USB 2.0 devices with in VMware virtual machine running Windows 2000 and Windows XP can crash the virtual machine. If you use Windows 98 with USB 2.0 devices, the virtual machine will not crash. I have used a USB storage and USB scanner with out any problems in a virtual machine running Windows 98 and Linux under a Linux host. Now my scanner works with out any problems in Linux, so using VMware is getting useless for me.

The following message just means that a module is using the device. In order for the VMware virtual machine to take control, you have to unload the module. I suggest using modprobe -r hci_usb as root or sudo to unload the module.

Quote:

The specified device appears to be claimed by another driver (hci_usb) on the host operating system which means that the device may be in use. To continue, the device will first be disconnected from its current driver.

For the PCI ID or USB ID of the device, you can always send a bug report to kernel.org so they can provide a more accurate name for the desire device.

See you can tell that I have HP ScanJet 4200c, but can you tell what model of printer that I have. Though the model of my Brother printer shows up when doing cat /proc/bus/usb/devices which is the following listing.

Hi i'm confuse little bit, i compiled this prograam when i execute this prograam using device name
for eg: ./a.out /dev/sdb1 then prograam is terminating with error "IOCTL INVALID ARGUMENT"
can you please tell me which argument i should pass ?