Can't Use Fibocom L850-GL for Mobile Broadband

Hello all,

Once again, I'm a bit out of my depth and hoping for some guidance.

I'm trying to use a Fibocom L850-GL. My modem is a custom build with an imx6ul and i'm connecting the L850 through an m.2 slot on the board. My openwrt is also based off of 19.07.

I can see it and communicate with it initially just fine. It creates a device in /dev and I can see a network wwan0 is created, this tells me im at least starting out okay.

Here is its entry in /sys/kernel/debug/usb/devices
T:  Bus=01 Lev=02 Prnt=02 Port=01 Cnt=02 Dev#=  4 Spd=480  MxCh= 0
D:  Ver= 2.10 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=413c ProdID=81d9 Rev= 3.33
S:  Manufacturer=Fibocom Wireless Inc.
S:  Product=DW5820e L850-GL
S:  SerialNumber=004999010640000
C:* #Ifs= 8 Cfg#= 1 Atr=e0 MxPwr=100mA
A:  FirstIf#= 0 IfCount= 2 Cls=02(comm.) Sub=0e Prot=00
A:  FirstIf#= 2 IfCount= 2 Cls=02(comm.) Sub=02 Prot=00
A:  FirstIf#= 4 IfCount= 2 Cls=02(comm.) Sub=02 Prot=00
A:  FirstIf#= 6 IfCount= 2 Cls=02(comm.) Sub=02 Prot=00
I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=0e Prot=00 Driver=cdc_mbim
E:  Ad=81(I) Atr=03(Int.) MxPS=  64 Ivl=1ms
I:  If#= 1 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
I:* If#= 1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 2 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=00 Driver=cdc_acm
E:  Ad=83(I) Atr=03(Int.) MxPS=  64 Ivl=1ms
I:* If#= 3 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_acm
E:  Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 4 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=00 Driver=cdc_acm
E:  Ad=85(I) Atr=03(Int.) MxPS=  64 Ivl=1ms
I:* If#= 5 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_acm
E:  Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=06(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 6 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=00 Driver=cdc_acm
E:  Ad=87(I) Atr=03(Int.) MxPS=  64 Ivl=1ms
I:* If#= 7 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_acm
E:  Ad=88(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=08(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms

and here's the output of mmcli -m 0. You can see that a modem is created and it's pointing to the correct device .

mmcli -m 0
  --------------------------------
  General  |            dbus path: /org/freedesktop/ModemManager1/Modem/0
           |            device id: a9f2741382628680b14aab6f4d5976ec6a8ddfd6
  --------------------------------
  Hardware |         manufacturer: Fibocom Wireless Inc.
           |                model: DW5820e L850-GL
           |    firmware revision: 18500.5001.02.02.23.03
           |         h/w revision: V1.0.4
           |            supported: gsm-umts, lte
           |              current: gsm-umts, lte
           |         equipment id: 863212038554967
  --------------------------------
  System   |               device: /sys/devices/soc0/soc/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.2
           |              drivers: cdc_acm, cdc_mbim
           |               plugin: Dell
           |         primary port: cdc-wdm0
           |                ports: cdc-wdm0 (mbim), wwan0 (net), ttyACM1 (unknown),
           |                       ttyACM2 (at), ttyACM0 (at)
  --------------------------------
  Numbers  |                  own: +19191856317
  --------------------------------
  Status   |       unlock retries: sim-pin2 (3)
           |                state: disabled
           |          power state: low
           |       signal quality: 0% (cached)
  --------------------------------
  Modes    |            supported: allowed: 3g; preferred: none
           |                       allowed: 4g; preferred: none
           |                       allowed: 3g, 4g; preferred: none
           |                       allowed: 3g, 4g; preferred: 3g
           |                       allowed: 3g, 4g; preferred: 4g
           |              current: allowed: 3g, 4g; preferred: 4g
  --------------------------------
  Bands    |            supported: utran-1, utran-4, utran-5, utran-8, utran-2, eutran-1,
           |                       eutran-2, eutran-3, eutran-4, eutran-5, eutran-7, eutran-8,
           |                       eutran-11, eutran-12, eutran-13, eutran-17, eutran-18, eutran-19,
           |                       eutran-20, eutran-21, eutran-26, eutran-28, eutran-29, eutran-30,
           |                       eutran-38, eutran-39, eutran-40, eutran-41
           |              current: utran-1, utran-4, utran-5, utran-8, utran-2, eutran-1,
           |                       eutran-2, eutran-3, eutran-4, eutran-5, eutran-7, eutran-8,
           |                       eutran-11, eutran-12, eutran-13, eutran-17, eutran-18, eutran-19,
           |                       eutran-20, eutran-21, eutran-26, eutran-28, eutran-29, eutran-30,
           |                       eutran-38, eutran-39, eutran-40, eutran-41
  --------------------------------
  IP       |            supported: ipv4, ipv6, ipv4v6
  --------------------------------
  3GPP     |                 imei: 863212038554967
           |        enabled locks: fixed-dialing
  --------------------------------
  3GPP EPS | ue mode of operation: csps-2
  --------------------------------
  SIM      |            dbus path: /org/freedesktop/ModemManager1/SIM/0

while that's all fine and dandy, trying to enable the modem with mmcli -m0 --enable does not work. I will get an error telling me :
error: couldn't enable the modem: 'GDBus.Error:org.freedesktop.ModemManager1.Error.Core.Failed: Cannot power-up: sotware radio switch is OFF'

Now I have not been able to find any reference to any software switch in the documentation for the modem itself, nor have I had any luck playing around with mbimcli, qmicli, or umbim

I also want to note that there is no status error in the response message I get from using mbimcli -p -d /dev/cdc-wdm0 --set-radio-state=on, it just seems to do nothing.

At this point, I'm pretty much out of ideas on what to do next.

Any help is greatly appreciated! :slight_smile:

well the cause was that when I was driving gpio5 high, it was not actually driving it high.

the modem required us drive a pin high to enable the modem; however, it was stuck low.

This is annoying and due to the pinmuxing stuff i dont know much about with imx6 chips.

it was extra annoying because when I used the normal linux method of echo 5 > /sys/class/gpio/export and all that it worked and even read as high through linux.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.