usb cdc-acm.c手机ubuntu上网问题

T-Quake 2009-10-27 10:35:29
我尝试用手机连接到ubuntu然后用wvdial上网。结果在插上手机的时候,dmesg
显示:

[ 6553.476317] usb 6-3: configuration #2 chosen from 1 choice
[ 6553.483037] /build/buildd/linux-2.6.24/drivers/usb/class/cdc-acm.c: This device cannot do calls on its own. It is no modem.
[ 6553.483059] cdc_acm 6-3:2.0: ttyACM0: USB ACM device

我仔细查看了我的wvdial.conf文件

[Dialer Defaults]
Init1 = at+cgdcont=1,"IP","cmnet"
Username = any
Password = any
Phone = *99#
New PPPD = yes
Modem = /dev/ttyACM0
Baud = 460800
Modem Type = USB Modem
Carrier Check = no
Stupid Mode = yes

这个没问题
我google了“This device cannot do calls on its own. It is no modem.”
说是需要sudo modprobe usbserial idVendor=0x0255 idProduct=0x0002(lusub中的数据)
可是依然不行,而且那是ubunut8.04的方法。我的是ubunut9.04。
我不知道是什么问题,我查看了内核驱动cdc-acm.c文件 报错的位置

switch (buffer [2]) {
case USB_CDC_UNION_TYPE: /* we've found it */
if (union_header) {
dev_err(&intf->dev, "More than one "
"union descriptor, "
"skipping ...\n");
goto next_desc;
}
union_header = (struct usb_cdc_union_desc *)
buffer;
break;
case USB_CDC_COUNTRY_TYPE: /* export through sysfs*/
cfd = (struct usb_cdc_country_functional_desc *)buffer;
break;
case USB_CDC_HEADER_TYPE: /* maybe check version */
break; /* for now we ignore it */
case USB_CDC_ACM_TYPE:
ac_management_function = buffer[3];
break;
case USB_CDC_CALL_MANAGEMENT_TYPE:
call_management_function = buffer[3];
call_interface_num = buffer[4];
if ((call_management_function & 3) != 3)//这段问题
dev_err(&intf->dev, "This device "
"cannot do calls on its own. "
"It is no modem.\n");
break;
default:

我在怀疑是我手机问题,还请知道的大哥帮下忙
...全文
1049 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
fbt045 2012-09-21
  • 打赏
  • 举报
回复
我也遇到了这样的问题,不过我用的是无线上网卡,请问楼主怎么解决的?
dxf029044367 2009-12-08
  • 打赏
  • 举报
回复
我也遇到相同的问题,WINDOWS下工作正常 ,ubuntu下不能识别出ttyACM0端口,楼上的是如何解决的?能否告知一下,谢谢!
steptodream 2009-10-27
  • 打赏
  • 举报
回复
学习了

4,436

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