cat /etc/resolv.conf
Normally the busybox udhcpc will call the default.script and set the correct DNS.
RIght now the default.script should not be there and do not have the right permission.
cat /etc/resolv.conf
Normally the busybox udhcpc will call the default.script and set the correct DNS.
RIght now the default.script should not be there and do not have the right permission.
Yes, it was missing, thanks! However, I don’t think the automatic DNS is working as pinging google.com results in ping: google.com: Temporary failure in name resolution but pinging 8.8.8.8 works.
When I resolvectl status I also get the following for the 2 interfaces made by quectel-CM
Link 14 (rmnet_mhi0)
Current Scopes: none
Protocols: -DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
Link 15 (rmnet_mhi0.1)
Current Scopes: none
Protocols: -DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
I will also attach the ip a and quectel-CM results in case they help
[ main.c-0924: 03-13_10:32:50:883] QConnectManager_Linux_V1.6.5
[ device.c-0387: 03-13_10:32:50:884] network interface '' or qmidev '' is not exist
[ device.c-0628: 03-13_10:32:50:884] netcard driver = pcie_mhi, driver version = V1.3.8
[qmap_bridge_mode.c-0325: 03-13_10:32:50:884] qmap_mode = 1, qmap_version = 9, qmap_size = 15360, muxid = 0x81, qmap_netcard = rmnet_mhi0.1
[ main.c-0739: 03-13_10:32:50:884] Modem works in QMI mode
[ QmiWwanCM.c-0351: 03-13_10:32:50:929] cdc_wdm_fd = 7
[ QmiWwanCM.c-0177: 03-13_10:32:51:060] Get clientWDS = 14
[ QmiWwanCM.c-0178: 03-13_10:32:51:064] Get clientDMS = 1
[ QmiWwanCM.c-0179: 03-13_10:32:51:068] Get clientNAS = 3
[ QmiWwanCM.c-0183: 03-13_10:32:51:071] Get clientUIM = 2
[ QmiWwanCM.c-0185: 03-13_10:32:51:074] Get clientWDA = 1
[ QMIThread.c-2273: 03-13_10:32:51:078] requestBaseBandVersion RM520NGLAAR01A08M4G
[ QMIThread.c-0811: 03-13_10:32:51:081] qmap_settings.rx_urb_size = 15360
[ QMIThread.c-0820: 03-13_10:32:51:081] qmap_settings.ul_data_aggregation_max_datagrams = 11
[ QMIThread.c-0826: 03-13_10:32:51:081] qmap_settings.ul_data_aggregation_max_size = 8192
[ QMIThread.c-0832: 03-13_10:32:51:081] qmap_settings.dl_minimum_padding = 0
[ QMIThread.c-1027: 03-13_10:32:51:100] requestGetSIMStatus SIMStatus: SIM_PIN
[ QMIThread.c-2153: 03-13_10:32:51:194] requestGetProfile[pdp:1 index:1] data.tre.dk//dev/mhi_QMI0//0/IPV4
[ QMIThread.c-1692: 03-13_10:32:51:198] requestRegistrationState2 MCC: 238, MNC: 6, PS: Detached, DataCap: UNKNOW
[ QMIThread.c-1692: 03-13_10:32:51:202] requestRegistrationState2 MCC: 238, MNC: 6, PS: Detached, DataCap: UNKNOW
[ QMIThread.c-1827: 03-13_10:32:51:206] requestQueryDataCall IPv4ConnectionStatus: DISCONNECTED
[ udhcpc.c-0034: 03-13_10:32:51:207] ip link set dev rmnet_mhi0 down
[ udhcpc.c-0034: 03-13_10:32:51:209] ip addr flush dev rmnet_mhi0.1
[ udhcpc.c-0034: 03-13_10:32:51:210] ip link set dev rmnet_mhi0.1 down
[ QMIThread.c-1692: 03-13_10:32:52:008] requestRegistrationState2 MCC: 238, MNC: 6, PS: Detached, DataCap: UNKNOW
[ QMIThread.c-1692: 03-13_10:32:53:036] requestRegistrationState2 MCC: 238, MNC: 6, PS: Attached, DataCap: 5G_NSA
[ QMIThread.c-1875: 03-13_10:32:53:051] requestSetupDataCall WdsConnectionIPv4Handle: 0x7ca57d60
[ QMIThread.c-1692: 03-13_10:32:53:061] requestRegistrationState2 MCC: 238, MNC: 6, PS: Attached, DataCap: 5G_NSA
[ udhcpc.c-0056: 03-13_10:32:53:069] change mtu 1500 -> 1460
[ udhcpc.c-0034: 03-13_10:32:53:069] ip link set dev rmnet_mhi0 up
[ udhcpc.c-0034: 03-13_10:32:53:071] ip link set dev rmnet_mhi0.1 up
[ udhcpc.c-0167: 03-13_10:32:53:073] busybox udhcpc -f -n -q -t 5 -i rmnet_mhi0.1
udhcpc: started, v1.30.1
udhcpc: sending discover
udhcpc: sending select for 10.138.150.180
udhcpc: lease of 10.138.150.180 obtained, lease time 7200
14: rmnet_mhi0: <NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/none
inet6 fe80::6033:b5d4:b174:ad89/64 scope link stable-privacy
valid_lft forever preferred_lft forever
15: rmnet_mhi0.1: <NOARP,UP,LOWER_UP> mtu 1460 qdisc fq_codel state UP group default qlen 1000
link/ether 02:50:f4:00:00:01 brd ff:ff:ff:ff:ff:ff
inet 10.138.150.180/29 scope global rmnet_mhi0.1
valid_lft forever preferred_lft forever
inet6 fe80::50:f4ff:fe00:1/64 scope link
valid_lft forever preferred_lft forever
A little update - the modem is successfully working now, however there still are some bugs that I’m investigating. Namely, when running quectel-CM the first time, it doesn’t set the DNS properly or some other process running resets the DNS. I can see it changing the DNS, with watch cat /etc/resolv.conf but after a few seconds it changes it back to the default. Then I kill the quectel-CM process and launch it again, and then it is able to set DNS permanently
There is a default.script in the folder of the quectel-CM.
You can
copy the default.script into /etc/udhcpc/.
dos2unix default.script
chmod +x default.script
mkdir -p /etc/udhcpc/
cp default.sscript /etc/udhcpc/
Then I think the DNS should update automatically.
Alright, seemed to fix the issue finally, the DNS configured by quectel-CM was overwritten by a symlink between /etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.conf. After removing the symlink, everything worked fine.
Thanks for helping everyone!
@Bean.Wang-Q
My curiousity gets to me.
Why is it in the interfaces it appears there is a slave interface. The .1 . Does this modem have like two PHY’s and one collects lte traffic and the second PHY collects 5G,traffic then aggregates the two?
Dont have any idea.
Thanks
Yes. there are two interface because by defaullt the IP aggregation is enabled.
I have one more question regarding the quectel-CM. Right now, the tool overwrites the /etc/resolvd.conf file to add the DNS address. Is there a way to append the addresses to the file instead of overwriting them, as I want to preserve my previous ones.
Please check the source code of the dedfault.script.
It is the udhcpc that call the default.script to add DNS into the /etc/resolv.conf.
Hello! How did you manage to get it works? It this a specific laptop that works with GLAP version?
I somehow can’t get the quectel-CM to understand the changes I made in the default.script and default.script_ip files. I commented out the part where it overwrites the resolv.conf, but still after make clean and make release it still adds the dns servers to resolv.conf when I launch it.
It is not included in the code of the quectel-CM.
It is the udhcpc that add the DNS.
busybox udhcpc --help
BusyBox v1.30.1 (Ubuntu 1:1.30.1-7ubuntu3.1) multi-call binary.
Usage: udhcpc [-fbqRB] [-a[MSEC]] [-t N] [-T SEC] [-A SEC/-n]
[-i IFACE] [-s PROG] [-p PIDFILE]
[-oC] [-r IP] [-V VENDOR] [-F NAME] [-x OPT:VAL]... [-O OPT]...
-i IFACE Interface to use (default eth0)
-s PROG Run PROG at DHCP events (default /etc/udhcpc/default.script)
-p FILE Create pidfile
-B Request broadcast replies
-t N Send up to N discover packets (default 3)
-T SEC Pause between packets (default 3)
-A SEC Wait if lease is not obtained (default 20)
-n Exit if lease is not obtained
-q Exit after obtaining lease
-R Release IP on exit
-f Run in foreground
-b Background if lease is not obtained
-S Log to syslog too
-a[MSEC] Validate offered address with ARP ping
-r IP Request this IP address
-o Don't request any options (unless -O is given)
-O OPT Request option OPT from server (cumulative)
-x OPT:VAL Include option OPT in sent packets (cumulative)
Examples of string, numeric, and hex byte opts:
-x hostname:bbox - option 12
-x lease:3600 - option 51 (lease time)
-x 0x3d:0100BEEFC0FFEE - option 61 (client id)
-x 14:'"dumpfile"' - option 14 (shell-quoted)
-F NAME Ask server to update DNS mapping for NAME
-V VENDOR Vendor identifier (default 'udhcp VERSION')
-C Don't send MAC as client identifier
Signals:
USR1 Renew lease
USR2 Release lease
-s PROG Run PROG at DHCP events (default /etc/udhcpc/default.script)
It would do something like setting the DNS.
Thanks! Got it working