Librem 5 & Tethering Update 2020

I sometimes saw such restrictions some years ago, when USB modems with SIM cards started spreading, but the market protested, now a lot of people do not use anymore a fixed line at home and they’re tethering by their smartphone and in my country 50 GB/month and more are very common.
If your carrier limit you, then change it!

1 Like

I’ve NEVER seen a cellular contract with that amount of data. My guess is that on a large scale such expansive data would overload most systems. I mean imagine 100 million smartphones all trying to watch Netflix.

Although T-Mobile was doing an unlimited data plan for a while. Not sure if they are still doing it. There was a lot of throttling used on it, especially if you were found to use large amounts of data.

1 Like

It’s the same as vacuuming - if everyone did it at the same time, our electric supply would probably break down. But in reality, not all people go out to watch Netflix on their smartphone just because they could. Mobile network are surely capable of 100 million concurrent streams, the limited factor is a single cell tower.

2 Likes

my contract is for 60GB a month, shared by two SIM cards so both use the same 60GB. But I am not in the US

1 Like

I have a whole 6gb for my telekom contract. That was ear double what I had in the states.

Meanwhile in the Nordic region: unlimited data amount is the norm (for a reasonable price even, around 25-50€/month depending on 4G/5G speed limits 10-1000Mb/s, use whose phone you want, decent service, several providers with primary networks etc.). So… could be better. And for a humorous take (your mileage may vary), one company even produced a series of commercials just to rub it in to those that have it worse :smirk:

About the video streaming service example: a single tower could get into trouble if it’s overloaded by unusual number of connections. Companies try to add tower to such areas to keep service levels decent, and regularly do, when large crowds gather (think festivals - although often companies set up movable towers to keep up with the demand). But video streaming does not effect the network like some other data streams (normally - which this spring was not), as under the hood data can be buffered and streaming services can use multicast technologies so that not every user is connected all the way to the source if it can be helped. On top of that, the new 5G network features include, for example, cacheing at base station which will help the network load too (and us, when almost everyone else is hopefully out of 4G space).

1 Like

on a side note there … mobile phones were first designed to be - well - MOBILE :joy: i.e for using outdoors :stuck_out_tongue_winking_eye:

but then we started replacing ground line phones (fixed - strictly for indoor use) with the first type and now we’re having trouble imagining how a couple thousand phones (all transmitting on 4G simultaneously) can have an adverse impact on the electro-magnetic equilibrium of the cells in our bodies :sweat:

2 Likes

If you’re a ham radio operator and are attending a large public event such as in a stadium or at a fairgrounds, bring your late model 2m/440 HT. It’ll fit on your belt right next to your phone. When the local cell towers get over burdened and you can’t use your phone, you can easily connect to a repeater (maybe a block away or maybe twenty miles away) and make your phone calls from a landline connected from that tower. I’ve done this several times. Even if the whole city power grid and all cell towers go out, you’ll get that call through. If the landlines all are out too, you can still talk to people who can tell you what’s going on. This happened to me several years ago when most of the power on the whole US (SanDiego to Portland) West Coast went out. With most of the power and communications out everywhere in sight, I knew within just a few minutes, the scope of the outage and invited a few friends over (who also turned on their radios to see what was going-on) for a pool party at my house later that night. No matter what, you’ll always be connected if you have your 2m/440 radio with you.

3 Likes

Is this work done yet? I’ve connected my L5 to my laptop via USB, but it doesn’t detect the L5’s internet connection. So maybe it is not finished yet, or do I need to enable something on my L5? I can’t find any USB tethering stuff in the settings for instance. But via the terminal would be fine also.

Any particular reason why you don’t want to tether via WiFi?

Yes, I have two reasons. Firstly, I like to minimize the radiation around me, and secondly if I tether via USB the phone and laptop gets charged at the same time. It feels good and simple for me.

3 Likes

Also minimizes the minimal possibilities of interference and eavesdropping, one less vector into the phone open.

4 Likes

You need this

One way you can hope to do this

Or build a Faraday cage around your house or within the walls.

2 Likes

It requires manual work - as in, there’s no GUI to set it up, but if you set up your connection manually via terminal it will work. When connecting the phone to a PC via USB you should see it in lsusb as:

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

It should be seen as a Ethernet device, serial port and (empty, 1MB) mass storage device. If you don’t see anything like that, try different cables, USB-C orientations etc. In particular I’ve noticed that USB-C to USB-C connections can be capricious and there’s usually better luck with USB-A to C cables.

When you get it to be seen by your PC, you should be able to configure connection sharing in pretty much the same way you would do it on a PC using NetworkManager.

3 Likes

My problem is that I don’t know how to manually to it via the terminal. I was hoping that someone could share some commands. In the past I’ve just tethered with my iPhone, by selecting USB-tethering in the iPhone settings, and then just connecting the cable. Nothing has to be done on the laptop.

I find the USB device (L5) when I connect it to my Fedora laptop with lsusb. The NetworkManager says “Connecting” but it never connects. I guess I’m just lacking the terminal commands on the L5?

1 Like

I have configured my L5 USA for USB tether and while it works, it is painfully slow. I have my L14 running Qubes connected USB-C to USB-C. I enabled networking in the sys-usb qube and when I want to tether, I just change the firewall qube to use sys-usb for its network.

To setup the L5 configure the usb0 interface in /etc/network/interfaces.d/, install and configure dnsmasq to provide client with IP, nameservers and route information. Make sure the interface on both side is hot-plug enabled.

L5 interface file:
auto usb0
allow-hotplug usb0
iface usb0 inet static
address 192.168.200.49/30

