Fibocom FM350-GL Support

Feel free to start a separate topic on this.

Some hints for you:

+EPRATL, Set the Prefer RAT mode list
+GTACT, Select RAT and BAND

1 Like

Been busy over the weekend but got a chance to sit down last night and look into this a bit more. No logs, but here's the summary of what I've found:

  • Looks like the card is already set for NSA/combine LTE+5G+WCDMA preferred. All the relevant commands confirm this and all bands enabled. +GTACT for example returns RAT mode 20 (NR-RAN/WCDMA/LTE)
  • During the initial connection it registers as mode 11/SA/5G only but after a period of time like within a 5 minute period I do get a RATchange message when it shifts to 13/NSA/combined LTE+5G operation. However this is well past the time the automatic scripts complete of course that would grab the IP.
    • However if I go through and manually run everything and delay grabbing the IP after seeing the RAT change, there's still no V4 address.

As far as I know, there doesn't seem to be any commands to force what modes it uses, just what it prefers. I'm guessing T-Mobile is the one enforcing this. Though if anyone is more familiar with their inner workings, something that came to mind: I think at some point this SIM I'm working with got migrated from being a data only/tablet plan to a phone plan and I need to work on getting that switched back. Any chance that could impact this behavior?

  • For the 464XLAT/CLAT stuff, with the package installed and setting up the 'AT Command' interface with IPV4V6 set, it'll toss in an extra virtual interface automatically (Meaning 3 showing in the Web UI: The base interface which should contain the V4 address but doesn't, a virtual interface for the V6 address which works, then another virtual interface for the XLAT/CLAT side) but in the logs it constantly cycles between up and down and doesn't do anything.
    • I did also try a manually adding in an interface (tagged to the virtual V6 interface, the primary/V4 interface it complains about saying it doesn't exist). All defaults did nothing. I did try adding the 'well known' V6 prefix. I also tried adding Cloudflare V6 DNS servers manually. Neither seemed to produce anything useful.

Honestly I'd be ok with a V6 only connection. My main goal is to use Speedify for bonding these connections which in theory should do its own address translation internally being VPN-esque but I am not sure if it even supports V6 connections on the WAN side. At the very least it isn't picking that up currently.

I will go ahead and get a new topic posted later today for assistance on the 464XLAT stuff.

@nextgen-networks I think I figured out what I had done originally, though there's a lot of empty knowledge holes here. But at the base, I was toying around with the Rooter fork which in current builds supports this card out of the box and at least per its own logs it does a successful FCC unlock even in USB mode. And then I used the couple of related AT commands that affect the lock behavior to make it a permanent unlock. There may be other ways to do this, but this was what worked for me on this random path of attempts I went down. :stuck_out_tongue:

Quick update but after doing some digging, I think I may have found a workaround at least. Not sure of the full implications, but I'm at least getting a V4 address somewhat reliably across reboots now.

There's an option in the AT command doc called +E5GOPT which sets some 5G option config which Fibocom's own doc doesn't really give any useful details on.

However doing a quick Google search I once again got a result from the one detailed 4pda forum thread for this modem and it looks like it specifically enables/disables SA/NSA modes.

Here's a pic, I'm assuming from a decompile of the firmware, that was posted there:
image

On mine it was set to 7 which enables both NSA and SA. I set it to 5 which should disable SA but keep NSA. After doing so and making multiple modem and system resets to test and confirm functionality: Knock on wood each time it has populated a V4 address reliably. Thew initial connection seems to default to LTE but like mentioned in my previous comment within a few short minutes or so (I haven't reliably timed it yet, just a ballpark guess) it switches to LTE-ENDC (that mode 13/LTE+5G operation).

Speed tests and latency are within the general area I was getting before on the rare occasions I had a working connection after this all started.

So if anyone else has similar issues with T-Mobile in the US, this may be an option to try.

I am also getting my SIM plan changed back to a data only plan but have to wait until the billing cycle rolls over. But I'll test again with the previous config and report back if anything changes.

Guys, is this the card you are discussing about?
How it is possible it is so cheap and seems to provides even better features than much more expensive models like RM520 ?
I need to buy a card, but it seems to be a very hard choice.

1 Like

This one is marked "Prototype", consider using another seller.

1 Like

Good finding for NSA/SA :slight_smile:
NSASA

From another hand have you experienced such an issue?
mtk_t7xx 0003:01:00.0: txq0: DRB check fail, invalid skb

Or maybe this:
root@BPI-R4:/nvme/work/oled# [ 2523.990007] Unable to handle kernel read from unreadable memory at virtual address 00000000000000c0
[ 2523.999065] Mem abort info:
[ 2524.001850] ESR = 0x0000000096000005
[ 2524.005590] EC = 0x25: DABT (current EL), IL = 32 bits
[ 2524.010891] SET = 0, FnV = 0
[ 2524.013936] EA = 0, S1PTW = 0
[ 2524.017068] FSC = 0x05: level 1 translation fault
[ 2524.021935] Data abort info:
[ 2524.024806] ISV = 0, ISS = 0x00000005, ISS2 = 0x00000000
[ 2524.030280] CM = 0, WnR = 0, TnD = 0, TagAccess = 0
[ 2524.035320] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0
[ 2524.040621] user pgtable: 4k pages, 39-bit VAs, pgdp=000000010b63a000
[ 2524.047051] [00000000000000c0] pgd=0000000000000000, p4d=0000000000000000, pud=0000000000000000
[ 2524.055749] Internal error: Oops: 0000000096000005 [#1] SMP

It makes the modem unstable and not connecting to the provider...

Thanks @AndrewZ , this would have been my first mistake.

I was trying to search for more info, but seems to be that this product has been removed from the Fibocom web site (link). It's not even in their full product list.

Is this module still worth considering that it has become obsolete? What you recommend as a newer product compatible with OpenWrt?

Dude, you're AWESOME!
I've been trying to make my FM350-GL to work with my GL.iNet MT3000 (Beryl AX) through the Waveshare m2 to usb adapter for a couple of weeks and I finally managed it but only because of your repo!
You rock, seriously. Thank you so much!

Kind of a side comment, but I am curious what everyone who is using this particular card are using to interface with it? ie: A dedicated router board/x86 box with an M.2 slot or an external USB or ethernet based adapter? If you've got specifics that are working for you, that'd be awesome.

I'm still trying to solidify my setup here. With the above changes to NSA/SA modes it has been pretty reliable getting the initial connection but under load I have had pretty consistent drops where the actual USB side disconnects completely.

Here's the list of interfaces I've worked with so far:

Amazon.com: CY Adapter NGFF M.2 Key-B WWAN to USB 3.0 Adapter Riser Card with SIM Slot for 3G/4G/5G LTE Wireless Module Modem Card : Electronics
Amazon.com: M.2 Key B to USB 3.0 Adapter Portable Network Adapter with SIM Slot Support SIM MicroSIM Nano SIM Card for WWAN LTE 4G 5G Modules : Electronics

I'm very aware these cards tend to be power hungry and I have specifically ran these with powered USB hubs (the second adapter has a separate power input but it seems to be potentially mis-wired as I could only get it to draw current from the data port or power port but not both).

I'm now running back to the x86 machine I've used before with the LTE cards. Specifically it's one of those dirt cheap Evolve III Maestro laptops Micro Center carries but they come with an M.2 slot occupied by one of the EC25-AF cards that I've since put the FM350 in its place. So far it's working well with no dropouts under load test so far.

I'm taking a wild guess I may be seeing power issues with the other adapters based off of all of this. So I'm curious what others are using successfully. I'm humoring the thought of adding another to my setup but that would likely necessitate one of these external USB or ethernet adapters so I want to get this issue figured out before I splurge for another card.

1 Like

Guys, this module seems to be the cheaper one while still able to provide good performance. It comes with a Mediatek T700 and although this seems to be a very old and entry level chipset, I saw it running at 1Gbps (on a Zyxel NR5103).

This is my target tower:
TDD sub-6GHz AAU, FDD Passive, DSS
N3 N78 B1 B3 B7 B20 B38

Of course, I would like to see all bands aggregated. Is this possible natively or through some hack?

I have the same concerns. MCUZone boards, Raspberrys, Bananas etc all end up with being very expensive once expanded with the needed stuff and still with severe limitations. What to me seems the best solution is an x86 board (a Mini ITX in the specific). You may want to check this topic for more info.