文章标签 ‘M8’
2010七月11

魅族M8:串口连接摇杆玩游戏视频

2010七月10

魅族M8:LBE第一个可拨电话、发短信Android固件下载

这是LBE TEAM ANDROID发布史上的一个重要的里程碑。也是第一个支持电话功能的民间ANDROID ROM.
这个ROM应该说比较稳定了,欢迎大家测试。

A5版本新加入的功能和修复的bug:
1、支持M8全系列电话功能(感谢魅族工程师bill和guof的大力支持)。
   支持拨打/接听电话(需要注意的是,目前只能听到对方声音,对方无法听到本地声音,正在修复中)
   支持收发短信
   支持GPRS(联通3G卡可能有问题)
2、改善了电源管理,不会那么热了。
3、暂时去掉了wlan驱动,恢复了SD卡。wlan驱动会在完善后放出。

刷机说明:

把以下链接下载的东东都拷贝到DISK下刷机,启动。

下载地址:http://down.m8fans.com/soft-1299.html

mdroid.img下载地址: http://u.115.com/file/t1fb133eda

站长测试:

本固件通话音量和音效都非常差、反映迟钝,不建议刷机。

2010七月7

魅族M9:真机照

2010七月3

魅族M8:65种隐藏功能

1.在状态栏时间的位置按住往下拉可以打开任务管理器

2.按住”M”主键也可以打开任务管理器

3.双击电源开关可以拒绝接听电话

4.顶栏信号栏(左上角)往下拉可以切换程序

5.双击”M”主键可以打开音乐界面

6.来电模式下,按音量大小都可以静音 (还可以通过按一下电源键来实现来电静音)

7.编辑短信文本时,长按会有放大效果

8.关闭任务管理只要按M键或点下边三个点的位置往上拉或点击顶栏

9.复制和粘贴功能可以在任意集成的软件中使用

10.照相的时候可以调整大小/白平衡,在音量键+-

————————防疲劳线——————————-

11.音乐键可以拍摄.(非se版)

12.在拔号状态下,直接按”正下角的电话标志”,也是拔号键可以提出前一次的拔号.

13.同时按住M键+音量键就可以快速切换无声或有声模式

14.电话记录或短信列表中选择后往右接可以删除(此功能很多地方通用)

15.当免提接电话时,如果要显示状态可以用手在听筒位置闪过一下.

16.计算器当横屏时会自动改为科学计算器

17.电话状态下输入电话号码之后按0不放直到变成+,再按拨号键可以显示归属地

18.如果短信显示发送失败,只要点一下那个红色的时间,就可以直接继续发了,不用重新再打一遍信息

19.双击桌面的时间和天气插件,都可以直接进入时间和天气

20.任务管理器只要点标题栏中间就会收起来了

———————-防疲劳线————————–

21.打字的时候,如果点右上角可以关闭输入法

22.天气插件,有多个城市时,只要点一下插件图标,会自动显示另一个城市的天气

23.在M8自带文件夹下,选择文件夹重命名,会有加密功能

24.后台通话,顶栏变绿;录音后台,顶栏变橙

25.在电话详情状态下,点住电话号码不放可以复制操作.

26.死机的时候 长按10秒 关机键 会重启….

27.蓝牙,可以浏览对方文件!

28.通话记录列表里,查看联系人信息。点击号码前的电话图标,(未接,拒接,已接等)直接回拨电话至该联系人!

29.通话完毕后如顶栏显示白色表明没有挂断电话,按顶栏会显示挂电话界面,此时可以挂断了。

30.电源建+M!可以截图

————————防疲劳线————————-

31.自带web浏览器可以浏览本地硬盘文件,详细显示名称、类型、大小、创建时间,能够打开超大图!

32.设置了IP拨号,要按号码前那个IP图标才是IP拨号,如果直接按号码是普通拨号 。

33.锁屏状态下 音乐插件也可以滑动显示封面、歌词、频谱分析

34.在拼音输入法时如果要输入英文,直接输入然后回车

35.插着耳机时,按小白点通话键打开音乐播放。

36.通话记录中长按回拨的电话图标是ip拨号

37.照相模式下按住照相键或者音乐键可手动对焦

38.用耳机听歌时双击耳机上的接听挂断键可以切换到下一曲

39.在输入方式下长按CH 可切换输入法

40.调节音量大小时按圆点旁的进度条可以进行+1-1的小量调节

