肿瘤康复网,内容丰富有趣,生活中的好帮手!
肿瘤康复网 > 7405 平台移植华为EC122上网卡

7405 平台移植华为EC122上网卡

时间:2020-04-13 06:51:44

相关推荐

一、 开发环境 板子:海思3716C dongle:华为EC122 虚拟机:ubuntu10.10 在这里参照了一篇博文,由于所移植的上网卡是一个型号,省去了找资料的很多麻烦,苍天啊,大地啊,感动。呵呵 /liuming_3385/archive//02/24/6206306.aspx 二、以前也移植过一个dongle,那次是稀里糊涂的搞了半个月,最后虽然能够拨号上网了,但是不稳定,在移植中对一些知识的了解也是一知半解。通过这次的移植,了解了3G上网卡的工作流程。需要的工具:ppp-2.3.5.tar.gz udev-100.tar.bz2 1、libusb-0.1.12.tar.gz 下载地址:/ libusb 是一个用C语言开发的跨平台的USB设备访问接口库。libusb 设计了一系列的外部API 为应用程序所调用,通过这些API应用程序可以操作硬件,从libusb的源代码可以看出,这些API 调用了内核的底层接口,和kernel driver中所用到的函数所实现的功能差不多,只是libusb更加接近USB 规范。使得libusb的使用也比开发内核驱动相对容易的。需要注意的是libusb有两个版本,0.1 和 1.0版本,usb-modeswitch依赖libusb,但是1.0版本的编译不过。源码里有标准的automake 工具生成的configure文件,直接交叉编译。 2、usb-modeswitch-1.1.7.tar.bz2 下载地址:http://www.draisberghof.de/usb_modeswitch/ 主页说明: USB_ModeSwitch is (surprise!) a mode switching tool for controlling "flip flop" (multiple device) USB gear. Several new USB devices (especially high-speed WAN stuff, based on cell phone chipsets containing that feature) have their MS Windows drivers onboard; when plugged in for the first time they act like a flash storage and start installing the driver from there. After installation (and on every consecutive plugging) the driver switches the mode internally, the storage device vanishes (in most cases), and a new device (like an USB modem) shows up. Modem maker "Option" calls that feature "ZeroCD (TM)" since it eliminates the need for shipping a separate driver carrier.

In the beginning, nothing of this was documented in any form and there was hardly any Linux support available. On the good side, most of the known devices do work in both modes with the available Linux drivers like "usb-storage" or "option" (an optimized serial driver for high-speed modems).That leaves only the problem of the mode switching from storage to modem or whatever the thing is supposed to do.

Fortunately there are things like human reason, USB sniffing programs and "libusb". It is possible to eavesdrop the communication of the MS Windows driver, to isolate the command or action that does the switching and to reproduce the same thing under the rule of Linux or the BSD variants.

