root@OpenWrt:/# lspci
00:00.0 Class 0604: 17cb:1001
01:00.0 Class ff00: 17cb:0304
root@OpenWrt:/# insmod pcie_mhi.ko mhi_mbim_enabled=1 qmap_mode=4
[   76.596827] mhi_init Quectel_Linux_PCIE_MHI_Driver_V1.3.0.17
[   76.598596] mhi_pci_probe pci_dev->name = 0000:01:00.0, domain=0, bus=1, slot=0, vendor=17CB, device=0304
[   76.602863] mhi_q 0000:01:00.0: BAR 0: assigned [mem 0x48000000-0x48000fff 64bit]
[   76.611323] mhi_q 0000:01:00.0: enabling device (0140 -> 0142)
[   76.760239] [I][mhi_netdev_enable_iface] Prepare the channels for transfer
[   76.828699] [I][mhi_netdev_enable_iface] Exited.
[   76.832727] rmnet_vnd_register_device(rmnet_mhi0.1)=0
[   76.836596] rmnet_vnd_register_device(rmnet_mhi0.2)=0
[   76.841170] rmnet_vnd_register_device(rmnet_mhi0.3)=0
[   76.846373] rmnet_vnd_register_device(rmnet_mhi0.4)=0

root@OpenWrt:~# quectel-mbim-proxy -d /dev/mhi_MBIM &
root@OpenWrt:~# [04-14_03:05:36:296] mbim_dev_fd=3
[04-14_03:05:36:297] mbim_send_open_msg()
[04-14_03:05:36:669] receive MBIM_OPEN_DONE, status=0
[04-14_03:05:36:670] mbim_server_fd=4

root@OpenWrt:~# quectel-CM -n 1 -s cmnet &
[04-14_03:05:45:955] Quectel_QConnectManager_Linux_V1.6.0.25
[04-14_03:05:45:956] network interface '' or qmidev '' is not exist
[04-14_03:05:45:957] netcard driver = pcie_mhi, driver version = V1.3.0.17
[04-14_03:05:45:957] mbim_qmap_mode = 4, vlan_id = 0x01, qmap_netcard = rmnet_mhi0.1
[04-14_03:05:45:958] Modem works in MBIM mode
[04-14_03:05:45:959] connect to quectel-mbim-proxy sockfd = 7
[04-14_03:05:45:959] handle_client_connect client_fd=5, client_idx=1
[04-14_03:05:45:959] cdc_wdm_fd = 7
[04-14_03:05:45:960] mbim_open_device()
[04-14_03:05:45:961] mbim_device_caps_query()
[04-14_03:05:45:967] DeviceId:     860459050041596
[04-14_03:05:45:968] FirmwareInfo: EM120RGLAPR02A03M4G_01.001.07

