I looked into the file. I think this is the line in question?
Right, they added a block of lines between #if and #endif. They have short instruction for Linux on that page, my understanding their install script will take care of two drivers - usb_wwan
and option
.
I’m still confused with your signal and registration issues, but since you have an IP on the modem it will be worth testing with the driver updated.
wget https://www.waveshare.net/w/upload/9/9e/RM500U_FOR_RPI_Ubuntu22.04.zip
unzip RM500U_FOR_RPI_Ubuntu22.04.zip
sudo chmod 777 -R RM500U_FOR_RPI_Ubuntu22.04
cd RM500U_FOR_RPI_Ubuntu22.04
sudo ./install.sh
No, it’s still the same…
The registration issue is fixed now after a firmware upgrade but now I randomly can’t get a pdp IP and even when I have one, I have no throughput.
Make sure you’re using the patched driver. I have a confirmation that this modem works fine with OpenWrt with the driver patched according to Quectel instructions. Waveshare instruction is probably based on the same source.
Check with ls -l /lib/modules/$(uname -r)/kernel/drivers/usb/serial/ | grep usb
and see if the file is updated.
Yes and no The driver in question was not changed.
What is currently in your RM500U_FOR_RPI_Ubuntu22.04/option
directory ?
Please do not use pictures to show text.
Here you go,
pi@ubuntu:~/Quectel/try-2/RM500U_FOR_RPI_Ubuntu22.04/option$ ls
Makefile option.ko qcserial.c qcserial.o usb_wwan.mod.c
Module.symvers option.mod qcserial.ko usb-wwan.h usb_wwan.mod.o
drivers option.mod.c qcserial.mod usb_wwan.c usb_wwan.o
modules.order option.mod.o qcserial.mod.c usb_wwan.ko
option.c option.o qcserial.mod.o usb_wwan.mod
pi@ubuntu:~/Quectel/try-2/RM500U_FOR_RPI_Ubuntu22.04/option$
Please repeat with ls -l
to show the file size.
pi@ubuntu:~/Quectel/try-2/RM500U_FOR_RPI_Ubuntu22.04/option$ ls -l
total 1964
-rwxrwxrwx 1 pi pi 341 Nov 23 10:29 Makefile
-rw-r--r-- 1 root root 1348 Feb 27 14:09 Module.symvers
drwxrwxrwx 3 pi pi 4096 Nov 23 10:29 drivers
-rw-r--r-- 1 root root 211 Feb 27 14:09 modules.order
-rwxrwxrwx 1 pi pi 133411 Nov 23 10:29 option.c
-rw-r--r-- 1 root root 403628 Feb 27 14:09 option.ko
-rw-r--r-- 1 root root 69 Feb 27 14:09 option.mod
-rw-r--r-- 1 root root 79290 Feb 27 14:09 option.mod.c
-rw-r--r-- 1 root root 220576 Feb 27 14:09 option.mod.o
-rw-r--r-- 1 root root 185816 Feb 27 14:09 option.o
-rwxrwxrwx 1 pi pi 17546 Nov 23 10:29 qcserial.c
-rw-r--r-- 1 root root 215992 Feb 27 14:09 qcserial.ko
-rw-r--r-- 1 root root 71 Feb 27 14:09 qcserial.mod
-rw-r--r-- 1 root root 9484 Feb 27 14:09 qcserial.mod.c
-rw-r--r-- 1 root root 50952 Feb 27 14:09 qcserial.mod.o
-rw-r--r-- 1 root root 167828 Feb 27 14:09 qcserial.o
-rwxrwxrwx 1 pi pi 1982 Nov 23 10:29 usb-wwan.h
-rwxrwxrwx 1 pi pi 16866 Nov 23 10:29 usb_wwan.c
-rw-r--r-- 1 root root 220228 Feb 27 14:09 usb_wwan.ko
-rw-r--r-- 1 root root 71 Feb 27 14:09 usb_wwan.mod
-rw-r--r-- 1 root root 2031 Feb 27 14:09 usb_wwan.mod.c
-rw-r--r-- 1 root root 32352 Feb 27 14:09 usb_wwan.mod.o
-rw-r--r-- 1 root root 195716 Feb 27 14:09 usb_wwan.o
pi@ubuntu:~/Quectel/try-2/RM500U_FOR_RPI_Ubuntu22.04/option$
OK, the drivers were built but not copied.
You need to copy *.ko
from this directory to the 1st one you opened, but make a backup copy of the old files.
Then reboot, open a terminal and send at+qnetdevctl=1,1,1
to the modem, show the command output (if any). Then you can try DHCP, etc.
pi@ubuntu:~$ ls -l /lib/modules/$(uname -r)/kernel/drivers/usb/serial/ | grep usb
-rw-r--r-- 1 root root 17481 Jan 18 14:58 ir-usb.ko
-rw-r--r-- 1 root root 14473 Jan 18 14:58 kl5kusb105.ko
-rw-r--r-- 1 root root 12313 Jan 18 14:58 metro-usb.ko
-rw-r--r-- 1 root root 35009 Jan 18 14:58 ti_usb_3410_5052.ko
-rw-r--r-- 1 root root 13725 Jan 18 14:58 usb-serial-simple.ko
-rw-r--r-- 1 root root 6641 Jan 18 14:58 usb_debug.ko
-rw-r--r-- 1 root root 220228 Mar 21 22:12 usb_wwan.ko
-rw-r--r-- 1 root root 67625 Jan 18 14:58 usbserial.ko
pi@ubuntu:~$ ifconfig usb0
usb0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.42.2 netmask 255.255.255.0 broadcast 192.168.42.255
inet6 fe80::4865:daff:feda:e104 prefixlen 64 scopeid 0x20<link>
ether 4a:65:da:da:e1:04 txqueuelen 1000 (Ethernet)
RX packets 161 bytes 9900 (9.9 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 261 bytes 32340 (32.3 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
pi@ubuntu:~$ ping -I usb0 8.8.8.8
PING 8.8.8.8 (8.8.8.8) from 192.168.42.2 usb0: 56(84) bytes of data.
From 192.168.42.1 icmp_seq=1 Destination Net Unreachable
From 192.168.42.1 icmp_seq=2 Destination Net Unreachable
From 192.168.42.1 icmp_seq=3 Destination Net Unreachable
From 192.168.42.1 icmp_seq=4 Destination Net Unreachable
^C
--- 8.8.8.8 ping statistics ---
4 packets transmitted, 0 received, +4 errors, 100% packet loss, time 3005ms
pi@ubuntu:~$
and the terminal output please
I am currently using RNDIS mode so I don’t think I need to run that?
My understanding you need it in either case and I suggest switching to ECM.
OMGGG! I switched to ECM and ran that command and it’s working now.
WHAT DOES THAT COMMAND DO?
Ok, now
AT+QCFG="nat",0
at+qnetdevctl=1,3,1
at+cfun=1,1
When the modem is back just run your DHCP client and see whether it will work without additional commands.
I just realised that I suggested the wrong sequence of commands in my earlier post.
Reset command should be used before at+qnetdevctl
, not after and at+qnetdevctl
should be issued after the modem is back after reset.
One more thing to mention: the new drivers produced by the Waveshare script are too big, you can compare the sizes between the old and new files. Their build script probably needs some tweaking but that is outside of my area of expertise.
What does this command do? Looks like this command is what enables it to work.
Yup. It works after I run these followed by the DHCP client.
AT+QCFG="nat",0
at+qnetdevctl=1,3,1
at+cfun=1,1
Thank you for checking.
The command is described by Quectel as 该命令用于执行/断开PDP 拨号。
This command is used to perform/disconnect PDP dialing (Google translate)