Modem 5g T99W175 (5930e) and BPI-R4, how?

Hello, trying to use T99W175 on R4, unfortunately cannot do lots of progress, not so much information is available or dispersed. The only thing I was able to do is to see device as Wireless Controller. Modem manager does not show any modem. On Debian tried to use fwupd, but despite this vid should be updated by fwupd, fwupdmgr does not show any devices. Device came to me from aliexpress- do not have any windows device with the same slot to check if firmware can be updated there. For the time being I am checking everything without sim card. Any ideas?

lspci -n
0003:00:00.0 0604: 14c3:7988 (rev 01)
0003:01:00.0 0d40: 105b:e0b0
lspci -v
0003:01:00.0 Wireless controller [0d40]: Foxconn International, Inc. Device e0b0
        Subsystem: Foxconn International, Inc. Device e0b0
        Flags: fast devsel, IRQ 113
        Memory at 20200000 (64-bit, non-prefetchable) [size=4K]
        Memory at 20201000 (64-bit, non-prefetchable) [size=4K]
        Capabilities: [40] Power Management version 3
        Capabilities: [50] MSI: Enable+ Count=8/32 Maskable+ 64bit+
        Capabilities: [70] Express Endpoint, MSI 00
        Capabilities: [100] Advanced Error Reporting
        Capabilities: [148] Secondary PCI Express
        Capabilities: [168] Physical Layer 16.0 GT/s <?>
        Capabilities: [18c] Lane Margining at the Receiver <?>
        Capabilities: [19c] Transaction Processing Hints
        Capabilities: [228] Latency Tolerance Reporting
        Capabilities: [230] L1 PM Substates
        Capabilities: [240] Data Link Feature <?>
        Kernel driver in use: mhi-pci-generic

ModemManager
ModemManager[10257]: <info>  ModemManager (version 1.20.4) starting in system bus...
ModemManager[10257]: <info>  [wwan2mbim0/mbim] MBIM device is not QMI capable
ModemManager[10257]: <info>  [device /sys/devices/platform/soc/11280000.pcie/pci0003:00/0003:00:00.0/0003:01:00.0] creating modem with plugin 'foxconn' and '4' ports
ModemManager[10257]: <info>  [base-manager] modem for device '/sys/devices/platform/soc/11280000.pcie/pci0003:00/0003:00:00.0/0003:01:00.0' successfully created
ModemManager[10257]: <info>  [base-manager] couldn't check support for device '/sys/devices/platform/soc/15020000.switch': not supported by any plugin
ModemManager[10257]: <info>  [base-manager] couldn't check support for device '/sys/devices/platform/soc/15100000.ethernet': not supported by any plugin
ModemManager[10257]: <info>  [modem0/wwan2mbim0/mbim] MBIM device is QMI capable
ModemManager[10257]: <info>  [modem0] QMI-based capability and mode switching support enabled
ModemManager[10257]: <error> mm_filter_supported_modes: assertion 'all_item.allowed != MM_MODEM_MODE_NONE' failed

(ModemManager:10257): GLib-GIO-CRITICAL **: 20:29:30.530: g_task_return_error: assertion 'error != NULL' failed

It’s possible you may be able to benefit from the process I’ve used to get a Quectel RM510Q-GL working well - shared instructions in two separate posts, with the steps most relevant for the device drivers + enabling the luci interface aspects for configuring the modem being:

#####################################################################################
#####################################################################################
#####################################################################################

# extra packages to include - Quectel RM510Q-GL:

printf '
CONFIG_PACKAGE_libevdev=y
CONFIG_PACKAGE_libatomic1=y
CONFIG_PACKAGE_libusb-1.0-0=y
CONFIG_PACKAGE_libudev-zero=y
CONFIG_PACKAGE_usbids=y
CONFIG_PACKAGE_usbutils=y
' >> .config

#####################################################################################

printf '
CONFIG_PACKAGE_uqmi=y
CONFIG_PACKAGE_picocom=y
CONFIG_PACKAGE_luci-proto-qmi=y
CONFIG_PACKAGE_kmod-usb-net-qmi-wwan=y
CONFIG_PACKAGE_kmod-usb-serial-option=y
' >> .config

#####################################################################################
#####################################################################################
#####################################################################################

