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, BuildIDsha1=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



参考资料:
NanoPi NEO Core/zh
https://github.com/friendlyarm/sd-fuse_h3/blob/master/README_cn.md#编译内核
sd-fuse_h3/README_cn.md
EFlasher/zh
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 profile1 = (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 requestGetProfile1 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, BuildIDsha1=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-journald276: 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.local554: 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 profile1 = (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 requestGetProfile1 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:/#