20240105移远的4G模块EC20在Ubuntu 20.04.6 LTS下使用联通5G卡上网的步骤

news2025/1/18 17:13:59

20240105移远的4G模块EC20在Ubuntu 20.04.6 LTS下使用联通5G卡上网的步骤
2024/1/5 10:11


缘起:需要在Firefly的AIO-3399J开发板上调试移远的4G模块EC20(Android10/11/12),需要现在先测试EC20的好坏!
陶老板告诉我找一个USB2.0转mini PCIE的转接板接上去,这样就可以直接测试了。

https://item.taobao.com/item.htm?_u=5ju3ku33b5&id=580834633704&spm=a1z09.2.0.0.78122e8d0M24m1&skuId=4045144447321
4G模块转接板开发板迷你minipcie转USB移远EC20华为域格SIM/UIM
已售 2000+
¥23

https://detail.tmall.com/item.htm?_u=5ju3kuc8cc&id=45401367506&spm=a1z09.2.0.0.78122e8d0M24m1&skuId=4274333149921
CY辰阳 MINI PCIE转USB 3G 4G模块 测试开发板NGFF 含SIM UIM卡座
已售 400+
¥32

请【严重注意】注意SIM卡的方向!

【需要2G的大卡,也就是卡套外面还有卡套!】
 

昨晚WIN10上通过USB延长线接上去明显需要驱动程序。
今天在Ubuntu20.04.6下的USB3.0接口【蓝色口】插入【装上底板】EC20。

rootroot@rootroot-X99-Turbo:~$ 
rootroot@rootroot-X99-Turbo:~$ cat /etc/issue
Ubuntu 20.04.6 LTS \n \l

rootroot@rootroot-X99-Turbo:~$ 
rootroot@rootroot-X99-Turbo:~$ uname -r
5.15.0-91-generic
rootroot@rootroot-X99-Turbo:~$ uname -a
Linux rootroot-X99-Turbo 5.15.0-91-generic #101~20.04.1-Ubuntu SMP Thu Nov 16 14:22:28 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

rootroot@rootroot-X99-Turbo:~$ 
rootroot@rootroot-X99-Turbo:~$ 
 


通过lsusb命令,很容易发现已经找到了EC20了。

插入EC20之前:

Bus 002 Device 002: ID 8087:8000 Intel Corp. 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:8008 Intel Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 002: ID 173d:0500 QSENN 
Bus 003 Device 003: ID 1c4f:0002 SiGma Micro Keyboard TRACER Gamma Ivory
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 

插入EC20之后:

Bus 002 Device 002: ID 8087:8000 Intel Corp. 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:8008 Intel Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 002: ID 173d:0500 QSENN 
Bus 003 Device 004: ID 2c7c:0125 Quectel Wireless Solutions Co., Ltd. EC25 LTE modem
Bus 003 Device 003: ID 1c4f:0002 SiGma Micro Keyboard TRACER Gamma Ivory
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

拔掉EC20之后:

Bus 002 Device 002: ID 8087:8000 Intel Corp. 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:8008 Intel Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 002: ID 173d:0500 QSENN 
Bus 003 Device 003: ID 1c4f:0002 SiGma Micro Keyboard TRACER Gamma Ivory
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 

dmesg内核信息:
插入EC20之前:
[   10.146990] rfkill: input handler disabled
[  319.666131] loop12: detected capacity change from 0 to 82800
[  319.965153] audit: type=1400 audit(1704417854.208:40): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/snap/snapd/20671/usr/lib/snapd/snap-confine" pid=2597 comm="apparmor_parser"
[  319.966389] audit: type=1400 audit(1704417854.212:41): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/snap/snapd/20671/usr/lib/snapd/snap-confine//mount-namespace-capture-helper" pid=2597 comm="apparmor_parser"
[  320.513136] audit: type=1400 audit(1704417854.756:42): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="snap-update-ns.snap-store" pid=2599 comm="apparmor_parser"
[  320.537680] audit: type=1400 audit(1704417854.784:43): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="snap.snap-store.hook.configure" pid=2601 comm="apparmor_parser"
[  320.546954] audit: type=1400 audit(1704417854.792:44): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="snap.snap-store.snap-store" pid=2602 comm="apparmor_parser"
[  320.547870] audit: type=1400 audit(1704417854.792:45): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="snap.snap-store.ubuntu-software-local-file" pid=2604 comm="apparmor_parser"
[  320.561320] audit: type=1400 audit(1704417854.804:46): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="snap.snap-store.ubuntu-software" pid=2603 comm="apparmor_parser"
[  321.844676] loop13: detected capacity change from 0 to 8
[  322.196156] audit: type=1400 audit(1704417856.440:47): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/snap/snapd/20671/usr/lib/snapd/snap-confine" pid=2708 comm="apparmor_parser"
[  322.225387] audit: type=1400 audit(1704417856.472:48): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/snap/snapd/20671/usr/lib/snapd/snap-confine//mount-namespace-capture-helper" pid=2708 comm="apparmor_parser"
[  322.466790] audit: type=1400 audit(1704417856.712:49): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="snap.snap-store.hook.configure" pid=2711 comm="apparmor_parser"


