当前位置: 首页 > news >正文

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&LTE_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&LTE_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:/# 

相关文章:

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_WinE…...

探秘汽车门槛梁内板右后段成型工艺

引言:汽车制造的关键环节 在汽车制造的复杂体系中,每一个零部件都扮演着不可或缺的角色,其中汽车门槛梁内板右后段虽看似平凡,却对汽车的整体性能和安全起着关键作用。它是车身结构的重要组成部分,犹如建筑的基石&…...

阅读笔记---城市计算中用于预测学习的时空图神经网络研究综述

摘要 随着近年来传感技术的进步,智能城市产生并记录了无数的时空数据。预测时空数据的演变模式是城市计算的一个重要而又苛刻的方面,它可以增强各个领域的智能管理决策,包括交通、环境、气候、公共安全、医疗保健等。传统的统计和深度学习方…...

SpringBootDay1|面试题

目录 一、springboot框架 1、什么是springboot 2、Spring Boot的主要优点 3、springboot核心注解 4、定义banner(springboot的logo) 5、springboot配置文件 6、springboot 整合 jdbc 二、面试题 1)springmvc的作用 ​编辑 2&#x…...

PyCharm2025的字体的设置

前言 Pycharm中的字体调节,看起来似乎无足轻重。但是,能从容的调节,也是蛮好的,特别是做程序演示的时候。 当前PyCharm采用的是最新的2025.1.1版本(Community),当前的操作系统是Windows。 一、初始状态 …...

【Linux】进程间通信(三):命名管道

📝前言: 这篇文章我们来讲讲Linux 进程间通信(三)——命名管道 🎬个人简介:努力学习ing 📋个人专栏:Linux 🎀CSDN主页 愚润求学 🌄其他专栏:C学习…...

人工智能+:职业技能培训的元命题与能力重构

当“人工智能”成为各行各业的热门命题时,我们似乎跳过了一个更根本的思考:人类究竟需要怎样的AI能力?这个问题不解决,任何技术赋能都可能沦为无本之木。真正的挑战不在于如何应用AI,而在于如何定义人与AI的能力边界—…...

HarmonyOS5云服务技术分享--云存储SDK文章整理

在HarmonyOS ArkTS应用中集成华为云存储SDK指南 大家好呀!今天咱们来聊聊如何将华为云存储SDK集成到基于ArkTS(API 9-11)的HarmonyOS应用中。这篇指南会手把手带你完成从环境准备到代码实现的完整流程,过程中遇到的常见问题也会贴…...

《财务自由之路Ⅱ》理论篇

欢迎来到啾啾的博客🐱。 记录学习点滴。分享工作思考和实用技巧,偶尔也分享一些杂谈💬。 欢迎评论交流,感谢您的阅读😄。 目录 引言认知赚钱方式收入与负债都很重要整天工作的人,没有时间赚钱 一些建议做法…...

AI筑基,新质跃升|英码科技亮相华为广东新质生产力创新峰会,发布大模型一体机新品,助力产业智能化转型

5月15日,以“AI筑基,新质跃升”为主题的华为中国行2025广东新质生产力创新峰会在惠州圆满召开。本次峰会聚焦人工智能、算力基础设施等新ICT技术如何驱动“新质生产力”,共探广东高质量发展新路径。英码科技受邀出席本次峰会,并携…...

【C++】C++的拷贝构造函数介绍使用

拷贝构造函数 1.作用示例代码1:拷贝构造函数的调用示例代码2:系统默认的拷贝构造做的事情示例代码3:写法1-4示例代码4:写法5示例代码5:C编译器默认给类提供了4中隐含的方法 2.语法规则示例代码: 3.深拷贝和…...

能管理MySQL、Oracle、达梦数据库的桌面管理软件开源了

能管理MySQL、Oracle、达梦数据库的桌面管理软件开源了 能管理MySQL、Oracle、达梦数据库的桌面管理软件开源了1.项目介绍2. 项目源码开发2.1克隆项目2.2 配置并运行 3.使用3.1添加数据库连接3.2新增表3.3操作表3.4 运行sql 4.总结 能管理MySQL、Oracle、达梦数据库的桌面管理…...

5.20打卡

浙大疏锦行 DAY 31 文件的规范拆分和写法 知识点回顾 1. 规范的文件命名 2. 规范的文件夹管理 3. 机器学习项目的拆分 4. 编码格式和类型注解 作业:尝试针对之前的心脏病项目,准备拆分的项目文件,思考下哪些部分可以未来复用。 预处理&am…...

unity XCharts插件生成曲线图在UICanvas中

【推荐100个unity插件之22】基于UGUI的功能强大的简单易用的Unity数据可视化图表插件——XCharts3.0插件的使用_unity xcharts-CSDN博客...

