你好!
我最近在使6410遇到一个问题,想请你帮忙看看。如下:
我有个tdscdma 的3g 模块,接到了6410开发板usb口上,在kenerl的usbserial模块下option.c中添加了USB_DEVICE 结构中(USB_DEVICE_AND_INTERFACE_INFO 这个有什么用,我用这个后没有相应的ttyUSB生成?)。重烧内核后,插上usb 3Gmodem后,会生成ttyUSB0,ttyUSB1(两个interface)。打一个串口ttyUSB0,能正常与ttyUSB0通信。这时我通过telnet运行另外一个程序(前面那个程序还在)(此程序只打开ttyUSB1),如下:(或者用microcom打开ttyUSB1)
int main(int argc, char *argv[])
{
int fd;
struct termios options;
/* open the port */
fd = open("/dev/ttyUSB1", O_RDWR | O_NOCTTY | O_NDELAY);
fcntl(fd, F_SETFL, 0);
/* get the current options */
tcgetattr(fd, &options);
/* set raw input, 1 second timeout */
options.c_cflag |= (CLOCAL | CREAD);
options.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG);
options.c_oflag &= ~OPOST;
options.c_cc[VMIN] = 0;
options.c_cc[VTIME] = 10;
/* set the options */
tcsetattr(fd, TCSANOW, &options);
//close(fd);
pause();
}
这时ttyUSB1处于打开状态。ttyUSB0还能正常工作。当关闭ttyUSB1时,ttyUSB0串口就有问题了,不能接收与发送。
也就是说当ttyUSB0正在工作时,只要ttyUSB1串口被 打开关闭过一次,ttyUSB0串口就会有问题,如果ttyUSB1打开,而不关闭,ttyUSB0以正常了。
我在其他平台上验证过modem模块没有问题。
请帮我看下是否是平台的原因。
谢谢!