USB_ModeSwitch makes this process easy to handle by taking the important parameters from a configuration file and doing all the initialization and communication stuff, with heavy help from "libusb". It is mainly used automatically - via udev events and rules - to do the switch without any user interaction. But it can also be run as a command line tool, usually when trying to make unknown devices work with it. USB_ModeSwitch 是控制"flip flop"(多重设备)USB装置的模式转换工具, 现在一些新的USB 设备(特别是一些高速 WAN 设备,如3G数据卡)都有MS Windows的驱动程序,当第一次插入机子的时候,它们处于闪存模式,并从中提取和安装驱动。在驱动安装完毕之后,驱动马上转换模式,储存设备消失(基本上都是这样的),然后一个新的设备(比如一个USB modem)出现。有些人把这个特性叫做"ZeroCD"。 1. Usb 闪存模式:提取和安装驱动 2. 转换模式:储存设备模式转换为所需(如3G)设备模式 3. 所需设备模式:使用设备新的功能 编译修改Makefile ,指定交叉编译工具链和libusb的头文件和库的位置: root@wang:/work/dongle/usb-modeswitch-1.1.7# cat Makefile -n 1 DESTDIR = /work/dongle/rootfs 2 PROG = usb_modeswitch 3 VERS = 1.1.7 4 CC= mipsel-linux-gcc 5 STRIP = mipsel-linux-strip 6 CFLAGS += -Wall 7 LIBS = -l usb 8 RM= /bin/rm -f 9 OBJS = usb_modeswitch.c 10 PREFIX = $(DESTDIR)/usr 11 ETCDIR = $(DESTDIR)/etc 12 UDEVDIR = $(DESTDIR)/lib/udev 13 SBINDIR = $(PREFIX)/sbin 14 MANDIR = $(PREFIX)/share/man/man1 15 CFLAGS += -I /work/dongle/rootfs/include 16 CFLAGS += -L /work/dongle/rootfs/lib 修改 usb_modeswitch.conf 文件,加入设备的信息:这一步很关键,资料不好找啊,除非生产厂提供支持。在usb-modeswitch-1.1.7目录下有device_reference.txt文件,在这里可以查到一些设备的信息,但不完整。关于设备的Vendor Product可以通过另外一种方法,在后边会看到。 root@wang:/work/dongle/usb-modeswitch-1.1.7# cat usb_modeswitch.conf # Configuration for the usb_modeswitch package, a mode switching tool for # USB devices providing multiple states or modes # # This file is evaluated by the wrapper script "usb_modeswitch_dispatcher" # in /usr/sbin # To enable an option, set it to "1", "yes" or "true" (case doesn't matter) # Everything else counts as "disable" # Disable automatic mode switching globally (e.g. to access the original # install storage) DisableSwitching=0 # Enable logging (results in a extensive report file in /var/log, named # "usb_modeswitch_" (and probably others)

EnableLogging=0 # Huawei EC122 # # # # # # Contributor: Anders Blomdell, Ahmed Soliman # DefaultVendor= 0x12d1 DefaultProduct= 0x1446 TargetVendor= 0x12d1 TargetProduct= 0x140c MessageContent="55534243123456780000000000000011060000000000000000000000000000" 3、udev-100.tar.bz2 下载地址:/pub/linux/utils/kernel/hotplug/ 使用更高版本的udev没编译过。 udev是一个工作在用户空间的设备管理工具。在USB_ModeSwitch 的介绍中我们已经知道,USB_ModeSwitch 依赖于udev实现热插热拔。 修改Makefile: 93 prefix ?=$(PWD)/rootfs 94 etcdir = ${prefix}/etc 95 sbindir = ${prefix}/sbin 96 usrbindir = ${prefix}/usr/bin 97 usrsbindir = ${prefix}/usr/sbin 98 libudevdir = ${prefix}/lib/udev 99 mandir = ${prefix}/usr/share/man 100 configdir = ${etcdir}/udev 101 udevdir = /dev 102 DESTDIR = 103 104 INSTALL = /usr/bin/install -c 105 INSTALL_PROGRAM = ${INSTALL} 106 INSTALL_DATA = ${INSTALL} -m 644 107 INSTALL_SCRIPT = ${INSTALL_PROGRAM} 108 PWD = $(shell pwd) 109 110 CROSS_COMPILE ?=mipsel-linux- 111 CC = $(CROSS_COMPILE)gcc 112 LD = $(CROSS_COMPILE)gcc 113 AR = $(CROSS_COMPILE)ar 4、完事具备,还欠东风。设备节点准备完以后,还需要拨号工具上网。这就需要PPPD工具上场了。 修改configure文件: root@wang:/work/dongle/ppp-2.4.5# cat configure -n 1 #!/bin/sh 2 # $Id: configure,v 1.38 /06/15 07:08:49 paulus Exp $ 3 4 # Where to install stuff by default 5 export CC=mipsel-linux-gcc 6 DESTDIR=$PWD/rootfs/usr/local 7 SYSCONF=$PWD/rootfs/etc 运行 ./configure 生成Makefile。 修改Makefile 将install 命令中的 -s 选项去掉。 生成的工具和库中我们需要的是pppd chat rp-pppoe.so 5、将生成的可执行文件和库复制到根文件系统。将各种配置文件复制到根文件系统。usb_modeswitch.conf 将安装udev时生成的/etc/udev目录复制到根文件系统的/etc 下;将、ppp-2.4.5/etc.ppp 目录下的内容复制到/etc/ppp目录下。根据上边介绍的攻略生成PPPD 的配置文件并放到根文件系统的相应目录。

