USB not passed through to Solaris Client

Discussions about using Solaris guests in VirtualBox.
spbarrett
Posts: 25
Joined: 6. Jul 2016, 15:48

USB not passed through to Solaris Client

Post by spbarrett »

Since update VirtualBox v5.0.24 I can no longer access USB devices inside a Solaris 11 client. I have tried different USB thumb drives and HDD formatted to fat32, ext4, & NTFS. The same problem occurs for Oracle Linux hosts (RHCK & UEK) as well as Windows 7. On Linux the device shows as connected but will not mount (See attached). On Windows it shows as connected and beeps but then beeps again like it has dropped the connection. The problem does not occur with a Windows 7 client on a Linux host or a Linux client on a Windows host.
I have tried reinstalling the VirtualBox extensions, multiple system reboots, Different host OSs, and different versions of the USB (1/2/3). This appears to be limited to Solaris clients, both Solaris 10 & 11.

Update 07/08:
Tried the 5.1 RC today on Windows 7. Solaris guests still cannot access USB drives. Tried rebooting the laptop, re-installing guest additions, SOl10 & Sol11 guests, and different USB drives. The laptop beeps once when connected and then immediately beeps again. The USB is shown as connected to the VM but is not mounted. Does not appear on the desktop or with the 'df' command.
On a side note, the Oracle Base Image of Linux 7.2 now executes.

Update 07/14:
Successfully installed VirtualBox v5.1 and the lastest extension pack on Windows 7 and Oracle Linux v6.8. Then tested the USB connectivity against Solaris 10 & 11.3. Tried multiple USB flash and HDD.
[Flash: Oracle key 4GB, Oracle swivel 4GB, SanDisk Cruzer Edge 4GB, Lexar 8GB, Toshiba 32GB, PNY 64GB]
[HDD: Seagate 2TB Backup Plus, JMicro USB to ATA bridge]
The only USB devices that successful mount inside the Solaris guest are the Toshiba and SanDisk. All the other indicate as connected in the Devices->USB but do not show on the desktop, in the 'df' comand, or the 'File Browser'; however in the browser the USB device shows but list as "Unable to Mount Location". (See picture.)
Attached is a zip file of the logs from various attempts. The nameing convension is (Host OS - Guest OS); i.e. Windows 7 - Solaris 11 is (W7-S11). Previous attempts to post the logs failed due to a size exceeding 128KB. The newest file 'VBox (L6-S11).log' should have the successful Toshiba and SanDisk mounts, as well as the failed ones. All of these USB drives have successfuly been mounted inside a Solaris guests. Success mounts occurred in VirtualBox 4.3.36 and 5.0.20. It has not worked properly since 5.0.22/23/24/25 or 5.1RC or 5.1.
Attachments
VBox_51&Solaris.zip
VirtualBox log files for Windows & Linux hosts, Solaris 10 & 11 guests.
(94.62 KiB) Downloaded 152 times
Screen capture, USB attached but not mounted.
Screen capture, USB attached but not mounted.
Solaris 11 USB.jpg (90.72 KiB) Viewed 45657 times
spbarrett
Posts: 25
Joined: 6. Jul 2016, 15:48

Re: USB not passed through to Solaris Client

Post by spbarrett »

I have posted VBox.log files as an edit to my original post. It shows as no activity since 07/06 so I am making this edit in case anyone s still watching. The failure to pass USB drives from the host (Windows or Linux) to Solaris guests (10 & 11) seems to depend on the USB manufacturer. I have only found two that work.
I have a customer asking about scheduling another Solaris 11 workshop series and i need to be able to provide working USB flash drives to teh participants.
michaln
Oracle Corporation
Posts: 2973
Joined: 19. Dec 2007, 15:45
Primary OS: MS Windows 7
VBox Version: PUEL
Guest OSses: Any and all
Contact:

Re: USB not passed through to Solaris Client

Post by michaln »

Can you confirm that this worked in 5.0.22? If not, what was the last working version?