插入EC20之后:
[   10.146990] rfkill: input handler disabled
[  319.666131] loop12: detected capacity change from 0 to 82800
[  319.965153] audit: type=1400 audit(1704417854.208:40): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/snap/snapd/20671/usr/lib/snapd/snap-confine" pid=2597 comm="apparmor_parser"
[  319.966389] audit: type=1400 audit(1704417854.212:41): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/snap/snapd/20671/usr/lib/snapd/snap-confine//mount-namespace-capture-helper" pid=2597 comm="apparmor_parser"
[  320.513136] audit: type=1400 audit(1704417854.756:42): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="snap-update-ns.snap-store" pid=2599 comm="apparmor_parser"
[  320.537680] audit: type=1400 audit(1704417854.784:43): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="snap.snap-store.hook.configure" pid=2601 comm="apparmor_parser"
[  320.546954] audit: type=1400 audit(1704417854.792:44): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="snap.snap-store.snap-store" pid=2602 comm="apparmor_parser"
[  320.547870] audit: type=1400 audit(1704417854.792:45): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="snap.snap-store.ubuntu-software-local-file" pid=2604 comm="apparmor_parser"
[  320.561320] audit: type=1400 audit(1704417854.804:46): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="snap.snap-store.ubuntu-software" pid=2603 comm="apparmor_parser"
[  321.844676] loop13: detected capacity change from 0 to 8
[  322.196156] audit: type=1400 audit(1704417856.440:47): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/snap/snapd/20671/usr/lib/snapd/snap-confine" pid=2708 comm="apparmor_parser"
[  322.225387] audit: type=1400 audit(1704417856.472:48): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/snap/snapd/20671/usr/lib/snapd/snap-confine//mount-namespace-capture-helper" pid=2708 comm="apparmor_parser"
[  322.466790] audit: type=1400 audit(1704417856.712:49): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="snap.snap-store.hook.configure" pid=2711 comm="apparmor_parser"

[  490.241995] usb 3-2: new high-speed USB device number 4 using xhci_hcd
[  490.399983] usb 3-2: New USB device found, idVendor=2c7c, idProduct=0125, bcdDevice= 3.18
[  490.399992] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  490.399996] usb 3-2: Product: Android
[  490.399999] usb 3-2: Manufacturer: Android
[  490.441771] usbcore: registered new interface driver usbserial_generic
[  490.441804] usbserial: USB Serial support registered for generic
[  490.444564] usbcore: registered new interface driver cdc_wdm
[  490.447789] usbcore: registered new interface driver option
[  490.447801] usbserial: USB Serial support registered for GSM modem (1-port)
[  490.447909] option 3-2:1.0: GSM modem (1-port) converter detected
[  490.448022] usb 3-2: GSM modem (1-port) converter now attached to ttyUSB0
[  490.448074] option 3-2:1.1: GSM modem (1-port) converter detected
[  490.448166] usb 3-2: GSM modem (1-port) converter now attached to ttyUSB1
[  490.448208] option 3-2:1.2: GSM modem (1-port) converter detected
[  490.448282] usb 3-2: GSM modem (1-port) converter now attached to ttyUSB2
[  490.448315] option 3-2:1.3: GSM modem (1-port) converter detected
[  490.448406] usb 3-2: GSM modem (1-port) converter now attached to ttyUSB3
[  490.448810] qmi_wwan 3-2:1.4: cdc-wdm0: USB WDM device
[  490.449917] qmi_wwan 3-2:1.4 wwan0: register 'qmi_wwan' at usb-0000:00:14.0-2, WWAN/QMI device, d6:49:5d:75:15:67
[  490.449948] usbcore: registered new interface driver qmi_wwan

