中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 移动开发 > 移动相关
e680i手机嵌入式Linux 研究
作者:Danny 时间:2007-12-29 17:23 出处:cdhthome 责编:月夜寒箫
              摘要:e680i手机嵌入式Linux 研究
 

e680i的手机,使用linux做操作系统,

对于搞linux的人来说,首先要做到的是能够进入telnet,才可以进一步研究e680i的linux.

telnet的tcpip网络是这样搭建的,将e680i的usb设置到motnet模式,所谓的motnet就是usbnet,

通过一个设备把2个usb口联起来进行通讯就是用的usbnet模式,是一种点对点的tcpip通道.

 

在网上查到的切换usb模式的方式,都是e680的,不适用于e680i,

通过研究手机文件系统的内容,发现用modem方式的at+mode=99来切换手机的usb到usblan模式

的方法不能使用,modem文件的反编译发现at+mode=99这个at命令参数已经被去掉.这样.只能通

过对/proc/motusbd进行直接写入来切换usb状态,写/proc/motusbd网上查到有2种方法.都是想

办法执行一个定制的shell脚本,第一种是建立一个脚本文件,把它的打开方式改为一个图标是笑脸

的程序,估计这个程序是/bin/bash, 这个笑脸程序在e680i中已经被取消了.第二种是在mmc卡建立

一个特定文件名的文件.这个文件会在开机的时候,被作为脚本运行.在e680下,这个文件叫

acmattch.txt, 但是在e680i中,这个文件不起作用了.

 

通过分析e680i的启动脚本,可以看到,这个自启动文件名被改成了startup.txt,可以放在sd卡/下,

也可以放在内存的/diska/preload/startup.txt.

这样就好了,我们建立一个shell脚本,让它自动打开motnet模式.脚本内容如下

#!/bin/bash

echo MotNet>/proc/motusbd

重新开机,e680i的usb模式就换成MotNet了.切换成功的标志是,e680i的设备号变成了600c,可以在win下看

设备的属性来确认.在linux下,执行lsusb来看,e680i有不下10个设备号,在不同的状态,

e680i切换到MotNet模式后,使用的ip是169.254.142.2(pc是windows)或者192.168.1.2(pc是linux)

并且打开了samba服务,提供了2个文件共享目录,

[system] 是系统的根目录, [diska]是系统内存目录/diska,通过修改它的/etc/samba/smb.conf

还可以添加一些别的共享名,比如sd卡的目录等等.

要想通过usb口联接到e680i,pc端需要装usbnet的驱动, 在网上可以下载到win的usblan.rar这个程序

和一个针对e680(i)的设备号是22b8-600c的inf文件.安装后把inf文件放进usblan安装路径,就可以了.

telnet 169.254.142.2 或者直接看网上邻居 \\169.254.142.2\system \\169.254.142.2\home

 

在linux下,也有usblan程序,最新的版本是1.0.0.7,只能运行在2.4内核下,

如果你的pc的内核是2.6.12,问题就简单多了.在2.6.12以后,内核中增加了一个usbnet模块,可以直接用来

联接e680i,这时,e680i的ip是192.168.1.2,这跟win的pc端不同.

只要执行 ifconfig usb0 192.168.1.1配上ip,就可以对192.168.1.2进行telnet了,还可以用smbclient

联接\\192.168.1.2\system和\\192.168.1.2\home.

 

 

这是在linux下联接上手机,手机在usblan模式下的正确的信息:

# lsusb

Bus 005 Device 001: ID 0000:0000

Bus 004 Device 001: ID 0000:0000

Bus 001 Device 007: ID 22b8:600c Motorola PCS e680i GSM Phone

Bus 001 Device 001: ID 0000:0000

 

#ifconfig usb0 192.168.1.1

# telnet 192.168.1.2

Trying 192.168.1.2...

Connected to 192.168.1.2.

Escape character is '^]'.

 

MontaVista Linux Consumer Electronics Edition 3.0

Linux/armv5tel 2.4.20_mvlcee30-mainstone

 

 

(none) login: root

Linux 192.168.1.11 2.4.20_mvlcee30-mainstone #7 Fri Feb 13 15:39:51 CST 2004 armv5tel unknown

 

MontaVista Linux Consumer Electronics Edition 3.0

 

No directory /root!

 

# cat /proc/cpuinfo

Processor : Intel XScale-Bulverde rev 7 (v5l)

BogoMIPS : 291.63

Features : swp half thumb fastmult edsp

CPU implementor : 0x69

CPU architecture: 5TE

CPU variant : 0x0

CPU part : 0x411

CPU revision : 7

Cache type : undefined 5

Cache clean : undefined 5

Cache lockdown : undefined 5

Cache unified : harvard

I size : 32768

I assoc : 32

I line length : 32

I sets : 32

D size : 32768

D assoc : 32

D line length : 32

D sets : 32

 

Hardware : Motorola Ezx Platform

Revision : 0000

Serial : 0000000000000000

# df -h

Filesystem Size Used Avail Use% Mounted on

rootfs 54M 55M 0 100% /

/dev/root 54M 55M 0 100% /

/dev/tffsa 16M 16M 0 100% /usr/language

/dev/roflash2 408k 408k 0 100% /usr/setup

/dev/mtdblock2 5.2M 1.6M 3.5M 31% /ezxlocal

/dev/mmca1 488M 161M 327M 33% /mmc/mmca

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有