I see, it didn't work in 5.0.22 but worked in 5.0.20.
michaln
Oracle Corporation
Posts: 2973
Joined: 19. Dec 2007, 15:45
Primary OS: MS Windows 7
VBox Version: PUEL
Guest OSses: Any and all
Contact:

Re: USB not passed through to Solaris Client

Post by michaln »

And let me guess... 'prtconf' shows the USB controller as "retired" and 'fmadm faulty' shows that the device is faulted/disabled?
spbarrett
Posts: 25
Joined: 6. Jul 2016, 15:48

Re: USB not passed through to Solaris Client

Post by spbarrett »

Sorry for the delay in responding. I was supporting the customer on-site, traveling, and attending a conference.
I tested the USB flash drive on my Windows 7 laptop using two different devices. I also saved the output from 'prtconf' and 'fmadm faulty' for multiple versions of VirtualBox. The output is with guest extensions installed but noUSB, Lexar, & SanDIsk. Hopefully the output will assist in troubleshooting the problem.
The error in accessing the USB from within a Solaris guest appears to have been introduced with v5.0.22 and continues through v5.1.2. It works with some, but not all, USB flash drives. I have yet to find a USB external HDD that works and I have three different manufacturers.
Attachments
Solaris_VM_Testing.zip
Zip file of text captured for different versions of VBox of different stages of USB flash attachment.
(10.41 KiB) Downloaded 65 times
michaln
Oracle Corporation
Posts: 2973
Joined: 19. Dec 2007, 15:45
Primary OS: MS Windows 7
VBox Version: PUEL
Guest OSses: Any and all
Contact:

Re: USB not passed through to Solaris Client

Post by michaln »

I'm sorry to say that that there is no clue in the files you provided. There is simply no device and no error. What I hoped for but couldn't find was VBox.log files for the VM.

BTW there's no need providing the information for so many versions, one working (5.0.20?) and one non-working (5.0.22?) is enough.
spbarrett
Posts: 25
Joined: 6. Jul 2016, 15:48

Re: USB not passed through to Solaris Client

Post by spbarrett »

Michaln,
I provided log files back on 07/14 in VBox_51&Solaris.zip. It has logs for both Solaris 10 & 11 running on Linux & Windows. My last post was to answer the question of what shows up under the configuration and fault admin. As you indicated, nothing. That was VirtualBox v5.1. I have all the binaries for Windows. What can I provide to assist further? They have asked me to teach another class and I'd like to use the latest release of VirtualBox.
Sean
michaln
Oracle Corporation
Posts: 2973
Joined: 19. Dec 2007, 15:45
Primary OS: MS Windows 7
VBox Version: PUEL
Guest OSses: Any and all
Contact:

Re: USB not passed through to Solaris Client

Post by michaln »

You did, sorry. I was a bit lost because you provided too much information in a way. Basically one working and one non-working case is all I'm interested in, with as much detail as possible. Providing results for six different VirtualBox versions unfortunately just makes it harder to find the problem.

Actually no, I still can't make sense of it. In the L6-S11 log, you have Solaris 11 configured with xHCI, i.e. USB 3.0. In the L6-S10 log you have Solaris 10 configured only with OHCI (no EHCI), which means that USB 2.0 devices may or may not work and USB 3.0 devices definitely won't. Not exactly apples to apples.

But in the logs you provided recently there is both OHCI and EHCI present, so it doesn't match with the earlier logs.

I'm afraid I just can't make heads or tails of this. I need one VBox.log for a fully working VM showing a working USB device attached. I also need a VBox.log for a non-working VirtualBox version with the same device attached, same VM, same host OS. It would be good to have prtconf for both cases (when the USB device is attached) and probably 'dmesg' output too while we're at it. Just one host OS, one USB device, one VM, two VirtualBox versions. In this case, less is definitely more.
spbarrett
Posts: 25
Joined: 6. Jul 2016, 15:48

Re: USB not passed through to Solaris Client

Post by spbarrett »