Rather than a full from-source build, those packages can also be pulled/installed via opkg - have you already checked for existing packages related to firmware/drivers for Qualcomm in the opkg repository?

and of course, if it hasn’t crossed your path, the openwrt docs surrounding this:

https://openwrt.org/docs/guide-user/network/wan/wwan/ltedongle

Well, it is not easy. Do not understand half of the stuff here. :stuck_out_tongue: Anyway most of the modules in kernel are installed. Modem is also responding to qmicli/uqmi under /dev/wwan0mbim0 (openwrt), but cannot start and not visible in modemmanager.

Hello, I have such a card T99W175.F0.0.0.5.7.GC.004 078, I activated it and it is visible in the modem manager, i set it as wwan0 in interfaces but it’s driving me crazy that i can’t enable slot 1 with carrier enabled card. I could not use picocom or minicom to set a command to activate the card.

root@OpenWrt:/# mmcli -m 0
  -----------------------------------
  General  |                    path: /org/freedesktop/ModemManager1/Modem/0
           |               device id: 80b1e6a67b07e43acbde23c1cxxxxxxxxxxxxxx
  -----------------------------------
  Hardware |            manufacturer: foxconn
           |                   model: DELL Snapdragon X55
           |       firmware revision: T99W175.F0.0.0.5.7.GC.004 078
           |          carrier config: GCF
           | carrier config revision: 0A000804
           |            h/w revision: DELL Snapdragon X55
           |               supported: gsm-umts, lte, 5gnr
           |                 current: gsm-umts, lte, 5gnr
           |            equipment id: 3558191100xxxxx
  -----------------------------------
  System   |                  device: /sys/devices/platform/soc/11280000.pcie/pci0003:00/0003:00:00.0/0003:01:00.0
           |                 physdev: /sys/devices/platform/soc/11280000.pcie/pci0003:00/0003:00:00.0/0003:01:00.0
           |                 drivers: mhi-pci-generic
           |                  plugin: foxconn
           |            primary port: wwan0mbim0
           |                   ports: wwan0 (net), wwan0at0 (at), wwan0mbim0 (mbim),
           |                          wwan0qcdm0 (ignored)
  -----------------------------------
  Status   |                   state: failed
           |           failed reason: sim-missing
           |             power state: on
  -----------------------------------
  Modes    |               supported: allowed: 3g; preferred: none
           |                          allowed: 4g; preferred: none
           |                          allowed: 3g, 4g; preferred: 4g
           |                          allowed: 3g, 4g; preferred: 3g
           |                          allowed: 5g; preferred: none
           |                          allowed: 4g, 5g; preferred: 5g
           |                          allowed: 4g, 5g; preferred: 4g
           |                          allowed: 3g, 5g; preferred: 5g
           |                          allowed: 3g, 5g; preferred: 3g
           |                          allowed: 3g, 4g, 5g; preferred: 5g
           |                          allowed: 3g, 4g, 5g; preferred: 4g
           |                          allowed: 3g, 4g, 5g; preferred: 3g
           |                 current: allowed: 3g, 4g, 5g; preferred: 4g
  -----------------------------------
  Bands    |               supported: utran-1, utran-3, utran-4, utran-6, utran-5, utran-8,
           |                          utran-9, utran-2, eutran-1, eutran-2, eutran-3, eutran-4, eutran-5,
           |                          eutran-7, eutran-8, eutran-12, eutran-13, eutran-14, eutran-17,
           |                          eutran-18, eutran-19, eutran-20, eutran-25, eutran-26, eutran-28,
           |                          eutran-29, eutran-30, eutran-32, eutran-34, eutran-38, eutran-39,
           |                          eutran-40, eutran-41, eutran-42, eutran-46, eutran-48, eutran-66,
           |                          eutran-71, utran-19
           |                 current: utran-1, utran-4, utran-6, utran-5, utran-8, utran-9,
           |                          utran-2, eutran-1, eutran-2, eutran-3, eutran-4, eutran-5, eutran-7,
           |                          eutran-8, eutran-12, eutran-13, eutran-14, eutran-17, eutran-18,
           |                          eutran-19, eutran-20, eutran-25, eutran-26, eutran-28, eutran-29,
           |                          eutran-30, eutran-32, eutran-34, eutran-38, eutran-39, eutran-40,
           |                          eutran-41, eutran-42, eutran-46, eutran-48, eutran-66, utran-19
  -----------------------------------
  IP       |               supported: ipv4, ipv6, ipv4v6
  -----------------------------------
  3GPP     |                    imei: 3558191100xxxxx
  -----------------------------------
  SIM      |          sim slot paths: slot 1: /org/freedesktop/ModemManager1/SIM/0
           |                          slot 2: none (active)