——————–防疲劳线——————————

41.输入有英文字母与数字的组合,只要输入数字键完成.如yumiao1,当输入字母后,不选择,直接再输入1,前面的yumiao会自动输入

42.音乐界面,直接打开,选中文件夹即可创建同名播放列表

43.在英文输入状态下,双击回车左边那个大写按钮,可连续输入大写

44.待机时连接USB是1.0模式,点亮屏幕再连接USB是2.0模式

45.播放视频的时候双击屏幕会切换不同的缩放模式

46.m8和m8发送超过1m的文件会调用wlan模块

47.播放视频的时候点视频图标是从头开始放,点视频名字是从上次退出自动记录的点开始放。

48.进入文档=>选择你要编辑的文件=>选择编辑的文件=>点击选项=>选择重命名!快速批量修改文件名!
49.用系统自带的电子书看书时点击屏幕的右侧会出现百分比的滚条

50.发短消息时,点右上角的绿色或红色送达时间,可以查看具体的发送及到达详情

—————————防疲劳线—————————-

51.音乐播放器在播放歌曲并后台运行,再打开录音机录音,可以直接录歌,系统会连声音加音乐一起录制。

52.在设置中调节背光亮度时单击滑动条的左边和右边,分别可以达到减少1%和增加1%的效果

53.当你操作误按时候,手指不要松开,直接划过去,系统会默认你是在划动,而不是选定

54.短消息详情状态下长按可以“转发”、“删除”、“复制”某条短信

55.来电时,点一下右边的几个小点也有静音效果

56.联系人存在多号码时,编辑界面里,每个号码前有五角星,实心五角星表示此号码为首选号码,在联系人列表中联系人名字下显示此号码。可以点空心的五角星将对应的号码改为首选号码,显示在多个号码的第一个位置。

57.进入软件商店,点击一下特定图标!然后点击左上角的软件图标,会发现出现很多截图

59.关机后M8RE 先按按音乐键再按电源键;M8SE 先按音量上再按电源键直到进入刷机模式不放。

60.编辑短信,新建联系人,输入人名的拼音系统会自动匹配的联系人

————————-防疲劳线—————————-

61.设置壁纸背景时,当壁纸选择一张图片时,用手点住图片上下移动,可调整背景位置及低色补充!