[04-14_03:05:45:968] HardwareInfo: EM120R_GL
[04-14_03:05:45:968] mbim_device_services_query()
[04-14_03:05:45:972] mbim_set_radio_state( 1 )
[04-14_03:05:45:976] HwRadioState: 1, SwRadioState: 1
[04-14_03:05:45:976] mbim_subscriber_status_query()
[04-14_03:05:45:985] SubscriberId: 460028563800461
[04-14_03:05:45:985] SimIccId:     89860015120716380461
[04-14_03:05:45:986] SubscriberReadyState NotInitialized -> Initialized 
[04-14_03:05:45:986] mbim_register_state_query()
[04-14_03:05:45:991] RegisterState Unknown -> Home 
[04-14_03:05:45:991] mbim_packet_service_query()
[04-14_03:05:45:995] PacketServiceState Unknown -> Attached 
[04-14_03:05:45:996] mbim_query_connect(sessionID=1)
[04-14_03:05:46:000] ActivationState Unknown -> Deactivated 
[04-14_03:05:46:000] ifconfig rmnet_mhi0 down
[04-14_03:05:46:024] ifconfig rmnet_mhi0.1 0.0.0.0
ifconfig: SIOCSIFFLAGS: Network is down
[04-14_03:05:46:049] ifconfig rmnet_mhi0.1 down
[04-14_03:05:46:072] mbim_set_connect(onoff=1, sessionID=1)
[04-14_03:05:46:099] ActivationState Deactivated -> Activated 
[04-14_03:05:46:099] mbim_ip_config(sessionID=1)
[  222.484298] net rmnet_mhi0: link_state 0x0 -> 0x1
[04-14_03:05:46:103] < SessionId = 1
[04-14_03:05:46:104] < IPv4ConfigurationAvailable = 0xf
[04-14_03:05:46:104] < IPv6ConfigurationAvailable = 0x0
[04-14_03:05:46:104] < IPv4AddressCount = 0x1
[04-14_03:05:46:105] < IPv4AddressOffset = 0x3c
[  222.507775] [I][mhi_netdev_open] Opened net dev interface
[04-14_03:05:46:105] < IPv6AddressCount = 0x0
[04-14_03:05:46:105] < IPv6AddressOffset = 0x0
[04-14_03:05:46:106] < IPv4 = 10.38.21.158/30
[04-14_03:05:46:106] < gw = 10.38.21.157
[04-14_03:05:46:106] < dns1 = 211.138.180.2
[04-14_03:05:46:107] < dns2 = 211.138.180.3
[04-14_03:05:46:107] < ipv4 mtu = 1500
[04-14_03:05:46:112] ifconfig rmnet_mhi0 up
[04-14_03:05:46:140] ifconfig rmnet_mhi0.1 up
[04-14_03:05:46:168] ip -4 address flush dev rmnet_mhi0.1
[04-14_03:05:46:190] ip -4 address add 10.38.21.158/30 dev rmnet_mhi0.1
[04-14_03:05:46:212] ip -4 route add default via 10.38.21.157 dev rmnet_mhi0.1
[04-14_03:05:50:730] handle_client_connect client_fd=6, client_idx=2
[  227.558631] net rmnet_mhi0: link_state 0x1 -> 0x3

root@OpenWrt:~# quectel-CM -n 2 -s 4gnet 
[04-14_03:05:50:725] Quectel_QConnectManager_Linux_V1.6.0.25
[04-14_03:05:50:726] network interface '' or qmidev '' is not exist
[04-14_03:05:50:727] netcard driver = pcie_mhi, driver version = V1.3.0.17
[04-14_03:05:50:728] mbim_qmap_mode = 4, vlan_id = 0x02, qmap_netcard = rmnet_mhi0.2
[04-14_03:05:50:729] Modem works in MBIM mode
[04-14_03:05:50:730] connect to quectel-mbim-proxy sockfd = 8
[04-14_03:05:50:730] cdc_wdm_fd = 8
[04-14_03:05:50:731] mbim_open_device()
[04-14_03:05:50:732] mbim_device_caps_query()
[04-14_03:05:50:738] DeviceId:     860459050041596
[04-14_03:05:50:739] FirmwareInfo: EM120RGLAPR02A03M4G_01.001.07