root@OpenWrt:/# ifstatus wwan0
{
        "up": false,
        "pending": false,
        "available": true,
        "autostart": false,
        "dynamic": false,
        "proto": "modemmanager",
        "data": {

        },
        "errors": [
                {
                        "subsystem": "modemmanager",
                        "code": "MM_FAILED_REASON_SIM_MISSING"
                }
        ]
}

Hey @spgi,

faced similar issues with a Fibocom FM-350GL … and took me ages to activate the eSim.

Please have a look here:

To have the fcc-unlock scripts working you need some additional packages that are not auto-installed by modemmananger (reminds me to raise a change request in modem-manager repo documentation or install scripts):

  • at
  • xxd

Hello, to share how I set up my T99W175 to BPI-R4. After reading a lot of stuff about setting up 5G modems, I was never able to bind the SIM slot to the modem with the terminal commands. Modem came with:

           |                   model: DELL Snapdragon X55
           |       firmware revision: T99W175.F0.0.0.5.7.GC.004
           |                          078
           |          carrier config: GCF
           | carrier config revision: 0A000804

Finally, I thought it was time to look into to 4pda , and it turns out that the Russians, they even managed to drive it via USB. I decided that the M.2 Key B to USB 3.0 Riser Board from Ali would be the perfect way to play around with the firmware. There is one quirk… you have to isolate 2 pin from the slot row in Riser Board and I isolated 3-pin, which gave me a bit of trouble restoring the 3-pin and at the back of the modem, a bridge must be made or a 10-15 ohm resistor must be placed so as not to accidentally short out. I changed the firmware and in the computer the slot with the SIM card flashed. I set up a profile for my sim carrier and the Modem Manager in BPI-R4 became friendly and already saw my carrier.

 root@OpenWrt:/# mmcli -m 0
  -----------------------------------
  General  |                    path: /org/freedesktop/ModemManager1/Modem/0
           |               device id: 7e9bfd73c1d62275dcba445997ca52db11dd7f8b
  -----------------------------------
  Hardware |            manufacturer: Microsoft
           |                   model: Generic Mobile Broadband Adapter
           |       firmware revision: T99W175.F0.1.0.0.9.GC.004
           |                          096
           |          carrier config: GCF
           | carrier config revision: 0A000804
           |            h/w revision: DELL Snapdragon X55
           |               supported: gsm-umts, lte, 5gnr
           |                 current: gsm-umts, lte, 5gnr
           |            equipment id: 3558191100xxxxx
  -----------------------------------
  System   |                  device: /sys/devices/platform/soc/11200000.usb/usb1/1-1/1-1.1
           |                 physdev: /sys/devices/platform/soc/11200000.usb/usb1/1-1/1-1.1
           |                 drivers: cdc_mbim
           |                  plugin: generic
           |            primary port: cdc-wdm0
           |                   ports: cdc-wdm0 (mbim), wwan0 (net)
  -----------------------------------
  Status   |                    lock: sim-pin2
           |          unlock retries: sim-pin2 (3)
           |                   state: connected
           |             power state: on
           |             access tech: lte, 5gnr
           |          signal quality: 38% (cached)
  -----------------------------------
  Modes    |               supported: allowed: 3g; preferred: none
           |                          allowed: 4g; preferred: none
           |                          allowed: 3g, 4g; preferred: 4g
           |                          allowed: 3g, 4g; preferred: 3g
           |                          allowed: 5g; preferred: none
           |                          allowed: 4g, 5g; preferred: 5g
           |                          allowed: 4g, 5g; preferred: 4g
           |                          allowed: 3g, 5g; preferred: 5g
           |                          allowed: 3g, 5g; preferred: 3g
           |                          allowed: 3g, 4g, 5g; preferred: 5g
           |                          allowed: 3g, 4g, 5g; preferred: 4g
           |                          allowed: 3g, 4g, 5g; preferred: 3g
           |                 current: allowed: 3g, 4g, 5g; preferred: 4g
  -----------------------------------
  Bands    |               supported: utran-1, utran-3, utran-4, utran-6, utran-5, utran-8,
           |                          utran-9, utran-2, eutran-1, eutran-2, eutran-3, eutran-4, eutran-5,
           |                          eutran-7, eutran-8, eutran-12, eutran-13, eutran-14, eutran-17,
           |                          eutran-18, eutran-19, eutran-20, eutran-25, eutran-26, eutran-28,
           |                          eutran-29, eutran-30, eutran-32, eutran-34, eutran-38, eutran-39,
           |                          eutran-40, eutran-41, eutran-42, eutran-46, eutran-48, eutran-66,
           |                          eutran-71, utran-19, ngran-1, ngran-2, ngran-3, ngran-5, ngran-7,
           |                          ngran-8, ngran-12, ngran-20, ngran-25, ngran-28, ngran-38, ngran-40,
           |                          ngran-41, ngran-48, ngran-66, ngran-71, ngran-77, ngran-78, ngran-79
           |                 current: utran-1, utran-4, utran-6, utran-5, utran-8, utran-9,
           |                          utran-2, eutran-1, eutran-2, eutran-3, eutran-4, eutran-5, eutran-7,
           |                          eutran-8, eutran-12, eutran-13, eutran-14, eutran-17, eutran-18,
           |                          eutran-19, eutran-20, eutran-25, eutran-26, eutran-28, eutran-29,
           |                          eutran-30, eutran-32, eutran-34, eutran-38, eutran-39, eutran-40,
           |                          eutran-41, eutran-42, eutran-46, eutran-48, eutran-66, utran-19,
           |                          ngran-1, ngran-2, ngran-3, ngran-5, ngran-7, ngran-8, ngran-12,
           |                          ngran-20, ngran-28, ngran-38, ngran-41, ngran-66, ngran-77, ngran-78,
           |                          ngran-79
  -----------------------------------
  IP       |               supported: ipv4, ipv6, ipv4v6
  -----------------------------------
  3GPP     |                    imei: 3558191100xxxxx
           |           enabled locks: fixed-dialing
           |             operator id: 28403
           |           operator name: VIVACOM
           |            registration: home
           |    packet service state: attached
  -----------------------------------
  3GPP EPS |     initial bearer path: /org/freedesktop/ModemManager1/Bearer/0
  -----------------------------------
  SIM      |        primary sim path: /org/freedesktop/ModemManager1/SIM/0
           |          sim slot paths: slot 1: /org/freedesktop/ModemManager1/SIM/0 (active)
  -----------------------------------
  Bearer   |                   paths: /org/freedesktop/ModemManager1/Bearer/1

You probably see that the modem changed its name, it was because of quick hands. One piece of advice. Whatever you do, don’t change AT^SETCONFIG=x.

I changed the firmware from generic to default.

Bpi-r4 is currently firmware OpenWrt SNAPSHOT r27208, in Network->Interfaces I created a new wanb with

Protocol: ModemManager
Modem device Microsoft - Generic Mobile Broadband Adapter
APN internet.vivacom.bg

and everything fell into place.

I downloaded a script from a colleague from another site, and with a slight adjustment of mwan3 failover it clicked like a clock, when downloading or bringing up the wan or wanb interface.

/etc/mwan3.user

#!/bin/sh
if [ "${ACTION}" = "disconnected" ] && [ "${INTERFACE}" = "wan" ] ; then
    ifup wanb
   /etc/init.d/ddns restart
fi
if [ "${ACTION}" = "connected" ] && [ "${INTERFACE}" = "wan" ] ; then
    ifdown wanb
    /etc/init.d/ddns restart
fi
if [ "${ACTION}" = "ifup" ] && [ "${INTERFACE}" = "wan" ] ; then
    ifdown wanb
    /etc/init.d/ddns restart
fi

This may not be the best way to solve the task, but hope it helps someone.`

Sorry for my bad English.

1 Like