62.看电子书的时候,点屏幕上半部分会显示上一页,点屏幕下半部分会显示下一页(

63.播放视频时,点击进度圆点的前方(不要离圆点太远)是快进3分钟;点击进度圆点的后方则是快退3分钟。

64.按住M键不放,再长按电源键,直到屏幕下方出现clear…字样,恭喜你,你已成功进入重置注册表模式

65.魅族M8超级交流群:21658800

原帖地址

2010七月3

魅族M8:新版Opera发布

新版Opera for M8 发布,可以在M8手机软件中心下载到,新版打开网页速度大升,效果炫丽,但是页面响应显然没有UCWEB强大,有一卡一卡的感觉,且在登陆新浪围脖时,始终登陆不了,不知道是什么地方出的问题,后来重启登陆进去,但是发布不了图片。囧。。。

魅族M8超级交流群:21658800

2010七月2

魅族M8:原文件或目标文件正被使用

三种解决方法:
1、先拷贝到任一文件夹,用m8上自带的移动或复制功能覆盖;
2、关机之后当U盘拷贝进去覆盖;
3、启动M8上的ftp软件,通过ftp方式;

2010七月1

收藏:魅族M8 Android内核源码和固件下载

魅族官方提供了M8的Android内核源码,包含了完整的驱动以及说明,由于MEIZU M8的物理硬件和iPhone一样平时操作的只有1个Home键无法模拟,Android的Back、Menu以及其他因素魅族放弃了M8跑Android的计划。由于M8使用的是Samsung ARM11内核的S3C6410工作频率为667MHz,山寨厂商有一定的借鉴价值。

  有关魅族M8的ADB驱动 http://m8-android-kernel.googlecode.com/files/M8_6410_adb_driver.rar

  M8的Android编译好固件下载,刷机方法和Wince的一致,下载后直接解压放到USB Storage的根目录 http://code.google.com/p/m8-android-kernel/source/browse/bin/m8_android.rar 

  M8 for Android源码托管在Google Code上面,使用SVN工具直接提取 浏览地址 http://code.google.com/p/m8-android-kernel/source/browse/#svn/trunk 需要注意的是Android开发网发现有关Modem这块代码没有,涉及到了英飞凌的机密,不过可以看到编译好的库,直接挂上即可。

  SVN Checkout地址 http://m8-android-kernel.googlecode.com/svn/trunk

  最后是Android123找到的有关M8的移植文章网上整理的word文档,有兴趣的网友可以DIY下,不过Android开发网表示Android和M8原始的Wince比较差距较大,个人还是建议使用完善的WinCE系统,毕竟可以直播RMVB、WinCE对于M8更适合些。

  1. make menuconfig

A. 串口改成串口3输出打印信息。
(一) (root=/dev/nfs init=/init nfsroot=192.168.1.10:/nfs ip=192.168.1.100 console=ttySAC2,115200
console=ttySAC2,串口2输出,必须与下面同时修改
(二) System Type  —>S3C UART to use for low-level messages—>2
值设成2,即串口2输出,必须与上面同时修改。

B. Onenand驱动支持
(一) Device Drivers  —>Memory Technology Device (MTD) support  —>OneNAND Device Support  —>
[*]   Verify OneNAND page writes                                
<*>   OneNAND Flash device via platform device driver
(二) onenand的支持
从贺超提供的linux2.6.27包drivers\mtd\onenand目录复制s3c6410.h,s3c_onenand.c,s3c_onenand.h提供对三星onenand的支持
(三) Makefile修改
drivers\mtd\onenand\Makefile文件最后添加一行:onenand-objs = s3c_onenand.o,编译s3c_onenand.o,连接进内核。
(四) 在arch\arm\mach-s3c6410\mach-smdk6410.c中
 
static struct platform_device pmem_gpu1_device = {
 .name = “android_pmem”,
 .id = 1,
 .dev = { .platform_data = &pmem_gpu1_pdata },
};
#endif
的后面添加代码:
/*add by liuyihui 2009-08-21*/
/*
*添加onenand驱动支持
*/
/* OneNAND Controller */
/* OneNAND flash controller */
#define S3C64XX_PA_ONENAND     (0x70100000)
#define S3C64XX_SZ_ONENAND     SZ_1M
static struct resource s3c_onenand_resource[] = {
 [0] = {
  .start = S3C64XX_PA_ONENAND,
  .end   = S3C64XX_PA_ONENAND + S3C64XX_SZ_ONENAND – 1,
  .flags = IORESOURCE_MEM,
 }
};
或者替换新的代码:
 arch\arm\plat-s3c64xx\devs.c,
linux/arch/arm/mach-s3c6400/include/mach/map.h
struct platform_device s3c_device_onenand = {
 .name    = “onenand”,
 .id    = -1,
 .num_resources   = ARRAY_SIZE(s3c_onenand_resource),
 .resource   = s3c_onenand_resource,
 .dev.platform_data = &s3c_nand_mtd_part_info
};
/*add end*/
在数组static struct platform_device *smdk6410_devices[] __initdata = {的最后添加:
 &s3c_device_onenand /*add by liuyihui 2009-08-21*/
(五) 分区表修改:使userdata从0x0a000000开始
文件linux/arch/arm/plat-s3c/include/plat/partition.h中:
 
        {
                .name  = “cache”,
                .offset  = MTDPART_OFS_APPEND,
                .size  = (67*SZ_1M)+0x1000000,//orig:(67*SZ_1M)/*modified by cefanty 2009-08-21*/
        },
 
(六) 修改drivers\mtd\onenand\generic.c
复制drivers\mtd\onenand\generic.c替换掉。
 

C. Device Drivers  —>Input device support  —>  []   Keyboards  —>
(一) 暂时去掉键盘支持,因为键盘占用了GPK14口,GPK14口在M8是USB供电开关的GPIO,拉高才能用USB

D. Device Drivers  —> [*] USB support  —>  <*>   USB Gadget Support  —>
(一) <*>   USB Gadget Drivers (Ethernet Gadget (with CDC Ethernet supp
(二) Ethernet Gadget (with CDC Ethernet support)             
(三) [ ]       RNDIS support
(四) d.1)选择Ethernet Gadget (with CDC Ethernet supp,用于把M8模拟成网卡,实现nfs挂载系统。同时去掉RNDIS support支持,因为ubuntu下没有驱动支持。
(五) drivers\usb\gadget\s3c-udc-otg-hs.c修改为USB使用外部晶振
 
//writel(0x20, S3C_USBOTG_PHYCLK); /*commented by liuyihui 2009-08-24*/
writel(0x00, S3C_USBOTG_PHYCLK);  /*00:USB使用外部晶振。modified by liuyihui 2009-08-24*/

2. 驱动移植和修改

A. LCD驱动移植
i. drivers\video\Kconfig,搜索config FB_S3C_LTS222QV,在后面添加如下选项
config FB_S3C_LMS340KC01
 bool “LMS340KC01”
 —help—
 TBA
ii. 添加驱动:drivers\video\samsung\s3cfb_lms340kc01.c
 
a) 复制刘奕辉开发的s3cfb_lms340kc01.c驱动到目录drivers\video\samsung\
b) 在drivers\video\samsung\Makefile文件最后添加内容:
obj-$(CONFIG_FB_S3C_LMS340KC01) += s3cfb_lms340kc01.o
iii. 修改drivers\video\samsung\s3cfb_fimd4x.c,在函数s3cfb_set_gpio最后注释代码,添加:
 

#if 0/*commented by liuyihui 2009-08-24*/
 /* module reset */
 if (gpio_is_valid(S3C64XX_GPN(5))) {
  err = gpio_request(S3C64XX_GPN(5), “GPN”);

  if (err) {
   printk(KERN_ERR “failed to request GPN for ”
    “lcd reset control\n”);
   return err;
  }

  gpio_direction_output(S3C64XX_GPN(5), 1);
 }

 mdelay(100);

 gpio_set_value(S3C64XX_GPN(5), 0);
 mdelay(10);

 gpio_set_value(S3C64XX_GPN(5), 1);
 mdelay(10);

 gpio_free(S3C64XX_GPF(15));
 gpio_free(S3C64XX_GPN(5));
#endif

/*add by liuyihui 2009-08-24*/
/*
*打开M8 LCD需要用到的GPIO口
*/
#if 1 //M8 GPIO set hight
 /* module reset *///LCD_nRESET_SHIFT/*4*/
 if (gpio_is_valid(S3C64XX_GPQ(4))) {
  err = gpio_request(S3C64XX_GPQ(4), “GPQ”);

  if (err) {
   printk(KERN_ERR “failed to request GPQ for ”
    “lcd reset control\n”);
   return err;
  }
  gpio_direction_output(S3C64XX_GPQ(4), 1);
 }
 mdelay(100);
 gpio_free(S3C64XX_GPQ(4));

 /* module reset *///LCD_nSS_SHIFT/*5*/
 if (gpio_is_valid(S3C64XX_GPQ(5))) {
  err = gpio_request(S3C64XX_GPQ(5), “GPQ”);

  if (err) {
   printk(KERN_ERR “failed to request GPQ for ”
    “lcd reset control\n”);
   return err;
  }
  gpio_direction_output(S3C64XX_GPQ(5), 0);
 }
 mdelay(100);
 gpio_free(S3C64XX_GPQ(5));
  
 /* module reset *///LCD_MOSI_SHIFT/*7*/
 if (gpio_is_valid(S3C64XX_GPQ(6))) {
  err = gpio_request(S3C64XX_GPQ(6), “GPQ”);

  if (err) {
   printk(KERN_ERR “failed to request GPQ for ”
    “lcd reset control\n”);
   return err;
  }
  gpio_direction_output(S3C64XX_GPQ(6), 1);
 }
 mdelay(100);
 gpio_free(S3C64XX_GPQ(6));
 
  /* module reset *///LCD_MOSI_SHIFT/*7*/
 if (gpio_is_valid(S3C64XX_GPQ(7))) {
  err = gpio_request(S3C64XX_GPQ(7), “GPQ”);

  if (err) {
   printk(KERN_ERR “failed to request GPQ for ”
    “lcd reset control\n”);
   return err;
  }
  gpio_direction_output(S3C64XX_GPQ(7), 1);
 }
 mdelay(100);
 gpio_free(S3C64XX_GPQ(7));
 
 /* module reset *///LCD_CLK_SHIFT/*8*/
 if (gpio_is_valid(S3C64XX_GPQ(8))) {
  err = gpio_request(S3C64XX_GPQ(8), “GPQ”);

  if (err) {
   printk(KERN_ERR “failed to request GPQ for ”
    “lcd reset control\n”);
   return err;
  }
  gpio_direction_output(S3C64XX_GPQ(8), 1);
 }
 mdelay(100);
 gpio_free(S3C64XX_GPQ(8));

#endif

 return 0;
}
/*add end*/
c) 
iv. 修改drivers\video\samsung\s3cfb_spi.c,在函数s3cfb_set_gpio最后注释代码,添加:
 
在代码#elif defined(CONFIG_PLAT_S3C64XX)后面添加:

#define MEIZU_M8
#ifdef MEIZU_M8
#define S3C_FB_SPI_CLK(x) (S3C64XX_GPQ(8 + ( 4)))
#define S3C_FB_SPI_MOSI(x) (S3C64XX_GPQ(7 + (4)))
#define S3C_FB_SPI_CS(x) (S3C64XX_GPQ(6 + (4)))
#else
#define S3C_FB_SPI_CLK(x) (S3C64XX_GPC(1 + (ch * 4)))
#define S3C_FB_SPI_MOSI(x) (S3C64XX_GPC(2 + (ch * 4)))
#define S3C_FB_SPI_CS(x) (S3C64XX_GPC(3 + (ch * 4)))
#endif

B. 触摸屏移植
drivers\input\touchscreen:synaptics510_i2c.c,synaptics510_i2c.h,Makefile,Kconfig
      
C. 按键移植
覆盖如下文件:目录drivers\input\keyboard\下的:gpio_keys.c
 

3. Busybox在Android上的使用

To build busybox
• Download the latest version of busybox from the following website. At the time of writing the latest version was v.1.13.3.
http://www.busybox.net
• Extract the busybox source:
tar jxf busybox-1.13.3.tar.bz2
• Configure busybox by running menuconfig
cd busybox-1.13.3/
make menuconfig
• In menuconfig set the following options
Busybox Settings –> Build Options –> Build Busybox as a static binary (no shared libs)  –  Enable this option by pressing “Y”
Busybox Settings –> Build Options –> Cross compiler prefix  –  Set this option equal to “arm-none-linux-gnueabi-”
Busybox Settings –> Installation Options –> Don’t use /usr  –  Enable this option by pressing “Y”
Linux Module Utilities  —>  [ ] Simplified modutils 这项不能选,否则insmod 驱动模块加载会提示找不到*.ko驱动文件的路径
• Export path to where the cross-compiler is located on the host, for example:
export PATH=/opt/arm/arm-2007q3/bin:$PATH
• Build busybox
make
 
Installing Busybox
________________________________________
To install busybox in the target file-system
• Create a /bin directory in the target file-system. For example:
mkdir /<path-to-android-fs>/bin
• Copy the busybox binary to the /bin directory in the target file-system
cp busybox /<path-to-android-fs>/bin
•  Install the busybox command line tools on the target by executing the following commands:
cd /bin
./busybox –install
 
Make the Busybox shell the default shell
________________________________________
To make the busybox shell the default shell, edit the file “init.rc” in the target file-system as follows:
• Edit the console service so that it runs the busybox shell and not the default shell by replacing:
service console /system/bin/sh
With:
service console /bin/sh
• Add the path of the busybox command line tools to the system path variable by replacing:
export PATH /sbin:/system/sbin:/system/bin:/system/xbin
With
export PATH /bin:/sbin:/system/sbin:/system/bin:/system/xbin

Android cupcake 1.5版移植

1. 在Android挂载SD移植

cupcake 1.5版需要改写下列文件。

A.    编译mountd,并在文件系统中启动这一服务。

   修改 system/core/mountd/Android.mk文件,开放最后一行

    # disabled – we are using vold now instead
    # include $(BUILD_EXECUTABLE)
    为:

    # disabled – we are using vold now instead
    include $(BUILD_EXECUTABLE)

B.     增加 安装mountd.conf 文件

      修改 system/core/rootdir/init.rc文件

   释放下两行:

     service mountd /system/bin/mountd
          socket mountd stream 0660 root mount
C.     修改  system/core/rootdir/Android.mk 文件, 增加 etc/mountd.conf \,如下:

    copy_from := \
       etc/dbus.conf \
       etc/init.goldfish.sh \
       etc/mountd.conf \
       etc/hosts
D. 修改根文件系统的system\etc \mountd.conf文件:
block_device    /dev/block/mmcblk0

2010六月28

魅族M8:IMQQ 20100628

下载地址:http://bbs.meizu.com/thread-1271075-1-1.html