# LTE modem not showing up



## jbo (Dec 3, 2021)

I got a Lenovo Thinkpad X1 Carbon Gen9 here. It comes with a Quectel EM120-R LTE modem (datasheet).

As far as I can tell, there currently isn't a way to use this particular modem with FreeBSD. My idea would have been to setup a small VM running something like OpenWRT and passing the card through to the VM.
The problem I'm facing is that I can't locate the device under FreeBSD at all. It doesn't show up under `pciconf` nor under `usbconfig`.

I did boot the Ubuntu 21.10 Live image on the machine just to verify that the module is actually working from a hardware perspective. Ubuntu certainly shows the Modem in the Gnome settings panel.
However, neither `lsusb` nor `lspci` (in Ubuntu) shows the device.

Where would I go from here?


----------



## Alain De Vos (Dec 3, 2021)

If the usb driver doesn't detect the device the only thing left to look at is quircks,





						usb_quirk(4)
					






					www.freebsd.org


----------



## T-Daemon (Dec 3, 2021)

jbodenmann said:


> Quectel EM120-R LTE modem


Probably it's missing device ID's. See example usb/u3g: Add support for Quectel EM05


----------



## jbo (Dec 3, 2021)

Alain De Vos said:


> If the usb driver doesn't detect the device the only thing left to look at is quircks,
> 
> 
> 
> ...


Could you provide a bit more information as to what to do / what to look for?



T-Daemon said:


> Probably it's missing device ID's. See example usb/u3g: Add support for Quectel EM05


That patch is exactly why I am trying to "locate the device". My best case scenario would be that I can use this modem with the u3g driver by just adding the device/product ID as per the patch you showed.


----------



## Alain De Vos (Dec 3, 2021)

Adding the correct device-id in the correct device-place in the correct .c file in the /usr/src & then rebuilding kernel can sometimes work.


----------



## T-Daemon (Dec 3, 2021)

It looks like the Quectel EM120R-GL is FCC locked (FCC unlock App available). Also see discussion on https://forums.quectel.com/t/em120r-gl-for-linux/9350 .


----------



## Alain De Vos (Dec 3, 2021)

I've always thought of locking-in a form of patent right exaggeration going in against the idea of free trade.


----------



## jbo (Dec 3, 2021)

T-Daemon said:


> It looks like the Quectel EM120R-GL is FCC locked (FCC unlock App available). Also see discussion on https://forums.quectel.com/t/em120r-gl-for-linux/9350 .


Ufff... that is a _real_ bummer.
Does FreeBSD have any infrastructure to support this type of scheme?



Alain De Vos said:


> I've always thought of locking-in a form of patent right exaggeration going in against the idea of free trade.


In this case I assume that the locking is supposed to prevent violating RF legislation in the respective government's territory.


----------



## T-Daemon (Dec 3, 2021)

jbodenmann said:


> Does FreeBSD have any infrastructure to support this type of scheme?


Maybe Phishfry can answer the questions. He has some expertise in u3g(4) issues.


----------



## a6h (Dec 3, 2021)

The first step is unlocking. Just sayin'.


----------



## T-Daemon (Dec 3, 2021)

Well, jbodenmann asked it it's possible on FreeBSD. The FCC unlock app lenovo-snap runs on Linux.


----------



## Phishfry (Dec 3, 2021)

I think that Linux does have good tools for manipulating a modem. I am not familiar with locks.
I know carriers do lock devices on promo pricing. That was 3G stick era.

Adding the PID and VID to FreeBSD usbdevs & u3g is needed && reccompile kernel. If they do not exist.
While on Linux check the modes and make sure you can bring up a serial console. Direct Connect mode or PPP.

My cheap suggestion is to get a Sierra MC7355 (model depending on country) for 20 bucks and be done with it.
But IBM might need custom BIOS accepted model. I dunno. Earlier IBM models needed custom firmware tweak.
See: BIOS Whitelist.
Maybe other users can guide yo better on IBM models and their requirements.
Swapping modules ain't hard on most laptops. The antenna leads are more work that anything.


----------



## Erichans (Dec 3, 2021)

Have you acquired the X1 with Windows 10/11 or Ubuntu OS?

As mentioned earlier in this thread, unlocking seems to be your first priority, this may help: Quectel EM120 FCC locked
After that I think it should be visible with lspci (Linux) as mentioned here and, I presume also on FreeBSD.

For Ubuntu there seems be something in the making or is already available for Linux v5.13. However, at first glance it seems rather remarkable that Lenovo is offering one of their top models with the Quectel modem and Ubuntu OS option for which there was not a driver solution at the end of May 2021. That is, from looking at a Quectel forum message you've found, and this Lenovo forum message. The message on the Quectel forum suggests that Quectel only provides/will provide closed-source driver solutions for a driver incorporated in Linux (in addition to Windows 10/11 I presume). The Lenovo forum message does not bode well for any open sourced solution that might be taken up by FreeBSD:


> [...] The piece Quectel are refering to is there is a closed source binary for unlocking the modem - which comes from Lenovo. We need it for FCC regulatory reasons - it's not something that Lenovo can bypass or point at how to bypass. The good news is we have that utility for X1C9 - and it won't be Ubuntu unique. It should work on any distro - there isn't any intent to lock to just Ubuntu. We are of course working with Canonical to make it part of the preload which we won't be able to do with Fedora (we don't modify Fedora except for documents) but we are looking at how we make it available easily to everyone.



As a new proud X1 owner, you could ask Lenovo for driver info for Linux, more specifically Ubuntu support. I doubt however, that that will bring you nearer to a FreeBSD specific solution for this Modem. Alternatively, a hardware modem exchange does not look al that complicated, according to the X1 hardware manual, p. 70


----------



## a6h (Dec 5, 2021)

Sometimes using locked-devices/modules is inevitable. In such case, before purchasing, you have to make sure, to check with the list of supported devices, by typical unlocker utilities, e.g. DC-unlocker.


----------