创建thinkphp项目并配置数据库

配置环境并引入UI ssr模式 使用 composer 命令在指定的目录安装 Thinkphp6.x composer create-project topthink/think tp6demo出现Fatal error: Directive ‘track_errors’ is no longer available in PHP in Unknown on line 0说明你的php版本较高,在php.ini中…...

头歌实践平台:动态NAT配置

第一:打开GNS3,创建名为nat的项目文件 第二:创建网络拓扑结构如下: note:s端口线需要在关闭路由器的情况下双击进入,选配4T端口(不要忘记点击OK) 第三:打开所有设备(所…...

贝叶斯优化+CNN+LSTM=小论文创新点

2周速成小论文可能吗?有点悬,但有可能。今天我就给论文er推荐一个高潜力、易创新、适合速发的小论文选题:贝叶斯优化CNNLSTM! 这种“三结合”的优势在于技术成熟度高(经典CNN和LSTM)、创新点灵活性强&…...

软考中级软件设计师——计算机网络 IP地址与子网掩码相关题型

一、常见题型分类 题型考查重点解题关键子网划分根据需求划分子网,计算网络地址、广播地址、可用主机范围等二进制与十进制转换,子网掩码计算,网络位与主机位划分子网掩码转换CIDR表示法(如/24)与点分十进制&#xff…...

bi报表是什么意思?如何制作一张bi报表?

目录 一、BI 报表是什么意思? 1. BI 报表的基本概念 2. BI 报表的特点 3. BI 报表的作用 二、制作 BI 报表的前期准备 1. 明确报表的目标和需求 2. 确定数据来源 3. 选择合适的 BI 工具 三、制作 BI 报表的具体步骤 1. 数据收集与整理 2. 数据分析 3. 可…...

vivado fpga程序固化

一般下载到fpga上的程序在掉电之后就会丢失,如果想要掉电之后程序不丢失,就需要将比特流文件固化到板载的flash上。 以下以我的7a100t开发板为例,介绍程序固化的流程 点击OK就可以下载了。...

人生的真谛杂谈

文章目录 自我的哲学奠基自我存在的真实性身体与思想的决定关系自由意志自我的当代解构 三观的意义系统构建世界观:认知世界的根基人生观:生命意义的探索价值观:行为选择的准则三观构建的终极目标 价值的哲学解构价值的本体论价值客观性的形而…...

【Java】继承和多态在 Java 中是怎样实现的?

extends 关键字 class 子类 extends 父类 {... } // 类继承是单继承父类的哪些成员被继承 ? 访问修饰符 public 和 protected 修饰的父类成员字段和成员方法可以被继承 , 父类的默认方法只能在同包下继承 , 父类的 private 成员和构造方法不可继承 . super 关键字 表示父类…...

输出字母在字符串中位置索引

输入一个字符串,再输入两个字符,求这两个字符在字符串中的索引。 输入格式: 第一行输入字符串 第二行输入两个字符,用空格分开。 输出格式: 从右向左输出字符和索引,即下标最大的字符最先输出。每行一个。 输入样例: 在这里…...

Oracle中如何解决LATCH:CACHE BUFFERS LRU CHAIN

简单来讲,Oracle为了高效管理BUFFER CACHE主要使用以下2种LRU列: LRU列,又叫替换列(replacement list),其中又分为主列和辅助列。 主列:已使用的缓冲区列,分为HOT和COLD区域。HOT区…...

FPGA:基于Vivado的仿真流程与波形调试实践

在FPGA开发过程中,仿真是验证设计逻辑正确性的关键环节。尤其在复杂系统中,单靠硬件板级调试远远不够,往往需要依赖仿真工具提前发现潜在问题,提升开发效率。本文将结合Xilinx Vivado设计套件,系统梳理从仿真环境构建到…...

前端流行框架Vue3教程:20. 插槽slot(2)

插槽slot&#xff08;2&#xff09; 渲染作用域 插槽内容可以访问到父组件的数据作用域&#xff0c;因为插槽内容本身是在父组件模板中定义的 SlotsTow.vue <script> export default {data() {return {};} } </script><template><h3>Slots续集</…...

CodeBuddy全新升级:体验Craft智能体的对话式编程革命

本文所使用的 CodeBuddy 免费下载链接&#xff1a;腾讯云代码助手 CodeBuddy - AI 时代的智能编程伙伴 腾讯云AI编程助手官网&#xff1a;腾讯云代码助手 CodeBuddy - AI 时代的智能编程伙伴 目录 引言&#xff1a;软件开发的新范式 一、Craft智能体核心功能解析 1.1 自然语…...

基于SpringBoot+Vue的学籍管理系统的设计与实现

获取源码&#xff1a;SpringBootVue的学籍管理系统: 学籍管理系统&#xff1a;登录、个人中心、学生管理、教师管理、学院管理、专业管理、班级信息管理、课程信息管理、学生成绩管理、学生学籍管理、招生信息录入等功能 系统演示视频地址&#xff1a;SpringBootVue的学籍管理…...

【动态规划】P10988 [蓝桥杯 2023 国 Python A] 走方格|普及+

本文涉及知识点 C动态规划 P10988 [蓝桥杯 2023 国 Python A] 走方格 题目描述 给定一个 N N N 行 N N N 列的方格&#xff0c;第 i i i 行第 j j j 列的方格坐标为 ( i , j ) (i, j) (i,j)&#xff0c;高度为 H i , j H_{i,j} Hi,j​。小蓝从左上角坐标 ( 0 , 0 ) …...

pycharm无法正常调试问题

pycharm无法正常调试问题 1.错误代码 已连接到 pydev 调试器(内部版本号 231.8109.197)Traceback (most recent call last):File "E:\Python\pycharm\PyCharm 2023.1\plugins\python\helpers\pydev\_pydevd_bundle\pydevd_comm.py", line 304, in _on_runr r.deco…...

自学嵌入式 day21 - 数据结构 双向链表

1.双向链表 2.基础操作 &#xff08;1&#xff09;头部插入 int InsertHeadDouLinkList(DouLinkList *dl,DATATYPE *data) { DouLinkNode *newnode (DouLinkNode *)malloc(sizeof(DouLinkNode));//定义新节点来存储需插入的数据 if(NULL newnode)//判断结点空间…...

Ubuntu 22.04安装zabbix7.0.0图形中文乱码

在 Ubuntu 22.04 上安装 Zabbix 7.0.0 时&#xff0c;如果图形界面&#xff08;如仪表盘、图表&#xff09;出现中文乱码&#xff0c;通常是因为缺少中文字体或字体配置不正确。以下是完整的解决方案&#xff1a; 1. 安装中文字体 安装 fonts-wqy-microhei&#xff08;文泉驿微…...

docker环境和dockerfile制作

docker 一、环境和安装 1、 docker安装 使用 root 权限登录 CentOS。确保 yum 包更新到最新sudo yum update卸载旧版本yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-selinux …...

《经济日报》深度聚焦|珈和科技携手万果博览荟共筑智慧农业新示范高地 全链赋能蒲江茶果产业数字化转型升级

近日&#xff0c;《经济日报》深度聚焦报道了《珈和科技携手万果博览荟打造智慧农业新示范 双轮驱动绘就西南农业全链发展新篇章》。 作为国家级重点财经新闻媒体&#xff0c;《经济日报》对珈和科技与蒲江县人民政府战略合作签约&#xff0c;成立四川珈和科技子公司落地万果博…...

科技赋能·长效治理|无忧树建筑修缮渗漏水长效治理交流会圆满举行!

聚焦行业痛点&#xff0c;共话长效未来&#xff01;5月16日&#xff0c;由无忧树主办的主题为“科技赋能长效治理”的建筑修缮渗漏水长效治理技术交流会在上海圆满举行。来自全国的建筑企业代表、专家学者、技术精英齐聚一堂&#xff0c;共探渗漏治理前沿技术&#xff0c;见证科…...

文章记单词 | 第100篇(六级)

一&#xff0c;单词释义 immediate /ɪˈmiːdiət/ adj. 立即的&#xff1b;直接的&#xff1b;紧迫的hypothesis /haɪˈpɑːθəsɪs/ n. 假设&#xff1b;假说&#xff08;复数&#xff1a;hypotheses&#xff09;disregard /ˌdɪsrɪˈɡɑːrd/ v./n. 忽视&#xff1b…...

React表单开发的瑞士军刀:Formik与Yup实战指南

——揭秘高效表单开发的黄金公式 开篇&#xff1a;一场关于效率的革命 2023年某日凌晨&#xff0c;某互联网大厂会议室灯火通明。前端团队正为表单校验逻辑争论不休&#xff1a; “每次写表单都要重复处理触碰状态、错误消息、异步验证…” “受控组件状态管理太繁琐&#xf…...

瑞莎星睿 O6 (Radxa Orion O6)-ubuntu24.04-ROS2 运行深度估计模型

引言 由Radxa联合此芯科技与安谋科技打造的"星睿O6"迷你ITX主板堪称当前最受期待的开发板之一。该产品搭载的CIX P1&#xff08;CD8180&#xff09;12核Armv9处理器配合30TOPS算力的NPU和高性能GPU&#xff0c;结合最高64GB LPDDR内存&#xff0c;非常适合AI开发工作…...

【ubuntu】虚拟机连不上网,且网络中没有有线连接

错误图示 sudo gedit /etc/NetworkManager/NetworkManager.conf managedtruesudo gedit /usr/lib/NetworkManager/conf.d/10-globally-managed-devices.conf 添加except:type:ethernet,然后重启 sudo service network-manager stop sudo rm /var/lib/NetworkManager/Networ…...

Ubuntu软件仓库与更新源配置指南

一、软件仓库基础知识 软件仓库的作用 Ubuntu 通过预设的软件仓库&#xff08;Repository&#xff09;提供软件包&#xff0c;包含系统核心组件、第三方应用及安全更新。仓库分为&#xff1a; Main&#xff1a;官方维护的自由开源软件 Universe&#xff1a;社区维护的自由开源…...

Docker run -v 的 rw 和 ro 模式_docker ro

一、前言 在使用 Docker 启动容器时&#xff0c;通常需要将宿主机的文件或目录挂载到容器中&#xff0c;以便于管理配置、持久化数据和调试日志。本篇博客将重点介绍 -v/--volume 参数的使用方式、挂载权限&#xff08;rw 与 ro&#xff09;的区别&#xff0c;以及如何通过 do…...

React+TypeScript多步骤表单:告别表单地狱的现代解决方案

开篇&#xff1a;深夜的表单困局 凌晨两点&#xff0c;键盘声在寂静的办公室回响。前端工程师小李盯着屏幕上的错误提示&#xff1a;“类型"FormData"上不存在属性’email’”。这已经是本周第三次因为字段名拼写错误导致的调试灾难。他揉着发酸的眼睛想&#xff1a…...

【工具使用】STM32CubeMX-USB配置-实现U盘功能

一、概述 无论是新手还是大佬&#xff0c;基于STM32单片机的开发&#xff0c;使用STM32CubeMX都是可以极大提升开发效率的&#xff0c;并且其界面化的开发&#xff0c;也大大降低了新手对STM32单片机的开发门槛。     本文主要讲述STM32芯片USB功能的配置及其相关知识。 二…...

【LUT技术专题】DnLUT代码解读

目录 原文概要 1. 训练 本文是对DnLUT技术的代码解读&#xff0c;原文解读请看DnLUT。 原文概要 DnLUT通过PCM模块和L型卷积&#xff0c;有效提升以往基于LUT方法降低色噪声的能力&#xff0c;用最小的存储量得到了同样的感受野范围&#xff0c;主要是2个创新点&#xff1…...

python宠物用品商城系统

目录 技术栈介绍具体实现截图系统设计研究方法&#xff1a;设计步骤设计流程核心代码部分展示研究方法详细视频演示试验方案论文大纲源码获取/详细视频演示 技术栈介绍 Django-SpringBoot-php-Node.js-flask 本课题的研究方法和研究步骤基本合理&#xff0c;难度适中&#xf…...

2156. 查找给定哈希值的子串

给定整数 p 和 m &#xff0c;一个长度为 k 且下标从 0 开始的字符串 s 的哈希值按照如下函数计算&#xff1a; hash(s, p, m) (val(s[0]) * p0 val(s[1]) * p1 ... val(s[k-1]) * pk-1) mod m. 其中 val(s[i]) 表示 s[i] 在字母表中的下标&#xff0c;从 val(a) 1 到 v…...

Index-AniSora技术升级开源:动漫视频生成强化学习

B站升级动画视频生成模型Index-AniSora技术并开源&#xff0c;支持番剧、国创、漫改动画、VTuber、动画PV、鬼畜动画等多种二次元风格视频镜头一键生成&#xff01; 整个工作技术原理基于B站提出的 AniSora: Exploring the Frontiers of Animation Video Generation in the So…...

游戏引擎学习第297天:将实体分离到Z层中

回顾并为今天的内容做准备 昨天我们做了雾效混合&#xff08;fog blend&#xff09;和透明度混合&#xff08;alpha blending&#xff09;的尝试&#xff0c;现在正在进行渲染部分的深度&#xff08;Z&#xff09;清理工作。今天的重点是把“切片”&#xff08;slices&#xf…...

全局对比度调整

目录 一、全局对比度调整原理 二、饱和度保持 一、全局对比度调整原理 Figure1.2 展示了一幅全局对比度较低的图像及其亮度直方图。该直方图分布范围较窄,像素的强度仅集中在中间调区域,不存在明亮或深色的像素,因此图像中的细节难以区分,可用动态范围未得到有效利用。在动…...

Canvas SVG BpmnJS编辑器中Canvas与SVG职能详解

Canvas详解与常见API 一、Canvas基础 核心特性 • 像素级绘图&#xff1a;Canvas是基于位图的绘图技术&#xff0c;通过JavaScript操作像素实现图形渲染&#xff0c;适合动态、高性能场景&#xff08;如游戏、数据可视化&#xff09;。 • 即时模式&#xff1a;每次绘制需手动…...