6、挂载根文件系统 # # mount -t usbfs none /proc/bus/usb # mount -t nfs 172.16.7.153:/nfs/7550B/rootfs/dev/ /dev/ # mount -t nfs 172.16.7.153:/nfs/7550B/rootfs/usr/ /usr/ # mount -t nfs 172.16.7.153:/nfs/7550B/rootfs/etc/ /etc/ # # # # # # cat /proc/bus/usb/devices

T: Bus=04 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2 B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0 D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=0000 ProdID=0000 Rev= 2.06 S: Manufacturer=Linux 2.6.18-7.5 ohci_hcd S: Product=BRCM OHCI S: SerialNumber=ohci-brcm C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255ms

T: Bus=03 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2 B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0 D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=0000 ProdID=0000 Rev= 2.06 S: Manufacturer=Linux 2.6.18-7.5 ohci_hcd S: Product=BRCM OHCI S: SerialNumber=ohci-brcm C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255ms

T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 2 B: Alloc= 0/800 us ( 0%), #Int= 0, #Iso= 0 D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=0000 ProdID=0000 Rev= 2.06 S: Manufacturer=Linux 2.6.18-7.5 ehci_hcd S: Product=BRCM EHCI S: SerialNumber=ehci-brcm C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=256ms

T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 2 B: Alloc= 0/800 us ( 0%), #Int= 0, #Iso= 0 D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=0000 ProdID=0000 Rev= 2.06 S: Manufacturer=Linux 2.6.18-7.5 ehci_hcd S: Product=BRCM EHCI S: SerialNumber=ehci-brcm C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=256ms

7、安装设备驱动。 # lsmod swsysdrv 2416 0 - Live 0xc0060000 bcmdriver 15904 0 - Live 0xc0064000 yaffs 125840 2 - Live 0xc00bf000 brcmnand 94000 4 - Live 0xc0079000 # cd /usr/local/bin/ # ls chat pppoe-discovery udevtest comgt swapp udevtrigger fat32formatswppp-offunzip fdisk udevcontrolusb_modeswitch libusb-config udevd usb_modeswitch.conf mke2fs udevinfo zip option.koudevmonitor pppd udevsettle # insmod option.ko drivers/usb/serial/usb-serial.c: USB Serial support registered for GSM modem (1-port) usbcore: registered new driver option drivers/usb/serial/option.c: USB Driver for GSM modems: v0.7.1 # lsmod option 7360 0 - Live 0xc005d000 swsysdrv 2416 0 - Live 0xc0060000 bcmdriver 15904 0 - Live 0xc0064000 yaffs 125840 2 - Live 0xc00bf000 brcmnand 94000 4 - Live 0xc0079000 # # 8、运行udevd 工具,以守护进程运行。 # udevd -h Usage: udevd [--help] [--daemon] [--debug-trace] [--verbose] [--version] # udevd --daemon # ps PID USER VSZ STAT COMMAND 1 root 1200 S init2 root0 SW [migration/0] 3 root0 SWN [ksoftirqd/0] 4 root0 SW [migration/1] 5 root0 SWN [ksoftirqd/1] 6 root0 SW< [events/0] 7 root0 SW< [events/1] 8 root0 SW< [khelper] 9 root0 SW< [kthread] 10 root0 SW< [kblockd/0] 11 root0 SW< [kblockd/1] 12 root0 SW< [khubd] 13 root0 SW< [kseriod] 14 root0 SW [pdflush] 15 root0 SW [pdflush] 16 root0 SW< [kswapd0] 17 root0 SW< [aio/0] 18 root0 SW< [aio/1] 19 root0 SW< [ata/0] 20 root0 SW< [ata/1] 21 root0 SW< [ata_aux] 22 root0 SW< [scsi_eh_0] 23 root0 SW< [scsi_eh_1] 24 root0 SW [mtdblockd] 25 root0 SW [romblockd] 26 root0 SW< [pegasus] 27 root0 SW< [kpsmoused] 47 bin 824 S portmap 48 root 1188 S telnetd 67 root 956 S /usr/bin/swsyscmd 97 root0 SW< [kjournald] 105 root 1236 S -/bin/ash 108 root0 SW< [rpciod/0] 109 root0 SW< [rpciod/1] 110 root0 SW [lockd] 122 root 900 S < udevd --daemon 123 root 1192 R ps # # 9、在U口插上dongle。 # usb 3-2: new full speed USB device using brcm-ohci-0 and address 2 usb 3-2: configuration #1 chosen from 1 choice scsi2 : SCSI emulation for USB Mass Storage devices isa bounce pool size: 16 pages Vendor: HUAWEI Model: Mass Storage Rev: 2.31 Type: CD-ROMANSI SCSI revision: 00 scsi 2:0:0:0: Attached scsi generic sg1 type 5