拔掉EC20之后:
[   10.146990] rfkill: input handler disabled
[  319.666131] loop12: detected capacity change from 0 to 82800
[  319.965153] audit: type=1400 audit(1704417854.208:40): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/snap/snapd/20671/usr/lib/snapd/snap-confine" pid=2597 comm="apparmor_parser"
[  319.966389] audit: type=1400 audit(1704417854.212:41): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/snap/snapd/20671/usr/lib/snapd/snap-confine//mount-namespace-capture-helper" pid=2597 comm="apparmor_parser"
[  320.513136] audit: type=1400 audit(1704417854.756:42): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="snap-update-ns.snap-store" pid=2599 comm="apparmor_parser"
[  320.537680] audit: type=1400 audit(1704417854.784:43): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="snap.snap-store.hook.configure" pid=2601 comm="apparmor_parser"
[  320.546954] audit: type=1400 audit(1704417854.792:44): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="snap.snap-store.snap-store" pid=2602 comm="apparmor_parser"
[  320.547870] audit: type=1400 audit(1704417854.792:45): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="snap.snap-store.ubuntu-software-local-file" pid=2604 comm="apparmor_parser"
[  320.561320] audit: type=1400 audit(1704417854.804:46): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="snap.snap-store.ubuntu-software" pid=2603 comm="apparmor_parser"
[  321.844676] loop13: detected capacity change from 0 to 8
[  322.196156] audit: type=1400 audit(1704417856.440:47): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/snap/snapd/20671/usr/lib/snapd/snap-confine" pid=2708 comm="apparmor_parser"
[  322.225387] audit: type=1400 audit(1704417856.472:48): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/snap/snapd/20671/usr/lib/snapd/snap-confine//mount-namespace-capture-helper" pid=2708 comm="apparmor_parser"
[  322.466790] audit: type=1400 audit(1704417856.712:49): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="snap.snap-store.hook.configure" pid=2711 comm="apparmor_parser"
[  490.241995] usb 3-2: new high-speed USB device number 4 using xhci_hcd
[  490.399983] usb 3-2: New USB device found, idVendor=2c7c, idProduct=0125, bcdDevice= 3.18
[  490.399992] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  490.399996] usb 3-2: Product: Android
[  490.399999] usb 3-2: Manufacturer: Android
[  490.441771] usbcore: registered new interface driver usbserial_generic
[  490.441804] usbserial: USB Serial support registered for generic
[  490.444564] usbcore: registered new interface driver cdc_wdm
[  490.447789] usbcore: registered new interface driver option
[  490.447801] usbserial: USB Serial support registered for GSM modem (1-port)
[  490.447909] option 3-2:1.0: GSM modem (1-port) converter detected
[  490.448022] usb 3-2: GSM modem (1-port) converter now attached to ttyUSB0
[  490.448074] option 3-2:1.1: GSM modem (1-port) converter detected
[  490.448166] usb 3-2: GSM modem (1-port) converter now attached to ttyUSB1
[  490.448208] option 3-2:1.2: GSM modem (1-port) converter detected
[  490.448282] usb 3-2: GSM modem (1-port) converter now attached to ttyUSB2
[  490.448315] option 3-2:1.3: GSM modem (1-port) converter detected
[  490.448406] usb 3-2: GSM modem (1-port) converter now attached to ttyUSB3
[  490.448810] qmi_wwan 3-2:1.4: cdc-wdm0: USB WDM device
[  490.449917] qmi_wwan 3-2:1.4 wwan0: register 'qmi_wwan' at usb-0000:00:14.0-2, WWAN/QMI device, d6:49:5d:75:15:67
[  490.449948] usbcore: registered new interface driver qmi_wwan

[  588.322914] r8169 0000:07:00.0 enp7s0: Link is Down
[  882.885532] r8169 0000:07:00.0 enp7s0: Link is Up - 1Gbps/Full - flow control rx/tx
[ 1547.093014] r8169 0000:07:00.0 enp7s0: Link is Down
[ 2378.489893] usb 3-2: USB disconnect, device number 4
[ 2378.490192] option1 ttyUSB0: GSM modem (1-port) converter now disconnected from ttyUSB0
[ 2378.490223] option 3-2:1.0: device disconnected
[ 2378.490445] option1 ttyUSB1: GSM modem (1-port) converter now disconnected from ttyUSB1
[ 2378.490467] option 3-2:1.1: device disconnected
[ 2378.490760] option1 ttyUSB2: GSM modem (1-port) converter now disconnected from ttyUSB2
[ 2378.490783] option 3-2:1.2: device disconnected
[ 2378.491122] option1 ttyUSB3: GSM modem (1-port) converter now disconnected from ttyUSB3
[ 2378.491145] option 3-2:1.3: device disconnected
[ 2378.491534] qmi_wwan 3-2:1.4 wwan0: unregister 'qmi_wwan' usb-0000:00:14.0-2, WWAN/QMI device