Michaln,
Sorry that it took me so long to post a reply. The process is much more difficult then I expected. I uninstall VirtualBox and the guest additions and completely recreated a new VM from the Solaris 11.3 ISO. Then I tested USB access within a Sol11 VM. The resulting files are posted. Here is a problem. The access ALWAYS failed on the Lexar USB regardless of the version of VirtualBox, which is why I created a new VM. I know that v5.0.18 worked when I previously taught the class but for some unknown reason it always fails now. The SanDisk always works, as does the Toshiba. The only thing that I can think to test further is try installing VirtualBox on a PC that has never had it installed and rebuild everything from scratch. For that I may need a different laptop.
I forgot to include the logs. One zip file, two logs. If these don't help I can re-create. I tested USH HDD after so the last log may not show USB flash drives.
Sean
Attachments
USB-Logs.zip
USB flash and HDD loags
(54.74 KiB) Downloaded 80 times
working.txt
SanDisk USB passes thru to VM (Windows 7, Solaris 11.3, VirtualBox 5.0.18)
(18.79 KiB) Downloaded 81 times
not-working.txt
Lexar USB does not pass thru to VM (Windows 7, Solaris 11.3, VirtualBox 5.0.18)
(18.78 KiB) Downloaded 64 times
michaln
Oracle Corporation
Posts: 2973
Joined: 19. Dec 2007, 15:45
Primary OS: MS Windows 7
VBox Version: PUEL
Guest OSses: Any and all
Contact:

Re: USB not passed through to Solaris Client

Post by michaln »

The Guest Additions are irrelevant for this problem. I also wouldn't think reinstalling the guest OS is necessary. But thanks for the log files!

Anyway, I guess this is getting weirder. In the files you provided I don't really see any problems. The Lexar device is always attached.

One question. Are you always physically unplugging and replugging the device between attempts to capture it in a VM? The reason I'm asking is that with some USB flash sticks, it is possible to eject the internal medium, possibly without any way to mount it again until it's physically re-plugged. If that happens, the USB device is attached but there is no medium and therefore no files.
spbarrett
Posts: 25
Joined: 6. Jul 2016, 15:48

Re: USB not passed through to Solaris Client

Post by spbarrett »

Yes I have to plug and unplug while also ejecting in the software. I "attach" the USB flash drive in VirtualBox and it "detaches" it from the host. Then when I unattached the client it automatically e-attaches to the host.
One interesting thing is that when I change a USB drive it must reload the drivers in the Windows host. The computer "beeps" when I attach and then beeps again when the driver finishes loading. Normally the USB is still attached to the host and I must re-select Device->USB->[flash device] on the client. For both the Lexar & SanDisk the device then shows a checkbox. If I detach using the Lexar the check goes away. If I then change to the SanDisk it repeats and installs a new VirtualBox driver. If I eject the SanDisk and reinstall the Lexar the process repeats, even though the VirtualBox driver was previously installed. It is almost like there is a separate VirtualBox driver for the different devices.
I did try my Toshiba branded external HDD but it is not accessible, even though the Toshiba flash is.
I have also used identical looking "key shaped" flash drives. A 2GB connects while different 4GB fail. If it gets to that point I have a drawer full of flash drives to test against. I also now have a USB-based DVD for my new laptop. I need to migrate to the laptop before travel next week.
I agree that it is strange. To make sure I was working with only v5.0.18 I had to un-install the ext_pack and un-install VirtualBox in the Windows Control Panel. Just to be "safe" I also rebooted the laptop.

I updated both Windows 7 & Linux 6.8 to VirtualBox v5.1.4 today. The mouse icon images is fixed but the Solaris USB pass-thru is still not working. I tested against Windows on Linux and the USB passed to Windows; this is still restricted to Solaris. I did notice a mail message with an error of the svcs. I have uploaded the mail content and the result of svcs.
Attachments
svcs_error.txt
svcs email message to root.
(1.51 KiB) Downloaded 57 times
michaln
Oracle Corporation
Posts: 2973
Joined: 19. Dec 2007, 15:45
Primary OS: MS Windows 7
VBox Version: PUEL
Guest OSses: Any and all
Contact:

