"简易不简单,全志H616开发环境配置,让创意快速转化为现实!"#全志H616开发板简易配置开发环境
- 前言
- 预备知识
- 一、 全志H616学习方向
- 1.1 为什么学
- 1.2 学什么
- 二、 H616开发板OrangePiZero2 介绍
- 2.1 平台介绍
- 2.2 平台特性
- 2.3 配套操作系统支持
- 三、 H616开发板刷机和系统登录
- 3.1 需要使用的工具
- 3.2 工具安装
- 3.3 刷机
- 3.4 登录系统
- 3.4.1 H616供电
- 3.4.2 H616登录系统
- 四、H616开发板配置网络SSH登录
- 4.1 修改H616初识密码
- 4.2 H616配置网络
- 4.2.1 使用命令 nmcli dev wifi 扫码附近wifi热点
- 4.2.2 nmcli dev wifi connect `热点名称` password `热点密码`连接WiFi
- 4.3 查看H616的IP地址
- 4.3.1 使用命令 `ifconfig` 查看IP地址
- 4.3.2 使用命令 ip addr show wlan0 查看H616的IP地址
- 4.4 SSH登陆H616开发板
- 五、 修改H616开发板内核启动日志的级别
- 5.1 打开用 `vi` 工具打开 `orangepiEnv.txt` 文件
- 5.2 进入 `vi` 工具的编辑模式修改文件并保存
- 5.3 使用命令 `sudo reboot` 来重启H616系统
- 六、 H616官方外设库SDK安装和验证
- 6.1 使用命令 `git clone https://github.com/orangepi-xunlong/wiringOP -b master` 下载官方SDK
- 6.2 查看下载的文件
- 6.3 使用命令 sudo ./build 安装SDK
- 6.4 采用gpio readall验证是否安装成功
- 结束语
前言
本篇博文精心策划,全面介绍了全志H616开发板开发环境的简易配置流程,从明确学习方向到深入探索OrangePi Zero 2 H616开发板的特性,再到手把手指导刷机、系统登录、配置网络SSH登录,以及调整内核启动日志级别等关键步骤,最后还涵盖了H616官方外设库SDK的安装与验证,旨在帮助读者轻松上手并加速项目开发进程。如果您对全志H616开发板充满好奇,不妨先点赞支持,再深入阅读,相信这篇博文将成为您学习之旅中的宝贵资源。
预备知识
一、Windows系统的基本认知:例如重装系统,系统镜像
二、Linux系统基本认知:例如系统基本操作命令
如果以上知识不清楚,请自行学习后再来浏览。如果我有没例出的,请在评论区写一下。谢谢啦!
一、 全志H616学习方向
1.1 为什么学
学习目标:Linux系统;平台是ARM架构
- 蜂巢快递柜,配送机器人,这些应用场景用C51,STM32单片机无法实现
- 第三方介入库的局限性,比如刷脸支付和公交车收费设备需要集成支付SDK,提供的libalipay.so是Linux的库,设备必须跑Linux系统
- 图像识别,音频,视频等领域的技术支撑也无法脱离Linux系统
- 人工智能型设备通常需要更好的系统和更高的算力,所以Linux也是必不可少
- 能跑Linux的一般为 X86,ARM,MIPS,PowerPC等架构,而ARM市场占有率最大
综上所述,简而言之:若嵌入式软件工程师的技术栈中缺乏Linux-ARM开发经验,其职业选择将受到显著局限,可能导致职业发展空间受限,职业生涯的天花板提前触及。因此,在技术积累的关键时期,掌握这一知识是不可或缺的。然而,鉴于该领域的复杂性,学习时需采取客观且科学的方法,挑选合适的切入点进行深入学习。
1.2 学什么
这个领域的程序员一般分三个方向:
- 应用开发,通过跟产品业务相关,比如智能家居中控板,可以是C++QT, 可以是C GTK, 也可以是Android页面,也可以是基于串口屏的UI交互,后台数据交互和系统交互都是基于Linux系统的,初级工程师以这个方向入行居多,也容易上手,招聘岗位也很多。
- 系统开发,主要任务是为硬件工程师设计的产品板操作系统,比如uboot,Linux内核,文件系统等,一般为中高级嵌入式工程师,新手如果以这个方向入行,压力相对更大,一般原厂公司会招聘,岗位相对少。
- 算法工程师,此类算法跟数学模型挂钩,比如人脸识别的图像不调库处理,语音识别算法如讯飞语音的工程师,一般博士一大堆,硕士满天飞的现状。
二、 H616开发板OrangePiZero2 介绍
2.1 平台介绍
对于学习平台而言,选择树莓派、海思或全志等硬件平台其实并无本质区别,关键在于初级工程师需扎实掌握Linux-ARM架构下的软硬件开发基础,尤其是Linux系统的深入学习与应用。初级阶段,重点应放在理解并实践Linux系统在ARM架构上的部署、配置、优化以及基本的驱动开发上。待入职后,随着技术能力的提升,中高级工程师则会进一步探索算法优化、协议实现及其对底层硬件差异化的适配与修改,以满足更复杂的应用需求。
OrangePi开发板不仅仅是一款消费品,同时也是给任何想用技术来进行创作创新的人设计的。它是一款简单、有趣、实用的工具,你可以用它去打造你身边的世界。
2.2 平台特性
- CPU 全志H616四核64位1.5GHz高性能Cortex-A53处理器
- GPU MaliG31MP2 SupportsOpenGLES1.0/2.0/3.2、OpenCL2.0
- 运行内存 1GBDDR3(与GPU共享)
- 存储 TF卡插槽_课程配套硬件16G,测试128G可支持、2MBSPIFlash
- WIFI+蓝牙 AW859A芯片、支持IEEE802.11a/b/g/n/ac、BT5.0
- 视频输出 MicroHDMI20a
- 电源 USBTypeC接口输入
- 外设 带有I2Cx1、SPIx1、UARTx1以及多个GPIO口
- 电源指示灯和状态指示灯
2.3 配套操作系统支持
Linux镜像类型 | 内核版本 | 服务器版 | 桌面版 |
---|---|---|---|
Ubuntu18.04 | linux4.9 | 支持 | 支持 |
Ubuntu20.04 | linux4.9 | 支持 | 支持 |
Debian 10 | linux4.9 | 支持 | 支持 |
Ubuntu 20.04 | linux5.13 | 支持大部分功能,提供测试版本的镜像 | - |
Ubuntu18.04 | linux5.13 | 目前不建议用在生产环境中 | - |
Debian 10 | linux5.13 | - |
三、 H616开发板刷机和系统登录
就像电脑出厂时预装Windows操作系统才能算作一台完整的电脑一样,开发板也需要烧录相应的系统固件,以便其能够正常运作并发挥其功能。
3.1 需要使用的工具
- Orangepi Zero2 全志H616开发板PC机
- TF卡及读卡器:插SD卡,以便电脑读取SD卡
- 操作系统镜像:刷入SD卡的Linux系统
- SDFormatter TF卡的格式化工具:将SD卡格式化为H616可以识别的格式
- Win32Diskimager 刷机工具:向SD卡刷入Linux系统的工具
- USB转TTL:用于系统烧写后的串口登录开发板
3.2 工具安装
SDFormatter和Win32Diskimager软件的安装和普通程序一样的安装步骤,很简单的。
3.3 刷机
-
打开SDFormatter将SD卡格式化
按图片步骤操作;注意一定要选择你的SD卡,别格式化到其他盘。 -
打开Win32Diskimager软件
-
1、找到Orangepizero2_3.0.6_ubuntu_jammy_desktop_xfce_linux5.16.17.img这个系统镜像
-
2、点击写入
3.4 登录系统
3.4.1 H616供电
- TypeC口,需要插到5V/2A或者5V/3A的电源适配头,特别是开发板有接多个外设模块的时候
- 平常USB供电用电脑可以,前提是不接多外设模块
- 后面做小车等项目,用电池供电可以参考如下供电方式
3.4.2 H616登录系统
使用USB转TTL模块,使用MobaXterm
免费好用,类似的工具还有Putty
-相对太简陋, SecurityCRT
老牌工具-需要付费或者破解。
USB转TTL模块GND、 TX和RX引脚需要通过杜邦线连接到开发板的调试串口上
a.USB转TTL模块的GND
接到开发板的GND上
b.USB转TTL模块的RX
接到开发板的TX
上
c.USB转TTL模块的TX
接到开发板的RX
上
MobaXterm
软件使用步骤如图1、2、3、4。
mobaXterm连接H616成功后输出的信息
使用mobaXterm登陆,默认登陆密码:
用户: orangepi
密码: orangepi
用户: root
密码: orangepi
板载LED灯测试说明
以下是根据图片样式生成的表格:
绿灯 | 红灯 | |
---|---|---|
u-boot启动阶段 | 灭 | 亮 |
内核启动到进入系统 | 亮 | 灭 |
GPIO口 | PC13 | PC12 |
四、H616开发板配置网络SSH登录
4.1 修改H616初识密码
**使用命令 sudo passwd orangepi
进行修改密码 **
4.2 H616配置网络
4.2.1 使用命令 nmcli dev wifi 扫码附近wifi热点
如下图
4.2.2 nmcli dev wifi connect 热点名称
password 热点密码
连接WiFi
如下图
4.3 查看H616的IP地址
4.3.1 使用命令 ifconfig
查看IP地址
如下图
图中2就是此时H616的IP地址
4.3.2 使用命令 ip addr show wlan0 查看H616的IP地址
如下图
图中2就是此时H616的IP地址
4.4 SSH登陆H616开发板
- 如下图1,2,3,4,5的步骤进行连接
其中3为H616的IP地址,4为你给开发版取的名字 - 执行以上步骤后会让你再次输入密码
- 设置保护密码
- 成功登录H616开发板
五、 修改H616开发板内核启动日志的级别
5.1 打开用 vi
工具打开 orangepiEnv.txt
文件
如下图
5.2 进入 vi
工具的编辑模式修改文件并保存
如下图
5.3 使用命令 sudo reboot
来重启H616系统
orangepi@orangepizero2:~$ sudo reboot 使用命令重启
[sudo] password for orangepi: 输入H616登录密码
[ 5553.095638] mtty_rx_cb mtty bt is closed abnormally
[ 5553.104359] mtty_rx_cb mtty bt is closed abnormally
[ 5553.112366] reboot: Restarting system
U-Boot SPL 2021.10-orangepi (Aug 09 2022 - 21:00:00 +0800)
DRAM: 1024 MiB
Trying to boot from MMC1
NOTICE: BL31: v2.7(debug):f341c10e
NOTICE: BL31: Built : 09:40:08, Jul 13 2022
NOTICE: BL31: Detected Allwinner H616 SoC (1823)
NOTICE: BL31: Found U-Boot DTB at 0x4a082610, model: OrangePi Zero2
INFO: ARM GICv2 driver initialized
INFO: Configuring SPC Controller
INFO: PMIC: Probing AXP305 on RSB
INFO: PMIC: aldo1 voltage: 3.300V
INFO: PMIC: aldo2 voltage: 3.300V
INFO: PMIC: aldo3 voltage: 3.300V
INFO: PMIC: bldo1 voltage: 1.800V
INFO: PMIC: bldo2 voltage: 1.800V
INFO: PMIC: dcdcd voltage: 1.500V
INFO: PMIC: dcdce voltage: 3.300V
INFO: BL31: Platform setup done
INFO: BL31: Initializing runtime services
INFO: BL31: cortex_a53: CPU workaround for 855873 was applied
INFO: BL31: cortex_a53: CPU workaround for 1530924 was applied
INFO: PSCI: Suspend is unavailable
INFO: BL31: Preparing for EL3 exit to normal world
INFO: Entry point address = 0x4a000000
INFO: SPSR = 0x3c9
INFO: Changed devicetree.
U-Boot 2021.10-orangepi (Aug 09 2022 - 21:00:00 +0800) Allwinner Technology
CPU: Allwinner H616 (SUN50I)
Model: OrangePi Zero2
I2C: ready
DRAM: 1 GiB
MMC: mmc@4020000: 0
Loading Environment from FAT... Unable to use mmc 0:1... In: serial@5000000
Out: serial@5000000
Err: serial@5000000
Net: phy interface7
eth0: ethernet@5020000
Autoboot in 1 seconds, press <Space> to stop
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found U-Boot script /boot/boot.scr
3566 bytes read in 2 ms (1.7 MiB/s)
## Executing script at 4fc00000
U-boot loaded from SD
Boot script loaded from mmc
206 bytes read in 2 ms (100.6 KiB/s)
37897 bytes read in 4 ms (9 MiB/s)
4203 bytes read in 4 ms (1 MiB/s)
Applying kernel provided DT fixup script (sun50i-h616-fixup.scr)
## Executing script at 45000000
13046983 bytes read in 547 ms (22.7 MiB/s)
22259720 bytes read in 931 ms (22.8 MiB/s)
Moving Image from 0x40080000 to 0x40200000, end=417a0000
## Loading init Ramdisk from Legacy Image at 4ff00000 ...
Image Name: uInitrd
Image Type: AArch64 Linux RAMDisk Image (gzip compressed)
Data Size: 13046919 Bytes = 12.4 MiB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
## Flattened Device Tree blob at 4fa00000
Booting using the fdt blob at 0x4fa00000
Loading Ramdisk to 4938e000, end 49fff487 ... OK
Loading Device Tree to 000000004931c000, end 000000004938dfff ... OK
Starting kernel ... 开始启动内核
打印输出内核启动信息
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[ 0.000000] Linux version 5.16.17-sun50iw9 (root@test) (aarch64-none-linux-gnu-gcc (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)) 9.2.1 20191025, GNU ld (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)) 2.33.1.20191209) #3.0.6 SMP Tue Aug 9 13:51:16 CST 2022
[ 0.000000] Machine model: OrangePi Zero2
[ 0.000000] NUMA: No NUMA configuration found
[ 0.000000] NUMA: Faking a node at [mem 0x0000000040000000-0x000000007fffffff]
[ 0.000000] NUMA: NODE_DATA [mem 0x7fdcb040-0x7fdccfff]
[ 0.000000] Zone ranges:
[ 0.000000] DMA [mem 0x0000000040000000-0x000000007fffffff]
[ 0.000000] DMA32 empty
[ 0.000000] Normal empty
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000040000000-0x000000004007ffff]
[ 0.000000] node 0: [mem 0x0000000040080000-0x000000007fffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x000000007fffffff]
[ 0.000000] cma: Reserved 128 MiB at 0x0000000076c00000
[ 0.000000] psci: probing for conduit method from DT.
[ 0.000000] psci: PSCIv1.1 detected in firmware.
[ 0.000000] psci: Using standard PSCI v0.2 function IDs
[ 0.000000] psci: MIGRATE_INFO_TYPE not supported.
[ 0.000000] psci: SMC Calling Convention v1.2
[ 0.000000] percpu: Embedded 19 pages/cpu s37016 r8192 d32616 u77824
[ 0.000000] Detected VIPT I-cache on CPU0
[ 0.000000] CPU features: detected: ARM erratum 845719
[ 0.000000] Fallback order for Node 0: 0
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 258048
[ 0.000000] Policy zone: DMA
[ 0.000000] Kernel command line: root=UUID=15a0010c-94e1-412f-b030-199e90c16cb1 rootwait rootfstype=ext4 console=ttyS0,115200 console=tty1 consoleblank=0 loglevel=7 ubootpart=e92e0ba7-01 usb-storage.quirks=0x2537:0x1066:u,0x2537:0x1068:u cgroup_enable=memory swapaccount=1
[ 0.000000] Unknown kernel command line parameters "ubootpart=e92e0ba7-01 cgroup_enable=memory", will be passed to user space.
[ 0.000000] printk: log_buf_len individual max cpu contribution: 4096 bytes
[ 0.000000] printk: log_buf_len total cpu_extra contributions: 12288 bytes
[ 0.000000] printk: log_buf_len min size: 16384 bytes
[ 0.000000] printk: log_buf_len: 32768 bytes
[ 0.000000] printk: early log buf free: 14064(85%)
[ 0.000000] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes, linear)
[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[ 0.000000] Memory: 861428K/1048576K available (13760K kernel code, 1066K rwdata, 4320K rodata, 2496K init, 331K bss, 56076K reserved, 131072K cma-reserved)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[ 0.000000] rcu: Hierarchical RCU implementation.
[ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=4.
[ 0.000000] Tracing variant of Tasks RCU enabled.
[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[ 0.000000] Root IRQ handler: gic_handle_irq
[ 0.000000] GIC: Using split EOI/Deactivate mode
[ 0.000000] random: get_random_bytes called from start_kernel+0x4c4/0x6a4 with crng_init=0
[ 0.000000] arch_timer: cp15 timer(s) running at 24.00MHz (phys).
[ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns
[ 0.000001] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
[ 0.000530] Console: colour dummy device 80x25
[ 0.000884] printk: console [tty1] enabled
[ 0.000968] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=96000)
[ 0.000992] pid_max: default: 32768 minimum: 301
[ 0.001071] LSM: Security Framework initializing
[ 0.001107] Yama: becoming mindful.
[ 0.001201] AppArmor: AppArmor initialized
[ 0.001254] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
[ 0.001277] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
[ 0.002853] rcu: Hierarchical SRCU implementation.
[ 0.004012] smp: Bringing up secondary CPUs ...
[ 0.004492] Detected VIPT I-cache on CPU1
[ 0.004572] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[ 0.005140] Detected VIPT I-cache on CPU2
[ 0.005204] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[ 0.005728] Detected VIPT I-cache on CPU3
[ 0.005788] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[ 0.005879] smp: Brought up 1 node, 4 CPUs
[ 0.005948] SMP: Total of 4 processors activated.
[ 0.005960] CPU features: detected: 32-bit EL0 Support
[ 0.005972] CPU features: detected: CRC32 instructions
[ 0.019087] CPU: All CPU(s) started at EL2
[ 0.019152] alternatives: patching kernel code
[ 0.020668] devtmpfs: initialized
[ 0.026817] Registered cp15_barrier emulation handler
[ 0.026861] Registered setend emulation handler
[ 0.027047] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[ 0.027080] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[ 0.031551] pinctrl core: initialized pinctrl subsystem
[ 0.032830] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[ 0.034377] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations
[ 0.034552] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[ 0.034696] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[ 0.034782] audit: initializing netlink subsys (disabled)
[ 0.035018] audit: type=2000 audit(0.032:1): state=initialized audit_enabled=0 res=1
[ 0.035560] thermal_sys: Registered thermal governor 'fair_share'
[ 0.035568] thermal_sys: Registered thermal governor 'bang_bang'
[ 0.035582] thermal_sys: Registered thermal governor 'step_wise'
[ 0.035594] thermal_sys: Registered thermal governor 'user_space'
[ 0.036204] cpuidle: using governor menu
[ 0.036435] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[ 0.036553] ASID allocator initialised with 65536 entries
[ 0.036755] Serial: AMBA PL011 UART driver
[ 0.047325] platform 6510000.tcon-top: Fixing up cyclic dependency with 6000000.hdmi
[ 0.048003] platform 6515000.lcd-controller: Fixing up cyclic dependency with 6510000.tcon-top
[ 0.049371] platform connector: Fixing up cyclic dependency with 6000000.hdmi
[ 0.057043] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages
[ 0.057084] HugeTLB registered 32.0 MiB page size, pre-allocated 0 pages
[ 0.057098] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[ 0.057111] HugeTLB registered 64.0 KiB page size, pre-allocated 0 pages
[ 0.057701] cryptd: max_cpu_qlen set to 1000
[ 0.124302] raid6: neonx8 gen() 1807 MB/s
[ 0.192365] raid6: neonx8 xor() 1347 MB/s
[ 0.260438] raid6: neonx4 gen() 1850 MB/s
[ 0.328504] raid6: neonx4 xor() 1332 MB/s
[ 0.396576] raid6: neonx2 gen() 1753 MB/s
[ 0.464644] raid6: neonx2 xor() 1241 MB/s
[ 0.532726] raid6: neonx1 gen() 1521 MB/s
[ 0.600776] raid6: neonx1 xor() 1047 MB/s
[ 0.668853] raid6: int64x8 gen() 1252 MB/s
[ 0.736916] raid6: int64x8 xor() 659 MB/s
[ 0.804992] raid6: int64x4 gen() 1398 MB/s
[ 0.873052] raid6: int64x4 xor() 705 MB/s
[ 0.941133] raid6: int64x2 gen() 1191 MB/s
[ 1.009194] raid6: int64x2 xor() 612 MB/s
[ 1.077286] raid6: int64x1 gen() 887 MB/s
[ 1.145354] raid6: int64x1 xor() 470 MB/s
[ 1.145367] raid6: using algorithm neonx4 gen() 1850 MB/s
[ 1.145378] raid6: .... xor() 1332 MB/s, rmw enabled
[ 1.145390] raid6: using neon recovery algorithm
[ 1.147028] iommu: Default domain type: Translated
[ 1.147067] iommu: DMA domain TLB invalidation policy: strict mode
[ 1.147392] SCSI subsystem initialized
[ 1.147592] usbcore: registered new interface driver usbfs
[ 1.147639] usbcore: registered new interface driver hub
[ 1.147681] usbcore: registered new device driver usb
[ 1.148092] pps_core: LinuxPPS API ver. 1 registered
[ 1.148106] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 1.148130] PTP clock support registered
[ 1.148611] ARM FF-A: FFA_VERSION returned not supported
[ 1.149042] Advanced Linux Sound Architecture Driver Initialized.
[ 1.149769] NetLabel: Initializing
[ 1.149792] NetLabel: domain hash size = 128
[ 1.149802] NetLabel: protocols = UNLABELED CIPSOv4 CALIPSO
[ 1.149872] NetLabel: unlabeled traffic allowed by default
[ 1.150118] mctp: management component transport protocol core
[ 1.150134] NET: Registered PF_MCTP protocol family
[ 1.150664] clocksource: Switched to clocksource arch_sys_counter
[ 1.150876] VFS: Disk quotas dquot_6.6.0
[ 1.150940] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[ 1.151515] AppArmor: AppArmor Filesystem Enabled
[ 1.157394] NET: Registered PF_INET protocol family
[ 1.157570] IP idents hash table entries: 16384 (order: 5, 131072 bytes, linear)
[ 1.158375] tcp_listen_portaddr_hash hash table entries: 512 (order: 1, 8192 bytes, linear)
[ 1.158419] TCP established hash table entries: 8192 (order: 4, 65536 bytes, linear)
[ 1.158499] TCP bind hash table entries: 8192 (order: 5, 131072 bytes, linear)
[ 1.158630] TCP: Hash tables configured (established 8192 bind 8192)
[ 1.158809] UDP hash table entries: 512 (order: 2, 16384 bytes, linear)
[ 1.158855] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear)
[ 1.159041] NET: Registered PF_UNIX/PF_LOCAL protocol family
[ 1.159638] Trying to unpack rootfs image as initramfs...
[ 1.167326] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 counters available
[ 1.169091] Initialise system trusted keyrings
[ 1.169168] Key type blacklist registered
[ 1.169438] workingset: timestamp_bits=44 max_order=18 bucket_order=0
[ 1.174692] zbud: loaded
[ 1.176190] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 1.178484] integrity: Platform Keyring initialized
[ 1.222065] xor: automatically using best checksumming function 32regs
[ 1.222104] async_tx: api initialized (async)
[ 1.222122] Key type asymmetric registered
[ 1.222134] Asymmetric key parser 'x509' registered
[ 1.222336] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247)
[ 1.222617] io scheduler mq-deadline registered
[ 1.222684] io scheduler kyber registered
[ 1.222907] io scheduler bfq registered
[ 1.234165] sun50i-h616-pinctrl 300b000.pinctrl: initialized sunXi PIO driver
[ 1.235243] sun50i-h616-r-pinctrl 7022000.pinctrl: initialized sunXi PIO driver
[ 1.244461] Serial: 8250/16550 driver, 6 ports, IRQ sharing disabled
[ 1.246239] sun50i-h616-pinctrl 300b000.pinctrl: supply vcc-ph not found, using dummy regulator
[ 1.246939] printk: console [ttyS0] disabled
[ 1.247054] 5000000.serial: ttyS0 at MMIO 0x5000000 (irq = 31, base_baud = 1500000) is a 16550A
[ 1.812374] Freeing initrd memory: 12740K
[ 1.816337] printk: console [ttyS0] enabled
[ 2.270227] misc dump reg init
[ 2.277158] cacheinfo: Unable to detect cache hierarchy for CPU 0
[ 2.287513] loop: module loaded
[ 2.293019] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 2.299628] ehci-platform: EHCI generic platform driver
[ 2.305033] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 2.311233] ohci-platform: OHCI generic platform driver
[ 2.316942] usbcore: registered new interface driver usb-storage
[ 2.323518] mousedev: PS/2 mouse device common for all mice
[ 2.330199] sun6i-rtc 7000000.rtc: registered as rtc0
[ 2.335410] sun6i-rtc 7000000.rtc: RTC enabled
[ 2.340007] i2c_dev: i2c /dev entries driver
[ 2.345131] sunxi-wdt 30090a0.watchdog: Watchdog enabled (timeout=16 sec, nowayout=0)
[ 2.354520] sun50i-h616-pinctrl 300b000.pinctrl: supply vcc-pg not found, using dummy regulator
[ 2.363778] sdhci: Secure Digital Host Controller Interface driver
[ 2.370001] sdhci: Copyright(c) Pierre Ossman
[ 2.374383] Synopsys Designware Multimedia Card Interface Driver
[ 2.381131] sdhci-pltfm: SDHCI platform and OF driver helper
[ 2.381919] sunxi-mmc 4021000.mmc: allocated mmc-pwrseq
[ 2.387137] sun50i-h616-pinctrl 300b000.pinctrl: supply vcc-pc not found, using dummy regulator
[ 2.401701] ledtrig-cpu: registered to indicate activity on CPUs
[ 2.408212] SMCCC: SOC_ID: ID = jep106:091e:1823 Revision = 0x00000000
[ 2.415234] hid: raw HID events driver (C) Jiri Kosina
[ 2.420495] usbcore: registered new interface driver usbhid
[ 2.426082] usbhid: USB HID core driver
[ 2.445605] sunxi-hdmi soc:hdmi-audio@1: snd_soc_register_card failed
[ 2.452886] NET: Registered PF_INET6 protocol family
[ 2.487281] Segment Routing with IPv6
[ 2.491071] In-situ OAM (IOAM) with IPv6
[ 2.495104] NET: Registered PF_PACKET protocol family
[ 2.500340] 8021q: 802.1Q VLAN Support v1.8
[ 2.504705] 9pnet: Installing 9P2000 support
[ 2.509060] Key type dns_resolver registered
[ 2.513777] registered taskstats version 1
[ 2.517913] Loading compiled-in X.509 certificates
[ 2.526361] Loaded X.509 cert 'Build time autogenerated kernel key: 6af1a27ae7a3ceaaa4ad504cae46c944e71bfd68'
[ 2.538709] zswap: loaded using pool zstd/z3fold
[ 2.544106] Key type ._fscrypt registered
[ 2.548161] Key type .fscrypt registered
[ 2.552094] Key type fscrypt-provisioning registered
[ 2.558085] Btrfs loaded, crc32c=crc32c-generic, zoned=yes, fsverity=no
[ 2.565088] Key type encrypted registered
[ 2.569142] AppArmor: AppArmor sha1 policy hashing enabled
[ 2.574680] ima: No TPM chip found, activating TPM-bypass!
[ 2.580194] ima: Allocated hash algorithm: sha1
[ 2.584756] ima: No architecture policies found
[ 2.589366] evm: Initialising EVM extended attributes:
[ 2.594508] evm: security.selinux
[ 2.597829] evm: security.SMACK64
[ 2.601148] evm: security.SMACK64EXEC
[ 2.604814] evm: security.SMACK64TRANSMUTE
[ 2.608918] evm: security.SMACK64MMAP
[ 2.612585] evm: security.apparmor
[ 2.615991] evm: security.ima
[ 2.618964] evm: security.capability
[ 2.622538] evm: HMAC attrs: 0x1
[ 2.622675] sunxi-mmc 4021000.mmc: initialized, max. request size: 16384 KB, uses new timings mode
[ 2.642160] platform 1100000.mixer: Fixing up cyclic dependency with 6510000.tcon-top
[ 2.652735] phy phy-5100400.phy.0: Changing dr_mode to 1
[ 2.658111] ehci-platform 5101000.usb: EHCI Host Controller
[ 2.663712] ehci-platform 5101000.usb: new USB bus registered, assigned bus number 1
[ 2.671595] ehci-platform 5101000.usb: irq 34, io mem 0x05101000
[ 2.688637] mmc0: new high speed SDIO card at address 8800
[ 2.694196] ehci-platform 5101000.usb: USB 2.0 started, EHCI 1.00
[ 2.700615] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.16
[ 2.708910] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 2.716143] usb usb1: Product: EHCI Host Controller
[ 2.721028] usb usb1: Manufacturer: Linux 5.16.17-sun50iw9 ehci_hcd
[ 2.727301] usb usb1: SerialNumber: 5101000.usb
[ 2.732408] hub 1-0:1.0: USB hub found
[ 2.736256] hub 1-0:1.0: 1 port detected
[ 2.741170] ehci-platform 5200000.usb: EHCI Host Controller
[ 2.746839] ehci-platform 5200000.usb: new USB bus registered, assigned bus number 2
[ 2.754723] ehci-platform 5200000.usb: irq 36, io mem 0x05200000
[ 2.774668] ehci-platform 5200000.usb: USB 2.0 started, EHCI 1.00
[ 2.781034] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.16
[ 2.789320] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 2.796551] usb usb2: Product: EHCI Host Controller
[ 2.801436] usb usb2: Manufacturer: Linux 5.16.17-sun50iw9 ehci_hcd
[ 2.807709] usb usb2: SerialNumber: 5200000.usb
[ 2.812759] hub 2-0:1.0: USB hub found
[ 2.816601] hub 2-0:1.0: 1 port detected
[ 2.821491] ehci-platform 5310000.usb: EHCI Host Controller
[ 2.827140] ehci-platform 5310000.usb: new USB bus registered, assigned bus number 3
[ 2.835019] ehci-platform 5310000.usb: irq 38, io mem 0x05310000
[ 2.854668] ehci-platform 5310000.usb: USB 2.0 started, EHCI 1.00
[ 2.861079] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.16
[ 2.869380] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 2.876615] usb usb3: Product: EHCI Host Controller
[ 2.881502] usb usb3: Manufacturer: Linux 5.16.17-sun50iw9 ehci_hcd
[ 2.887783] usb usb3: SerialNumber: 5310000.usb
[ 2.892900] hub 3-0:1.0: USB hub found
[ 2.896737] hub 3-0:1.0: 1 port detected
[ 2.901632] ehci-platform 5311000.usb: EHCI Host Controller
[ 2.907279] ehci-platform 5311000.usb: new USB bus registered, assigned bus number 4
[ 2.915159] ehci-platform 5311000.usb: irq 40, io mem 0x05311000
[ 2.934668] ehci-platform 5311000.usb: USB 2.0 started, EHCI 1.00
[ 2.941039] usb usb4: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.16
[ 2.949322] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 2.956553] usb usb4: Product: EHCI Host Controller
[ 2.961439] usb usb4: Manufacturer: Linux 5.16.17-sun50iw9 ehci_hcd
[ 2.967711] usb usb4: SerialNumber: 5311000.usb
[ 2.972763] hub 4-0:1.0: USB hub found
[ 2.976593] hub 4-0:1.0: 1 port detected
[ 2.981487] ohci-platform 5101400.usb: Generic Platform OHCI controller
[ 2.988177] ohci-platform 5101400.usb: new USB bus registered, assigned bus number 5
[ 2.996088] ohci-platform 5101400.usb: irq 35, io mem 0x05101400
[ 3.062902] usb usb5: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 5.16
[ 3.071193] usb usb5: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 3.078424] usb usb5: Product: Generic Platform OHCI controller
[ 3.084351] usb usb5: Manufacturer: Linux 5.16.17-sun50iw9 ohci_hcd
[ 3.090623] usb usb5: SerialNumber: 5101400.usb
[ 3.095685] hub 5-0:1.0: USB hub found
[ 3.099505] hub 5-0:1.0: 1 port detected
[ 3.104393] ohci-platform 5200400.usb: Generic Platform OHCI controller
[ 3.111090] ohci-platform 5200400.usb: new USB bus registered, assigned bus number 6
[ 3.118979] ohci-platform 5200400.usb: irq 37, io mem 0x05200400
[ 3.186877] usb usb6: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 5.16
[ 3.195161] usb usb6: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 3.202392] usb usb6: Product: Generic Platform OHCI controller
[ 3.208308] usb usb6: Manufacturer: Linux 5.16.17-sun50iw9 ohci_hcd
[ 3.214581] usb usb6: SerialNumber: 5200400.usb
[ 3.219663] hub 6-0:1.0: USB hub found
[ 3.223483] hub 6-0:1.0: 1 port detected
[ 3.228364] ohci-platform 5310400.usb: Generic Platform OHCI controller
[ 3.235062] ohci-platform 5310400.usb: new USB bus registered, assigned bus number 7
[ 3.242954] ohci-platform 5310400.usb: irq 39, io mem 0x05310400
[ 3.310884] usb usb7: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 5.16
[ 3.319172] usb usb7: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 3.326403] usb usb7: Product: Generic Platform OHCI controller
[ 3.332330] usb usb7: Manufacturer: Linux 5.16.17-sun50iw9 ohci_hcd
[ 3.338603] usb usb7: SerialNumber: 5310400.usb
[ 3.343654] hub 7-0:1.0: USB hub found
[ 3.347471] hub 7-0:1.0: 1 port detected
[ 3.352342] ohci-platform 5311400.usb: Generic Platform OHCI controller
[ 3.359039] ohci-platform 5311400.usb: new USB bus registered, assigned bus number 8
[ 3.366932] ohci-platform 5311400.usb: irq 41, io mem 0x05311400
[ 3.434878] usb usb8: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 5.16
[ 3.443165] usb usb8: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 3.450396] usb usb8: Product: Generic Platform OHCI controller
[ 3.456321] usb usb8: Manufacturer: Linux 5.16.17-sun50iw9 ohci_hcd
[ 3.462594] usb usb8: SerialNumber: 5311400.usb
[ 3.467648] hub 8-0:1.0: USB hub found
[ 3.471476] hub 8-0:1.0: 1 port detected
[ 3.476437] usb_phy_generic usb_phy_generic.1.auto: supply vcc not found, using dummy regulator
[ 3.488939] sunxi-hdmi soc:hdmi-audio@1: snd_soc_register_card failed
[ 3.496517] sunxi-hdmi soc:hdmi-audio@1: snd_soc_register_card failed
[ 3.503321] WCN: marlin_init entry!
[ 3.507203] WCN: wcn config bt wake host
[ 3.511369] WCN_ERR: dts node for bt_wake not found
[ 3.511373] WCN: marlin2 parse_dt some para not config
[ 3.521417] sdiohal:sdiohal_parse_dt adma_tx:1, adma_rx:1, pwrseq:0, irq type:data, gpio_num:0, blksize:840
[ 3.535238] sdiohal:sdiohal_init ok
[ 3.539416] WCN: marlin_probe ok!
[ 3.543384] of_cfs_init
[ 3.543870] sunxi-hdmi soc:hdmi-audio@1: snd_soc_register_card failed
[ 3.545999] of_cfs_init: OK
[ 3.555554] ALSA device list:
[ 3.558536] #0: sndahub
[ 3.562238] Freeing unused kernel memory: 2496K
[ 3.566914] Run /init as init process
[ 4.068762] mv64xxx_i2c 7081400.i2c: can't get pinctrl, bus recovery not supported
[ 4.083878] axp20x-i2c 0-0036: AXP20x variant AXP806 found
[ 4.097374] vdd-dram: Bringing 1500000uV into 1400000-1400000uV
[ 4.110196] debugfs: Directory 'vcc1v8' with parent 'regulator' already present!
[ 4.125965] axp20x-i2c 0-0036: AXP20X driver loaded
[ 4.127189] sunxi-hdmi soc:hdmi-audio@1: snd_soc_register_card failed
[ 4.138304] debugfs: Directory '1100000.mixer' with parent 'regmap' already present!
[ 4.146215] debugfs: Directory '1100000.mixer' with parent 'regmap' already present!
[ 4.170796] sun4i-drm display-engine: bound 1100000.mixer (ops 0xffff800008e59a08)
[ 4.178867] sun4i-drm display-engine: bound 6510000.tcon-top (ops 0xffff800008e5df40)
[ 4.187223] sun4i-drm display-engine: bound 6515000.lcd-controller (ops 0xffff800008e54aa0)
[ 4.196253] sun8i-dw-hdmi 6000000.hdmi: Detected HDMI TX controller v2.12a with HDCP (DWC HDMI 2.0 TX PHY)
[ 4.206768] sun8i-dw-hdmi 6000000.hdmi: registered DesignWare HDMI I2C bus driver
[ 4.215472] sun4i-drm display-engine: bound 6000000.hdmi (ops 0xffff800008e58af0)
[ 4.223787] [drm] Initialized sun4i-drm 1.0.0 20150629 for display-engine on minor 0
[ 4.231758] sun4i-drm display-engine: [drm] Cannot find any crtc or sizes
[ 4.240087] sun50i-h616-pinctrl 300b000.pinctrl: supply vcc-pi not found, using dummy regulator
[ 4.249286] dwmac-sun8i 5020000.ethernet: IRQ eth_wake_irq not found
[ 4.255711] dwmac-sun8i 5020000.ethernet: IRQ eth_lpi not found
[ 4.262073] dwmac-sun8i 5020000.ethernet: supply phy-io not found, using dummy regulator
[ 4.270556] dwmac-sun8i 5020000.ethernet: PTP uses main clock
[ 4.276396] dwmac-sun8i 5020000.ethernet: Current syscon value is not the default 51fe6 (expect 50000)
[ 4.286006] sun4i-drm display-engine: [drm] Cannot find any crtc or sizes
[ 4.286025] dwmac-sun8i 5020000.ethernet: No HW DMA feature register supported
[ 4.300138] dwmac-sun8i 5020000.ethernet: RX Checksum Offload Engine supported
[ 4.307380] dwmac-sun8i 5020000.ethernet: COE Type 2
[ 4.312351] dwmac-sun8i 5020000.ethernet: TX Checksum insertion supported
[ 4.319141] dwmac-sun8i 5020000.ethernet: Normal descriptors
[ 4.324804] dwmac-sun8i 5020000.ethernet: Chain mode enabled
[ 4.347931] sun50i-h616-pinctrl 300b000.pinctrl: supply vcc-pf not found, using dummy regulator
[ 4.358549] sunxi-mmc 4020000.mmc: Got CD GPIO
[ 4.387546] sunxi-mmc 4020000.mmc: initialized, max. request size: 16384 KB, uses new timings mode
[ 4.442973] random: fast init done
[ 4.446419] mmc1: host does not support reading read-only switch, assuming write-enable
[ 4.456371] mmc1: new high speed SDHC card at address b37b
[ 4.462857] mmcblk1: mmc1:b37b CBADS 14.8 GiB
[ 4.469462] mmcblk1: p1
[ 4.830967] EXT4-fs (mmcblk1p1): mounted filesystem with writeback data mode. Opts: (null). Quota mode: none.
[ 5.620999] systemd[1]: System time before build time, advancing clock.
[ 5.668149] systemd[1]: systemd 249.11-0ubuntu3.4 running in system mode (+PAM +AUDIT +SELINUX +APPARMOR +IMA +SMACK +SECCOMP +GCRYPT +GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN +IPTC +KMOD +LIBCRYPTSETUP -LIBFDISK +PCRE2 -PWQUALITY -P11KIT -QRENCODE +BZIP2 +LZ4 +XZ +ZLIB +ZSTD -XKBCOMMON +UTMP +SYSVINIT default-hierarchy=unified)
[ 5.699877] systemd[1]: Detected architecture arm64.
[ 5.707866] systemd[1]: Hostname set to <orangepizero2>.
[ 6.713217] systemd[1]: Queued start job for default target Graphical Interface.
[ 6.722904] random: systemd: uninitialized urandom read (16 bytes read)
[ 6.733724] systemd[1]: Created slice Slice /system/modprobe.
[ 6.740264] random: systemd: uninitialized urandom read (16 bytes read)
[ 6.749078] systemd[1]: Created slice Slice /system/serial-getty.
[ 6.755708] random: systemd: uninitialized urandom read (16 bytes read)
[ 6.764113] systemd[1]: Created slice User and Session Slice.
[ 6.771023] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[ 6.780374] systemd[1]: Set up automount Arbitrary Executable File Formats File System Automount Point.
[ 6.790846] systemd[1]: Reached target User and Group Name Lookups.
[ 6.797684] systemd[1]: Reached target Remote File Systems.
[ 6.803751] systemd[1]: Reached target Slice Units.
[ 6.809204] systemd[1]: Reached target Swaps.
[ 6.814061] systemd[1]: Reached target System Time Set.
[ 6.820034] systemd[1]: Reached target Local Verity Protected Volumes.
[ 6.834372] systemd[1]: Listening on Syslog Socket.
[ 6.840565] systemd[1]: Listening on fsck to fsckd communication Socket.
[ 6.848158] systemd[1]: Listening on initctl Compatibility Named Pipe.
[ 6.856368] systemd[1]: Listening on Journal Audit Socket.
[ 6.863121] systemd[1]: Listening on Journal Socket (/dev/log).
[ 6.870391] systemd[1]: Listening on Journal Socket.
[ 6.883929] systemd[1]: Listening on udev Control Socket.
[ 6.890564] systemd[1]: Listening on udev Kernel Socket.
[ 6.900721] systemd[1]: Mounting Huge Pages File System...
[ 6.911341] systemd[1]: Mounting POSIX Message Queue File System...
[ 6.922782] systemd[1]: Mounting Kernel Debug File System...
[ 6.929513] systemd[1]: Condition check resulted in Kernel Trace File System being skipped.
[ 6.944550] systemd[1]: Starting Restore / save the current clock...
[ 6.957104] systemd[1]: Starting Set the console keyboard layout...
[ 6.970852] systemd[1]: Starting Create List of Static Device Nodes...
[ 6.984491] systemd[1]: Starting Load Kernel Module chromeos_pstore...
[ 6.997756] systemd[1]: Starting Load Kernel Module configfs...
[ 7.010740] systemd[1]: Starting Load Kernel Module drm...
[ 7.023177] systemd[1]: Starting Load Kernel Module efi_pstore...
[ 7.035482] systemd[1]: Starting Load Kernel Module fuse...
[ 7.047764] systemd[1]: Starting Load Kernel Module mtdpstore...
[ 7.060124] systemd[1]: Starting Load Kernel Module pstore_blk...
[ 7.072901] systemd[1]: Starting Load Kernel Module pstore_zone...
[ 7.085947] systemd[1]: Starting Load Kernel Module ramoops...
[ 7.086092] fuse: init (API version 7.35)
[ 7.103702] systemd[1]: Started Nameserver information manager.
[ 7.111201] systemd[1]: Reached target Preparation for Network.
[ 7.118273] systemd[1]: Condition check resulted in File System Check on Root Device being skipped.
[ 7.135683] systemd[1]: Starting Load Kernel Modules...
[ 7.147969] systemd[1]: Starting Remount Root and Kernel File Systems...
[ 7.161203] systemd[1]: Starting Coldplug All udev Devices...
[ 7.180213] systemd[1]: Mounted Huge Pages File System.
[ 7.181545] EXT4-fs (mmcblk1p1): re-mounted. Opts: commit=600,errors=remount-ro. Quota mode: none.
[ 7.200131] systemd[1]: Mounted POSIX Message Queue File System.
[ 7.207351] systemd[1]: Mounted Kernel Debug File System.
[ 7.214936] systemd[1]: Finished Restore / save the current clock.
[ 7.223482] systemd[1]: Finished Create List of Static Device Nodes.
[ 7.231902] systemd[1]: modprobe@chromeos_pstore.service: Deactivated successfully.
[ 7.241076] systemd[1]: Finished Load Kernel Module chromeos_pstore.
[ 7.249695] systemd[1]: modprobe@configfs.service: Deactivated successfully.
[ 7.249936] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[ 7.258322] systemd[1]: Finished Load Kernel Module configfs.
[ 7.266330] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[ 7.279132] systemd[1]: modprobe@drm.service: Deactivated successfully.
[ 7.287871] systemd[1]: Finished Load Kernel Module drm.
[ 7.295710] systemd[1]: modprobe@efi_pstore.service: Deactivated successfully.
[ 7.304650] systemd[1]: Finished Load Kernel Module efi_pstore.
[ 7.313553] systemd[1]: Finished Set the console keyboard layout.
[ 7.321840] systemd[1]: modprobe@fuse.service: Deactivated successfully.
[ 7.330320] systemd[1]: Finished Load Kernel Module fuse.
[ 7.337549] WCN: start_marlin [MARLIN_WIFI]
[ 7.338445] systemd[1]: modprobe@mtdpstore.service: Deactivated successfully.
[ 7.341959] WCN: marlin power state:0, subsys: [MARLIN_WIFI] power 1
[ 7.350470] systemd[1]: Finished Load Kernel Module mtdpstore.
[ 7.355365] WCN: the first power on start
[ 7.367956] systemd[1]: modprobe@pstore_blk.service: Deactivated successfully.
[ 7.377154] systemd[1]: Finished Load Kernel Module pstore_blk.
[ 7.385570] systemd[1]: modprobe@pstore_zone.service: Deactivated successfully.
[ 7.394141] systemd[1]: Finished Load Kernel Module pstore_zone.
[ 7.402334] systemd[1]: modprobe@ramoops.service: Deactivated successfully.
[ 7.411116] systemd[1]: Finished Load Kernel Module ramoops.
[ 7.420656] systemd[1]: Finished Remount Root and Kernel File Systems.
[ 7.438582] systemd[1]: Mounting FUSE Control File System...
[ 7.450344] systemd[1]: Mounting Kernel Configuration File System...
[ 7.457834] systemd[1]: Condition check resulted in Platform Persistent Storage Archival being skipped.
[ 7.470737] WCN: marlin chip en dummy pull up -- need manually set GPIO
[ 7.472493] systemd[1]: Starting Load/Save Random Seed...
[ 7.489641] systemd[1]: Starting Create System Users...
[ 7.502946] systemd[1]: Mounted FUSE Control File System.
[ 7.506744] sdiohal:sdiohal_scan_card
[ 7.512369] sdiohal:sdiohal_probe: func->class=0, vendor=0x0000, device=0x0000, func_num=0x0001, clock=50000000
[ 7.522978] WCN: marlin_get_wcn_chipid: chipid: 0x2355b001
[ 7.523927] systemd[1]: Mounted Kernel Configuration File System.
[ 7.528547] WCN: marlin_scan_finish!
[ 7.538305] sdiohal:probe ok
[ 7.538474] sdiohal:scan end!
[ 7.544313] WCN: then marlin start to download
[ 7.544373] WCN: marlin_request_firmware from /lib/firmware/wcnmodem.bin start!
[ 7.558677] systemd[1]: Finished Create System Users.
[ 7.569656] systemd[1]: Starting Create Static Device Nodes in /dev...
[ 7.618986] WCN: marlin_firmware_parse_image imagepack is WCNM type,need parse it
[ 7.680433] systemd[1]: Finished Create Static Device Nodes in /dev.
[ 7.688015] systemd[1]: Reached target Preparation for Local File Systems.
[ 7.700932] systemd[1]: Mounting /tmp...
[ 7.713977] systemd[1]: Starting Rule-based Manager for Device Events and Files...
[ 7.726905] systemd[1]: Mounted /tmp.
[ 7.731640] systemd[1]: Reached target Local File Systems.
[ 7.743651] systemd[1]: Starting Load AppArmor profiles...
[ 7.756887] systemd[1]: Starting Set console font and keymap...
[ 7.770281] systemd[1]: Starting Orange Pi ZRAM config...
[ 7.783690] systemd[1]: Starting Tell Plymouth To Write Out Runtime Data...
[ 7.806116] systemd[1]: Condition check resulted in Set Up Additional Binary Formats being skipped.
[ 7.819296] systemd[1]: Finished Coldplug All udev Devices.
[ 7.828017] systemd[1]: Finished Set console font and keymap.
[ 7.836978] systemd[1]: Finished Tell Plymouth To Write Out Runtime Data.
[ 7.858024] systemd[1]: Starting Helper to synchronize boot up for ifupdown...
[ 7.904938] systemd[1]: Finished Helper to synchronize boot up for ifupdown.
[ 8.120391] audit: type=1400 audit(1725869164.144:2): apparmor="STATUS" operation="profile_load" profile="unconfined" name="lsb_release" pid=338 comm="apparmor_parser"
[ 8.135532] audit: type=1400 audit(1725869164.144:3): apparmor="STATUS" operation="profile_load" profile="unconfined" name="nvidia_modprobe" pid=339 comm="apparmor_parser"
[ 8.150918] audit: type=1400 audit(1725869164.144:4): apparmor="STATUS" operation="profile_load" profile="unconfined" name="nvidia_modprobe//kmod" pid=339 comm="apparmor_parser"
[ 8.169828] audit: type=1400 audit(1725869164.192:5): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/lib/NetworkManager/nm-dhcp-client.action" pid=340 comm="apparmor_parser"
[ 8.187805] audit: type=1400 audit(1725869164.192:6): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/lib/NetworkManager/nm-dhcp-helper" pid=340 comm="apparmor_parser"
[ 8.205199] audit: type=1400 audit(1725869164.192:7): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/lib/connman/scripts/dhclient-script" pid=340 comm="apparmor_parser"
[ 8.222769] audit: type=1400 audit(1725869164.192:8): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/{,usr/}sbin/dhclient" pid=340 comm="apparmor_parser"
[ 8.238683] audit: type=1400 audit(1725869164.232:9): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/bin/man" pid=343 comm="apparmor_parser"
[ 8.253793] audit: type=1400 audit(1725869164.232:10): apparmor="STATUS" operation="profile_load" profile="unconfined" name="man_filter" pid=343 comm="apparmor_parser"
[ 8.268815] audit: type=1400 audit(1725869164.232:11): apparmor="STATUS" operation="profile_load" profile="unconfined" name="man_groff" pid=343 comm="apparmor_parser"
[ 8.325509] systemd[1]: Started Rule-based Manager for Device Events and Files.
[ 8.334484] systemd[1]: Condition check resulted in Show Plymouth Boot Screen being skipped.
[ 8.353020] systemd[1]: Condition check resulted in Dispatch Password Requests to Console Directory Watch when bootsplash is active being skipped.
[ 8.366808] systemd[1]: Condition check resulted in Forward Password Requests to Plymouth Directory Watch being skipped.
[ 8.378233] systemd[1]: Reached target Local Encrypted Volumes.
[ 8.558695] WCN: combin_img 0 marlin_firmware_write finish and successful
[ 8.571784] WCN: marlin_start_run read reset reg val:0x1
[ 8.577192] WCN: after do marlin_start_run reset reg val:0x0
[ 8.585687] WCN: s_marlin_bootup_time=8585683924
[ 8.600840] WCN: clock mode: TSX
[ 8.609399] WCN: marlin_write_cali_data sync init_state:0xfbbf4220
[ 8.643003] WCN: marlin_write_cali_data sync init_state:0xf0f0f0f1
[ 8.649277] WCN: sdio_config bt_wake_host trigger:[high]
[ 8.654641] WCN: sdio_config irq:[inband]
[ 8.658690] WCN: sdio_config wake_host_level_duration_time:[20ms]
[ 8.664808] WCN: sdio_config wake_host_data_separation:[bt/wifi reuse]
[ 8.671351] WCN: marlin_send_sdio_config_to_cp sdio_config:0x80f01 (enable config)
[ 8.680482] WCN: marlin_write_cali_data finish
[ 8.686463] WCN: check_cp_ready sync val:0xf0f0f0f2, prj_type val:0x0
[ 8.728370] WCN: check_cp_ready sync val:0xf0f0f0f2, prj_type val:0x0
[ 8.765231] systemd[1]: Finished Load AppArmor profiles.
[ 8.774443] WCN: check_cp_ready sync val:0xf0f0f0f2, prj_type val:0x0
[ 8.783599] systemd[1]: Starting Load AppArmor profiles managed internally by snapd...
[ 8.815136] WCN: check_cp_ready sync val:0xf0f0f0ff, prj_type val:0x0
[ 8.821716] sdiohal:sdiohal_runtime_get entry
[ 8.846792] WCN: get_cp2_version entry!
[ 8.852851] WCN: WCND at cmd read:WCN_VER:Platform Version:MARLIN3_19B_W21.05.3~Project Version:sc2355_marlin3_lite_ott~01-27-2021 01:11:42~
[ 8.866700] WCN: switch_cp2_log - close entry!
[ 8.872552] WCN: WCND at cmd read:OK
[ 8.876306] WCN: then marlin download finished and run ok
[ 8.881793] WCN: start_loopcheck
[ 8.899769] WCN: get_board_ant_num [one_ant]
[ 8.904167] wifi ini path = /lib/firmware/wifi_2355b001_1ant.ini
[ 8.953268] sprdwl:sprdwl_get_fw_info length mismatch: len_count=83, r_len=89
[ 8.955636] systemd[1]: Finished Load AppArmor profiles managed internally by snapd.
[ 8.960512] sprdwl:sprdwl_get_fw_info, drv_version=1, fw_version=2, compat_ver=0
[ 8.975706] sprdwl:chip_model:0x2355, chip_ver:0x0
[ 8.975722] sprdwl:fw_ver:38222, fw_std:0x7f, fw_capa:0x120fff
[ 8.975727] sprdwl:mac_addr:e0:75:26:c8:62:6e
[ 8.975732] sprdwl:credit_capa:TX_WITH_CREDIT
[ 8.975735] sprdwl:ott support:0
[ 9.023369] unisoc_wifi unisoc_wifi wlan0: mixed HW and IP checksum settings.
[ 9.031385] mc: Linux media interface: v0.10
[ 9.041263] panfrost 1800000.gpu: clock rate = 432000000
[ 9.046781] panfrost 1800000.gpu: bus_clock rate = 200000000
[ 9.053564] panfrost 1800000.gpu: mali-g31 id 0x7093 major 0x0 minor 0x0 status 0x0
[ 9.053843] zram: Added device: zram0
[ 9.061295] panfrost 1800000.gpu: features: 00000000,3fde77ff, issues: 00000000,00000400
[ 9.073130] panfrost 1800000.gpu: Features: L2:0x07100206 Shader:0x00000000 Tiler:0x00000209 Mem:0x1 MMU:0x00002821 AS:0xff JS:0x7
[ 9.075139] mtty_probe init device addr: 0x(____ptrval____)
[ 9.084911] panfrost 1800000.gpu: shader_present=0x1 l2_present=0x1
[ 9.090947] zram: Added device: zram1
[ 9.097026] -->rfkill_bluetooth_init
[ 9.103027] videodev: Linux video capture interface: v2.00
[ 9.104299] bluetooth_set_power: start_block=1
[ 9.112499] zram: Added device: zram2
[ 9.114149] WCN: marlin power state:4, subsys: [MARLIN_BLUETOOTH] power 0
[ 9.124616] WCN: can not power off, other module is on
[ 9.129791] bluetooth_set_power: end_block=1
[ 9.130380] [drm] Initialized panfrost 1.2.0 20180908 for 1800000.gpu on minor 1
[ 9.134116] <--rfkill_bluetooth_init
[ 9.150287] systemd[1]: Finished Load Kernel Modules.
[ 9.198694] systemd[1]: Starting Apply Kernel Variables...
[ 9.306122] systemd[1]: Found device /dev/ttyS0.
Orange Pi 3.0.6 Jammy ttyS0 内核启动完毕
orangepizero2 login:
六、 H616官方外设库SDK安装和验证
6.1 使用命令 git clone https://github.com/orangepi-xunlong/wiringOP -b master
下载官方SDK
如下图
另一种方法
通过windows浏览器打开https://github.com/orangepixunlong/wiringOP
下载压缩包
把压缩包通过xterm传到开发板
解压 unzip xxx.zip
cd xxx
sudo ./build
gpio readall
6.2 查看下载的文件
如下图
6.3 使用命令 sudo ./build 安装SDK
使用sudo的原因是默认装在系统环境变量中,比如usr/bin。
orangepi@orangepizero2:~/wiringOP$ sudo ./build 安装官方SDK
[sudo] password for orangepi: 输入密码安装
输出安装信息
wiringPi Build script
=====================
WiringPi Library
[UnInstall]
[Compile] wiringPi.c
[Compile] wiringSerial.c
[Compile] wiringShift.c
[Compile] piHiPri.c
[Compile] piThread.c
[Compile] wiringPiSPI.c
[Compile] wiringPiI2C.c
[Compile] softPwm.c
[Compile] softTone.c
[Compile] mcp23008.c
[Compile] mcp23016.c
[Compile] mcp23017.c
[Compile] mcp23s08.c
[Compile] mcp23s17.c
[Compile] sr595.c
[Compile] pcf8574.c
[Compile] pcf8591.c
[Compile] mcp3002.c
[Compile] mcp3004.c
[Compile] mcp4802.c
[Compile] mcp3422.c
[Compile] max31855.c
[Compile] max5322.c
[Compile] ads1115.c
[Compile] sn3218.c
[Compile] bmp180.c
[Compile] htu21d.c
[Compile] ds18b20.c
[Compile] rht03.c
[Compile] drcSerial.c
[Compile] drcNet.c
[Compile] pseudoPins.c
pseudoPins.c: In function ‘myAnalogRead’:
pseudoPins.c:50:16: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
50 | int *ptr = (int *)node->data0 ;
| ^
pseudoPins.c: In function ‘myAnalogWrite’:
pseudoPins.c:59:16: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
59 | int *ptr = (int *)node->data0 ;
| ^
pseudoPins.c: In function ‘pseudoPinsSetup’:
pseudoPins.c:89:17: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
89 | node->data0 = (unsigned int)ptr ;
| ^
[Compile] wpiExtensions.c
[Compile] w25q64.c
[Compile] oled.c
[Compile] OrangePi.c
[Link (Dynamic)]
[Install Headers]
[Install Dynamic Lib]
WiringPi Devices Library
[UnInstall]
[Compile] ds1302.c
[Compile] maxdetect.c
[Compile] piNes.c
[Compile] gertboard.c
[Compile] piFace.c
[Compile] lcd128x64.c
[Compile] lcd.c
[Compile] scrollPhat.c
[Compile] piGlow.c
[Link (Dynamic)]
[Install Headers]
[Install Dynamic Lib]
GPIO Utility
[Compile] gpio.c
[Compile] readall.c
[Compile] OrangePi.c
OrangePi.c:738:14: warning: excess elements in array initializer
738 | NULL, NULL,
| ^~~~
OrangePi.c:738:14: note: (near initialization for ‘physNames’)
OrangePi.c:739:8: warning: excess elements in array initializer
739 | NULL, NULL,
| ^~~~
OrangePi.c:739:8: note: (near initialization for ‘physNames’)
OrangePi.c:739:14: warning: excess elements in array initializer
739 | NULL, NULL,
| ^~~~
OrangePi.c:739:14: note: (near initialization for ‘physNames’)
OrangePi.c:740:8: warning: excess elements in array initializer
740 | NULL, NULL,
| ^~~~
OrangePi.c:740:8: note: (near initialization for ‘physNames’)
OrangePi.c:740:14: warning: excess elements in array initializer
740 | NULL, NULL,
| ^~~~
OrangePi.c:740:14: note: (near initialization for ‘physNames’)
OrangePi.c:741:8: warning: excess elements in array initializer
741 | NULL,
| ^~~~
OrangePi.c:741:8: note: (near initialization for ‘physNames’)
[Link]
[Install]
All Done.
NOTE: To compile programs with wiringPi, you need to add:
-lwiringPi
to your compile line(s) To use the Gertboard, MaxDetect, etc.
code (the devLib), you need to also add:
-lwiringPiDev
to your compile line(s).
安装完毕
6.4 采用gpio readall验证是否安装成功
如图所示,是安装成功的显示。
结束语
非常感谢您的耐心阅读!在您即将离开之际,如果您觉得内容有所收获或启发,不妨动动手指,点个赞再走,这将是对我莫大的鼓励和支持。衷心感谢您的点赞与关注,期待未来能继续为您带来更多有价值的内容!谢谢您!