ifconfig1【插入EC20之前】

enp7s0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 00:e0:1a:5a:05:21  txqueuelen 1000  (Ethernet)
        RX packets 24262  bytes 35225383 (35.2 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 8729  bytes 635358 (635.3 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 210  bytes 19375 (19.3 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 210  bytes 19375 (19.3 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


ifconfig2【插入EC20之后】

enp7s0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 00:e0:1a:5a:05:21  txqueuelen 1000  (Ethernet)
        RX packets 24859  bytes 35282763 (35.2 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 9148  bytes 684019 (684.0 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 279  bytes 25188 (25.1 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 279  bytes 25188 (25.1 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wwan0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST>  mtu 1500
        inet 10.33.142.10  netmask 255.255.255.252  destination 10.33.142.10
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 1000  (UNSPEC)
        RX packets 14  bytes 1568 (1.5 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 17  bytes 1214 (1.2 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


ifconfig5【拔掉EC20之后】

enp7s0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 00:e0:1a:5a:05:21  txqueuelen 1000  (Ethernet)
        RX packets 24859  bytes 35282763 (35.2 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 9148  bytes 684019 (684.0 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 1553  bytes 223810 (223.8 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1553  bytes 223810 (223.8 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


根据NEXT点击的上网步骤发一下!


Mobile Broadband off

Mobile Broadband off
Connect
Mobile Broadband Settings

settings
Lock
Power off / Log Out

Cancel
Next
carr
otroot@rootroot-X99-Turbo:~$ifconfig > ifconootroot-X99-Turbo:troot@rootroot-X99-Turbo:~S
Set up a Mobile Broadband ConnectionChoose your Provider's Country or RegionChoose your Provider
This assistant helps you easily set up a mobile broadband connection to a cellular(3G) network.
You will need the following information
Your broadband provider's name
Choose your Billing Plan
D
.Your broadband billing plan name(in some cases) Your broadband billing plan APN (Access Point Name
Confirm Mobile Broadband Settings

Cancel
carrie
Choose your Provider's Country or Region
0
Set up a Mobile Broadband ConnectionChoose your Provider's Country or RegionChoose your Provider
otroot@rootroot-X99-Turbo:~$ifconfig > ifconfrootroot-X99-Turbotroot@rootroot-X99-Turbo;~S
Country or region:
Brunei DarussalamBulgariaBurkina FasoBurundi
Choose your Billing Plan
Confirm Mobile Broadband Settings
0
Cambodia
Cameroon
Canada
Chile
0
chin
4
Colombia
Congo, The Democratic Republic of the

Cancel
R
Set up a Mobile Broadband ConnectionChoose your Provider's Country or RegionChoose your Provider
otroot@rootroot-X99-Turbo:~$ifconfig > ifconfrootroot-X99-Turbotroot@rootroot-X99-Turbo;~S
 Select your provider from a list:
China Mobil
Choose your Billing Plan
China Unicom
Confirm Mobile Broadband Settings
0
4
 I can't find my provider and I wish to set up the connection manually:
My provider uses GSM technology (GPRS, EDGE, UMTS, HSPA)

Cancel
Network
Wired
Cable unplugged
Choose your Billing Plan
o
otroot@rootroot-X99-Turbo:~$ifconfig > ifconfrootroot-X99-Turbotroot@rootroot-X99-Turbo;~S
a
Set up a Mobile Broadband ConnectionChoose your Provider's Country or RegionChoose your Provider
Choose your Billing Plan
Confirm Mobile Broadband Settings
Select your plan:
Default
Selected plan APN (Access Point Name):
3gnet
D
Varning selecting an incorrert plan may result in biling issues for yourid account or may preve
4
f you are unsure of your plan please ask your provider for your plan's APN

CancelBack
Confirm Mobile Broadband Settings
Apply
Set up a Mobile Broadband ConnectionChoose your Provider's Country or RegionChoose your ProviderChoose your Billing Plan
Your mobile broadband connection is configured with the following settings:Your Provider:China unicom, China
8
Your Plan:
p
Confirm Mobile Broadband Settings
Default
APN: 3gnet

Authentication required
A password is recoired era t0mect to "china
Password
Cancel
@
Connect

 Network
Bluetoot
Background
国Appearance
Notifications
Search
:::Applications
Privacy
Online Accounts
sharing
 Sound
Power
Displays
Network
Wired
Cable unplugged
Mobile BroadbandGConnected
Network china Unicom Default
IP Address 10.33.142.10Default Route 10.33.142.9
DNS 120.80.80.80 221.5.88.88
VPN
Not set up
Network Proxy
o
@
off口

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1370466.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ADS1110负电压采集

先说结论&#xff1a; 无法采集绝对的负电压&#xff08;供电电压范围之外&#xff09;。 ADS1110 16位AD转换问题 ads1110负电压采集 ADS1110是差分输入形式 在数据手册上有一个参数 模拟输入端VIN 的输入电压 最大是VDD0.2 最小是GND-0.2 模拟输入端VIN- 的输入也是这样…

C#PDF转Excel

組件 Spire.Pdf.dll, v7.8.9.0 【注意&#xff1a;版本太低的没有此功能】 在Visual Studio中找到参考&#xff0c;鼠标右键点击“引用”&#xff0c;“添加引用”&#xff0c;将本地路径debug文件夹下的dll文件添加引用至程序。 界面图&#xff1a; 1个label&#xff0c;1…

【服务器数据恢复】FreeNAS+ESXi数据恢复案例

服务器数据恢复环境&#xff1a; 一台服务器&#xff0c;虚拟化系统为esxi&#xff0c;上层使用iSCSI的方式实现FC SAN功能&#xff0c;iSCSI通过FreeNAS构建。 FreeNAS采用了UFS2文件系统&#xff0c;esxi虚拟化系统里有3台虚拟机&#xff1a;其中一台虚拟机安装FreeBSD系统&a…

JAVA面向对象基础-容器

一、泛型 我们可以在类的声明处增加泛型列表&#xff0c;如&#xff1a;<T,E,V>。 此处&#xff0c;字符可以是任何标识符&#xff0c;一般采用这3个字母。 【示例9-1】泛型类的声明 1 2 3 4 5 6 7 8 9 10 class MyCollection<E> {// E:表示泛型; Object[] o…

20240109适配selinux让移远的4G模块EC20在Firefly的AIO-3399J开发板的Android11下跑通

20240109适配selinux让移远的4G模块EC20在Firefly的AIO-3399J开发板的Android11下跑通 2024/1/9 10:46 缘起&#xff1a;使用友善之臂的Android11可以让EC20上网&#xff0c;但是同样的修改步骤&#xff0c;Toybrick的Android11不能让EC20上网。 最后确认是selinux的问题&#…

Linux--防火墙,实验案例:基于区域、服务、端口的访问控制

实验环境 某公司的Web服务器&#xff0c;网关服务器均采用Linux CentOS 7.3操作系统&#xff0c;如图2.13所示。为了 加强网络访问的安全性&#xff0c;要求管理员熟悉firewalld防火墙规则的编写&#xff0c;以便制定有效、可行的主机防护策略。 需求描述 > 网关服务器ens3…

【计算机网络】TCP原理 | 可靠性机制分析(二)

个人主页&#xff1a;兜里有颗棉花糖 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【网络编程】【Java系列】 本专栏旨在分享学习网络编程、计算机网络的一点学习心得&#xff0c;欢迎大家在评论区交流讨论&#x1f48c; T…

Kettle Local引擎使用记录(一)(基于Kettle web版数据集成开源工具data-integration源码)

Kettle Web &#x1f4da;第一章 前言&#x1f4da;第二章 demo源码&#x1f4d7;pom.xml引入Kettle引擎核心文件&#x1f4d7;java源码&#x1f4d5; controller&#x1f4d5; service&#x1f4d5; 其它&#x1f4d5; maven settings.xml &#x1f4d7;测试&#x1f4d5; 测试…

C语言中关于函数递归的理解

递归的概念&#xff1a;如果一个对象部分包含它自己,或者利用自己定义自己,则称这个对象是递归的;如果 一个过程直接或间接调用自己,则称这个过程是一个递归过程。递归的主要思考方式在于&#xff1a;将大事化小 我们先看一个例子 题目&#xff1a;输入一个无符号数&#xff0…

蜗牛目标检测数据集VOC格式480张

蜗牛&#xff0c;一种缓慢而坚韧的软体动物&#xff0c;以其螺旋形的外壳和黏附力极强的黏液而为人所熟知。 蜗牛体型呈螺旋形&#xff0c;有一个硬壳保护其柔软的身体。壳的形状和纹理因种类而异&#xff0c;有的光滑如玻璃&#xff0c;有的则布满细纹。蜗牛的头部有两对触角…

U-Boot学习(1):简介及命令行指令详解

Bootloader的主要任务是引导加载并运行应用程序&#xff0c;对于MCU中的BootLoader&#xff0c;我之前写过一篇详细的文章单片机中BootLoader的严谨实现详解介绍它实现的整体流程。对于Linux来说&#xff0c;在运行Linux内核之前也需要BootLoader进行引导&#xff0c;这个BootL…

Amazing OpenAI API:把非 OpenAI 模型都按 OpenAI API 调用

分享一个有趣的小工具&#xff0c;10MB 身材的小工具&#xff0c;能够将各种不同的模型 API 转换为开箱即用的 OpenAI API 格式。 让许多依赖 OpenAI API 的软件能够借助开发者能够接触到的&#xff0c;非 OpenAI 的 API 私有部署和使用起来。 写在前面 这个小工具软件写于两…

面试宝典进阶之redis缓存面试题

R1、【初级】Redis常用的数据类型有哪些&#xff1f; &#xff08;1&#xff09;String&#xff08;字符串&#xff09; &#xff08;2&#xff09;Hash&#xff08;哈希&#xff09; &#xff08;3&#xff09;List&#xff08;列表&#xff09; &#xff08;4&#xff09;Se…

zookeeper 与eureka区别

CAP定理 在分布式系统的发展中&#xff0c;影响最大的莫过于CAP定理了&#xff0c;是分布式系统发展的理论基石。 2000年&#xff0c;加州大学的计算机科学家 Eric Brewer提出了CAP猜想 2002 年&#xff0c;麻省理工学院的 Seth Gilbert 和 Nancy Lynch 从理论上证明了 CAP 猜…

深入理解 Hadoop (五)YARN核心工作机制浅析

概述 YARN 的核心设计理念是 服务化&#xff08;Service&#xff09; 和 事件驱动&#xff08;Event EventHandler&#xff09;。服务化 和 事件驱动 软件设计思想的引入&#xff0c;使得 YARN 具有低耦合、高内聚的特点&#xff0c;各个模块只需完成各自功能&#xff0c;而模…

静态关键字:static

static的作用 static是静态的意思&#xff0c;可以修饰成员变量和成员方法。 static修饰成员变量表示该成员变量只在内存中只存储一份&#xff0c;可以被共享访问、修改。 成员变量 分为2类 静态成员变量&#xff08;有static修饰&#xff0c;属于类&#xff0c;内存中加载…

【QML COOK】- 005-粒子系统(ParticleSystem)

1. 编辑main.qml import QtQuick import QtQuick.ParticlesWindow {width: 800height: 800visible: truetitle: qsTr("Hello World")color: "#000000"MouseArea {id: mouseAreaanchors.fill: parentonClicked: {hahaEmitter.pulse(2000)}}ParticleSystem {…

大众汽车宣布将ChatGPT,批量集成在多种汽车中!

1月9日&#xff0c;大众汽车在官网宣布&#xff0c;将ChatGPT批量集成到电动、内燃机汽车中。 大众表示&#xff0c;将ChatGPT与其IDA语音助手相结合&#xff0c;用户通过自然语言就能与ChatGPT进行互动&#xff0c;例如&#xff0c;帮我看看最近的三星米其林饭店在哪里&#…

上门洗衣洗鞋小程序多门店管理模式是怎么样的

做干洗店和洗鞋店的老板们很多都不止一个门店&#xff0c;多门店的管理模式下&#xff0c;去做一个上门洗衣洗鞋小程序&#xff0c;需要有哪些必要的功能才能让不同的门店管理起来不乱呢。首先需要先确定一下不同门店的管理都会面临哪些经营场景和需求。 第一&#xff0c;加盟店…

Android BUG 之 Error: Activity class {} does not exist

项目场景&#xff1a; 更换包名&#xff0c;运行报错 问题描述 原因分析&#xff1a; 在替换包名的时候要确认&#xff0c;配置文件跟build中的保持一致&#xff0c;在更换后还要将旧包的缓存数据清理掉 解决方案&#xff1a; 1 替换后删除 app 下的build 文件夹 2 Rebuild Pr…