USB devices with Librem 5?

I figured that, since the Librem 5 runs a standard kernel, it would behave basically like any GNU/Linux system when connecting a USB device. Using an OTG USB cable, I tried with a USB flash drive, a keyboard and a microphone. None of them appear in lsusb output. I found no settings related to USB. Does anybody know whether it is currently possible to connect a USB device to the Librem 5?

I’m no expert in USB-OTG cable wiring but I guess it does not work because of that adapter and the wiring differs from the “standard”. Did you try a normal USB-C to USB-A adapter or have any USB-C devices you could attach directly? That should work without any further configuration, there are many reports of users here who already attached USB-sticks and even docks which worked without problems (if the drivers for specific components were present).

1 Like

Oh, I’ve heard so many times of OTG cables for Android phones that I just assumed you needed one for any kind of phone.

The trouble is, I have litterally tons of USB cables in my possession, but none that could be used in this precise situation: I’d need either a USB-C to female USB-A (like my OTG cable), or an adapter with female USB-A connectors at both ends. I tried to fiddle with a USB hub, to no avail. I guess I’ll have to buy yet another USB cable… which leads me to the mandatory xkcd reference for this situation:

Anyway, thanks for your answer.

A dual USB drive like this will work just fine:

I actually own a triple USB drive with -C, -B, and -A ends on it.

I found a dual female USB-A adapter so I could try to connect three different USB devices this way:

Librem 5 — USB-C to USB-A cable — dual female USB-A — USB device

but still no luck, nothing appears in lsusb output :expressionless:

Maybe @dos, @joao.azevedo, or @Kyle_Rankin can offer some suggestions…

Or @dcz… :slightly_smiling_face:

Does the L5 appear as a USB device when connected to the computer? Using lsusb.

Oh you’re right @dcz, I should have tried that… No, it doesn’t: although the charging LED is on, the device doesn’t appear in lsusb output on the PC either. I was able to transfer data with this cable from Android phones, so I’d say it’s reliable. What can be done to debug and make the USB port work?

Actually, I don’t know what happened. This is what appears when I plug the L5:

Bus 001 Device 019: ID 1d6b:0104 Linux Foundation Multifunction Composite Gadget

Perhaps you plugged the cable the wrong way. Check if flipping it makes a difference.

I’m using a USB-C<->C cable, and a C to A adapter to connect to my computer. Out of 4 possible orientations, only one works.

If you have access to a USB-C hub, that could offer some insight.

Heh, reminds me of ye olde joke:
You can instert disk into the drive in eight possible ways. Some people need twelve tries.


Jumper horrors… gladly that’s in the past now.

I tried with another USB-C cable and the same dual USB-A female adapter, still not working. I have a great collection of micro USB cables and hubs, but unfortunately not much in USB-C.

I can say for certain that the supported configuration is attaching the L5 to a USB-C hub/dock. As for cables and adapters… given the amount of trouble USB-C is giving regarding quality and directionality, I would not consider them good tools for testing if your L5 is damaged (knock on wood).

1 Like

I always wondered what would happen when plugging a PinePhone and an L5 together via USB type c on both sides of the cable.

a) The PP charges the L5
b) The L5 charges the PP
c) The PP hosts USB OTG to the L5
d) The L5 hosts USB OTG to the PP
e) Both devices start communicating autonomously and building skynet. US Cyber command looked out for skynet. What they didn’t see coming is that skynet will be hosted from Linux smartphones, because they never thought that such great devices are possible.
d) It blows up the whole block.

Multiple answers are possible in combination.


@prolog You can probably do everything!

Thx but this video doesn’t show PP USB interconnection. It shows using a PP to flash an on OS to an SD card and then booting the new OS from the same PP from the SD card. Then downloading another OS and flashing it to the PP’s internal eMMC and booting it.

Edit: there is a video from Purism showing an L5 that connects to PCs via USB OTG as USB storage and let the PC boot live OSs directly from the L5 and other very cool stuff. I don’t know in which state this development is, but will use it when its there and I have the phone. :slight_smile:

1 Like

Technically speaking, if a device connects as a USB client to a USB host, this is not USB OTG. OTG is only when a device is normally a client, but wants to act as a host. (Also effectively only for USB 2.0, because 3.0 uses the role swap mechanism.)


As @dcz mentioned USB 3.0 cable role I think this is the one cable/adapter that provides solution to your needs @Felip. I think it should be USB Type C to USB-A adapter with emphasis on 3.0 (like this one). But finding cable with more than one USB 3.0 port might be difficult (if such y-splitter cable exists at all). Anyway, I guess (for your needs), you are looking for something like this (without promising it will work out-of-the-box, but believe so, or try to find one with VIA Lab’s VL820 USB 3.1 control chip).

Edit: Short walk around the village I live in reminded me of this (splitter type) one.

1 Like

Thanks everyone! It works indeed with a USB-C hub like this one. It’s a bit mysterious to me why my previous setups wouldn’t, but apparently USB-C is a complicated beast :smile: