WPS PIN 什么是 WPS PIN?Wi-Fi Protected Setup (WPS) 是一种简化无线网络安全设置的标准。WPS PIN(Personal Identification Number)是一种配置方法,用于通过输入一个静态的PIN来实现网络设备的自动配对。WPS PIN方法要求用户输入一个由路由器或接入点提供的8位PIN,来完成设备配对。 WPS PIN的工作流程 生成PIN:路由器或接入点 2024-11-10 #工作总结 #CPE
16)硬盘初始化 hd_init123456void main(void) { ... hd_init(); floppy_init(); ...} 最后一个是软盘初始化,现在已经被淘汰了,所以硬盘初始化就是最后一个需要初始化的部分。 12345678910111213141516171819202122232425struct blk_dev_struct { 2024-11-08 Linux源码 #Linux源码
15)缓冲区初始化 buffer_init123456// init/main.cvoid main(void) { ... buffer_init(buffer_memory_end); ...} buffer_memory_end在前已经设置好了,是内存的末尾地址 内存管理在前面也已经初始化完成,将内存分页使用mem_map来管理,并将2M以下的部分标记为了已使用 现在 2024-11-07 Linux源码 #Linux源码
SSH登陆失败 背景最近在用rock-chips的芯片做项目,在移植openssh后,无法正常使用密码登录ssh,记录解决思路和解决方法。 shadow/etc/shadow 文件是 Linux 系统中用于存储用户密码和账户过期信息的文件。它包含了每个用户的账户信息,尤其是与身份验证和密码相关的内容。每一行包含一个用户的信息,字段之间由冒号 : 分隔。 具体格式为: 1用户名:加密后的密码:最后更改密码的天数:最 2024-11-05 工作总结 #工作总结 #Linux用户 #shadow #SSH
14)进程调度初始化 shed_initshed_init主要负责进程调度的初始化,是多进程的基石 TSS 和 LDT123456// kernel/sched.cvoid sched_init(void) { set_tss_desc(gdt+4, &(init_task.task.tss)); set_ldt_desc(gdt+5, &(init_task.task.ldt)) 2024-10-18 Linux源码 #Linux源码
13)时间初始化 time_init启动后系统就会记录显示时间,这部分就是又这里实现的 123456789101112131415161718192021222324252627// init/main.c#define CMOS_READ(addr) ({ \ outb_p(0x80|addr,0x70); \ inb_p(0x71); \})#define BCD_TO_BIN( 2024-10-14 Linux源码 #Linux源码
WiFi功耗降低 背景欧洲ErP(Energy-Related Products,能效指令)待机功耗新法规已于2023年4月18日正式发布,2023年5月9日生效,并于2025年5月9日起强制实施。主要变化如下:1、涵盖各种电器和电子设备在关闭模式,待机模式和联网待机时的最大能耗要求。2、废除旧的欧盟待机功耗法规(EC)1275/2008和简单机顶盒生态设计要求法规(EC)107/2009。3、待机和关闭模式下的限 2024-09-25 工作总结 #工作总结
12)控制台初始化 tty_init123456// kernel/chr_drv/tty_io.cvoid tty_init(void){ rs_init(); con_init();} 这个方法被拆分成了两个子方法 rs_init123456789// kernel/chr_drv/serial.cvoid rs_init(void){ set_intr_gate 2024-08-07 Linux源码 #Linux源码
11)块设备初始化 blk_dev_init123456// init/main.cvoid main(void) { ... blk_dev_init(); ...} 块设备初始化是为后续读写磁盘做准备 块设备初始化读取硬盘数据到内存中,是操作系统的一个基础功能。这个过程需要有块设备驱动程序、文件系统、缓冲区,甚至进程的阻塞与唤醒等功能的支持 12345678// kerne 2024-08-07 Linux源码 #Linux源码
10)中断初始化 trap_init1234567891011121314151617181920212223242526272829303132// init/main.cvoid main(void) { ... trap_init(); ...}// kernel/traps.cvoid trap_init(void) { int i; set_tr 2024-08-06 Linux源码 #Linux源码