Bug 1192338 - Leap 15.3 Virtualbox fails to support USB devices
Summary: Leap 15.3 Virtualbox fails to support USB devices
Status: RESOLVED INVALID
Alias: None
Product: openSUSE Distribution
Classification: openSUSE
Component: Other (show other bugs)
Version: Leap 15.3
Hardware: 64bit openSUSE Leap 15.3
: P5 - None : Normal (vote)
Target Milestone: ---
Assignee: Larry Finger
QA Contact: E-mail List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-11-04 10:21 UTC by Gerben Jansen
Modified: 2022-07-29 23:03 UTC (History)
1 user (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
Screenshot of Windows10 errors (234.36 KB, image/jpeg)
2021-11-14 08:53 UTC, Gerben Jansen
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Gerben Jansen 2021-11-04 10:21:00 UTC
I recently upgraded my system from Leap 15.2 to Leap 15.3
On 15.2 i had Oracle's Virtualbox installed and i was able to run a guest with Windows10 and use iTunes to backup my iPhone. (That's the only reason for me to run Windows10)

After the upgrade to 15.3 devices connected to the USB ports aren't usable in Windows.
I've tried with the openSuSE released version and the Oracle released version, both with and without the Oracle released extension pack.

None of them worked with the iPhone or a USB stick. In the guest OS i can select the iPhone from the "Devices" Virtualbox menu, then Windows10 guest makes the "iPhone connected" sound, but iTunes doesn't see the device.

The version i downloaded from Oracle is 6.1.28_147628_openSUSE150-1 (there is no version for 15.3, 150-1 worked OK on Leap 15.2)

I'm using an old Lenovo T530 to run Leap 15.3.
Comment 1 Gerben Jansen 2021-11-05 10:13:03 UTC
I get the impression that somehow the iPhone is connected to the guest Windows10 system, but without the power enabled on the USB port.

I say this because when moving the iPhone back to the host Leap 15.3 system, my iPhone no longer is charging over USB. Even re-connecting it doesn't return the phone to normal operation. Only when i reboot the entire host system it starts charging again.
Comment 2 Larry Finger 2021-11-05 20:33:14 UTC
Do you gave an NTFS-formatted USB thumb drive? If so, can you mount it in a Windows 10 VM?

On my TW system running VB 6.1.28, USB passthrough fails for USB sticks on both Windows 7 and 10 VM's. With a USB wifi unit, the network device is created, but does not work. Both actions work with a Leap 15.3 VM.

I have reported this problem to Oracle and I will let you know what they have to say. Unfortunately, it takes a while for them to respond.
Comment 3 Gerben Jansen 2021-11-06 09:15:20 UTC
Note: I suppose with "Both actions work with a Leap 15.3 VM" you actually meant to say "Leap 15.2".
------------------------------------------

I had an ancient USB stick (128MB!!!) formatted as an VFAT filesystem.
I could access that stick on my Windows10 guest system and format it as an NTFS file system.
I am able to read from it both under the Windows10 guest and Leap 15.3 host.

I tried to replicate your USB Wifi experiment, assigning the device (a Realtek stick) to Windows10 made Windows10 produce the "evice plugged in" sound, but the Wifi doesn't show up in network configuration.

