# FreeBSD on Thinkpad with LTE-Support



## gentlyd (Sep 6, 2020)

Hello, 

I am new to FreeBSD and have some questions regarding my planned setup:


I would like to use the Notebook especially during commuting, so my first question is, whether there is something to consider when using LTE cards. Are drivers for the "Fibocom L850-GL 4G/LTE Cat 9" / "Intel XMM 7360 LTE" available? (I've searched for it, but only found https://forums.freebsd.org/threads/fibocom-l850-gl.66572/.


Are there any hardware recommendations for my use case? I would like to stick to Lenovo, since I really appreciate design and quality of their Notebooks. 
Thank you very much in advance!


----------



## Mjölnir (Sep 7, 2020)

I can not tell about LTE modems -- a search for the models you mentioned +" FreeBSD" put your question here ranked 1st in the results...
You have to know the chipset of the modem and then consider to search & ask on the appropiate FreeBSD mailing lists.
I'm using an _Ericsson N5321_ 3G (HSDPA+) WWAN modem in a _ThinkPad T450s_ via the cdce(4) driver.  That's a pretty generic driver, the tricky thing is to find the AT ("Hayes") commands for the modem to get it up & running via ppp(1).  The net will disgorge that.
On WWAN, throughput is fine, but latency varies widely, it's a lottery...  presumably that's better on LTE, but beware all providers oversell their capacity, and usually voice has precedence over data.  When enough people around here want to use their mobile phone, my connection gets worse.  If you're commuting by train, you may want to use their WLAN instead?
What I dislike on my laptop is that the keyboard's backlight LEDs shine through a small gap beneath the key caps.  That's annoying when you try to keep a reasonable distance from the display.
Since you're german, I can recommend to go with a swiss keyboard layout.  You don't need to sprain your wrists to access the "[]{}" keys.  I got used to the differences very quickly. "ß" is AltGr+S, naturally.
Choosing a model with additional 2nd graphics is not guaranteed to work.  Stick to the internal GPU, that's more than adequate until unless you want to play 3D games.
I always go with refurbished business line equipment for the price/performance ratio, YMMV.  My impression is that consumer grade laptops catched up in quality & durability during the past decade.  Maybe have a look at those models offered by OpenSource projects, e.g. from KDE.
EDIT If you buy a used/refurbished laptop, make shure you get the UEFI/BIOS and ME (management engine) passwords!


----------



## Phishfry (Sep 7, 2020)

gentlyd said:


> Are drivers for the "Fibocom L850-GL 4G/LTE Cat 9" / "Intel XMM 7360 LTE" available?


No. The Intel cards were not supported on FreeBSD and I suspect they never will now that Intel stopped making cellular modems.

I would suggest an Sierra MC7354/MC7355 if in North America. For M.2 slots you want EM7354/EM7355.
This is only valid on computers without a BIOS whitelist.
You might also need a Windows/Linux box to switch them into the protocol/mode needed for FreeBSD called DirectIP for PPP
A LinuxLive CD can do the trick.

There are specific IBM/HP/Dell Sierra whitelisted modules but you need to pay attention to the part number details.
What brand/model is your laptop? M.2 slot or MiniPCIe for cell modem?


----------



## Phishfry (Sep 7, 2020)

I see you are in Germany. As such you will need a compatible modem. Sierra MC7305/EM7305 may be suitable for your carrier.
The Sierra modems use different firmware for different carriers. So you may need to flash a carrier firmware onto your modem.
Sierra website provides them along with a generic firmware.
Sierra MC/EM73xx modems can use either an CDMA or GSM carrier with a flashing.
There is also a newer series that maybe supported on FreeBSD MC/EM 74xx as seen here:


			https://www.sierrawireless.com/-/media/iot/pdf/datasheets/sierrawireless_airprime_em_series_datasheet.pdf
		

Look for the carriers listed in the chart. I would also ignore the 75xx series. It is too new to be supported.
Infact I have no experience with the 74xx series but I believe they are now supported.


----------



## Phishfry (Sep 7, 2020)

Looking at our source code I see this in /usr/src/sys/dev/usb/serial/u3g.c
U3G_DEV(SIERRA, MC7430, 0),

So at least one model in the MC/EM74xx line is supported.
The MC7430 is a Japanese market variant.
Adding new devices like the European MC7405 would only take 2 new lines of code and a kernel recompile.
A one line descriptor in u3g.c and a one line descriptor in /usr/src/sys/dev/usb/usbdevs
##EDIT- I dont even see a EM7405 so ignore that comment. Apparently there is no 74xx model for the European market.
If you look at the Sierra chart you will notice that the difference between EM7355 and EM7455 is the 74xx series adds a newer LTE Band. That brings support for TMobiles newer B3 band in North America.
Do notice though that 2G support is dropped for the 74xx series.


----------



## Mjölnir (Sep 7, 2020)

Phishfry said:


> [...]  This is only valid on computers without a BIOS whitelist.


Or take the risk to patch the BIOS (thinkwiki & alike for other brands).


Phishfry said:


> You might also need a Windows/Linux box to switch them into the protocol/mode needed for FreeBSD called DirectIP for PPP.  A LinuxLive CD can do the trick.


That's done by the AT-commands?  You don't need a Linux for that, just copy & paste (adopt) the appropiate chat scripts.


Phishfry said:


> What brand/model is your laptop? M.2 slot or MiniPCIe for cell modem?


IIRC s/he's in the process of choosing one.


----------



## Phishfry (Sep 7, 2020)

mjollnir said:


> That's done by the AT-commands? You don't need a Linux for that, just copy & paste (adopt) the appropiate chat scripts.


What if its in MBIM mode like Windows 10 will flash your modem to MBIM only.
This means no AT console at all. Thanks Microsoft for background flashing your cellular modem.

In that case `mmcli` is needed to switch USB composition. There is also a Sierra Windows tool for switching compositions.
Details


----------



## Phishfry (Sep 7, 2020)

Here is what I mean. Check out composition #9 and #10. This will leave you with no AT console.

```
AT!UDUSBCOMP=?
0  - HIP  DM    NMEA  AT    MDM1  MDM2  MDM3  MS  SUPPORTED
1  - HIP  DM    NMEA  AT    MDM1  MS              NOT SUPPORTED
2  - HIP  DM    NMEA  AT    NIC1  MS              SUPPORTED
3  - HIP  DM    NMEA  AT    MDM1  NIC1  MS        SUPPORTED
4  - HIP  DM    NMEA  AT    NIC1  NIC2  NIC3  MS  SUPPORTED
5  - HIP  DM    NMEA  AT    ECM1  MS              SUPPORTED
6  - DM   NMEA  AT    QMI                         NOT SUPPORTED
7  - DM   NMEA  AT    RMNET1 RMNET2 RMNET3        NOT SUPPORTED
8  - DM   NMEA  AT    MBIM                        NOT SUPPORTED
9  - MBIM                                         NOT SUPPORTED
10 - NMEA MBIM                                    NOT SUPPORTED
11 - DM   MBIM                                    NOT SUPPORTED
12 - DM   NMEA  MBIM                              NOT SUPPORTED
13 - Config1: comp6    Config2: comp8             NOT SUPPORTED
14 - Config1: comp6    Config2: comp9             NOT SUPPORTED
15 - Config1: comp6    Config2: comp10            NOT SUPPORTED
16 - Config1: comp6    Config2: comp11            NOT SUPPORTED
17 - Config1: comp6    Config2: comp12            NOT SUPPORTED
18 - Config1: comp7    Config2: comp8             NOT SUPPORTED
19 - Config1: comp7    Config2: comp9             NOT SUPPORTED
20 - Config1: comp7    Config2: comp10            NOT SUPPORTED
21 - Config1: comp7    Config2: comp11            NOT SUPPORTED
22 - Config1: comp7    Config2: comp12            NOT SUPPORTED
```


----------



## Mjölnir (Sep 7, 2020)

Thx, I didn't know that.  In retrospect I had luck that my modem was not crippled by Windoze and supports AT commands   EDIT What's `mmcli`?


----------



## Phishfry (Sep 7, 2020)

modemmanager-cli
Part of the much feared NetworkManager suite.

There is a perl script that the modemmanager author wrote so you don't even need mmcli.








						GitHub - mavstuff/swi_setusbcomp: MC7354 revert USB compositions script
					

MC7354 revert USB compositions script. Contribute to mavstuff/swi_setusbcomp development by creating an account on GitHub.




					github.com


----------

