20250520在全志H3平台的Nano Pi NEO CORE开发板上运行Ubuntu Core16.04.3时跑通4G模块EC20
1、h3-sd-friendlycore-xenial-4.14-armhf-20210618.img.gz 在WIN10下使用7-ZIP解压缩/ubuntu20.04下使用tar
2、Win32DiskImager.exe 写如32GB的TF卡。【以管理员身份运行】
3、TF卡如果已经做过会有3个磁盘分区,可以使用SD Card Formatter/SDCardFormatterv5_WinEN.zip格式化TF卡。DiskGenius可以尝试。
制作好Ubuntu core22.04.3系统的IMG固件之后,还需要你编辑TF卡中的文件:
1、修改H:\eflasher.conf
autoStart=/mnt/sdcard/friendlycore-jammy
autoExit=true
2、root@NanoPi-NEO-Core:/opt# vi run-eflasher.sh
root@NanoPi-NEO-Core:/opt# cat run-eflasher.sh
poweroff
如果能够直接编辑IMG固件就好了。到时候写TF卡之后不需要每次都来编辑这两个文件。
20250520在全志H3平台的Nano Pi NEO CORE开发板上运行Ubuntu Core16.04.3时跑通4G模块EC20
2025/5/20 14:51
缘起:公司将来要在全志H3平台的Nano Pi NEO CORE开发板上运行Ubuntu Core16.04.3时使用移远的4G模块EC200A-CN。
但是先买的是EC20。现在也就是废物利用了。
也许/可能在有订单之前还不会确定最终用哪一款了!
友善之臂预编译的IMG固件就已经适配好EC20了:h3-sd-friendlycore-xenial-4.14-armhf-20210618.img.gz
但是还是需要你在开发板上编译quectel-CM命令行拨号程序。
简略步骤:
pi@NanoPi-NEO-Core:~$
pi@NanoPi-NEO-Core:~$ cat /etc/issue
pi@NanoPi-NEO-Core:~$ uname -a
pi@NanoPi-NEO-Core:~$ lsusb
pi@NanoPi-NEO-Core:~$ ifconfig
pi@NanoPi-NEO-Core:~$ su
Password:
root@NanoPi-NEO-Core:/home/pi#
root@NanoPi-NEO-Core:/home/pi# ifconfig
root@NanoPi-NEO-Core:/home/pi# cd /
root@NanoPi-NEO-Core:/# ll
root@NanoPi-NEO-Core:/# git clone https://github.com/friendlyarm/quectel-cm.git
root@NanoPi-NEO-Core:/# ll
root@NanoPi-NEO-Core:/# tar zcvf quectel-cm00h3.tar.gz quectel-cm/
root@NanoPi-NEO-Core:/# ll
root@NanoPi-NEO-Core:/# cd quectel-cm
root@NanoPi-NEO-Core:/quectel-cm# ll
root@NanoPi-NEO-Core:/quectel-cm# make
root@NanoPi-NEO-Core:/quectel-cm# ll
root@NanoPi-NEO-Core:/quectel-cm# file quectel-CM
quectel-CM: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 3.2.0, BuildID[sha1]=e6ccab2315d3741204bff9196fbd7abc0c2f3e18, not stripped
root@NanoPi-NEO-Core:/quectel-cm#
root@NanoPi-NEO-Core:/quectel-cm# cp quectel-CM /usr/bin/
root@NanoPi-NEO-Core:/quectel-cm# sync
root@NanoPi-NEO-Core:/quectel-cm# cd /
root@NanoPi-NEO-Core:/# quectel-CM &
root@NanoPi-NEO-Core:/# ifconfig
root@NanoPi-NEO-Core:/# ping www.baidu.com
root@NanoPi-NEO-Core:/# time(wget http://112.124.9.243/dvdfiles/h3/images-for-eflasher/friendlycore-jammy-images.tgz)
friendlycore-jammy- 100%[===================>] 562.76M 844KB/s in 11m 40s
2025-05-20 07:35:34 (823 KB/s) - ‘friendlycore-jammy-images.tgz’ saved [590093020/590093020]
参考资料:
http://wiki.friendlyelec.com/wiki/index.php/NanoPi_NEO_Core/zh#.E4.BD.BF.E7.94.A8.E5.BC.80Linux-4.14_BSP
NanoPi NEO Core/zh
https://github.com/friendlyarm/sd-fuse_h3/blob/master/README_cn.md#%E7%BC%96%E8%AF%91%E5%86%85%E6%A0%B8
sd-fuse_h3/README_cn.md
https://wiki.friendlyelec.com/wiki/index.php/EFlasher/zh#.E7.83.A7.E5.86.99.E6.88.96.E6.81.A2.E5.A4.8D.E7.B3.BB.E7.BB.9F.E5.AE.8C.E6.88.90.E5.90.8E.E5.81.9A.E4.BA.9B.E5.85.B6.E4.BB.96.E4.BA.8B.E6.83.85
EFlasher/zh
https://wiki.friendlyelec.com/wiki/index.php/How_to_use_4G_Module_on_NanoPC-T4/zh#FriendlyCore.E4.B8.8B.E4.BD.BF.E7.94.A84G.E6.A8.A1.E5.9D.97EC20
How to use 4G Module on NanoPC-T4/zh
3 FriendlyCore下使用4G模块EC20
3.1 第0步:将SIM卡插入到EC20中
3.2 第1步:在开发板上编译quectel-CM命令行拨号程序
输入以下命令,编译并安装quectel-CM到 /usr/bin/ 目录:
git clone https://github.com/friendlyarm/quectel-cm.git
cd quectel-cm/
make
cp quectel-CM /usr/bin/
【不用做】3.3 第2步:创建udhcpc script
3.4 第3步:开始4G拨号
输入以下命令启动拨号:
quectel-CM &
拨号成功,屏幕会输出IP地址等信息,如下所示:
root@NanoPC-T4:~# quectel-CM &
[1] 5364
root@NanoPC-T4:~# [05-15_08:23:13:719] WCDMA<E_QConnectManager_Linux&Android_V1.1.34
[05-15_08:23:13:720] quectel-CM profile[1] = (null)/(null)/(null)/0, pincode = (null)
[05-15_08:23:13:721] Find /sys/bus/usb/devices/3-1 idVendor=2c7c idProduct=0125
[05-15_08:23:13:722] Find /sys/bus/usb/devices/3-1:1.4/net/wwan0
[05-15_08:23:13:722] Find usbnet_adapter = wwan0
[05-15_08:23:13:723] Find /sys/bus/usb/devices/3-1:1.4/usbmisc/cdc-wdm0
[05-15_08:23:13:723] Find qmichannel = /dev/cdc-wdm0
[05-15_08:23:13:739] cdc_wdm_fd = 7
[05-15_08:23:13:819] Get clientWDS = 18
[05-15_08:23:13:851] Get clientDMS = 2
[05-15_08:23:13:884] Get clientNAS = 2
[05-15_08:23:13:915] Get clientUIM = 1
[05-15_08:23:13:947] Get clientWDA = 1
[05-15_08:23:13:979] requestBaseBandVersion EC20CEFHLGR06A01M1G_OCPU_BETA1210
[05-15_08:23:14:043] requestSetEthMode QMUXResult = 0x1, QMUXError = 0x46
[05-15_08:23:14:075] requestGetSIMStatus SIMStatus: SIM_READY
[05-15_08:23:14:107] requestGetProfile[1] cmnet///0
[05-15_08:23:14:139] requestRegistrationState2 MCC: 460, MNC: 0, PS: Attached, DataCap: LTE
[05-15_08:23:14:171] requestQueryDataCall IPv4ConnectionStatus: DISCONNECTED
[05-15_08:23:14:235] requestRegistrationState2 MCC: 460, MNC: 0, PS: Attached, DataCap: LTE
[05-15_08:23:14:938] requestSetupDataCall WdsConnectionIPv4Handle: 0xe16e4540
[05-15_08:23:15:002] requestQueryDataCall IPv4ConnectionStatus: CONNECTED
[05-15_08:23:15:036] ifconfig wwan0 up
[05-15_08:23:15:052] busybox udhcpc -f -n -q -t 5 -i wwan0
[05-15_08:23:15:062] udhcpc (v1.23.2) started
[05-15_08:23:15:077] Sending discover...
[05-15_08:23:15:093] Sending select for 10.22.195.252...
[05-15_08:23:15:105] Lease of 10.22.195.252 obtained, lease time 7200
[05-15_08:23:15:118] deleting routers
SIOCDELRT: No such process
[05-15_08:23:15:132] adding dns 221.179.38.7
[05-15_08:23:15:132] adding dns 120.196.165.7
3.5 测试4G连接
ping一个域名,看看DNS解析是否已经在工作了:
root@NanoPC-T4:~# ping www.baidu.com
PING www.a.shifen.com (183.232.231.174) 56(84) bytes of data.
64 bytes from 183.232.231.174 (183.232.231.174): icmp_seq=1 ttl=56 time=74.3 ms
64 bytes from 183.232.231.174 (183.232.231.174): icmp_seq=2 ttl=56 time=25.1 ms
64 bytes from 183.232.231.174 (183.232.231.174): icmp_seq=3 ttl=56 time=30.8 ms
64 bytes from 183.232.231.174 (183.232.231.174): icmp_seq=4 ttl=56 time=29.1 ms
64 bytes from 183.232.231.174 (183.232.231.174): icmp_seq=5 ttl=56 time=29.2 ms
【异常了,可能需要你上外网】3.6 测试4G的网速
wget -O - https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py | python
得到的测试结果类拟如下这样:
Retrieving speedtest.net configuration...
Testing from China Mobile Guangdong (117.136.40.167)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by ChinaTelecom-GZ (Guangzhou) [2.51 km]: 62.726 ms
Testing download speed................................................................................
Download: 32.93 Mbit/s
Testing upload speed................................................................................................
Upload: 5.58 Mbit/s
pi@NanoPi-NEO-Core:~$
pi@NanoPi-NEO-Core:~$
pi@NanoPi-NEO-Core:~$
pi@NanoPi-NEO-Core:~$
pi@NanoPi-NEO-Core:~$ cat /etc/issue
Ubuntu 16.04.2 LTS \n \l
pi@NanoPi-NEO-Core:~$
pi@NanoPi-NEO-Core:~$ uname -a
Linux NanoPi-NEO-Core 4.14.111 #1 SMP Tue May 6 19:59:36 CST 2025 armv7l armv7l armv7l GNU/Linux
pi@NanoPi-NEO-Core:~$
pi@NanoPi-NEO-Core:~$ su
Password:
root@NanoPi-NEO-Core:/home/pi#
root@NanoPi-NEO-Core:/home/pi#
root@NanoPi-NEO-Core:/home/pi# ifconfig
eth0 Link encap:Ethernet HWaddr 02:81:15:56:69:a7
inet addr:192.168.3.214 Bcast:192.168.3.255 Mask:255.255.255.0
inet6 addr: fe80::c7e4:33d:b1d0:be03/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:390 errors:0 dropped:0 overruns:0 frame:0
TX packets:14 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:85816 (85.8 KB) TX bytes:1658 (1.6 KB)
Interrupt:41
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:9 errors:0 dropped:0 overruns:0 frame:0
TX packets:9 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1184 (1.1 KB) TX bytes:1184 (1.1 KB)
root@NanoPi-NEO-Core:/home/pi#
root@NanoPi-NEO-Core:/home/pi#
root@NanoPi-NEO-Core:/home/pi# cd /
root@NanoPi-NEO-Core:/#
root@NanoPi-NEO-Core:/#
root@NanoPi-NEO-Core:/# ls -l
total 92
drwxr-xr-x 2 root root 4096 Jun 18 2021 bin
drwxr-xr-x 4 root root 16384 Jan 1 1970 boot
drwxr-xr-x 14 root root 3800 Feb 11 16:28 dev
drwxr-xr-x 1 root root 4096 Feb 11 16:28 etc
drwxr-xr-x 4 root root 4096 Mar 27 2017 home
drwxr-xr-x 15 root root 4096 Jul 17 2019 lib
drwx------ 2 root root 16384 Apr 2 2025 lost+found
drwxr-xr-x 2 root root 4096 Oct 21 15:45 media
drwxr-xr-x 1 root root 4096 Feb 11 16:28 mnt
drwxr-xr-x 3 root root 4096 Jun 18 2021 opt
dr-xr-xr-x 119 root root 0 Jan 1 1970 proc
drwx------ 7 root root 4096 Apr 2 2025 root
drwxr-xr-x 18 root root 540 Feb 11 16:28 run
drwxr-xr-x 2 root root 4096 Jun 18 2021 sbin
drwxr-xr-x 2 root root 4096 Oct 21 15:45 srv
dr-xr-xr-x 12 root root 0 Jan 1 1970 sys
drwxrwxrwt 1 root root 4096 Feb 11 16:28 tmp
drwxr-xr-x 10 root root 4096 Jun 29 2022 usr
drwxr-xr-x 1 root root 4096 Jan 1 09:58 var
root@NanoPi-NEO-Core:/#
root@NanoPi-NEO-Core:/#
root@NanoPi-NEO-Core:/#
root@NanoPi-NEO-Core:/# git clone https://github.com/friendlyarm/quectel-cm.git
Cloning into 'quectel-cm'...
remote: Enumerating objects: 23, done.
remote: Total 23 (delta 0), reused 0 (delta 0), pack-reused 23 (from 1)
Unpacking objects: 100% (23/23), done.
Checking connectivity... done.
root@NanoPi-NEO-Core:/# ll
total 104
drwxr-xr-x 1 root root 4096 May 20 06:47 ./
drwxr-xr-x 1 root root 4096 May 20 06:47 ../
drwxr-xr-x 2 root root 4096 Jun 18 2021 bin/
drwxr-xr-x 4 root root 16384 Jan 1 1970 boot/
drwxr-xr-x 14 root root 3800 Feb 11 2016 dev/
drwxr-xr-x 1 root root 4096 May 20 06:47 etc/
drwxr-xr-x 4 root root 4096 Mar 27 2017 home/
drwxr-xr-x 15 root root 4096 Jul 17 2019 lib/
drwx------ 2 root root 16384 Apr 2 07:23 lost+found/
drwxr-xr-x 2 root root 4096 Oct 21 2015 media/
drwxr-xr-x 1 root root 4096 Feb 11 2016 mnt/
drwxr-xr-x 3 root root 4096 Jun 18 2021 opt/
dr-xr-xr-x 119 root root 0 Jan 1 1970 proc/
drwxr-xr-x 3 root root 4096 May 20 06:48 quectel-cm/
drwx------ 7 root root 4096 Apr 2 07:23 root/
drwxr-xr-x 18 root root 540 May 20 06:47 run/
drwxr-xr-x 2 root root 4096 Jun 18 2021 sbin/
drwxr-xr-x 2 root root 4096 Oct 21 2015 srv/
dr-xr-xr-x 12 root root 0 Feb 11 2016 sys/
drwxrwxrwt 1 root root 4096 May 20 06:47 tmp/
drwxr-xr-x 10 root root 4096 Jun 29 2022 usr/
drwxr-xr-x 1 root root 4096 Jan 1 2016 var/
root@NanoPi-NEO-Core:/#
root@NanoPi-NEO-Core:/#
root@NanoPi-NEO-Core:/# tar zcvf quectel-cm00h3.tar.gz quectel-cm/
root@NanoPi-NEO-Core:/# ll
total 236
drwxr-xr-x 1 root root 4096 May 20 06:48 ./
drwxr-xr-x 1 root root 4096 May 20 06:48 ../
drwxr-xr-x 2 root root 4096 Jun 18 2021 bin/
drwxr-xr-x 4 root root 16384 Jan 1 1970 boot/
drwxr-xr-x 14 root root 3800 Feb 11 2016 dev/
drwxr-xr-x 1 root root 4096 May 20 06:47 etc/
drwxr-xr-x 4 root root 4096 Mar 27 2017 home/
drwxr-xr-x 15 root root 4096 Jul 17 2019 lib/
drwx------ 2 root root 16384 Apr 2 07:23 lost+found/
drwxr-xr-x 2 root root 4096 Oct 21 2015 media/
drwxr-xr-x 1 root root 4096 Feb 11 2016 mnt/
drwxr-xr-x 3 root root 4096 Jun 18 2021 opt/
dr-xr-xr-x 119 root root 0 Jan 1 1970 proc/
drwxr-xr-x 3 root root 4096 May 20 06:48 quectel-cm/
-rw-r--r-- 1 root root 131120 May 20 06:48 quectel-cm00h3.tar.gz
drwx------ 7 root root 4096 Apr 2 07:23 root/
drwxr-xr-x 18 root root 540 May 20 06:47 run/
drwxr-xr-x 2 root root 4096 Jun 18 2021 sbin/
drwxr-xr-x 2 root root 4096 Oct 21 2015 srv/
dr-xr-xr-x 12 root root 0 Feb 11 2016 sys/
drwxrwxrwt 1 root root 4096 May 20 06:47 tmp/
drwxr-xr-x 10 root root 4096 Jun 29 2022 usr/
drwxr-xr-x 1 root root 4096 Jan 1 2016 var/
root@NanoPi-NEO-Core:/#
root@NanoPi-NEO-Core:/#
root@NanoPi-NEO-Core:/# cd quectel-cm
root@NanoPi-NEO-Core:/quectel-cm# ll
total 336
drwxr-xr-x 3 root root 4096 May 20 06:48 ./
drwxr-xr-x 1 root root 4096 May 20 06:48 ../
-rw-r--r-- 1 root root 1295 May 20 06:48 default.script
-rw-r--r-- 1 root root 3095 May 20 06:48 dhcpclient.c
drwxr-xr-x 8 root root 4096 May 20 06:48 .git/
-rw-r--r-- 1 root root 7419 May 20 06:48 GobiNetCM.c
-rw-r--r-- 1 root root 33622 May 20 06:48 main.c
-rw-r--r-- 1 root root 348 May 20 06:48 Makefile
-rw-r--r-- 1 root root 13454 May 20 06:48 MPQCTL.h
-rw-r--r-- 1 root root 6139 May 20 06:48 MPQMI.h
-rw-r--r-- 1 root root 20183 May 20 06:48 MPQMUX.c
-rw-r--r-- 1 root root 108202 May 20 06:48 MPQMUX.h
-rw-r--r-- 1 root root 76983 May 20 06:48 QMIThread.c
-rw-r--r-- 1 root root 5353 May 20 06:48 QMIThread.h
-rw-r--r-- 1 root root 10412 May 20 06:48 QmiWwanCM.c
-rw-r--r-- 1 root root 10052 May 20 06:48 udhcpc.c
-rw-r--r-- 1 root root 3702 May 20 06:48 util.c
-rw-r--r-- 1 root root 1660 May 20 06:48 util.h
root@NanoPi-NEO-Core:/quectel-cm#
root@NanoPi-NEO-Core:/quectel-cm# make
gcc -Wp,-MD,.main.o.d -c -o main.o main.c
gcc -Wp,-MD,.dhcpclient.o.d -c -o dhcpclient.o dhcpclient.c
gcc -Wp,-MD,.GobiNetCM.o.d -c -o GobiNetCM.o GobiNetCM.c
gcc -Wp,-MD,.MPQMUX.o.d -c -o MPQMUX.o MPQMUX.c
gcc -Wp,-MD,.QMIThread.o.d -c -o QMIThread.o QMIThread.c
gcc -Wp,-MD,.QmiWwanCM.o.d -c -o QmiWwanCM.o QmiWwanCM.c
gcc -Wp,-MD,.udhcpc.o.d -c -o udhcpc.o udhcpc.c
gcc -Wp,-MD,.util.o.d -c -o util.o util.c
gcc -pthread -g -o quectel-CM main.o dhcpclient.o GobiNetCM.o MPQMUX.o QMIThread.o QmiWwanCM.o udhcpc.o util.o
root@NanoPi-NEO-Core:/quectel-cm#
root@NanoPi-NEO-Core:/quectel-cm#
root@NanoPi-NEO-Core:/quectel-cm# ll
total 544
drwxr-xr-x 3 root root 4096 May 20 06:48 ./
drwxr-xr-x 1 root root 4096 May 20 06:48 ../
-rw-r--r-- 1 root root 1295 May 20 06:48 default.script
-rw-r--r-- 1 root root 3095 May 20 06:48 dhcpclient.c
-rw-r--r-- 1 root root 792 May 20 06:48 dhcpclient.o
-rw-r--r-- 1 root root 54 May 20 06:48 .dhcpclient.o.d
drwxr-xr-x 8 root root 4096 May 20 06:48 .git/
-rw-r--r-- 1 root root 7419 May 20 06:48 GobiNetCM.c
-rw-r--r-- 1 root root 5832 May 20 06:48 GobiNetCM.o
-rw-r--r-- 1 root root 4052 May 20 06:48 .GobiNetCM.o.d
-rw-r--r-- 1 root root 33622 May 20 06:48 main.c
-rw-r--r-- 1 root root 19780 May 20 06:48 main.o
-rw-r--r-- 1 root root 4450 May 20 06:48 .main.o.d
-rw-r--r-- 1 root root 348 May 20 06:48 Makefile
-rw-r--r-- 1 root root 13454 May 20 06:48 MPQCTL.h
-rw-r--r-- 1 root root 6139 May 20 06:48 MPQMI.h
-rw-r--r-- 1 root root 20183 May 20 06:48 MPQMUX.c
-rw-r--r-- 1 root root 108202 May 20 06:48 MPQMUX.h
-rw-r--r-- 1 root root 17560 May 20 06:48 MPQMUX.o
-rw-r--r-- 1 root root 4049 May 20 06:48 .MPQMUX.o.d
-rw-r--r-- 1 root root 76983 May 20 06:48 QMIThread.c
-rw-r--r-- 1 root root 5353 May 20 06:48 QMIThread.h
-rw-r--r-- 1 root root 27228 May 20 06:48 QMIThread.o
-rw-r--r-- 1 root root 4055 May 20 06:48 .QMIThread.o.d
-rw-r--r-- 1 root root 10412 May 20 06:48 QmiWwanCM.c
-rw-r--r-- 1 root root 7988 May 20 06:48 QmiWwanCM.o
-rw-r--r-- 1 root root 4052 May 20 06:48 .QmiWwanCM.o.d
-rwxr-xr-x 1 root root 65756 May 20 06:48 quectel-CM*
-rw-r--r-- 1 root root 10052 May 20 06:48 udhcpc.c
-rw-r--r-- 1 root root 4804 May 20 06:48 udhcpc.o
-rw-r--r-- 1 root root 4071 May 20 06:48 .udhcpc.o.d
-rw-r--r-- 1 root root 3702 May 20 06:48 util.c
-rw-r--r-- 1 root root 1660 May 20 06:48 util.h
-rw-r--r-- 1 root root 3992 May 20 06:48 util.o
-rw-r--r-- 1 root root 4218 May 20 06:48 .util.o.d
root@NanoPi-NEO-Core:/quectel-cm#
root@NanoPi-NEO-Core:/quectel-cm# file quectel-CM
quectel-CM: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 3.2.0, BuildID[sha1]=e6ccab2315d3741204bff9196fbd7abc0c2f3e18, not stripped
root@NanoPi-NEO-Core:/quectel-cm#
pi@NanoPi-NEO-Core:~$
pi@NanoPi-NEO-Core:~$
pi@NanoPi-NEO-Core:~$ lsusb
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 002: ID 152d:0578 JMicron Technology Corp. / JMicron USA Technology Corp.
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 002: ID 2c7c:0125
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 009 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
pi@NanoPi-NEO-Core:~$
pi@NanoPi-NEO-Core:~$ ifconfig
eth0 Link encap:Ethernet HWaddr 02:81:15:56:69:a7
inet6 addr: fe80::c7e4:33d:b1d0:be03/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:45 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:10883 (10.8 KB) TX bytes:508 (508.0 B)
Interrupt:41
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:80 errors:0 dropped:0 overruns:0 frame:0
TX packets:80 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:6368 (6.3 KB) TX bytes:6368 (6.3 KB)
pi@NanoPi-NEO-Core:~$
原始IMG固件启动:
[ 9.600696] 8821cu: loading out-of-tree module taints kernel.
[ 9.632826] usbcore: registered new interface driver rtl8821cu
[ 9.711716] usbcore: registered new interface driver rtl88xxau
[ 10.397994] systemd-journald[276]: Received request to flush runtime journal from PID 1
[ 11.536170] scsi 0:0:0:0: scsi scan: 96 byte inquiry failed. Consider BLIST_INQUIRY_36 for this device
[ 12.544301] Adding 524284k swap on /mnt/512MB.swap. Priority:-2 extents:3 across:540668k SS
[ 13.694890] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 13.696453] Generic PHY stmmac-0:01: attached PHY driver [Generic PHY] (mii_bus:phy_addr=stmmac-0:01, irq=POLL)
[ 13.698641] dwmac-sun8i 1c30000.ethernet eth0: No MAC Management Counters available
[ 13.698655] dwmac-sun8i 1c30000.ethernet eth0: PTP not supported by HW
[ 13.699047] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 13.751076] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 13.793569] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 16.817341] dwmac-sun8i 1c30000.ethernet eth0: Link is Up - 100Mbps/Full - flow control off
[ 16.817424] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 21.856428] usb 3-1: new high-speed USB device number 2 using ehci-platform
[ 22.026636] usb 3-1: New USB device found, idVendor=2c7c, idProduct=0125
[ 22.026656] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 22.026669] usb 3-1: Product: Android
[ 22.026680] usb 3-1: Manufacturer: Android
[ 22.029251] option 3-1:1.0: GSM modem (1-port) converter detected
[ 22.029893] usb 3-1: GSM modem (1-port) converter now attached to ttyUSB0
[ 22.030744] option 3-1:1.1: GSM modem (1-port) converter detected
[ 22.032744] usb 3-1: GSM modem (1-port) converter now attached to ttyUSB1
[ 22.033798] option 3-1:1.2: GSM modem (1-port) converter detected
[ 22.035211] usb 3-1: GSM modem (1-port) converter now attached to ttyUSB2
[ 22.036122] option 3-1:1.3: GSM modem (1-port) converter detected
[ 22.037491] usb 3-1: GSM modem (1-port) converter now attached to ttyUSB3
[ 22.051596] qmi_wwan 3-1:1.4: cdc-wdm0: USB WDM device
[ 22.051625] qmi_wwan 3-1:1.4: Quectel EC21&EC25 work on RawIP mode
[ 22.053404] qmi_wwan 3-1:1.4 wwan0: register 'qmi_wwan' at usb-1c1b000.usb-1, WWAN/QMI device, ea:ce:56:3d:16:44
root@NanoPi-NEO-Core:/#
root@NanoPi-NEO-Core:/#
root@NanoPi-NEO-Core:/# cd /dev
root@NanoPi-NEO-Core:/dev#
root@NanoPi-NEO-Core:/dev# ll ttyUSB*
crw-rw---- 1 root dialout 188, 0 Feb 11 16:47 ttyUSB0
crw-rw---- 1 root dialout 188, 1 Feb 11 16:47 ttyUSB1
crw-rw---- 1 root dialout 188, 2 Feb 11 16:47 ttyUSB2
crw-rw---- 1 root dialout 188, 3 Feb 11 16:47 ttyUSB3
root@NanoPi-NEO-Core:/dev#
root@NanoPi-NEO-Core:/dev#
root@NanoPi-NEO-Core:/dev# lsusb
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 002: ID 152d:0578 JMicron Technology Corp. / JMicron USA Technology Corp.
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 002: ID 2c7c:0125
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 009 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
root@NanoPi-NEO-Core:/dev#
root@NanoPi-NEO-Core:/dev#
上网的步骤:
[ 9.996416] rc.local[554]: ctp = 0
[ OK ] Started /etc/rc.local Compatibility.
[ OK ] Started LSB: disk temperature monitoring daemon.
[ OK ] Started Getty on tty1.
[ OK ] Started Serial Getty on ttyS0.
[ OK ] Reached target Login Prompts.
[ OK ] Started LSB: Start NTP daemon.
[ OK ] Reached target Multi-User System.
[ OK ] Reached target Graphical Interface.
Starting Update UTMP about System Runlevel Changes...
[ OK ] Started Update UTMP about System Runlevel Changes.
Ubuntu 16.04.2 LTS NanoPi-NEO-Core ttyS0
NanoPi-NEO-Core login: pi (automatic login)
Last login: Thu Feb 11 16:46:44 UTC 2016 on ttyS0
_____ _ _ _ _____ _ _____ ____
| ___| __(_) ___ _ __ __| | |_ _| ____| | | ____/ ___|
| |_ | '__| |/ _ \ '_ \ / _` | | | | | _| | | | _|| |
| _|| | | | __/ | | | (_| | | |_| | |___| |___| |__| |___
|_| |_| |_|\___|_| |_|\__,_|_|\__, |_____|_____|_____\____|
|___/
Welcome to Ubuntu 16.04.2 LTS 4.14.111
System load: 0.71 Up time: 11 sec
Memory usage: 9 % of 491Mb IP:
CPU temp: 36°C
Usage of /: 10% of 6.0G
* Documentation: http://wiki.friendlyarm.com/Ubuntu
* Forum: http://www.friendlyarm.com/Forum/
pi@NanoPi-NEO-Core:~$
pi@NanoPi-NEO-Core:~$
pi@NanoPi-NEO-Core:~$ su
Password:
su: Authentication failure
pi@NanoPi-NEO-Core:~$
pi@NanoPi-NEO-Core:~$ su
Password:
root@NanoPi-NEO-Core:/home/pi# ifconfig
eth0 Link encap:Ethernet HWaddr 02:81:15:56:69:a7
inet6 addr: fe80::fa6c:8db:e7dd:d6d6/64 Scope:Link
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:41
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:80 errors:0 dropped:0 overruns:0 frame:0
TX packets:80 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:6368 (6.3 KB) TX bytes:6368 (6.3 KB)
root@NanoPi-NEO-Core:/home/pi#
root@NanoPi-NEO-Core:/home/pi#
root@NanoPi-NEO-Core:/home/pi# cd /
root@NanoPi-NEO-Core:/#
root@NanoPi-NEO-Core:/#
root@NanoPi-NEO-Core:/# ll
total 108
drwxr-xr-x 1 root root 4096 May 20 2025 ./
drwxr-xr-x 1 root root 4096 May 20 2025 ../
drwxr-xr-x 2 root root 4096 Jun 18 2021 bin/
drwxr-xr-x 4 root root 16384 Jan 1 1970 boot/
drwxr-xr-x 15 root root 3920 Feb 11 16:53 dev/
drwxr-xr-x 1 root root 4096 May 20 2025 etc/
drwxr-xr-x 1 root root 4096 Mar 27 2017 home/
drwxr-xr-x 15 root root 4096 Jul 17 2019 lib/
drwx------ 2 root root 16384 Apr 2 2025 lost+found/
drwxr-xr-x 2 root root 4096 Oct 21 15:45 media/
drwxr-xr-x 1 root root 4096 Feb 11 16:46 mnt/
drwxr-xr-x 3 root root 4096 Jun 18 2021 opt/
dr-xr-xr-x 121 root root 0 Jan 1 1970 proc/
drwxr-xr-x 3 root root 4096 May 20 2025 quectel-cm/
drwx------ 1 root root 4096 May 20 2025 root/
drwxr-xr-x 18 root root 540 Feb 11 16:54 run/
drwxr-xr-x 2 root root 4096 Jun 18 2021 sbin/
drwxr-xr-x 2 root root 4096 Oct 21 15:45 srv/
dr-xr-xr-x 12 root root 0 Feb 11 16:53 sys/
drwxrwxrwt 1 root root 4096 Feb 11 16:54 tmp/
drwxr-xr-x 10 root root 4096 Jun 29 2022 usr/
drwxr-xr-x 1 root root 4096 Jan 1 09:58 var/
root@NanoPi-NEO-Core:/#
root@NanoPi-NEO-Core:/#
root@NanoPi-NEO-Core:/# cd quectel-cm/
root@NanoPi-NEO-Core:/quectel-cm# ll
total 544
drwxr-xr-x 3 root root 4096 May 20 2025 ./
drwxr-xr-x 1 root root 4096 May 20 2025 ../
-rw-r--r-- 1 root root 1295 May 20 2025 default.script
-rw-r--r-- 1 root root 3095 May 20 2025 dhcpclient.c
-rw-r--r-- 1 root root 792 May 20 2025 dhcpclient.o
-rw-r--r-- 1 root root 54 May 20 2025 .dhcpclient.o.d
drwxr-xr-x 8 root root 4096 May 20 2025 .git/
-rw-r--r-- 1 root root 7419 May 20 2025 GobiNetCM.c
-rw-r--r-- 1 root root 5832 May 20 2025 GobiNetCM.o
-rw-r--r-- 1 root root 4052 May 20 2025 .GobiNetCM.o.d
-rw-r--r-- 1 root root 33622 May 20 2025 main.c
-rw-r--r-- 1 root root 19780 May 20 2025 main.o
-rw-r--r-- 1 root root 4450 May 20 2025 .main.o.d
-rw-r--r-- 1 root root 348 May 20 2025 Makefile
-rw-r--r-- 1 root root 13454 May 20 2025 MPQCTL.h
-rw-r--r-- 1 root root 6139 May 20 2025 MPQMI.h
-rw-r--r-- 1 root root 20183 May 20 2025 MPQMUX.c
-rw-r--r-- 1 root root 108202 May 20 2025 MPQMUX.h
-rw-r--r-- 1 root root 17560 May 20 2025 MPQMUX.o
-rw-r--r-- 1 root root 4049 May 20 2025 .MPQMUX.o.d
-rw-r--r-- 1 root root 76983 May 20 2025 QMIThread.c
-rw-r--r-- 1 root root 5353 May 20 2025 QMIThread.h
-rw-r--r-- 1 root root 27228 May 20 2025 QMIThread.o
-rw-r--r-- 1 root root 4055 May 20 2025 .QMIThread.o.d
-rw-r--r-- 1 root root 10412 May 20 2025 QmiWwanCM.c
-rw-r--r-- 1 root root 7988 May 20 2025 QmiWwanCM.o
-rw-r--r-- 1 root root 4052 May 20 2025 .QmiWwanCM.o.d
-rwxr-xr-x 1 root root 65756 May 20 2025 quectel-CM*
-rw-r--r-- 1 root root 10052 May 20 2025 udhcpc.c
-rw-r--r-- 1 root root 4804 May 20 2025 udhcpc.o
-rw-r--r-- 1 root root 4071 May 20 2025 .udhcpc.o.d
-rw-r--r-- 1 root root 3702 May 20 2025 util.c
-rw-r--r-- 1 root root 1660 May 20 2025 util.h
-rw-r--r-- 1 root root 3992 May 20 2025 util.o
-rw-r--r-- 1 root root 4218 May 20 2025 .util.o.d
root@NanoPi-NEO-Core:/quectel-cm# cp quectel-CM /
root@NanoPi-NEO-Core:/quectel-cm# cd /
root@NanoPi-NEO-Core:/#
root@NanoPi-NEO-Core:/# cd -
/quectel-cm
root@NanoPi-NEO-Core:/quectel-cm# cp quectel-CM /usr/bin/
root@NanoPi-NEO-Core:/quectel-cm# sync
root@NanoPi-NEO-Core:/quectel-cm# sync
root@NanoPi-NEO-Core:/quectel-cm# cd /
root@NanoPi-NEO-Core:/#
root@NanoPi-NEO-Core:/#
root@NanoPi-NEO-Core:/# quectel-CM &
[1] 817
root@NanoPi-NEO-Core:/# [02-11_16:54:57:075] WCDMA<E_QConnectManager_Linux&Android_V1.1.34
[02-11_16:54:57:076] quectel-CM profile[1] = (null)/(null)/(null)/0, pincode = (null)
[02-11_16:54:57:080] Find /sys/bus/usb/devices/3-1 idVendor=2c7c idProduct=0125
[02-11_16:54:57:080] Find /sys/bus/usb/devices/3-1:1.4/net/wwan0
[02-11_16:54:57:080] Find usbnet_adapter = wwan0
[02-11_16:54:57:081] Find /sys/bus/usb/devices/3-1:1.4/usbmisc/cdc-wdm0
[02-11_16:54:57:081] Find qmichannel = /dev/cdc-wdm0
[02-11_16:54:57:095] /proc/779/fd/7 -> /dev/cdc-wdm0
[02-11_16:54:57:095] /proc/779/exe -> /usr/lib/libqmi/qmi-proxy
[02-11_16:54:59:098] cdc_wdm_fd = 7
[02-11_16:54:59:183] Get clientWDS = 18
[02-11_16:54:59:215] Get clientDMS = 1
[02-11_16:54:59:246] Get clientNAS = 3
[02-11_16:54:59:278] Get clientUIM = 1
[02-11_16:54:59:310] Get clientWDA = 1
[02-11_16:54:59:343] requestBaseBandVersion EC20CEHCLGR06A05M1G
[02-11_16:54:59:407] requestSetEthMode QMUXResult = 0x1, QMUXError = 0x46
[02-11_16:54:59:438] requestGetSIMStatus QMUXResult = 0x1, QMUXError = 0x5e
[02-11_16:54:59:470] requestGetProfile[1] 3gnet///0
[02-11_16:54:59:502] requestRegistrationState MCC: 460, MNC: 1, PS: Attached, DataCap: LTE
[02-11_16:54:59:535] requestQueryDataCall IPv4ConnectionStatus: DISCONNECTED
[02-11_16:54:59:599] requestRegistrationState MCC: 460, MNC: 1, PS: Attached, DataCap: LTE
[02-11_16:54:59:630] requestSetupDataCall WdsConnectionIPv4Handle: 0xe1767cc0
[02-11_16:54:59:694] requestQueryDataCall IPv4ConnectionStatus: CONNECTED
[02-11_16:54:59:726] ifconfig wwan0 up
[02-11_16:54:59:746] busybox udhcpc -f -n -q -t 5 -i wwan0
[02-11_16:54:59:765] udhcpc (v1.23.2) started
[02-11_16:54:59:802] Sending discover...
[02-11_16:54:59:847] Sending select for 10.41.94.43...
[02-11_16:54:59:887] Lease of 10.41.94.43 obtained, lease time 7200
[02-11_16:54:59:901] deleting routers
SIOCDELRT: No such process
[02-11_16:54:59:920] adding dns 120.80.80.80
[02-11_16:54:59:920] adding dns 221.5.88.88
root@NanoPi-NEO-Core:/#
root@NanoPi-NEO-Core:/# ifconfig
eth0 Link encap:Ethernet HWaddr 02:81:15:56:69:a7
inet6 addr: fe80::fa6c:8db:e7dd:d6d6/64 Scope:Link
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:41
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:160 errors:0 dropped:0 overruns:0 frame:0
TX packets:160 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:12736 (12.7 KB) TX bytes:12736 (12.7 KB)
wwan0 Link encap:Ethernet HWaddr 72:ca:88:20:f9:5f
inet addr:10.41.94.43 Bcast:10.41.94.47 Mask:255.255.255.248
inet6 addr: fe80::70ca:88ff:fe20:f95f/64 Scope:Link
UP BROADCAST RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:2 errors:0 dropped:0 overruns:0 frame:0
TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:612 (612.0 B) TX bytes:768 (768.0 B)
root@NanoPi-NEO-Core:/#
root@NanoPi-NEO-Core:/# ping www.baidu.com
PING www.a.shifen.com (157.148.69.151) 56(84) bytes of data.
64 bytes from 157.148.69.151: icmp_seq=1 ttl=52 time=30.9 ms
64 bytes from 157.148.69.151: icmp_seq=2 ttl=52 time=22.3 ms
64 bytes from 157.148.69.151: icmp_seq=3 ttl=52 time=23.1 ms
64 bytes from 157.148.69.151: icmp_seq=4 ttl=52 time=24.8 ms
64 bytes from 157.148.69.151: icmp_seq=5 ttl=52 time=25.6 ms
64 bytes from 157.148.69.151: icmp_seq=6 ttl=52 time=21.9 ms
64 bytes from 157.148.69.151: icmp_seq=7 ttl=52 time=30.6 ms
64 bytes from 157.148.69.151: icmp_seq=8 ttl=52 time=24.7 ms
64 bytes from 157.148.69.151: icmp_seq=9 ttl=52 time=24.7 ms
64 bytes from 157.148.69.151: icmp_seq=10 ttl=52 time=32.8 ms
64 bytes from 157.148.69.151: icmp_seq=11 ttl=52 time=23.7 ms
64 bytes from 157.148.69.151: icmp_seq=12 ttl=52 time=24.7 ms
64 bytes from 157.148.69.151: icmp_seq=13 ttl=52 time=34.8 ms
64 bytes from 157.148.69.151: icmp_seq=14 ttl=52 time=25.3 ms
64 bytes from 157.148.69.151: icmp_seq=15 ttl=52 time=23.1 ms
64 bytes from 157.148.69.151: icmp_seq=16 ttl=52 time=24.8 ms
64 bytes from 157.148.69.151: icmp_seq=17 ttl=52 time=23.7 ms
64 bytes from 157.148.69.151: icmp_seq=18 ttl=52 time=24.8 ms
64 bytes from 157.148.69.151: icmp_seq=19 ttl=52 time=23.8 ms
^C
--- www.a.shifen.com ping statistics ---
19 packets transmitted, 19 received, 0% packet loss, time 18025ms
rtt min/avg/max/mdev = 21.904/25.841/34.848/3.566 ms
root@NanoPi-NEO-Core:/#
root@NanoPi-NEO-Core:/#
root@NanoPi-NEO-Core:/#
lasher/friendlycore-jammy-images.tgz)p://112.124.9.243/dvdfiles/h3/images-for-ef
--2025-05-20 07:23:53-- http://112.124.9.243/dvdfiles/h3/images-for-eflasher/friendlycore-jammy-images.tgz
Connecting to 112.124.9.243:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 590093020 (563M) [application/octet-stream]
Saving to: ‘friendlycore-jammy-images.tgz’
friendlycore-jammy- 100%[===================>] 562.76M 844KB/s in 11m 40s
2025-05-20 07:35:34 (823 KB/s) - ‘friendlycore-jammy-images.tgz’ saved [590093020/590093020]
real 11m40.674s
user 0m3.500s
sys 0m46.154s
root@NanoPi-NEO-Core:/#