Linux编程的基础:
C语言,shell脚本,网络编程,系统调用,进程间的通信,用户空间与内核通信。
计算机网络的基础:
协议栈,网络驱动,桥接,生成树协议,VLAN,QoS,ACL,防火墙,iptables, NAT,IGMP,
应用层开发:
DHCP,3G/4G Support,traffic meter,ripd,smtp邮件服务器,log系统,ipv6自动检测,自动配置
如何编译Linux:
Makefile的编写
驱动:
如何构造一个模块,模块参数,proc文件系统
如何通过ioctl,netlink与内核通信
消耗最长的时间:
关于USB, 用到的时间最长,但是其实感觉什么都没有学到。除了mount脚本,SMB的配置,主要和end-user扯皮了。
自己开发过一个类似traffic meter的东西,数据来源是通过高通提供的API获得,然后将数据保存到Flash里面,之后通过读取Flash获得历史数据。
软件设计方面,项目管理方面豪无进展
虽然是开发无线路由器,但是没有接触到无线的知识。