# cd /usr/local/bin/ # ls chat pppoe-discovery udevtest comgt swapp udevtrigger fat32formatswppp-offunzip fdisk udevcontrolusb_modeswitch libusb-config udevd usb_modeswitch.conf mke2fs udevinfo zip option.koudevmonitor pppd udevsettle 10、转化ROM设备为usb设备。 # usb_modeswitch -c usb_modeswitch.conf

Looking for target devices ... No devices in target mode or class found Looking for default devices ... Found devices in default mode, class or configuration (1) Accessing device 002 on bus 003 ... Getting the current device configuration ... OK, got current device configuration (1) Using endpusb 3-2: usbfs: process 138 (usb_modeswitch) did not claim interface 0 before use oints 0x08 (out) and 0x87 (in) Using endpoints 0x08 (out) and 0x87 (in) Inquiring device details; driver will be detached ... Looking for active driver ... OK, driver found ("usb-storage") OK, driver "usb-storage" detached

SCSI inquiry data (for identification) ------------------------- Vendor String: HUAWEI Model String: Mass Storage Revision String: 2.31 -------------------------

USB description data (for identification) ------------------------- Manufacturer: HUAECHNOLOGIES Product: HUAWEI Mobile Serial No.: ---------------------- Setting up communication with interface 0 ... Using endpoint 0x08 for message sending ... Trying to send message 1 to endpoint 0x08 ... OK, message successfully sent Resetting response endpoint 0x87 Error resetting endpoint: -145 Resetting message endpoint 0x08 Error resetting endpoint: -145 usb 3-2: USB disconnect, address 2 Device is gone, skipping any further commands -> Run lsusb to note any changes. Bye.

# usb 3-2: new full speed USB device using brcm-ohci-0 and address 3 usb 3-2: configuration #1 chosen from 1 choice option 3-2:1.0: GSM modem (1-port) converter detected usb 3-2: GSM modem (1-port) converter now attached to ttyUSB0 option 3-2:1.1: GSM modem (1-port) converter detected usb 3-2: GSM modem (1-port) converter now attached to ttyUSB1 option 3-2:1.2: GSM modem (1-port) converter detected usb 3-2: GSM modem (1-port) converter now attached to ttyUSB2 option 3-2:1.3: GSM modem (1-port) converter detected usb 3-2: GSM modem (1-port) converter now attached to ttyUSB3 scsi3 : SCSI emulation for USB Mass Storage devices

# Vendor: HUAWEI Model: Mass Storage Rev: 2.31 Type: CD-ROMANSI SCSI revision: 00 scsi 3:0:0:0: Attached scsi generic sg1 type 5