[04-14_03:05:50:739] HardwareInfo: EM120R_GL
[04-14_03:05:50:740] mbim_device_services_query()
[04-14_03:05:50:744] mbim_set_radio_state( 1 )
[04-14_03:05:50:747] HwRadioState: 1, SwRadioState: 1
[04-14_03:05:50:747] mbim_subscriber_status_query()
[04-14_03:05:50:757] SubscriberId: 460028563800461
[04-14_03:05:50:758] SimIccId:     89860015120716380461
[04-14_03:05:50:758] SubscriberReadyState NotInitialized -> Initialized 
[04-14_03:05:50:759] mbim_register_state_query()
[04-14_03:05:50:763] RegisterState Unknown -> Home 
[04-14_03:05:50:764] mbim_packet_service_query()
[04-14_03:05:50:768] PacketServiceState Unknown -> Attached 
[04-14_03:05:50:769] mbim_query_connect(sessionID=2)
[04-14_03:05:50:772] ActivationState Unknown -> Deactivated 
[04-14_03:05:50:773] ifconfig rmnet_mhi0.2 0.0.0.0
[04-14_03:05:50:799] ifconfig rmnet_mhi0.2 down
[04-14_03:05:50:834] mbim_set_connect(onoff=1, sessionID=2)
[04-14_03:05:51:170] ActivationState Deactivated -> Activated 
[04-14_03:05:51:171] mbim_ip_config(sessionID=2)
[04-14_03:05:51:174] < SessionId = 2
[04-14_03:05:51:174] < IPv4ConfigurationAvailable = 0xf
[04-14_03:05:51:175] < IPv6ConfigurationAvailable = 0x0
[04-14_03:05:51:175] < IPv4AddressCount = 0x1
[04-14_03:05:51:175] < IPv4AddressOffset = 0x3c
[04-14_03:05:51:176] < IPv6AddressCount = 0x0
[04-14_03:05:51:176] < IPv6AddressOffset = 0x0
[04-14_03:05:51:176] < IPv4 = 10.36.109.217/30
[04-14_03:05:51:177] < gw = 10.36.109.218
[04-14_03:05:51:177] < dns1 = 211.138.180.2
[04-14_03:05:51:178] < dns2 = 211.138.180.3
[04-14_03:05:51:178] < ipv4 mtu = 1500
[04-14_03:05:51:182] ifconfig rmnet_mhi0 up
[04-14_03:05:51:206] ifconfig rmnet_mhi0.2 up
[04-14_03:05:51:233] ip -4 address flush dev rmnet_mhi0.2
[04-14_03:05:51:254] ip -4 address add 10.36.109.217/30 dev rmnet_mhi0.2
[04-14_03:05:51:277] ip -4 route add default via 10.36.109.218 dev rmnet_mhi0.2

root@OpenWrt:~# ifconfig rmnet_mhi0.1
rmnet_mhi0.1 Link encap:Ethernet  HWaddr 02:50:F4:00:00:00  
          inet addr:10.38.21.158  Mask:255.255.255.252
          inet6 addr: fe80::50:f4ff:fe00:0/64 Scope:Link
          UP RUNNING NOARP  MTU:1500  Metric:1
          RX packets:37 errors:0 dropped:0 overruns:0 frame:0
          TX packets:29 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:9907 (9.6 KiB)  TX bytes:2764 (2.6 KiB)

root@OpenWrt:~# ifconfig rmnet_mhi0.2
rmnet_mhi0.2 Link encap:Ethernet  HWaddr 02:50:F4:00:00:00  
          inet addr:10.36.109.217  Mask:255.255.255.252
          inet6 addr: fe80::50:f4ff:fe00:0/64 Scope:Link
          UP RUNNING NOARP  MTU:1500  Metric:1
          RX packets:5 errors:0 dropped:0 overruns:0 frame:0
          TX packets:18 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:344 (344.0 B)  TX bytes:1152 (1.1 KiB)

root@OpenWrt:~# ip ro del 8.8.8.8/32
RTNETLINK answers: No such process
root@OpenWrt:~# ip ro add 8.8.8.8/32 dev rmnet_mhi0.1
root@OpenWrt:~# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: seq=0 ttl=52 time=73.248 ms

root@OpenWrt:~# ip ro del 8.8.8.8/32
root@OpenWrt:~# ip ro del 8.8.8.8/32
RTNETLINK answers: No such process
root@OpenWrt:~# ip ro add 8.8.8.8/32 dev rmnet_mhi0.2
root@OpenWrt:~# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: seq=0 ttl=52 time=99.637 ms

root@OpenWrt:~# quectel-CM -k 2
[04-14_03:06:58:912] Quectel_QConnectManager_Linux_V1.6.0.25
[04-14_03:06:59:063] /proc/3565/cmdline: quectel-CM -n 2 -s 4gnet
[04-14_03:06:59:064] send SIGINT to process 3565
[  295.719442] net rmnet_mhi0: link_state 0x3 -> 0x1
[04-14_03:06:59:407] proxy_loop poll fd = 6, revents = 0011
[04-14_03:06:59:408] handle_client_disconnect client_fd=6, client_idx=2
