1.后台必须使用udevd来检测内核事件,主要检测两次event,第一次发生在插入是,内核需要能识别到这些3G模块,但一般是以CD-ROM或USB storage出现,别人叫"ZeroCD".,这时可以通过给udevd设定规则,让它去调用插入usbserial.ko和执行usb_modeswitch, 这个规则在新版的modeswitch中已经提供(>1.0.7)。 当这一步成功后, 这些usb设备会附加新的configuration 描述符,此时udevd再次检测到event,这是由于usb_modeswitch给usb设备发送一些信息改变了usb dongle一些行为,而usbserial同时给这些usb设别新的configuration,并且广播event.这一次udev会自动在/dev底下产生ttyUSB*或ttyACM*的设备,目的是为日后执行拨号上网提供设备节点。
2.现在的usb_modeswitch采用两套机制来对已识别ID号的设备进行变身工作,这两套变身是一样的,只是识别的过程不一样而已:1)采用配置文件usb_modeswitch.conf来记载各种MODEN 2)采用一个wraper,其实是一个tcl语言的测试脚本,查询usb_modeswitch.d目录底下与ID匹配的文件,将文件内容以参数形式传给usb_modeswitch。 其实这两套结果是一样的。
插入模块:
EC169: insmod usbserial vendor=0x12d1 product=0x1001
AC2746 insmod usbserial vendor=0x19d2 product=0xfff1
3. 针对HUAWEI EC169,在usb_modeswitch.conf的内容是:
408 ########################################################
409 # Huawei E169
410 #
411 # Contributor: Dale Lane
412
413 DefaultVendor= 0x12d1;
414 DefaultProduct= 0x1001
415
416 # choose one of these:
417 ;DetachStorageOnly=1
418 HuaweiMode=1
4. 针对ZTX AC2746,
621 ########################################################
622 # ZTE AC2746 (EVDO)
623 #
624 # Contributor: Wasim Baig
625
626 DefaultVendor= 0x19d2
627 DefaultProduct= 0xfff5
628
629 TargetVendor= 0x19d2
630 TargetProduct= 0xfff1
631
632 MessageContent="5553424312345678c00000008000069f010000000000000000000000000000"
5. 接着下一步应该是提供一个pppd拨号的帐号文件
本来是可以通过wvdial,但移植wvdial到mips出现问题,所以这里就直接使用pppconfig来产生这些配置文件。可在pc上先实现,然后拷贝/etc/ppp 和 /ect/chatscripts目录到板上。
6。调用pppd call provider来执行拨号上网,provider为pppconfig产生的帐号文件,在/etc/ppp/peers/下可找到。
阅读(3218) | 评论(1) | 转发(0) |