会进一步调用函数
ppp_send_frame( )
去发送单个数据包。函数
ppp_send_frame( )
根据前面
pppd
对
PPP
协议模块的设置调用压缩等扩展功能之后,
又经函数
ppp_push(
)
调用函数
pch->chan->ops->start_xmit( )
发送数据包。函数
pch->chan->ops->start_xmit(
)
是具体的传输方式,对于串口发送方式,则是
ppp_async.c:ppp_asynctty_open
中注册的函数
ppp_async_send( )
,函数
ppp_async_send( )
经函数
ppp_async_push( )
调用函数
tty->driver->write(
)
(定义在低层驱动程序中)
把数据发送到串口
2
(
GPRS
通
信模块接在串口
2
上)。
ppp_async.c
在初始化时(
ppp_async_init
),调用函数
tty_register_ldisc(
)
向
tty
注册了行规程
N_PPP
的处理接口,
也就是一组
回调函数。
在移动终端接收监控中心指令的过程中,
当
GPRS
通信模块收到数据