ARM板和linux上的3G配置详解

这可是我的第一篇博客啊,要好好写。

 

     我们这段时间作了一个基于arm开发板和开源linux的3G模块,给大家作个参考。3G选用的是华为的EC1261,USB接口,现在市面上的基本都是USB口,据说可以直接去掉在USB modem的USB转串口等模块,直接通过GPIO口来控制3G模块,但是由于我们这资源有限,实现不了那么复杂的工作,所以就直接用了华为的产品了,而没有去找更加基础的芯片。

 

     USB网卡内部结构比较复杂,它们大部分都包括modem,USB转串口模块,存储模块,读卡器模块,所以linux内核需要添加的东西也比较多。USB主机控制器有3种规格:OHCI(Open Host Controller Interface)、UHCI(Universal Host Controller Interface)和EHCI(Enhanced Host Controller Interface),OHCI驱动程序用来为非PC系统上以及带有SiS和ALi芯片组的PC主板上的USB芯片提供支持。UHCI驱动程序多用来为大多数其他PC主板(包括Intel和Via)上的USB芯片提供支持。EHCI由USB 2.0规范所提出,它兼容OHCI和UHCI。UHCI的硬件线路比OHCI简单,所以成本较低,但需要较复杂的驱动程序,CPU负荷稍重。我们这里使用的是OHCI。

 

言归正传,我们来介绍第一步。重新编译Linux内核,我们需要在内核里添加如下模块:

              Device Drivers=>

                      USB support=>

                                [*] Suppon for Host-side USB

                                [*] USB device filesystem

                                [*] USB device class-devices

                                [*] OHCI HCDsupport

                                [*] USB Mass Storage Support

                                USB Serial Convelter suppor -->

                                        [*] USB driver for GSM and CDMA modems

                     SCSI device support=>

                                [*]SCSI device support
                                [*] SCSI disk support
                                [*] Probe all LUNs on each SCSI device

                     HDI Devices=>

                                [*] USB Human Interface Devices support

                                [*] /dev/hiddev raw HID device support

             Network device support=>

                     <*> PPP(point—to—point protoco1)support
                     <*> PPP support for async serial ports
                     <*> PPP suppo rt for sync tty ports
                     <*> PPP Deflate compression
                     <*> PPP BSD —Compress compression
                     <*> PPP MPPE compress compression(encryp—tion)
                     <*> PPP over Ethernet 

                     <*> PPP over 12TP

 

内核配置就这样了,但是别急,还没完呢。当你碰到一个内核并不支持的新设备后,只需要把该Dongle 3G接口的Vendor ID和Product ID添加到linux-2.6.x/drivers/usb/serial/optionc中的option_ids[]数组即可。顺便说下,每个USB设备都有Vendor ID和Product ID,但不一定唯一哦,Vendor ID是设备商ID,比如华为和中兴都有各自的Vendor ID。Product ID是他们旗下产品的ID,这个就不一定唯一了。

 

         然后开始编译内核,编译好了之后把内核下载进去,插上USB网卡,还要进行如下操作:

         mount -t usbfs usbfs /proc/bus/usb/

         然后运行命令cat /proc/bus/usb/devices 可以获得设备信息。如果没有devices文件的话说明你的配置有问题。呵呵。另外在dev下应该出现sr0文件。

 

  

下面是第二步,把3G网卡由存储模式转为 modem模式        

 

        部分网卡可以直接通过eject命令弹出,转换成modem模式,但是大部分都不行。 大家不用担心,有一个叫usb-modeswitch的软件可以帮我们解决这个问题。

        下面是一个同学的博客,大家直接看吧,我就不再重复了。

 

http://blog.csdn.net/zhanghaijin0911/archive/2011/03/08/6232564.aspx

 

不知大家第二步进行的怎么样,下面就是第三步了,也就是最后一步 PPP拨号

 

         下载PPP套件。本文选用其版本PPP-2.4.1。在终端中执行#tar zxvf PPP-2.4.4.tar.gz命令,将PPP-2.4.4.tar3gz解压至/opt目录,进入此目录后执行./configure命令,再执make CC=arm-linux-gcc命令编译char、PPpd、pppdump、pppstats,将生成的可执行文件拷贝到开发板的/bin目录下。

 

         下面这一步比较难,也就是配置文件问题。不详述了,直接引用。

      

http://blog.csdn.net/ipromiseu/archive/2010/01/07/5154004.aspx 配置文件相当齐全准确。

 

我要补充的一点是最好在

 /etc/resolv.conf 里直接加上一句 nameserver 8.8.8.8

 

 如果要用的话最好严格按照我说的作哦。

 

 

 

 

                           

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值