FP6 USB: MTP file transfer hangs only when connected to USB3 port

This is not really a “please help me” topic, rather a bug report for the FP team.

When connecting my FP6 to a USB2 port on my PC, MTP file transfer works perfectly. But when connecting it to a USB3 port, MTP file transfer is highly erratic: batch transfers always hang, and single-file transfers mostly hang but sometimes work after several attempts. The FP6 is perfectly recognized at a low level though (lsusb).

This is likely not a problem on the PC side, since I regularly plug USB2 devices (including other USB2 phones) on the PC’s USB3 ports and they always work as expected. My FP6 is the first device to exhibit such a misdemeanour.

It’s not that much of a problem, per se, since plugging the FP6 on a USB2 port solves the issues, but it is still a bug. Without additional information, my first impression as a fellow developer is that the FP6 software (AFAIK the USB hardware itself is rather passive) overlooks some parts of the negotiation protocol.

For completeness: I’m on Debian Trixie. Since all works perfectly when I switch to a USB2 port, the MTP software (KDE’s KIO) isn’t a likely suspect. Since all works perfectly with other USB2 devices on the same USB3 port, both when using MTP or other protocols, the low level software (Linux & USB drivers) isn’t a likely suspect either.

1 Like

you cannot file bug reports here in the user forum, please contact support through official channels

2 Likes

Sorry. Where would that be?

https://support.fairphone.com/hc/en-us

1 Like

Thank you. I saw that page earlier but didn’t pay much attention past the canned responses (my bad). Now I see I can contact them by email for more serious stuff, will do.

1 Like

Maybe I can cross-check and try to re-produce this situation on my computer tomorrow, too late today.

1 Like

I just tried it using a USB3.2gen2 port+cable on Arch Linux (using gnome+nautilus) and I encountered not a single issue. I copied 6GB spread across 2 files with a constant 41MB/s from the phone to the PC. I also tried it on a USB4 port+cable, also no issues.

I am tinkering with smartphones for over 10 years now and what I experienced a lot is that some USB-controllers in the PC struggle with connectivity to certain devices. Especially USB3 ports + certain smartphones. Some combinations just don’t play nicely together. With older PCs these kind of issues are much more present. The different USB-ports on a PC are spread across multiple USB-controller-chips. Which have different quirks/bugs/issues.

Sooooo, what I am trying to say is, maybe it’s your USB-controller-chip that struggles to properly handle the phone. I would try it with another PC if possible and/or with all USB3 ports on your computer (if you haven’t already). If it works, it is unlikely it is the phones fault. Hope that helps.

Also cables/connectors could be an issue (they might work with one device-combination but not with the other because of imperfections in the plugs & ports, ect.)

6 Likes

Thanks for your test and all this valuable information. I shall test some more tomorrow, with multiple cables, with other computers/OSes at work, and with other ports on my own PC.

1 Like

I also copied lots of data with an USB4 port, no problem here.

1 Like

So here’s my feedback after massive testing the following scenarios with MTP mode activated and using the Fairphone USB-C 3.2 cable for connection:

tested OS:

  • Windows 10 22H2
  • Linux Mint 22.1

tested USB ports:

  • USB 3.1 (USB-C, mainboard)
  • USB 3.1 (USB-C, case)
  • USB 3.1 (USB-A, mainboard)
  • USB 3.1 (USB-A case)
  • USB 2.0 (USB-C, mainboard)
  • USB 2.0 (USB-C, case)

test data read and write:

  • 3,6 GB ZIP file
  • 800 MB folder with about 200 pictures

result:
All transfers were running stable without any issues at constant speed of about 45 MB/s.
Similar to this topic here:

I recommend further testing with your cable and USB configuration, or maybe checking if the drivers (chipset, USB) are correctly installed.

6 Likes

Thanks for your feedback. Both your results and mine may suggest that @Switch is onto something about host controllers.

Concerning my own PC:

  • case and mainboard connectors behave the same
  • cables don’t change anything (tried the 6 different ones I have, two of them are cheap chinese stuff but 4 of them are definitely good quality & certified) – note, although I don’t believe it matters, that I only have USB-A ports on my PC
  • other USB2 & USB3 devices always work well whether on USB2 or USB3 host ports, only FP6 misbehaves

On work computers:

  • tested on several Windows and Linux boxes
  • both OSes had some working and some buggy boxes
  • again, cables didn’t change anything
  • didn’t try with USB2 devices for comparison, as I forgot to bring them

Tomorrow I will try to correlate the mobo manufacturers with the successes/failures. Only thing I can say for sure at the moment: my PC has a MSI mobo.
I will also bring my USB2 devices that work at home, in order to verify them on work computers.

This is definitely getting interesting! (even if a bit weird)

2 Likes

I forgot to mention: as far as Linux goes, we are a 100% Debian shop. We don’t mess with arcane kernel settings, so when it comes to USB it’s just stock settings.

And yet, with exactly the same software on several boxes, some succeed and some fail. Hence what I said earlier: @Switch might well be onto something when he points out the PC hardware.