USB Data Connection Broken

Hello,
I have the following problem with my Fairphone4. I just can’t get a data connection via the USB Port. I am just getting the following error messages in my dmesg log. Charging works fine though.

[ 424.241204] usb 5-1.4.2: new full-speed USB device number 21 using xhci_hcd
[ 424.373190] usb 5-1.4.2: device descriptor read/64, error -32
[ 424.612816] usb 5-1.4.2: device descriptor read/64, error -32
[ 424.848739] usb 5-1.4.2: new full-speed USB device number 22 using xhci_hcd
[ 424.981246] usb 5-1.4.2: device descriptor read/64, error -32
[ 425.221196] usb 5-1.4.2: device descriptor read/64, error -32
[ 425.329308] usb 5-1.4-port2: attempt power cycle
[ 426.852734] usb 5-1.4.2: new full-speed USB device number 23 using xhci_hcd
[ 426.852935] usb 5-1.4.2: Device not responding to setup address.
[ 427.061531] usb 5-1.4.2: Device not responding to setup address.
[ 427.269142] usb 5-1.4.2: device not accepting address 23, error -71
[ 427.400758] usb 5-1.4.2: new full-speed USB device number 24 using xhci_hcd
[ 427.401091] usb 5-1.4.2: Device not responding to setup address.
[ 427.609462] usb 5-1.4.2: Device not responding to setup address.
[ 427.817146] usb 5-1.4.2: device not accepting address 24, error -71
[ 427.817921] usb 5-1.4-port2: unable to enumerate USB device

This is the same regardless if I am booted in the system or in fastboot or recovery mode. I once was able to get a data connection in fastboot mode, but that was just a one off during troubleshooting.
I already tried different cables and different PCs with different operating systems. Furthermore I replaced the USB module to no avail.

I also captured the USB-Traffic during a connection attempt, maybe someone with knowledge can help me understand it more. (Can’t upload pcap files so a partial screenshot has to do for now)


For reference the usb devices and their addresses:

>_ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 8087:0025 Intel Corp. Wireless-AC 9260 Bluetooth Adapter
Bus 001 Device 003: ID 27c6:5584 Shenzhen Goodix Technology Co.,Ltd. Fingerprint Reader
Bus 001 Device 002: ID 04f2:b61e Chicony Electronics Co., Ltd Integrated Camera
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Many thanks in advance. I am out of ideas here :frowning:

Did you put your phone on data connection?
On your FP4, swipe down from the top of the screen to access the notification shade.
Look for a notification that says “USB for charging” or “USB for file transfer”. Tap on it …

Thanks for the quick reply. Sadly this notification does not occur. I also tried manually changing this in the settings but all options are greyed out:

I also set the option to “Always allow USB connections” in the Security and Privacy->More security and privacy->Trust->Restrict USB settings.

Did you enable Developer options? (Go to the app Settings, About phone and then tap 7 times on Build number.
Then go to System, Developer options
enable Developer Options
and allow USB debugging

In the computer on Linux/Fedora I have made a file in /etc/udev/rules.d/
the name of the file is
51-android.rules
and in this file I have (still for my Fairphone 2)
SUBSYSTEMS==“usb”, ATTRS{idVendor}==“05c6”, ATTRS{idProduct}==“6764”, MODE=“0666”, GROUP=“androiddev”, SYMLINK+=“fp2”

Just tried that. Sadly it didn’t lead to a change. I also changed the vendor ID to 2ae5 as this should be the correct one for the Fairphone4 according to this database (USB\VID_2AE5 - Fairphone B.V. | Device Hunt)

I also reloaded the udev rules each time after changing using this command:

sudo udevadm control --reload-rules && sudo udevadm trigger

I tried these different Product IDs and also none with just the Vendor ID

SUBSYSTEMS==“usb”, ATTRS{idVendor}==“05c6”, ATTRS{idProduct}==“6764”, MODE=“0666”, GROUP=“androiddev”, SYMLINK+=“fp4”
SUBSYSTEMS==“usb”, ATTRS{idVendor}==“2ae5”, MODE=“0666”, GROUP=“androiddev”, SYMLINK+=“fp4”
SUBSYSTEMS==“usb”, ATTRS{idVendor}==“2ae5",  ATTRS{idProduct}==“9024”, MODE=“0666”, GROUP=“androiddev”, SYMLINK+=“fp4”
SUBSYSTEMS==“usb”, ATTRS{idVendor}==“2ae5",  ATTRS{idProduct}==“9015”, MODE=“0666”, GROUP=“androiddev”, SYMLINK+=“fp4”
SUBSYSTEMS==“usb”, ATTRS{idVendor}==“2ae5",  ATTRS{idProduct}==“f000”, MODE=“0666”, GROUP=“androiddev”, SYMLINK+=“fp4”
SUBSYSTEMS==“usb”, ATTRS{idVendor}==“2ae5",  ATTRS{idProduct}==“9039”, MODE=“0666”, GROUP=“androiddev”, SYMLINK+=“fp4”
SUBSYSTEMS==“usb”, ATTRS{idVendor}==“2ae5",  ATTRS{idProduct}==“904e”, MODE=“0666”, GROUP=“androiddev”, SYMLINK+=“fp4”

Can you try a different cable?

What happens if you in Developer options ‘Revoke USB debugging authorisations’?
My Fairphone 4 gives in lsusb
Bus 001 Device 017: ID 18d1:4ee7 Google Inc. Nexus/Pixel Device (charging + debug)

and in dmesg
[81839.976765] usb 1-4: new high-speed USB device number 11 using xhci_hcd
[81840.108749] usb 1-4: New USB device found, idVendor=18d1, idProduct=4ee7, bcdDevice= 4.19
[81840.108761] usb 1-4: New USB device strings: Mfr=1, Product=2, SerialNumber=x
[81840.108763] usb 1-4: Product: Fairphone 4 5G
[81840.108765] usb 1-4: Manufacturer: Fairphone
[81840.108767] usb 1-4: SerialNumber: xxxxxxxx

Many thanks for the vendor and product Id. I also tried them but had no luck. Different cables also didn’t change anything.