ls /dev/ bcmdebughdc6 mtdr2strm9 bcmdmainputmtdr3sysdev bcmgraphics_0 intdevmtdr4tty bcmgraphics_1 kf2x00mtdr5tty0 bcmindex_0 kf2x01mtdr6tty1 bcmindex_1 kfir0mtdr7tty2 bcmindex_2 kmem mtdr8tty3 bcmindex_3 loop0mtdr9tty4 bcmioloop1null tty5 bcmkeypad loop10pod ttyS0 bcmledsloop11ppp ttyS1 bcmmessage loop12ptmx ttyS2 bcmoutput_0 loop13pts ttyS64 bcmoutput_1 loop14ram0 ttyUSB0 bcmpaxelloop15ram1 ttyUSB1 bcmpcm_0loop2randomttyUSB2 bcmpcm_1loop3scardattyUSB3 bcmpcmcapture_0 loop4scardburandom bcmpcmcapture_1 loop5scd0 usbdev3.2 bcmplay_0 loop6scd1 usbdev3.2_ep00 bcmplay_1 loop7sda usbdev3.2_ep08 bcmplayes_0 loop8sda1 usbdev3.2_ep87 bcmplayes_1 loop9sda2 usbdev3.3 bcmplayes_2 Makefilesda3 usbdev3.3_ep00 bcmplayes_3 mem sda4 usbdev3.3_ep02 bcmqamoob mtd0 sda5 usbdev3.3_ep03 bcmrecord_0 mtd1 sda6 usbdev3.3_ep04 bcmrecord_1 mtd10sdb usbdev3.3_ep06 bcmrecord_2 mtd11sdb1 usbdev3.3_ep08 bcmrecord_3 mtd12sdb2 usbdev3.3_ep81 bcmremote_a mtd2 sdb3 usbdev3.3_ep82 bcmremote_b mtd3 sdb4 usbdev3.3_ep83 bcmsejinkbd mtd4 sdb5 usbdev3.3_ep84 bcmsejinrem mtd5 sdb6 usbdev3.3_ep85 bcmsettopapi mtd6 sdc usbdev3.3_ep86 bcmtransport mtd7 sdc1 usbdev3.3_ep87 bcmtunermtd8 sdc2 usbdev3.5 bcmupggpio mtd9 sdc3 usbdev3.5_ep00 bcmupgi2c mtdblock0 sdc4 usbdev3.5_ep08 bcmvbimtdblock1 sdc5 usbdev3.5_ep87 brcm0mtdblock10 sdc6 usbdev3.6 consolemtdblock11 sg1 usbdev3.6_ep00 docsisiomtdblock12 sr0 usbdev3.6_ep02 hda mtdblock2 sr1 usbdev3.6_ep03 hda1 mtdblock3 strm0usbdev3.6_ep04 hda2 mtdblock4 strm1usbdev3.6_ep06 hda3 mtdblock5 strm10usbdev3.6_ep08 hda4 mtdblock6 strm11usbdev3.6_ep81 hda5 mtdblock7 strm12usbdev3.6_ep82 hda6 mtdblock8 strm2usbdev3.6_ep83 hdc mtdblock9 strm3usbdev3.6_ep84 hdc1 mtdr0strm4usbdev3.6_ep85 hdc2 mtdr1strm5usbdev3.6_ep86 hdc3 mtdr10strm6usbdev3.6_ep87 hdc4 mtdr11strm7zero hdc5 mtdr12strm8 # 到此为止生成了设别节点,下面我们拨号:

11、pppd拨号: # pppd call cdma2000& # No Rx Descriptor, disabling rx DMA No Rx Descriptor, disabling rx DMA Can't create lock file /var/lock/LCK..ttyUSB0: No such file or directory 在/var 目录下生成lock目录。 # pppd call cdma2000& # Warning: couldn't open ppp database /var/run/pppd2.tdb Can't create lock file /var/lock/LCK..ttyUSB0: No such file or directory

# mkdir /var/lock/ # pppd call cdma2000& # Warning: couldn't open ppp database /var/run/pppd2.tdb Fatal signal 11 Script /usr/local/bin/chat -s -v -f /etc/ppp/cdma2000-connect-chat finished (pid 202), status = 0x7f Connect script failed

