S3C2416开发板使用moden无线上网,无法使用ttyUSB0口
各位大虾,这个问题困扰我很久了,任何提示我都不胜感激:
任务:使用华为EM750M 3G模块在23C2416平台(内核版本为2.6.21)实现无线上网;
1、将moden接入pc,在x86 fedora下试验拨号脚本:使用ppp-on和ppp-on-dialer脚本(调用pppd和chat指令),能顺利ping通外网;
2、modem在S3C2440(内核版本为2.6.18)上试验:将内核重新编译使其支持ppp拨号以及在GSM、CDMA,将ppp-2.4.4b1 软件交叉编译后重做文件系统,将内核和文件系统烧录到开发板。modem接到开发板后,使用上述两个拨号脚本,也能够顺利实现ping通外网(如 baidu、google);
3、将modem接入到S3C2416,问题出现了:
[root@ebr /home]$ ls -l /dev/ttyU*
brw-rw---- 1 root root 188, 0 Jan 1 00:34 /dev/ttyUSB0
brw-rw---- 1 root root 188, 1 Jan 1 00:34 /dev/ttyUSB1
brw-rw---- 1 root root 188, 2 Jan 1 00:34 /dev/ttyUSB2
[root@ebr /home]$ cat /dev/ttyU*
cat: /dev/ttyUSB0: No such device or address
cat: /dev/ttyUSB1: No such device or address
cat: /dev/ttyUSB2: No such device or address
[root@ebr /home]$ pppd /dev/ttyUSB0 115200
pppd: unrecognized option '/dev/ttyUSB0'
这里有3个ttyUSB口,其中ttyUSB0是modem口,应对其进行拨号。用ls命令可以看到该设备,但是用cat、pppd或者拨号脚本对其进行操作时却提示无此设备或地址。我将ttyUSB0删除并mknod /dev/ttyUSB0 b 188 0后还是无法使用该设备;在其使用的驱动drivers/usb/serial/option.c中的option_init()函数以及 option_init函数调用的其他函数中添加打印信息,观察开发板启动信息发现添加的打印信息都得到了显示,并且提示:USB Serial support registered for GSM modem (1-port)和USB Driver for GSM modems: v0.7.1,这是否说明设备成功注册了呢?但是我写了一个测试函数open该设备时返回值却为负值,说明无法打开该设备。
在S3C2440上能使用该设备,为何在S3C2416上却不可以呢(对比了两种的驱动option.c没有本质上的改动,只有一些语法和参数的变化)?希望能得到大家的帮助,谢谢~