linux社区爱心援助Linux认证系列教程业界动态站务新闻公司招聘建议留言网址大全LPI专题CISCO专题
设为首页
加入收藏
管理团队
JSP  
JAVA  
PERL  
 您的位置:首页 > article > Linux开发区 > 嵌入应用 >
栏目导栏
资料搜索
热门文章
·Symbian编程VC开发环境设置
·基于ARM的嵌入式Linux开发平台
·嵌入式Linux用Qt Designer快速
·S3C2410X开发总结及心得
·轻松控制uClinux嵌入式开发过程
·嵌入式操作系统uCLinux
·uClinux系统分析
·Porting uClinux to Samsung S
·uC/OS和uClinux的比较
·在Windows上应用uClinux
·sqlite嵌入式数据库在arm-linu
·嵌入式设备上的 Linux 系统开发
·七款嵌入式Linux操作系统简介
·e680i手机嵌入式Linux 研究
·嵌入式系统和嵌入式操作系统
最新文章
·在嵌入式Linux环境下制作QPF字
·ARM Linux开机后自动运行特定程
·构建基本的嵌入式Linux根文件系
·自己动手打造嵌入式Linux软硬件
·MP3播放器madplay在ARM的移植
·Linux 2.6.11 MTD驱动情景分析
·ARM中C和汇编混合编程及示例
·BusyBox 简化嵌入式 Linux 系统
·使用虚拟机嵌入式Linux开发前的
·用NFS服务开发ARM Linux程序的
·虚拟机Linux系统下连接ARM开发
·嵌入式Linux系统下的网页浏览器
·Linux移植PSP详细步骤
·浅析armlinux 2.4.19中断irq分
·Linux 的魅力: 开发 Nokia N80
Google
 
e680i手机嵌入式Linux 研究
[ 作者:  加入时间:2006-08-16 09:31:51  来自:赛迪网 ]

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

Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
无相关信息