[1] + Done(8)pppd call cdma2000 # mkdir /var/run # pppd call cdma2000& # lockd: cannot monitor 172.16.7.153 lockd: failed to monitor 172.16.7.153 Warning: couldn't open ppp database /var/run/pppd2.tdb Fatal signal 11 Script /usr/local/bin/chat -s -v -f /etc/ppp/cdma2000-connect-chat finished (pid 205), status = 0x7f Connect script failed

# touch /var/run/pppd2.tdb [1] + Done(8)pppd call cdma2000

# pppd call cdma2000& # timeout set to 5 seconds abort on (NO CARRIER) abort on (ERROR) abort on (NO DIALTONE) abort on (BUSY) abort on (NO ANSWER) send (^MATZ^M) expect (OK) ATZ^M^M OK -- got it

send (ATD#777^M) expect (CONNECT) ^M ATD#777^M^M CONNECT -- got it

send (\d) Script /usr/local/bin/chat -s -v -f /etc/ppp/cdma2000-connect-chat finished (pid 218), status = 0x0 Serial connection established. using channel 1 Using interface ppp0 Connect: ppp0 <--> /dev/ttyUSB0 sent [LCP ConfReq id=0x1 ] rcvd [LCP ConfAck id=0x1 ] rcvd [LCP ConfReq id=0x2 ] sent [LCP ConfAck id=0x2 ] rcvd [CHAP Challenge id=0x3 <22527ee4763d952b0c8c1faf57230286>, name = ""] sent [CHAP Response id=0x3 <832bf64c4a5451605c7cb078c90a9480>, name = "CARD"] rcvd [CHAP Success id=0x3 "\000"] CHAP authentication succeeded: CHAP authentication succeeded sent [IPCP ConfReq id=0x1 ] rcvd [IPCP ConfReq id=0x4 ] sent [IPCP ConfRej id=0x4 ] rcvd [IPCP ConfReq id=0x6 ] sent [IPCP ConfAck id=0x6 ] rcvd [IPCP ConfNak id=0x1 ] sent [IPCP ConfReq id=0x2 ] rcvd [IPCP ConfAck id=0x2 ] local IP address 115.171.106.187 remote IP address 115.168.64.83 primary DNS address 219.141.140.10 secondary DNS address 219.141.136.10

# ps PID USER VSZ STAT COMMAND 1 root 1200 S init2 root0 SW [migration/0] 3 root0 SWN [ksoftirqd/0] 4 root0 SW [migration/1] 5 root0 SWN [ksoftirqd/1] 6 root0 SW< [events/0] 7 root0 SW< [events/1] 8 root0 SW< [khelper] 9 root0 SW< [kthread] 10 root0 SW< [kblockd/0] 11 root0 SW< [kblockd/1] 12 root0 SW< [khubd] 13 root0 SW< [kseriod] 14 root0 SW [pdflush] 15 root0 SW [pdflush] 16 root0 SW< [kswapd0] 17 root0 SW< [aio/0] 18 root0 SW< [aio/1] 19 root0 SW< [ata/0] 20 root0 SW< [ata/1] 21 root0 SW< [ata_aux] 22 root0 SW< [scsi_eh_0] 23 root0 SW< [scsi_eh_1] 24 root0 SW [mtdblockd] 25 root0 SW [romblockd] 26 root0 SW< [pegasus] 27 root0 SW< [kpsmoused] 47 bin 824 S portmap 48 root 1188 S telnetd 67 root 956 S /usr/bin/swsyscmd 97 root0 SW< [kjournald] 105 root 1236 S -/bin/ash 108 root0 SW< [rpciod/0] 109 root0 SW< [rpciod/1] 110 root0 SW [lockd] 122 root 900 S < udevd --daemon 157 root0 SW< [scsi_eh_3] 158 root0 SW< [usb-storage] 217 root 1480 S pppd call cdma2000 221 root 1192 R ps # ifconfig eth0 Link encap:Ethernet HWaddr 00:07:63:00:00:0B inet addr:172.16.7.155 Bcast:172.16.7.255 Mask:255.255.255.0UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1RX packets:7281 errors:2 dropped:2 overruns:0 frame:2TX packets:2630 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:1850283 (1.7 MiB) TX bytes:437288 (427.0 KiB)Interrupt:16

lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0UP LOOPBACK RUNNING MTU:16436 Metric:1RX packets:16 errors:0 dropped:0 overruns:0 frame:0TX packets:16 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0RX bytes:1344 (1.3 KiB) TX bytes:1344 (1.3 KiB)

ppp0 Link encap:Point-to-Point Protocol inet addr:115.171.106.187 P-t-P:115.168.64.83 Mask:255.255.255.255UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1448 Metric:1RX packets:4 errors:0 dropped:0 overruns:0 frame:0TX packets:4 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:3RX bytes:70 (70.0 B) TX bytes:64 (64.0 B)

12、拔掉网线测试,主意这里的网线是交换机的广域网口,如果是lan口的话,NFS服务不可用。

# # ps PID USER VSZ STAT COMMAND 1 root 1200 S init2 root0 SW [migration/0] 3 root0 SWN [ksoftirqd/0] 4 root0 SW [migration/1] 5 root0 SWN [ksoftirqd/1] 6 root0 SW< [events/0] 7 root0 SW< [events/1] 8 root0 SW< [khelper] 9 root0 SW< [kthread] 10 root0 SW< [kblockd/0] 11 root0 SW< [kblockd/1] 12 root0 SW< [khubd] 13 root0 SW< [kseriod] 14 root0 SW [pdflush] 15 root0 SW [pdflush] 16 root0 SW< [kswapd0] 17 root0 SW< [aio/0] 18 root0 SW< [aio/1] 19 root0 SW< [ata/0] 20 root0 SW< [ata/1] 21 root0 SW< [ata_aux] 22 root0 SW< [scsi_eh_0] 23 root0 SW< [scsi_eh_1] 24 root0 SW [mtdblockd] 25 root0 SW [romblockd] 26 root0 SW< [pegasus] 27 root0 SW< [kpsmoused] 47 bin 824 S portmap 48 root 1188 S telnetd 67 root 956 S /usr/bin/swsyscmd 97 root0 SW< [kjournald] 105 root 1236 S -/bin/ash 108 root0 SW< [rpciod/0] 109 root0 SW< [rpciod/1] 110 root0 SW [lockd] 122 root 900 S < udevd --daemon 157 root0 SW< [scsi_eh_3] 158 root0 SW< [usb-storage] 217 root 1480 S pppd call cdma2000 228 root 1192 R ps # route -n Kernel IP routing table Destination GatewayGenmaskFlags Metric Ref Use Iface 115.168.64.83 0.0.0.0255.255.255.255 UH 0 0 0 ppp0 172.16.7.0 0.0.0.0255.255.255.0 U 0 0 0 eth0 0.0.0.00.0.0.00.0.0.0U 0 0 0 ppp0 # ping PING (61.135.169.105): 56 data bytes 64 bytes from 61.135.169.105: seq=0 ttl=54 time=174.563 ms 64 bytes from 61.135.169.105: seq=1 ttl=54 time=176.748 ms 64 bytes from 61.135.169.105: seq=2 ttl=54 time=176.766 ms 64 bytes from 61.135.169.105: seq=3 ttl=54 time=188.764 ms 64 bytes from 61.135.169.105: seq=4 ttl=54 time=174.761 ms 64 bytes from 61.135.169.105: seq=5 ttl=54 time=177.752 ms 64 bytes from 61.135.169.105: seq=6 ttl=54 time=188.751 ms 64 bytes from 61.135.169.105: seq=7 ttl=54 time=193.745 ms

--- ping statistics --- 8 packets transmitted, 8 packets received, 0% packet loss round-trip min/avg/max = 174.563/181.481/193.745 ms 总结一下,其实借助udev设备,可以实现dongle的热插热拔,这需要编写udev脚本。以后在学习了。

如果觉得《7405 平台移植华为EC122上网卡》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。