L14 interface file:
auto usb0
allow-hotplug usb0
iface usb0 inet dhcp

Any insights on the speed issue are appreciated. BTW using AweSIM. But is slow using WiFi as well.

A couple of troubleshooting suggestions:

  • take Qubes out of the picture and tether PureOS to PureOS
  • quantify “painfully slow”

For some reference, here are some speed tests, with the L5 (10.42.0.2) connected with USB-C to USB-A cable to an Linux i5-3337u PC (10.4.2.0.1) USB 3.0 port:

    purism@L5:~$ iperf3 -c 10.42.0.1 -R
    Connecting to host 10.42.0.1, port 5201
    Reverse mode, remote host 10.42.0.1 is sending
    [  5] local 10.42.0.2 port 33158 connected to 10.42.0.1 port 5201
    [ ID] Interval           Transfer     Bitrate
    [  5]   0.00-1.00   sec  18.4 MBytes   154 Mbits/sec                  
    [  5]   1.00-2.00   sec  17.8 MBytes   149 Mbits/sec                  
    [  5]   2.00-3.00   sec  17.7 MBytes   149 Mbits/sec                  
    [  5]   3.00-4.00   sec  17.7 MBytes   149 Mbits/sec                  
    [  5]   4.00-5.00   sec  17.8 MBytes   149 Mbits/sec                  
    [  5]   5.00-6.00   sec  17.6 MBytes   148 Mbits/sec                  
    [  5]   6.00-7.00   sec  17.6 MBytes   148 Mbits/sec                  
    [  5]   7.00-8.00   sec  17.6 MBytes   148 Mbits/sec                  
    [  5]   8.00-9.00   sec  17.7 MBytes   148 Mbits/sec                  
    [  5]   9.00-10.00  sec  17.8 MBytes   150 Mbits/sec                  
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [ ID] Interval           Transfer     Bitrate         Retr
    [  5]   0.00-10.01  sec   179 MBytes   150 Mbits/sec    0             sender
    [  5]   0.00-10.00  sec   178 MBytes   149 Mbits/sec                  receiver

    iperf Done.
    purism@L5:~$ iperf3 -c 10.42.0.1 
    Connecting to host 10.42.0.1, port 5201
    [  5] local 10.42.0.2 port 43668 connected to 10.42.0.1 port 5201
    [ ID] Interval           Transfer     Bitrate         Retr  Cwnd
    [  5]   0.00-1.00   sec  16.5 MBytes   139 Mbits/sec    0    115 KBytes       
    [  5]   1.00-2.00   sec  15.8 MBytes   133 Mbits/sec    0    123 KBytes       
    [  5]   2.00-3.00   sec  15.6 MBytes   131 Mbits/sec    0    235 KBytes       
    [  5]   3.00-4.00   sec  15.4 MBytes   129 Mbits/sec    0    238 KBytes       
    [  5]   4.00-5.00   sec  15.5 MBytes   130 Mbits/sec    0    238 KBytes       
    [  5]   5.00-6.00   sec  15.0 MBytes   126 Mbits/sec    0    238 KBytes       
    [  5]   6.00-7.00   sec  15.7 MBytes   131 Mbits/sec    0    247 KBytes       
    [  5]   7.00-8.00   sec  15.9 MBytes   134 Mbits/sec    0    287 KBytes       
    [  5]   8.00-9.00   sec  15.0 MBytes   126 Mbits/sec    0    287 KBytes       
    [  5]   9.00-10.00  sec  15.5 MBytes   130 Mbits/sec    0    287 KBytes       
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [ ID] Interval           Transfer     Bitrate         Retr
    [  5]   0.00-10.00  sec   156 MBytes   131 Mbits/sec    0             sender
    [  5]   0.00-10.02  sec   154 MBytes   129 Mbits/sec                  receiver

    iperf Done.

I see similar speeds using public iperf3, i.e. 150Mbps DL, 130Mbps UL, on TCP.
Doing this on UDP instead ([...] -u -b 400M param) I get 237Mbps DL, 178Mbps UL.

Speedtest seems quite a bit slower (PC is on fiber uplink and for reference it can do over 850Mbps):

purism@os:~$ speedtest-cli
Retrieving speedtest.net configuration...
Testing from [...]
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by  [...] [6.04 km]: 11.13 ms
Testing download speed................................................................................
Download: 106.70 Mbit/s
Testing upload speed......................................................................................................
Upload: 96.02 Mbit/s

The L5 advertises itself as being 5000Mbps (USB 3.0) capable, according to the PC side (lsusb -v shows Device can operate at SuperSpeed (5Gbps)), but even on a USB 3.0 port on this PC, the USB Ethernet speeds are more consistent w/ USB 2.0 (480 Mbps).
lsusb -tv on PC shows the Librem 5 actually connected to a USB 2.0 hub port. If I remember from last year, someone from Purism wrote here about how the USB hubs/ports from the i.MX 8M SoC are actually used/connected internally.

Of course, Ethernet over USB (2.0) has a lot of USB & CDC protocol overhead, so I think 150 tcp or 237Mbps udp max speeds are quite reasonable.
The L5 hardware limitations are also a factor.

2 Likes

So, reconfigured L5 removing my manual USB0 config and using nmcli to setup a shared interface. This is working much better. The download speed across the tether is comparable to that obtained directly on the L5, but the upload speed is about half.

nmcli connection add type ethernet ifname usb0 ipv4.method shared con-name tether

Using speedtest-cli gave better results than web version on L5. Performance is acceptable up and down.

I appreciate the assistance.

1 Like