All this with Leap 15.3 and VB 6.1.28.
Comment 4 Larry Finger 2021-11-07 01:49:57 UTC
(In reply to Gerben Jansen from comment #3)
> Note: I suppose with "Both actions work with a Leap 15.3 VM" you actually
> meant to say "Leap 15.2".

No, I meant a 15.3 VM, but I would expect 15.2 to behave the same.

It seems clear that something is wrong with the USB pass through to Windows.
Comment 5 Larry Finger 2021-11-08 03:23:51 UTC
I tested Oracle's binaries - they have the same problem, thus it is not something that was introduced in the openSUSE binaries. Still no response from Oracle.
Comment 6 Larry Finger 2021-11-08 03:46:31 UTC
Ticket #20652 (new defect) at https://www.virtualbox.org/ticket/20652.
Comment 7 Gerben Jansen 2021-11-09 08:09:36 UTC
Some extra information:

I installed MobaXterm on my Windows10 guest system. This enables me to issue Linux commands on the Windows10 system (Thanks MobaXterm for that!!!!)

After assigning the iPhone to the Windows10 guest i issued an lsusb command.
It shows that the device is visible under Windows10, but somehow iTunes doesn't recognize it.

I don't know enough about iPhones and USB, but this might help ....

On the Windows10 guest i see:
$ apt-get install usbutils
...
$ lsusb
Bus 001 Device 004: ID 05ac:12a8 Apple, Inc.
Bus 001 Device 002: ID 80ee:0021 VirtualBox USB Tablet
Bus 001 Device 001: ID 106b:003f

$ lsusb -s 001:004 -v

Bus 001 Device 004: ID 05ac:12a8 Apple, Inc.
Couldn't open device, some information will be missing
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x05ac Apple, Inc.
  idProduct          0x12a8
  bcdDevice           11.02
  iManufacturer           1
  iProduct                2
  iSerial                 3
  bNumConfigurations      4
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           39
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          5
    bmAttributes         0xc0
      Self Powered
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass         6 Imaging
      bInterfaceSubClass      1 Still Image Capture
      bInterfaceProtocol      1 Picture Transfer Protocol (PIMA 15470)
      iInterface             14
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval              10
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          149
    bNumInterfaces          3
    bConfigurationValue     2
    iConfiguration          6
    bmAttributes         0xc0
      Self Powered
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass         1 Audio
      bInterfaceSubClass      1 Control Device
      bInterfaceProtocol      0
      iInterface              0
      AudioControl Interface Descriptor:
        bLength                 9
        bDescriptorType        36
        bDescriptorSubtype      1 (HEADER)
        bcdADC               1.00
        wTotalLength           30
        bInCollection           1
        baInterfaceNr( 0)       1
      AudioControl Interface Descriptor:
        bLength                12
        bDescriptorType        36
        bDescriptorSubtype      2 (INPUT_TERMINAL)
        bTerminalID             1
        wTerminalType      0x0201 Microphone
        bAssocTerminal          2
        bNrChannels             2
        wChannelConfig     0x0003
          Left Front (L)
          Right Front (R)
        iChannelNames           0
        iTerminal               0
      AudioControl Interface Descriptor:
        bLength                 9
        bDescriptorType        36
        bDescriptorSubtype      3 (OUTPUT_TERMINAL)
        bTerminalID             2
        wTerminalType      0x0101 USB Streaming
        bAssocTerminal          1
        bSourceID               1
        iTerminal               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol      0
      iInterface              0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       1
      bNumEndpoints           1
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol      0
      iInterface              0
      AudioStreaming Interface Descriptor:
        bLength                 7
        bDescriptorType        36
        bDescriptorSubtype      1 (AS_GENERAL)
        bTerminalLink           2
        bDelay                  1 frames
        wFormatTag              1 PCM
      AudioStreaming Interface Descriptor:
        bLength                35
        bDescriptorType        36
        bDescriptorSubtype      2 (FORMAT_TYPE)
        bFormatType             1 (FORMAT_TYPE_I)
        bNrChannels             2
        bSubframeSize           2
        bBitResolution         16
        bSamFreqType            9 Discrete
        tSamFreq[ 0]         8000
        tSamFreq[ 1]        11025
        tSamFreq[ 2]        12000
        tSamFreq[ 3]        16000
        tSamFreq[ 4]        22050
        tSamFreq[ 5]        24000
        tSamFreq[ 6]        32000
        tSamFreq[ 7]        44100
        tSamFreq[ 8]        48000
      Endpoint Descriptor:
        bLength                 9
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x00c0  1x 192 bytes
        bInterval               4
        bRefresh                0
        bSynchAddress           0
        AudioControl Endpoint Descriptor:
          bLength                 7
          bDescriptorType        37
          bDescriptorSubtype      1 (EP_GENERAL)
          bmAttributes         0x01
            Sampling Frequency
          bLockDelayUnits         0 Undefined
          wLockDelay              0 Undefined
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 No Subclass
      bInterfaceProtocol      0 None
      iInterface              0
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength     208
         Report Descriptors:
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           62
    bNumInterfaces          2
    bConfigurationValue     3
    iConfiguration          7
    bmAttributes         0xc0
      Self Powered
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass         6 Imaging
      bInterfaceSubClass      1 Still Image Capture
      bInterfaceProtocol      1 Picture Transfer Protocol (PIMA 15470)
      iInterface             14
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval              10
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    254
      bInterfaceProtocol      2
      iInterface             13
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x04  EP 4 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x85  EP 5 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          117
    bNumInterfaces          3
    bConfigurationValue     4
    iConfiguration          8
    bmAttributes         0xc0
      Self Powered
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass         6 Imaging
      bInterfaceSubClass      1 Still Image Capture
      bInterfaceProtocol      1 Picture Transfer Protocol (PIMA 15470)
      iInterface             14
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval              10
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    254
      bInterfaceProtocol      2
      iInterface             13
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x04  EP 4 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x85  EP 5 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    253
      bInterfaceProtocol      1
      iInterface              0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       1
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    253
      bInterfaceProtocol      1
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x86  EP 6 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x05  EP 5 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       2
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    253
      bInterfaceProtocol      1
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x86  EP 6 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x05  EP 5 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
Comment 8 Gerben Jansen 2021-11-14 08:53:38 UTC
Created attachment 853728 [details]
Screenshot of Windows10 errors
Comment 9 Gerben Jansen 2021-11-22 09:40:04 UTC
I noticed that on my Linux host system i sometimes loose the power on the USB port even without starting Virtualbox (the USB port should be "Always on", even if my laptop is powered down, but still connected to its power supply)

I do suspend my laptop with "rtcwake -m mem -s <nseconds>" on a regular basis, the USB power behaviour might be related to that.
Comment 10 Gerben Jansen 2021-11-25 10:29:18 UTC
Just to confirm your findings:

I saw your update on the Virtulbox bug (https://www.virtualbox.org/ticket/20652) and installed the 6.1.30 version from Oracle as well.
That didn't fix my iPhone issues ....
Comment 11 Gerben Jansen 2022-01-07 08:57:58 UTC
Any news here ? I don't see any activity in the ticket the Larry filed with Virtualbox (https://www.virtualbox.org/ticket/20652)
Comment 12 Gerben Jansen 2022-01-25 22:14:31 UTC
Installed 6.1.32 from Virtualbox, still no USB functionality.
I haven't been able to make backup of my iPhone for nearly 3 month now. Possibly i'll downgrade to leap 15.2 again ......
Comment 13 Larry Finger 2022-01-26 17:25:30 UTC
You shouldn't need to downgrade to Leap 15.2.

I wiped away my 15.3 partition and installed 15.2 KDE in it. I then upgraded to 15.3 and was able to duplicate your problem. With a bit of experimentation with my iPhone, I found that it works if I plug the phone into a USB2 port. It does not matter if I use an xHCI controller, or an eHCI controller in the VM, I just cannot plug into a USB3 port.

Under Tumbleweed, the iPhone can be seen with either USB2 or USB3 connections. The main piece of software that differs is the HCI subsystem in the kernel.

I still do not know what is wrong, but there is now a place to investigate, and you should have a way to backup.
Comment 14 Larry Finger 2022-01-26 18:00:13 UTC
An update: I still do not know which component is bad, but when I did a full search for "hci" in YaST => Software Management with all options other than "RPM Requires" selected and force the reinstallation of all the installed components, I could then boot Windows 10 VM and see the iPhone as well as my other various USB devices. I plugged the iPhone into a USB3 port, enabled the iPhone in the Devices pull-down menu, and started iTunes. At that point, my phone was backed up.

Now I will need to repeat my installation of 15.2, etc. and do the reinstallations one by one to find the bad one. Clearly something is wrong in the upgrade from 15.2 to 15.3. All I know now is that it is not VirtualBox or the kernel.
Comment 15 Gerben Jansen 2022-01-26 21:43:27 UTC
Hi Larry,

after reading your two last updates i gave it another try.
By this time i was running the latest host kernel 5.3.18-150300.59.43-default with VirtualBox-6.1-6.1.32_149290_openSUSE150-1.x86_64.rpm from virtualbox.org

First thing i did was re-install iTunes on the Windows10 guest system and tried both a USB2 and a USB3 port.

Next i selected the same packages as you with yast and again tried both types of USB ports.

yast re-installed :
Installing bash-completion-2.7-4.6.1.noarch.rpm (installed size 785 KiB)
Installing bluez-5.55-3.8.1.x86_64.rpm (installed size 4.90 MiB)
Installing grub2-i386-pc-2.04-22.9.1.noarch.rpm (installed size 2.17 MiB)
Installing grub2-x86_64-efi-2.04-22.9.1.noarch.rpm (installed size 6.15 MiB)
Installing kernel-devel-5.3.18-150300.59.43.1.noarch.rpm (installed size 55.75 MiB)
Installing libreoffice-l10n-en-7.1.4.2-14.22.10.1.noarch.rpm (installed size 98.50 MiB)
Installing kernel-source-5.3.18-150300.59.43.1.noarch.rpm (installed size 829.72 MiB)
Installing kernel-preempt-devel-5.3.18-150300.59.43.1.x86_64.rpm (installed size 4.50 MiB)
Installing kernel-default-devel-5.3.18-150300.59.43.1.x86_64.rpm (installed size 4.50 MiB)
Installing openSUSE-release-15.3-lp1532.157.1.x86_64.rpm (installed size 233.2 KiB)
Installing kernel-default-5.3.18-150300.59.43.1.x86_64.rpm (installed size 148.59 MiB)
Installing kernel-default-extra-5.3.18-150300.59.43.1.x86_64.rpm (installed size 13.69 MiB)
Installing kernel-default-optional-5.3.18-150300.59.43.1.x86_64.rpm (installed size 5.80 MiB)


Still in all experiments it looks like the iPhone switches from host to guest, i.e. the "device connected" sound play in Windows10, but iTunes doesn't see the iPhone.
However when i run MobaXterm / lsusb, the iPhone is visible on the Windows guest.
(fyi. MobaXterm is a born shell look-alike for Windows10 with many Linux commands built-in)

Also whenever i move the iPhone back to the host system, i no longer appears not to be charged anymore (in the initial situation, right after a boot, it is charged)


All this on an old Lenovo T530, see https://usermanual.wiki/Lenovo/T530T530IW530UgEn.957727917 page 5 for my USB ports ...

Let me know if you want me to do more experiments ....
Comment 16 Larry Finger 2022-01-27 01:32:26 UTC
I have no idea what to do. I blew away Leap 15.3 again, installed Leap 15.2, updated it, upgraded to 15.3 following the instructions from https://www.cyberciti.biz/faq/how-to-upgrade-opensuse-15-2-to-15-3-using-the-cli/, and then updated 15.3. After I installed the extpack for VB 6.1.32, my Windows 10 could see my iPhone, and iTunes ran fine using an xHCI virtual adapter and plugged into a USB3 port.

This problem seems to be random. If I cannot reproduce it reliably, how can it be debugged?
Comment 17 Gerben Jansen 2022-01-27 11:47:48 UTC
> This problem seems to be random. If I cannot reproduce it reliably, how can it be debugged?
I understand what you're saying here: i've supported Linux customers myself for many years.


I'd suggest we concentrate on a simpler USB device like a USB storage stick.

Problem with the iPhone is that:
1 - Micro$oft has no interest to debug issues with 3rd party applications like iTunes, certainly not in a Virtualbox environment.
2 - Apple has no interest to debug PC software, they want customers to use Macs
3 - there also sofware involved on the iPhone side.
4 - Virtualbox/we are caught in the middle of this.

When i look at two USB sticks i have, one NTFS stick formatted is visible on the Windows10 host, both when connected to a USB2 port and a USB3 port.

The other stick is formatted as an VFAT and is readable under the Linux host.
However when i try to access it on the Windows10 guest system in either USB port, the same happens as with my iPhone: Windows10 make a "device connected" sound, but the disk doesn't show up in Windows explorer.

Also is is visible with MobaXterm / lsusb.
Comment 18 Larry Finger 2022-01-27 17:40:23 UTC
I did what you suggested. I have some 8MB USB sticks that were ordered by mistake. On my wife's Windows 10 laptop, I formatted one with a VFAT file system and the other with NTFS. Both could be mounted, written, and read in the Windows 10 VM when plugged into either USB2 or USB3 ports. Just as with the iPhone, my Leap 15.2 upgraded to Leap 15.3 system is working correctly.

It is possible that there is some critical size limitation. How large is your VFAT stick? Does it differ from that of the NTFS stick?
Comment 19 Gerben Jansen 2022-01-28 12:20:12 UTC
Hi Larry,

i think i've been stupid and wasted your time !

Last night i decided to reread all of this report again, just to make sure i hadn't missed anything.

What struck me was your remark from 26/1/2022 about xHCI and eHCI. I didn't recollect anything about HCI setting in VirtualBox.

After some searching i found the place where it was configured in Virtualbox. It was set to OHCI (USB1) for all hosts.
Changing that to xHCI (USB3) made all my problems go away. I just created a fresh backup of my iPhone with iTunes on the Windows10 guest system.

Also the issues i thought i had with plain USB memory sticks went away. The reason that the 128MB stick did work while others didn't was that it was an ancient USB1 stick i still had. The  others were too modern for the OHCI setting.

I don't recollect where in the upgrade process of the Linux host (from 15.2 to 15.3) and/or VirtualBox the setting that i must have had with 15.2 (xHCI) got changed into oHCI.

Again, my apologies for filing the bug.

Gerben
Comment 20 Larry Finger 2022-01-28 19:46:07 UTC
I have no idea how that selection of USB virtual controller got changed on upgrade. The usual case is that the extensions package has not been installed, VB will not let a VM start with xHCI or eHCI controllers selected, the operator changes it to oHCI because they need to perform a quick test, and forgets they made the change. Only USB1 is built into the base VB system. Oracle has not open-sourced the others.

I now have one more question to ask when there is a USB pass through problem.

It is confusing why I could duplicate the problem, and then clear if with reinstallation of a few packages. Some file got corrupted without explanation!
Comment 21 Gerben Jansen 2022-01-29 09:22:00 UTC
The only (minor) issue i still have is that, after assigning the USB port back to the host system, it no longer supplies power to my iPhone.
The only way to get that back is to reboot my laptop from scratch.
Comment 22 Larry Finger 2022-01-29 18:56:17 UTC
On my system, power is still enabled after Windows VM shuts down and the iPhone is still charging. I did the test with Tumbleweed, but I would expect the same with 15.3.

This has the smell of a BIOS problem as that is the other thing that differs between your box and mine.

Rather than rebooting, you might try unloading and reloading ehci_pci or xhci_pci, depending whether your port is USB2 or USB3.