Re: USB not passed through to Solaris Client

Post by michaln »

spbarrett wrote:It is almost like there is a separate VirtualBox driver for the different devices.
There is and there isn't. The driver is identical, but Windows considers them different devices (in fact it will do so even if you plug the device into a different USB port I believe) and the VirtualBox host USB driver needs to be installed again. If you keep re-plugging the same device into the same port, Windows will use the already-installed driver. New device means new driver installation. Don't ask me why someone at Microsoft thought that made sense.

Re USB storage devices in general... it's a mess. The obvious point is that for $5 you can't expect a quality product, that just doesn't happen. There are many subtle differences between USB storage devices, and it's extremely difficult to tell what's what. The outside of a USB stick of course doesn't matter, what matters is the chip and firmware inside. Until you plug it in, you have no way to tell what the USB device ID (which indicates the chip) is. There are such things as buggy sticks, and they do die. When they die, the failures may not be obvious.

Another thing that may or may not be obvious is that not every OS can understand every filesystem on a given USB stick or hard disk. There's commonly (V)FAT, FAT32, ExFAT, NTFS, HFS+, and only the first two are likely to be supported across the board.

That's a long way to say that I have absolutely no idea what's going on and I don't see any actual identifiable error.
spbarrett
Posts: 25
Joined: 6. Jul 2016, 15:48

Re: USB not passed through to Solaris Client

Post by spbarrett »

Michaln,
Thanks for at least continuing to look at this. I will continue to assist in what ever way I can. I am surprised that no one else has reported this problem being that Solaris is Oracle's "Enterprise OS".
I'll try searching from the other direction. Maybe it has something to do with a Solaris driver. I can install Solaris 11.3 GA and then update and see if that fixes things.
Sean
michaln
Oracle Corporation
Posts: 2973
Joined: 19. Dec 2007, 15:45
Primary OS: MS Windows 7
VBox Version: PUEL
Guest OSses: Any and all
Contact:

Re: USB not passed through to Solaris Client

Post by michaln »

spbarrett wrote:I am surprised that no one else has reported this problem being that Solaris is Oracle's "Enterprise OS".
That's the thing... "Enterprise OS" means "server" and people really don't use USB stick with servers that much. Everything goes over the network. There are just not that many users of USB devices on Solaris nowadays.
spbarrett
Posts: 25
Joined: 6. Jul 2016, 15:48

Re: USB not passed through to Solaris Client

Post by spbarrett »

SOLVED: It is an NTFS issue.
This morning I swapped the HDD in my laptop for Solaris 11. After verifying the latest patch set I tested every USB flash drive that I could get my hands on. Eight in total, ranging from 2GB to 128GB. I also tried USB HDD. All the drives were accessible under Linux. Most of the drives are accessible under Windows. Only three of the drives were accessible under Solaris; all Fat32.
So the issue appears that the host OS passes the mounted file system directly onto guest OS. Even if the host can read and mount the format it does not mean the guest is also able. From my opinion this a good coding practice of the VirtualBox team enabling native access to the media, even if it doesn't make my life any easier.
Now I am back to the problem that forced me to change from Fat32 (or exFAT) to NTFS: I would like a single file system that is readable across Windows, Linux & Solaris that is also capable of supporting file sizes greater than 4GB. I have a Solaris 11 workshop that is given to customers. They use Windows, Mac, and Linux. Because the VM has an embedded repository the size swells. I have managed to create it under Linux with multiple virtual drives in the VDI format. After creation, addition of scripts for the user, and a local subset of the Solaris repo, I compact the VM and can get it just under 4GB. Upon export the VDI format converts to VMDK so compact no longer works.

If anyone knows of a single file system format that is supported under Solaris 11, Windows 7-10, and Linux 6 & 7. I'd like to hear from you. I have tried everything but am still haven't discovered any that are "supported".

FileSys Windows Solaris Linux
Fat32 Yes Yes Yes
NTFS Yes No Yes
ext4 No No Yes
Post Reply