Rockbox Technical Forums

Rockbox Development => New Ports => Topic started by: nexxyz on April 23, 2007, 09:26:58 AM

Title: Meizu M6 "miniplayer"
Post by: nexxyz on April 23, 2007, 09:26:58 AM
Hi!

I've used Rockbox on my iRiver H340 for a while now and love it!

I recently ordered a Meizu M6 "miniplayer".
http://en.meizu.com/product_m6.asp
Of course "What about Rockbox? I would love to stick with it!" came to mind.

Searching for the player I found the following thread (has been locked):
http://forums.rockbox.org/index.php?topic=7430.0

It apparently contains a link to a pic of the innards of the M6:
http://my.opera.com/inokia/albums/showpic.dml?album=83493&picture=1088876

It also contains an outdated link to a page that supposedly states that the CPU is the same as in the iRiver E10, which is also mentioned in this thread:
http://forums.rockbox.org/index.php?topic=4291.0

I'd really like to see a port to the Meizu M6 happen, and would be more than willing to actively work on it and do some heavy time investment, as well as limited money investment (for development players etc.) as soon as I am convinced we have a team that can indeed tackle the problem at hand, and have enough info about the hardware, or at least rather reliable methods of obtaining this info.

I would consider myself an average programmer, and have never participated in anything like this before, so more experienced members would most definitely be needed to see this port through. I have coded a bit for the Nintendo DS, but nothing big (yet). I would see such a project as a possibility to enhance Rockbox compatibility, and of course, to have fun and learn a lot at the same time.

If you are interested in working on such a port project, I would be quite happy to hear from you!
Title: Re: Meizu M6 "miniplayer"
Post by: Bagder on April 23, 2007, 09:55:59 AM
As usual, start with reading the NewPort wiki page as it gives a good overview of what you need to go through to make a new port a reality.
Title: Re: Meizu M6 "miniplayer"
Post by: markun on April 23, 2007, 11:32:36 AM
a better place to ask for help would be a Meizu forum I think

Here's a little bit of information on the CPU in the M6:

http://www.rockbox.org/twiki/bin/view/Main/SamsungSA58
Title: Re: Meizu M6 "miniplayer"
Post by: nexxyz on April 23, 2007, 12:00:41 PM
Thanks for the tips!

I read the New Ports FAQ/wiki page, of course, and am going to look around the Meizu forums, but first I wanted to check if there are any Rockbox enthusiasts around that would be interested in such a project, since I guess if there aren't any, I might as well drop the issue altogether...
Title: Re: Meizu M6 "miniplayer"
Post by: Llorean on April 23, 2007, 12:08:09 PM
The key is finding anyone to work on it, they don't have to be Rockbox programmers beforehand. And the most likely people are owners of the player. It really doesn't matter if "Rockbox enthusiasts" are interested in it or not, in the end.
Title: Re: Meizu M6 "miniplayer"
Post by: Bagder on April 23, 2007, 01:37:55 PM
I can assure you that there will be a team of Rockbox hackers ready to welcome your port and to help and guide you through it. For the actual hands-on hacking you of course need to own the device the port is made for.
Title: Re: Meizu M6 "miniplayer"
Post by: nexxyz on April 24, 2007, 08:32:56 AM
Thanks a lot for the info, I also posted in the Meizu M6 Rockbox thread at meizume.com:
http://www.meizume.com/showthread.php?t=1371&page=2

As for Rockbox hackers helping but needing the hardware: I imagine the player will become more widely available in the near future, as it seems to get pretty popular...and as I said, I am willing to invest time and a bit of money, so once the basics are cleared, and we've got the people together and know it is possible to do the port with acceptable quality we will see where necessary players for development might come from for the interested skilled people who cannot afford them.

EDIT:
Found a nice photo series including disassembly:
http://www.soomal.com/gb/001/007/00000091.htm
Title: Re: Meizu M6 "miniplayer"
Post by: EVIL_USER on May 22, 2007, 04:15:32 PM
This topic has died?
What adout port to M6?

PS: Sorry for my bad english ::)
Title: Re: Meizu M6 "miniplayer"
Post by: nexxyz on May 23, 2007, 01:43:50 AM
It seems so...

Afer asking around the Meizu community, I got the impression that there is not really much demand aside from myself for such a port.

The original firmware is not great (heck, it doesn't even play back some mp3s correctly!), but I have decided I can live with it for now.

However, my statements above still hold true should someone start a port or convince me otherwise on the point of demand.
Title: Re: Meizu M6 "miniplayer"
Post by: vcf on June 05, 2007, 07:47:18 AM
well i dont think that miniplayer users wont like rockbox on theire players ;) if you visit en.meizu.com or meizume.com forums you will see how many people want rockbox.......  
Title: Re: Meizu M6 "miniplayer"
Post by: vcf on February 19, 2008, 02:25:36 AM
so guys! i had just bought the miniplayer sp 8gb! its cool.i could help to make the frimware. lets start!
p.s i can dissembly the player to :P
i thins we should start from writing a wiki page?
Title: Re: Meizu M6 "miniplayer"
Post by: LinusN on February 19, 2008, 03:09:48 AM
so guys! i had just bought the miniplayer sp 8gb! its cool.i could help to make the frimware. lets start!
p.s i can dissembly the player to :P
i thins we should start from writing a wiki page?
Here are some pointers:

http://www.rockbox.org/twiki/bin/view/Main/NewPort

Good luck!
Title: Re: Meizu M6 "miniplayer"
Post by: vcf on February 19, 2008, 06:49:07 AM
http://www.rockbox.org/twiki/bin/view/Main/MeizuM6Port this is the wiki page dress now we need to add information here!how should i do this? ???
Title: Re: Meizu M6 "miniplayer"
Post by: markun on February 19, 2008, 07:18:30 AM
Just copying all the info from another wiki page is not really useful. I replaced it by a mostly empty skeleton.
Title: Re: Meizu M6 "miniplayer"
Post by: vcf on February 19, 2008, 08:51:17 AM
thanks
here are some nice pictures of meizu inside
http://player.ru/talk/showthread.php?t=26017&page=4
http://www.soomal.com/gb/001/007/00000091.htm
here are steps for upgraiding the frimware
http://en.meizu.com/userforum/forum_posts.asp?TID=363
the information is added.finding new......
What are our second steps in development?
Title: Re: Meizu M6 "miniplayer"
Post by: markun on February 19, 2008, 05:50:53 PM
I made some changes to the wiki and found out how to decrypt the original firmware (the code is in a rar archive which is in the firmware file after the first 8KB)
Title: Re: Meizu M6 "miniplayer"
Post by: vcf on February 23, 2008, 12:43:05 PM
so here is this binary http://stream.ifolder.ru/5471399 it is SDRAM_image.bin 1.23 mb .bin file.what shall we do next?
Title: Re: Meizu M6 "miniplayer"
Post by: markun on February 24, 2008, 06:16:12 AM
so here is this binary http://stream.ifolder.ru/5471399 it is SDRAM_image.bin 1.23 mb .bin file.what shall we do next?

I didn't post that file anywhere because I wasn't sure if it was a copyright violation (maybe not since it's part of the firmware update which is downloadable for free)

I've disassembled the file to try and find out more about the hardware. It can be quite a lot of work, especially if you are new to (ARM) assembly language.

Also, is there some kind of rescue mode? If this file gets written to flash memory it would be quite easy to accidentally destroy your player...
Title: Re: Meizu M6 "miniplayer"
Post by: vcf on February 24, 2008, 06:36:59 AM
markun, yes there is a way to rescue the player.if when it is connected to the computer and  computer dont identify it than you should youse dfu tools http://www.meizume.com/miniplayer-m6-sl/18-dfu-tools.html yes the file is getting written in the flash memory as i understand.I have absoulutly no idea hoe to use (ARM) assembly language.i am an absolout beginner in it.so what should we do now?so have you knowen anything new about the hardware after dissemblying the file?what should be the result of it?
Title: Re: Meizu M6 "miniplayer"
Post by: FraL on February 25, 2008, 10:16:16 AM
I want to see the rockbox on my m6. What must I do? How can I help you?
Title: Re: Meizu M6 "miniplayer"
Post by: dimap on February 25, 2008, 10:25:19 AM
Hi all. I'm can help you too  :D

------------------------------------------
sorry for my bad english
Title: Re: Meizu M6 "miniplayer"
Post by: LambdaCalculus on February 25, 2008, 10:28:26 AM
FraL and dimap, start by reading this:

http://www.rockbox.org/twiki/bin/view/Main/NewPort

One way you can also help is by testing the build as it progresses; i.e. compile and run it on your Meizus and report back with results.
Title: Re: Meizu M6 "miniplayer"
Post by: GodEater on February 25, 2008, 11:17:31 AM
One way you can also help is by testing the build as it progresses; i.e. compile and run it on your Meizus and report back with results.

That's not going to be for a while though - since there's currently nothing to run at all.
Title: Re: Meizu M6 "miniplayer"
Post by: vcf on February 25, 2008, 02:32:03 PM
we are working and trying to find out more about (ARM) assembly language.bot noone understands it.so we need just to wait when markun will find out something new from that code ::)
Title: Re: Meizu M6 "miniplayer"
Post by: GodEater on February 25, 2008, 02:36:50 PM
There are more than a few of the devs who have a very good working knowledge of ARM assembly code, they're just not working on this port :)
Title: Re: Meizu M6 "miniplayer"
Post by: vcf on February 25, 2008, 02:42:03 PM
so only markun is the person who can help us with that code?
thats saddens me but we hope that he will help us :-\
Title: Re: Meizu M6 "miniplayer"
Post by: markun on February 26, 2008, 04:26:18 AM
I don't have a Meizu M6 and no plans to buy one, so it would be better to ask for help from existing meizu owners. Here for example:

http://en.meizu.com/userforum/default.asp
Title: Re: Meizu M6 "miniplayer"
Post by: vcf on February 26, 2008, 08:02:47 AM
markun, you said that you disassembled the file to try and find out more about the hardware.as i understand there is no use to have player to read asm language. do you understand this language? if yes could you just tell us something about players hardware e.g?

EDIT:

here is some information about the CPU http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=212&partnum=SA58700
hope it helps
oh i see its not a data sheet.it must be here but i cant download it http://www.samsung.com/Products/Semiconductor/DivisionPolicy/Ecoproduct/Eco_search/eco_popup.asp?partnumber=SA58700X07-Y080

Title: Re: Meizu M6 "miniplayer"
Post by: markun on February 29, 2008, 02:36:15 AM
Yes, we've found that webpage before (but Samsung keeps changing the URL's). Unfortunately I also didn't find any datasheet. Maybe the various components (USB, RTC etc) work the same as in some other samsung chips for which we do have datasheets.

EDIT:

I think I've found a nice deal for a Meizu M6 (82 euro for the 8GB version) and will probably buy one next week :)

EDIT:

I just ordered it!
Title: Re: Meizu M6 "miniplayer"
Post by: vcf on February 29, 2008, 09:06:08 AM
thanks markun! hope you will help us with poring then)))
i asked the samsung suport and the ill send me the data shee via email!
hope you wil enjoy it. you ordered meizu m6 sl or just meizu m6?
markun please give us a link of te disassembeled frimware
Title: Re: Meizu M6 "miniplayer"
Post by: vcf on March 01, 2008, 09:08:00 AM
marcun orderes sp version. but if you have sl/tp its not critical.
here are our feautering steps here is this .asm disassembeled file http://rapidshare.com/files/95942827/SDRAM_image.asm.bz2.html
we need just to read that code and we need to identefy all the parts in the assebly code where the hardware is accessed and than we can try to figure out how all the separate parts work
Title: Re: Meizu M6 "miniplayer"
Post by: Rika on March 01, 2008, 10:20:41 AM
anyone know how to calculate adresses of rom, ram etc?
Title: Re: Meizu M6 "miniplayer"
Post by: vcf on March 01, 2008, 10:32:02 AM
markun said that sdram_image.bin is not a ROM filesystem. and what do you want to do?
Title: Re: Meizu M6 "miniplayer"
Post by: Rika on March 01, 2008, 10:38:02 AM
its a rom code i think
Title: Re: Meizu M6 "miniplayer"
Post by: vcf on March 01, 2008, 10:41:44 AM
hm.... i dont know.... i will search...
here is the data sheet of the Audio Codec  http://beta.octopart.com/Philips__UDA1380HN-T__0.pdf
we need to find the data sheets for all parts of players hardware
Title: Re: Meizu M6 "miniplayer"
Post by: vcf on March 01, 2008, 11:11:31 AM
Flash Memory Hynix:
http://www.hynix.com/datasheet/pdf/f...20(Rev0.4).pdf

Audio Codec - Philips UDA1380:
http://www.datasheetsite.com/extpdf....FUDA1380_3.pdf

http://www.datasheetsite.com/extpdf....FUDA1380_4.pdf

FM Radio - Sanyo LV24000:
http://blog.ednchina.com/Upload/Blog...bd3f47fdc2.pdf
Title: Re: Meizu M6 "miniplayer"
Post by: techforumz on March 01, 2008, 10:05:27 PM
Well, the code doesn't seem to be protected. Now you should try to compile the rockbox source to ARMB. I'm not sure exactly how it works, but you'll need to identify the RAM address, Flash address, MP3 chip address, screen address and so on. Basically, probe around.
Title: Re: Meizu M6 "miniplayer"
Post by: vcf on March 02, 2008, 05:03:03 AM
how we should compile the rockbox source to ARMB?
how can we identify the RAM address, Flash address, MP3 chip address, screen address and so on?
i know that we need to have specs of all players hardware. we have it except the main- players CPU. i am waiting while the samsung support will send me it...
Title: Re: Meizu M6 "miniplayer"
Post by: vcf on March 02, 2008, 07:03:08 AM
markun, is this the data sheet? http://www.meizu.com/bbs/UploadFile/2006-8/200681513423578669.rar
i edited on the wiki page that scheme http://img223.imageshack.us/my.php?image=0003545841wv3.jpg
Title: Re: Meizu M6 "miniplayer"
Post by: Rika on March 02, 2008, 11:22:55 AM
No it is not a datasheet
Title: Re: Meizu M6 "miniplayer"
Post by: vcf on March 02, 2008, 12:15:53 PM
yes its not a data sheet but there is quite useful information inside
Title: Re: Meizu M6 "miniplayer"
Post by: markun on March 03, 2008, 02:12:33 AM
vcf: please stop double posting. If you want to post something and the last post is yours just edit it.

... you'll need to identify the RAM address, Flash address, MP3 chip address, screen address and so on.

There is no MP3 chip inside, is there? Are you talking about the DAC?
Title: Re: Meizu M6 "miniplayer"
Post by: vcf on March 03, 2008, 06:58:56 AM
markun, our player has SA58700 that meens our player has audio codec. propably the sdram controller was pictured like it.
p.s the samsung support answered me thatthey ont have the data sheet. but they sais were can we reach it. so i will try.
here are some more parts of players hardware with specs
sensor
data sheet http://w3.tue.nl/fileadmin/id/objects/E-Atelier/Phidgets/Hardware/Datasheets/1015_-_DatasheetQT411.pdf
here is some intersting info about the sensor
http://www.terraelectronica.ru/news_postup.php?ID=1102
in the end there is a interesting scheme
one more link about the sensor http://www.seminews.ru/sensors/141.html
Title: Re: Meizu M6 "miniplayer"
Post by: Rika on March 04, 2008, 12:13:59 AM
There is many interesting code in SST39VF800.dfu, eq. interrupts code.
Title: Re: Meizu M6 "miniplayer"
Post by: markun on March 04, 2008, 02:14:37 AM
There is many interesting code in SST39VF800.dfu, eq. interrupts code.

Indeed. I disassembled it yesterday. Because of the "Thumb only" error message in there I thought there would have been some Thumb code, but it's all normal ARM so far. I guess the SST39VF800 is the 1MB NOR flash included in the SA58700 (http://www.rockbox.org/twiki/bin/view/Main/SamsungSA58#SA58700), what do you think?

Right now I don't really have a lot of time to analyze the disassembled files. Are you trying to figure out some register addresses etc?

btw, With DFU-Util (http://wiki.openmoko.org/wiki/Dfu-util) from OpenMoko it could be possible to run code from SDRAM without flashing it, that would be really useful for development. Hopefully it works.

EDIT: just looked at the code in Blues_MSC.bin file from the dfu tools and it's very similar to the firmware updates.
Title: Re: Meizu M6 "miniplayer"
Post by: Rika on March 04, 2008, 07:57:10 AM
dfu tools don't working with my m6 :(
(i have tried this 2-3 mounth ago on gentoo)

NAND? yes i think so too because:
Quote
SST39VF800-90-4C-EK - 8 Megabit (512K x 16-Bit) Multi-Purpose Flash - Silicon Storage Technology, Inc
(i got it here http://www.alldatasheet.com/datasheet-pdf/pdf/123304/SST/SST39VF800-90-4C-EK.html, datasheet avialible too)

EDIT:
okay, dfu-util works, but no usable information here :(
Quote
[r1ka@FUNT ~]$ dfu-util --list
dfu-util - (C) 2007 by OpenMoko Inc.
This program is Free Software and has ABSOLUTELY NO WARRANTY

Found Runtime: [0x0a5c:0x2100] devnum=0, cfg=0, intf=3, alt=0, name="UNDEFINED"
Found DFU: [0x0419:0x0141] devnum=0, cfg=0, intf=0, alt=0, name="UNDEFINED"


hint: Runtime at 0x0a5c:0x2100 is a my bluetooth dongle
Title: Re: Meizu M6 "miniplayer"
Post by: markun on March 04, 2008, 03:55:38 PM
please add to http://www.rockbox.org/twiki/bin/view/Main/SamsungSA58 that info about codenames:

Just create your own wiki account, then you can add it yourself.

Quote
... and SA58700 (this is a SA58700 + Audio codec WM8731L) - codename "Blues"

I really don't understand why Meizu added a UDA1380 if their SA58700 contains a WM8731.. do you?

EDIT: Also, this site doesn't mention the WM8731L

http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=212&partnum=SA58700

EDIT: I stated a wiki page to write down the info I gather from disassembling the firmware:  http://www.rockbox.org/twiki/bin/view/Main/MeizuReverseEngineering

Feel free to help out
Title: Re: Meizu M6 "miniplayer"
Post by: sotux on March 08, 2008, 10:36:38 AM
please add to http://www.rockbox.org/twiki/bin/view/Main/SamsungSA58 that info about codenames:

Just create your own wiki account, then you can add it yourself.

Quote
... and SA58700 (this is a SA58700 + Audio codec WM8731L) - codename "Blues"

I really don't understand why Meizu added a UDA1380 if their SA58700 contains a WM8731.. do you?

EDIT: Also, this site doesn't mention the WM8731L

http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=212&partnum=SA58700

EDIT: I stated a wiki page to write down the info I gather from disassembling the firmware:  http://www.rockbox.org/twiki/bin/view/Main/MeizuReverseEngineering

Feel free to help out

As I know, SA58700 of M6 does not include  the Audio codec WM8731L, because this is a special chip for M6. The ceo of Meizu said he demanded Samsung to remove Audio codec.

M6 SL changed the FM Chip from Sanyo LV24000  to Philips TEA5760.
I have some pictures of M6 SL
Title: Re: Meizu M6 "miniplayer"
Post by: sotux on March 08, 2008, 10:38:29 AM
FM chip and power management chip (LTC3455) for M6 SL
Title: Re: Meizu M6 "miniplayer"
Post by: sotux on March 08, 2008, 10:40:19 AM
sdram and sensor for M6 SL.

There are 4 versions for M6. They are T1, TP, SP, SL(Ordered by production time).
I bought a T1 (first version) at the end of 2006.
This version has some problems of hardware design such as bad FM effect and sensor out of control. So Meizu changed sensor chip and circuit design since TP version.(From QT411 to QT1106)

There are also differents from their TFT screen.
T1 and TP have a Toshiba TFT screen (I think this screen is better than SP's and SL's.)
SP and SL have a Samsung TFT screen, but the screen of SL is lighter than SP's.

Sanyo FM chip is not good so Meizu changed it since SL version and M3 (mini card)
Title: Re: Meizu M6 "miniplayer"
Post by: sotux on March 08, 2008, 11:13:46 AM
Below is a list of the hardware for 4 versions
T1:
    * CPU - ARM 940T based SoC Samsung SA58700
    * SDRAM - Samsung K4M28163PH (16MB)
    * Flash Memory - Samsung (Sometimes by Hynix) (SLC Type)
    * Audio Codec - Philips UDA1380HN (380HN F0458 TPG5452)
    * FM Radio - Sanyo LV24000
    * Sensor - QUANTUM QT411
    * Power Management - LTC3455 (http://www.linear.com/pc/productDetail.jsp?navId=H0,C1,C1003,C1037,C1773,P2447)
    * TFT Screen - Toshiba

TP:
    * CPU - ARM 940T based SoC Samsung SA58700
    * SDRAM - Samsung K4M28163PH (16MB)
    * Flash Memory - Samsung (Sometimes by Hynix) (SLC Type)
    * Audio Codec - Philips UDA1380HN (380HN F0458 TPG5452)
    * FM Radio - Sanyo LV24000
    * Sensor - QUANTUM QT411
    * Power Management - LTC3455
    * TFT Screen - Toshiba

SP:
    * CPU - ARM 940T based SoC Samsung SA58700
    * SDRAM - Samsung K4M28163PH (16MB)
    * Flash Memory - Samsung (Sometimes by Hynix) (MLC Type)
    * Audio Codec - Philips UDA1380HN (380HN F0458 TPG5452)
    * FM Radio - Sanyo LV24000
    * Sensor - QUANTUM QT411
    * Power Management - LTC3455
    * TFT Screen - Samsung

SL:
    * CPU - ARM 940T based SoC Samsung SA58700
    * SDRAM - Samsung K4M28163PH (16MB)
    * Flash Memory - Samsung (Sometimes by Hynix) (MLC Type)
    * Audio Codec - WM8987
    * FM Radio - Philips TEA5760
    * Sensor - QUANTUM QT1106
    * Power Management - LTC3455
    * TFT Screen - Samsung
Title: Re: Meizu M6 "miniplayer"
Post by: vcf on March 08, 2008, 12:41:07 PM
good work! thanks! do you have sp or tp or sl? where do you come from? what knowledge do you have?
Title: Re: Meizu M6 "miniplayer"
Post by: sotux on March 08, 2008, 09:01:23 PM
good work! thanks! do you have sp or tp or sl? where do you come from? what knowledge do you have?

I come from China.  :D
I used to have a T1 but now I have an SL.
Meizu hold an activity last year that users having T1 or TP can change their mp3 to the latest SL version. I participated in that activity.
Title: Re: Meizu M6 "miniplayer"
Post by: vcf on March 09, 2008, 08:19:05 AM
ok! could you edit this info in wiki? just registrate your wiki name if you havent got one yet.
Title: Re: Meizu M6 "miniplayer"
Post by: sotux on March 09, 2008, 09:10:46 AM
I just registered a wiki account, but I haven't recieved the active email.
My wiki name is QianZheng. Who can help me to active my wiki account?
Title: Re: Meizu M6 "miniplayer"
Post by: Rika on March 09, 2008, 10:05:44 AM
sotux, you 100% sure about sensors in all 4 models?
Title: Re: Meizu M6 "miniplayer"
Post by: sotux on March 09, 2008, 10:38:06 AM
Sorry. I made a mistake about the sensor chip. I've corrected it.
Only SL uses QT1106 and others use QT411.
Title: Re: Meizu M6 "miniplayer"
Post by: Rika on March 09, 2008, 10:57:44 AM
okay, i small edit your post and added it to wiki, hope no more mistakes here :)

EDIT: sotux or anybody else, have you a M6 scematics with points where we can connect and start use jtag? (it maybe called as test points or debug interface or something similar)
Title: Re: Meizu M6 "miniplayer"
Post by: sotux on March 10, 2008, 05:09:13 AM
EDIT: sotux or anybody else, have you a M6 scematics with points where we can connect and start use jtag? (it maybe called as test points or debug interface or something similar)

Oh, I don't know about it. I'm not familiar with embedded system development.
Title: Re: Meizu M6 "miniplayer"
Post by: vcf on March 10, 2008, 07:00:52 AM
sotux you could also join the discussion of rockbox on meizume http://www.meizume.com/firmware/5567-rockbox-project-m6-11.html#post57270
there is a progess by kgb2008 on meizume!
Title: Re: Meizu M6 "miniplayer"
Post by: Bagder on March 10, 2008, 08:43:06 AM
Quote
sotux you could also join the discussion of rockbox on meizume

... but the second you take the discussion to another site/forum, you lose all the existing thousands of rockbox hackers that come here and that can actually provide help and input.
Title: Re: Meizu M6 "miniplayer"
Post by: vcf on March 15, 2008, 09:07:17 AM
we cant get the data sheet so their is a Meizu Reverse Engineering page created on wiki. if you have any info about it please add it to the wiki page http://www.rockbox.org/twiki/bin/view/Main/MeizuReverseEngineering
good luck
Title: Re: Meizu M6 "miniplayer"
Post by: vcf on March 21, 2008, 09:56:44 AM
finally i have got the data sheet of the cpu! thanks to chinease support! ;D
here is this data sheet http://rapidshare.com/files/101234522/S5L8700X-DS.pdf.html
Title: Re: Meizu M6 "miniplayer"
Post by: LTourist on March 25, 2008, 08:27:22 AM
Rockbox rules!!! I've installed it on a friend's H340 3 or 4 years ago... As soon as I bought the Meizu, I've hope rockbox will be ported on it... It's like a dream that's coming true!!! I'm can help you on ARM9 language, but maybe if you need some help coding c or whatever else you need, I might help you (not sure if I quite good to do this but I really would to help making this a reality).

Actually, I look for buying a 1GB meizu in order to help with test and beta version when first ports came...

If you rockbox guys see another way which I could you, let me know !!!
LTourist
(also posted on meizume forum)
Title: Re: Meizu M6 "miniplayer"
Post by: vcf on March 25, 2008, 09:02:51 AM
Thats great! Ofcourse you can help us. Right now we found the data sheet of the CPU. We need to try to run some simple code on the player.If you have questions you can ask them here or on meizume
Thanks
Title: Re: Meizu M6 "miniplayer"
Post by: Bagder on March 25, 2008, 09:13:09 AM
How do you proceed to run custom code on this target? I mean, is there a recovery mode that lets you go back in case you put some disaster code on it?
Title: Re: Meizu M6 "miniplayer"
Post by: vcf on March 25, 2008, 09:16:27 AM
Ofourse there is. Check out http://www.rockbox.org/twiki/bin/view/Main/MeizuM6Port#Recovery_mode
So we can alive our player after if the code is bad
Title: Re: Meizu M6 "miniplayer"
Post by: LTourist on March 26, 2008, 05:58:10 AM
I still look for a cheap meizu, but obviously, I can't find one. I'm not afraid about flashing mine because we have DFU tool, but I use my M6 every day... Does DFU tool erase just the flash where firmware is, or the whole flash player (including music, etc)???

I don't have any ability in assembler coding, but like I said, maybe I can help you when c code will run on meizu :)

LTourist
Title: Re: Meizu M6 "miniplayer"
Post by: vcf on March 26, 2008, 08:25:33 AM
DFU toll eraises everything. but you can save i copy of all your data on you pc, cant you? :) Markun made a to do list http://130.89.160.166/rockbox/meizu-todo.txt
LTourist if you know c than you could write drivers for lcd, buttons etc. check the to do list http://130.89.160.166/rockbox/meizu-todo.txt the drivers should mostly be writtrn in c and seldom in assembler. here are some pointers about how to write a driver http://www.rockbox.org/twiki/bin/view/Main/SimpleGuideToCompiling
good luck
I edited the post to stop my terrible double posting ;D
Title: Re: Meizu M6 "miniplayer"
Post by: a_smucig on March 27, 2008, 12:48:47 PM
Great work, I was hoping to see a port on the m6. Is there a reason, why there is no info about the TP version on the reverse engineering page, or is it just, that the SP and the TP are so similar? I don't really have knowledge in ARM assembly, or embedded development, but If you need any testing to be done on a TP, I would be happy to help. Also, i have experience in C coding, if that can be of use... Keep up the good work!
Title: Re: Meizu M6 "miniplayer"
Post by: vcf on March 27, 2008, 02:17:38 PM
yes tp and sp are very simmilar. if you know c than whatch my previous post. you can help us in writing drivers
Title: Re: Meizu M6 "miniplayer"
Post by: vcf on March 29, 2008, 05:41:11 AM
Rockbox is now being devloped. Here is a small to do list http://130.89.160.166/rockbox/meizu-todo.txt
Title: Re: Meizu M6 "miniplayer"
Post by: eulb on March 30, 2008, 01:30:54 AM
you guys are amazing.
M6 is pretty popular in China, I'm really looking forward to the port to M6
I know c/c++ and have one M6 SP, so if you need any help plz feel free to contact me :)
Title: Re: Meizu M6 "miniplayer"
Post by: vcf on March 30, 2008, 08:13:23 AM
eulb ofcourse! check the to do list in ma previous post. vou can write drivers as thev need knoladge of c! check out the meizume forum too! there are some pointers about howthe driversshould be written etc.
markun, could you often update the to do list? Because there are many people coming especially on the rockbox forums and i dont know what is already done and what is not.just mark things which are dne with ''done''. Because you work with guys like bagder geavarts A-4. So you knw better ;)
Title: Re: Meizu M6 "miniplayer"
Post by: eulb on April 01, 2008, 04:14:54 AM
Hi vcf
I checked the forum of meizume but didnt find the threads you mentioned, could you give me the URL of them?
regards
Title: Re: Meizu M6 "miniplayer"
Post by: markun on April 01, 2008, 05:12:05 AM
These are all the rockbox related threads over there:

http://www.meizume.com/rockbox/
Title: Re: Meizu M6 "miniplayer"
Post by: vcf on April 29, 2008, 08:29:16 AM
Here is a data sheet of S6D0154 http://rapidshare.com/files/105062097/S6D0154X_Data_Sheet_Rev1.10.pdf.html
Thats really great that more and more developers ape picking up m6's. The project is getting bigger and bigger
how do we test the code on players?is this code one for m6sl and m6?
Title: Re: Meizu M6 "miniplayer"
Post by: 黑岩骑士 on May 10, 2008, 04:57:20 AM
建议rockbox推出中文网站啊
都是英语初学者
不然中国朋友很迷茫啊!

[EDIT: Translation to English (courtesy of google):]

Rockbox proposed launch Chinese website ah
Are English learners
Otherwise Chinese friends are confused ah!

[end of edit]
Title: Re: Meizu M6 "miniplayer"
Post by: saab_rider on May 10, 2008, 12:02:31 PM
[Better translation, courtesy of a Chinese speaking Rockbox user ;)]
I recommend that rockbox creates a chinese web-site
our english is very basic
without a chinese site, it'd be difficult for chinese fans to understand the content
Title: Re: Meizu M6 "miniplayer"
Post by: AlexP on May 10, 2008, 12:40:28 PM
saab_rider:

A bit of a cheeky request - any chance you/your friend could PM the original poster and explain that Rockbox is written by volunteers in their spare time, and it would need a chinese speaking volunteer to invest a very large amount of time to keep a translation up to date.
Title: Re: Meizu M6 "miniplayer"
Post by: wpyh on August 26, 2008, 08:53:59 PM
Hey guys, I've reimplemented the DFU tool on Linux. Currently M3, M6 TP and M6 SP are supported. I hope this would help development, since some developers don't have access to Windows.

Get it from http://www.rockbox.org/twiki/bin/view/Main/MeizuM6Port
Title: Re: Meizu M6 "miniplayer"
Post by: Bagder on August 27, 2008, 04:07:13 AM
Hey guys, I've reimplemented the DFU tool on Linux.

Whoa, you rock!
Title: Re: Meizu M6 "miniplayer"
Post by: gevaerts on August 27, 2008, 05:36:46 PM
Currently M3, M6 TP and M6 SP are supported.

Now also the M6 SL
Title: Re: Meizu M6 "miniplayer"
Post by: gevaerts on September 01, 2008, 09:42:27 PM
I've finally managed to get the backlight toggling code running on my m6sl.

Compile the m6sl bootloader, and run
Code: [Select]
meizu_dfu m6sl  rockboot.ebn rockboot.ebn(the second rockboot.ebn doesn't matter, but meizu_dfu wants two files)
Title: Re: Meizu M6 "miniplayer"
Post by: vcf on September 02, 2008, 07:59:56 AM
thats great news! could you explain more how to comile the m6sl bootloader? it must be done in linux? how to run this code meizu_dfu m6sl  rockboot.ebn rockboot.ebn ? i understand that my questions are silly but if you'd give more instructions we could start testing the code on every model (sp, tp, t1). and we wilb be able to test furthere codes as well
Title: Re: Meizu M6 "miniplayer"
Post by: gevaerts on September 02, 2008, 08:08:33 AM
could you explain more how to comile the m6sl bootloader? it must be done in linux?
Just build it as you build any bootloader.

how to run this code meizu_dfu m6sl  rockboot.ebn rockboot.ebn ?
meizu_dfu is in utils/. Compile it
Then run the command as I said.
(I'm not sure if it works in windows)
Title: Re: Meizu M6 "miniplayer"
Post by: wpyh on September 02, 2008, 12:08:09 PM
Thanks to gevaerts, I've also been able to run the test code on my M3.

1. Press and hold M.
2. Press and hold Play.
3. Plug it in.
4. Release Play.
5. Run "meizu_dfu m3 rockboot.ebn rockboot.ebn".
6. When it says "Clearing status...", release the M button.
7. Play around! Pressing the Play button will toggle the backlight.
8. When you're done (or bored), unplug the device. Nothing will be written on the device, so no data will be lost (legally, I don't guarantee this though).

The above procedure should be the same for M6 TP and M6 SP (just replace "m3" in the command with "m6").
Title: Re: Meizu M6 "miniplayer"
Post by: gevaerts on September 02, 2008, 04:22:21 PM
The new version doesn't turn off anymore on unplugging (at least on m6sl, most probably on m3, unsure about the others).

To make it easy to handle, it now turns off after pressing Play 20 times (it tells you this by toggling the backlight quickly a few times before turning off)
Title: More progress
Post by: gevaerts on September 11, 2008, 05:52:07 AM
The current svn version manages to read the touchpad.
The "keep powered on after unplugging" is disabled for now, so you have to keep the usb cable plugged in while testing.
Title: Even more progress
Post by: gevaerts on September 16, 2008, 12:53:25 PM
r18531 talks to the LCD controller, although it doesn't say much yet.
The current code reads the LCD controller ID and flashes it using the backlight.
Title: Re: Meizu M6 "miniplayer"
Post by: vcf on September 17, 2008, 10:24:10 AM
fine. does it work only on sl?
do you know if someone tried on sp?
and nothing is writed on the player, yes? so no info will be lost? i saw that only on first version of code where it worked only with pluged in usb
Title: Re: Meizu M6 "miniplayer"
Post by: gevaerts on September 17, 2008, 10:32:41 AM
fine. does it work only on sl?
do you know if someone tried on sp?
This works on sl, yes.
It won't work as such on the SP. The GPIO pins for LCD communication are different. I don't know about M3.

Quote
and nothing is writed on the player, yes? so no info will be lost? i saw that only on first version of code where it worked only with pluged in usb

This is still RAM only, yes, although it is possible to flash it if you really want.
Title: Re: Meizu M6 "miniplayer"
Post by: denes on September 17, 2008, 04:34:44 PM
I don't know about M3.

It won't work on the M3. The M3 has the LCD connected to the LCD interface in the SoC, and the picture is sent out with dma from memory to the LCD IF. Actually I was able to draw something on the M3's lcd with programmed io, but the code in question is not bulletproof yet.

btw awesome work with the meizu_dfu tool - I am using linux too, so it's a great help - thanks wpyh and gevaerts.
Title: Re: Meizu M6 "miniplayer"
Post by: markun on September 18, 2008, 03:04:44 AM
Yesterday I added separate ports for the M6SP Aand M3, I hope that will make it easier to work on those targets.

Actually I was able to draw something on the M3's lcd with programmed io, but the code in question is not bulletproof yet.

That's great! Do you want to come on IRC from time to time to talk about the progress and things you've figured out?
Title: Re: Meizu M6 "miniplayer"
Post by: gevaerts on October 07, 2008, 05:23:05 PM
A bit more progress on the m3, nearly fully thanks to denes:

(http://files.hostname.be/m3.jpg)

Edit: Now the colours are correct!
Title: Re: Meizu M6 "miniplayer"
Post by: vcf on October 14, 2008, 08:04:07 AM
cool! why where the colours not correct on the first picture? i've heard you've got SP and M3 too.so what about SP's lcd? we have full sp schematics http://www.meizume.com/attachments/rockbox/2005d1206010842-schematic-m6sp-m-p-v7.rar (by kgb2008)
Title: Re: Meizu M6 "miniplayer"
Post by: ii on October 18, 2008, 02:04:23 PM
Hi.

I'm a new user of meizu m3 and I'm very interested in porting rockbox to this device.
I have some experience in coding, reverse engineering and electronics.
If anyone detalized me current status of the port and problems to be solved I would join the project for sure.
Title: Re: Meizu M6 "miniplayer"
Post by: ii on October 21, 2008, 10:08:56 AM
Okay, I've found the port status page  :)
So how can I help?
Title: Re: Meizu M6 "miniplayer"
Post by: RichterSkala on October 26, 2008, 12:06:19 PM
So. Today instead of doing some work for university I decided to mess with my M6SP and you're progress so far (see if my little skills in coding could contribute a thing). But I wasn't able to get the DFU mode to work.
So first of all there seems to be two different methods: Press Power and M or press M and Play.

If I press Power and M, plug in the usb connection and run meizu_dfu M6 M6.ebn M6.ebn it stops at USB initialization, takes some time to state later, that it couldn't find a device. During that time lsusb will give no output either.
Same procedure with Play and M: meizu_dfu takes no time on USB initalization and skips immediately to "No device found".

What am I doing wrong? My host system is a plain Ubuntu 8.06 - any reasons there maybe?
Title: Re: Meizu M6 "miniplayer"
Post by: zorgblaubaer on November 11, 2008, 08:38:21 AM
i can't figure out how to compile the testcode for the m6... can anyone help me out?

this is what i tried:

Code: [Select]
lucas@lucas-desktop:~/meizu_dfu/rockbox/build$ ../tools/configure
Enter target platform:
 ==Archos==               ==iriver==             ==Apple iPod==
  0) Player/Studio        10) H120/H140          20) Color/Photo
  1) Recorder             11) H320/H340          21) Nano
  2) FM Recorder          12) iHP-100/110/115    22) Video
  3) Recorder v2          13) iFP-790            23) 3G
  4) Ondio SP             14) H10 20Gb           24) 4G Grayscale
  5) Ondio FM             15) H10 5/6Gb          25) Mini 1G
  6) AV300                                       26) Mini 2G
                          ==Toshiba==            27) 1G, 2G
                          40) Gigabeat F
 ==iAudio==               41) Gigabeat S         ==SanDisk==
 30) X5/X5V/X5L                                  50) Sansa e200
 31) M5/M5L               ==Tatung==             51) Sansa e200R
 32) 7                    60) Elio TPJ-1022      52) Sansa c200
 33) Cowon D2                                    53) Sansa m200
 34) M3/M3L               ==Olympus==            54) Sansa c100
                          70) M:Robe 500         55) Sansa Clip
 ==Creative==             71) M:Robe 100         56) Sansa e200v2
 90) Zen Vision:M 30GB                           57) Sansa m200v4
 91) Zen Vision:M 60GB    ==Philips==            58) Sansa Fuze
 92) Zen Vision           100) GoGear SA9200
                          101) GoGear HDD1630    ==Logik==
 ==Onda==                                        80) DAX 1GB MP3/DAB
 120) VX747               ==Meizu==
 121) VX767               110) M6SL
                          111) M6SP
                          112) M3

110
Platform set to meizum6sl
Build (N)ormal, (A)dvanced, (S)imulator, (B)ootloader, (M)anual: (Defaults to N)
B
Bootloader build selected
Using source code root directory: /home/lucas/meizu_dfu/rockbox
Using arm-elf-gcc 4.0.3 (400)
Using arm-elf-ld 2.16.1
Created Makefile
lucas@lucas-desktop:~/meizu_dfu/rockbox/build$ make clean
Cleaning build directory
lucas@lucas-desktop:~/meizu_dfu/rockbox/build$ make
make[1]: `rdf2binary' is up to date.
make[1]: `convbdf' is up to date.
make[1]: `codepages' is up to date.
make[1]: `bmp2rb' is up to date.
Create sysfont.h
CC ata_idle_notify.c
CC events.c
CC backlight.c
CC buffer.c
CC powermgmt.c
CC system.c
CC usb.c
CC kernel.c
CC rolo.c
rolo.c: In function ‘rolo_load’:
rolo.c:202: warning: unused variable ‘i’
CC thread.c
thread.c:795:6: warning: #warning core_sleep not implemented, battery life will be decreased
CC timer.c
timer.c: In function ‘timer_set’:
timer.c:253: warning: implicit declaration of function ‘__TIMER_SET’
timer.c: In function ‘timer_register’:
timer.c:326: warning: implicit declaration of function ‘__TIMER_REGISTER’
CC panic.c
CC debug.c
CC common/atoi.c
CC common/crc32.c
CC common/ctype.c
CC common/dir_uncached.c
CC common/file.c
CC common/disk.c
CC common/errno.c
CC common/memcmp.c
CC common/memchr.c
CC common/qsort.c
CC common/random.c
CC common/sprintf.c
CC common/strcasecmp.c
CC common/strcasestr.c
CC common/strcat.c
CC common/strchr.c
CC common/strcmp.c
CC common/strcpy.c
CC common/strncmp.c
CC common/strncpy.c
CC common/strrchr.c
CC common/strtok.c
CC common/strstr.c
CC common/structec.c
CC common/timefuncs.c
CC common/unicode.c
CC scroll_engine.c
CC arabjoin.c
CC bidi.c
CC font_cache.c
CC font.c
CC hangul.c
CC lru.c
CC drivers/lcd-16bit.c
CC drivers/led.c
CC drivers/button.c
CC drivers/serial.c
CC drivers/ata_flash.c
drivers/ata_flash.c:47:5: warning: "CONFIG_FLASH" is not defined
drivers/ata_flash.c:47:21: warning: "FLASH_IFP7XX" is not defined
drivers/ata_flash.c:78:5: warning: "CONFIG_FLASH" is not defined
drivers/ata_flash.c:78:21: warning: "FLASH_IFP7XX" is not defined
drivers/ata_flash.c: In function ‘flash_select_chip’:
drivers/ata_flash.c:80: error: ‘GPIO5_CLR’ undeclared (first use in this function)
drivers/ata_flash.c:80: error: (Each undeclared identifier is reported only once
drivers/ata_flash.c:80: error: for each function it appears in.)
drivers/ata_flash.c:82: error: ‘GPIO5_SET’ undeclared (first use in this function)
drivers/ata_flash.c: In function ‘flash_wait_ready’:
drivers/ata_flash.c:113: error: ‘GPIO6_READ’ undeclared (first use in this function)
drivers/ata_flash.c: In function ‘nand_get_info’:
drivers/ata_flash.c:471: error: ‘struct storage_info’ has no member named ‘serial’
drivers/ata_flash.c:457: warning: unused variable ‘i’
drivers/ata_flash.c:456: warning: unused variable ‘blocks’
make[1]: *** [/home/lucas/meizu_dfu/rockbox/build/firmware/drivers/ata_flash.o] Error 1
make: *** [build] Error 2
Title: Re: Meizu M6 "miniplayer"
Post by: gevaerts on November 11, 2008, 08:41:08 AM
I still haven't updated the meizu code to the new storage layer, sorry about that.

Frank

Edit: fixed now
Title: Re: Meizu M6 "miniplayer"
Post by: jensu on November 14, 2008, 04:24:47 AM
i've a question regarding the spi connection to the driver ic of the m6sl lcd.
does anyone know how this is connected to the samsung arm chip?
is there another layout instead of this file M-P-V7.pdf (i guess this is not the m6 layout)? i was just wondering, because i had a look at the init_lcd_spi function and there are ports used (e.g. PCON4 bit2,3) which are not connected to anything.
where can i get this informations (nothing found on the wiki page of the meizu port)?

cheers
jens

Title: Re: Meizu M6 "miniplayer"
Post by: gevaerts on November 14, 2008, 06:32:58 AM
As far as I know M-P-V7.pdf is the layout of the m6sp. I'm not aware of any information that isn't on the wiki
Title: Re: Meizu M6 "miniplayer"
Post by: jensu on November 15, 2008, 08:01:00 AM
sorry, i overlooked the link to the reverse engineering page.
Title: Re: Meizu M6 "miniplayer"
Post by: jensu on November 19, 2008, 08:33:42 AM
does anyone currently working on the lcd driver for the m6sl?
i tried to get the id of the driver ic yesterday, but instead of 0x0154 i always got 0xffff.
did someone succeed in getting this id? can we be sure that all the port addresses regarding the m6sl model are correct?

best
jens
Title: Re: Meizu M6 "miniplayer"
Post by: gevaerts on November 19, 2008, 12:34:41 PM
I got 0x0154 out of my m6sl a while ago. Since then a lot of clock-related things have changed though, so timings are probably totally wrong
Title: Re: Meizu M6 "miniplayer"
Post by: jensu on November 19, 2008, 02:12:36 PM
yes, i've seen this and tried to fix it. but i'm not used to read such datasheets.
thanks for the info gevaerts, i'll keep on trying to get the id too :)
Title: Re: Meizu M6 "miniplayer"
Post by: zorgblaubaer on November 19, 2008, 08:22:44 PM
how do i get out data like that out of my m6sl anyway? i am clueless... ;(

i only worked with atmel chipsets untill now and those are documented, which isnt true for the meizu (for obvious reasons).. but i would really like to contribute.. maybe someone of you can give me some hints where to go for learning stuff like that ;)
Title: Re: Meizu M6 "miniplayer"
Post by: AlexP on January 18, 2009, 03:04:05 PM
I've just removed a few asking for updates posts.  Please people, do not post asking for updates.  If and when there is anything to say, it will be posted here.
Title: Re: Meizu M6 "miniplayer"
Post by: paul356 on February 16, 2009, 08:17:14 AM
Hey, guys. I own a M6SL. The official firmware from Meizu company sometimes is annoying. So I fully support porting rockbox onto Meizu players. Though I don't know much about arm, I have some C/C++ programming experience. If you need any help, please let me know.

EDIT: I can't get the through the dfu process. I am always got stuck at the get_cpu operation after "Wait a sec (literally)..." :(. Anybody can give me a hint?
Title: Re: Meizu M6 "miniplayer"
Post by: saab_rider on March 01, 2009, 09:48:44 PM
saab_rider:

A bit of a cheeky request - any chance you/your friend could PM the original poster and explain that Rockbox is written by volunteers in their spare time, and it would need a chinese speaking volunteer to invest a very large amount of time to keep a translation up to date.

Just wanted to let other Meizu M6 users know...  I as BigBambi suggested a while back and contacted the Chinese guy who posted in this thread in Chinese (http://forums.rockbox.org/index.php?topic=10078.msg124881#msg124881) (my translation is right below it).

This is his response:
Quote
謝謝你!
我是個學生,我倒是知道中文,但是我英文一般
我挺了解中國mp3市場的,我也有N多mp3
雖然在語言方面我沒有辦法幫RB
但是如果叫我找mp3或是查某mp3的資料
我會盡力幫忙的!

Translation:
Thank you!
I'm a student, and my English is weak.
I'm very familiar with China's MP3 market (I assume he means DAP market), and I have many MP3s (again I assume he means MP3 players).
Although I can't help RB due to the language barrier, however if anyone needs me to find a specific MP3 player or even a specific MP3 player's specs. I'll try my best to help!


So there you have it :) You can either contact the guy directly, or send me instead...
Thank

Title: Re: Meizu M6 "miniplayer"
Post by: yijie on March 23, 2009, 10:58:36 AM
EDIT: I can't get the through the dfu process. I am always got stuck at the get_cpu operation after "Wait a sec (literally)..." :(. Anybody can give me a hint?

I also got stuck here, can anyone help?
Here is what i got using command: meizu_dfu m6sl rockboot.ebn rockboot.ebn
Quote
Reading rockboot.ebn...OK
Reading rockboot.ebn...OK
USB initialization... Device found.
GET CPU, got: S5L8700 Rev.2
GET CPU, got: S5L8700 Rev.2
Sending rockboot.ebn... ####### OK
Wait a sec (literally)... OK
Releasing interface... OK
USB initialization... Device found.
GET CPU
Error trying to get CPU model, exiting.
Title: Re: Meizu M6 "miniplayer"
Post by: wpyh on April 18, 2009, 10:06:18 PM
To those who got stuck at the DFU process: You have to hold down the M and Play buttons during the whole process. Please try again and see if it works now.
Title: Re: Meizu M6 "miniplayer"
Post by: paul356 on May 25, 2009, 11:22:17 PM
To those who can successfully run the DFU process on the M6SL:
          I have been stuck in the DFU process for a long time and have the same problem as yijie. Could any explain the DFU process on the M6SL more precisely? So we can find where the problem is. There are some people like me who are willing to help this project but can't run test code on M6SL because of the DFU problem. If we can run code on our player, I think more people can really help this project.
Title: Re: Meizu M6 "miniplayer"
Post by: l4 on May 28, 2009, 06:56:26 AM
As there is few posts here about getting stuck at the GET CPU I have decided to dig into this.
During this process there is the part where you need to hold the buttons. To know you are holding them right (as wpyh suggests we are not :)), you can see in the lsusb --verbose (a linux command) the device is seen as 2 Blues USB DFU Device and also the DFU tool does not show the No device found.

If you look into the meizu_dfu source you'll notice there are duplicate lines of get_cpu(device) which was suspicious to me. Markun said he commented one of them out and the dfu tool works on his FreeBSD. I don't know if before modification it did not work for him but it did not solve my get_cpu() problem. I am not an experienced programmer but I will try to find out whats going wrong.

Guys who know their C and the sauce around, don't whine about not being to help cause of little difficulty and take a closer look at the get_cpu()  function of the dfu tool. I will try and will update this post in case I find some usefull hints or even solve the problem. (I own the M6SL version, please state your miniplayer version just in case ;))
Title: Re: Meizu M6 "miniplayer"
Post by: gevaerts on May 28, 2009, 07:24:40 AM
OK, there seems to be a lot of confusion about the meizu_dfu tool, so maybe I should mention some facts:

get_cpu() is executed twice to match the behaviour of the original windows dfu tool that's mentioned on the meizume forums.

meizu_dfu is designed to upload a firmware file, wait for it to start running and start its own dfu mode, and upload another file. This is because that's what you need to do to install the OF.
For running the rockbox test code, you only need one, and it doesn't speak dfu itself, so the second set of get_cpu() and upload fails.
Of course, some changes to the meizu_dfu code to have a mode where it only tries upload a single file (maybe by looking at how many files it's given on the command line) would be welcome

Title: Re: Meizu M6 "miniplayer"
Post by: l4 on May 29, 2009, 05:31:57 AM
I am glad gevaerts pointed out these facts. I have debugged and resolved my get_cpu issue which opposed to yijie's was in failing to get_cpu even before the first image was sent. Now what is happening is after sending the first image, the USB connection is reset to be reestablished with the upload code that has been sent in the first image. I got 'No Device Found' on the atempt to reestablish the connection. This is due to the player not being rediscovered during the 'Wait a sec (literally)..." message. This can be avoided by changing the waiting interval to 2 seconds.
If you encounter this issue just go to the rockbox/utils/meizu_df/meizu_dfu.c and change the sleep(1) to sleep(2) (in the code that is used for your version of player!). Now recompile the dfu tool and try again.
My status is now hanging on sending the second image. I assume the update code is not accepting it (most likely my fault) but I know its running as it is returning the CPU model S5L8700 Rev.2-BE  070831
(If anyone has a feeling that random thoughts of two minds is better than just one, visit the IRC, you can catch me with /msg l403 on freenode)
Title: Re: Meizu M6 "miniplayer"
Post by: yijie on May 29, 2009, 11:45:15 PM
Thanks everyone! Finally I get response. :)

To wpyh: I tried to hold two buttons down all the time, but failed again.  And if I press only M button, the command meizu_dfu updateNAND_BE_070831.dfu M6SL.ebn works.

Seems like after the first image updateNAND_BE_070831.dfu was uploaded, it begins to run. So, what is the address does it run from? Can we make rockboot.ebn run on this address and discard the second satge?

Title: Re: Meizu M6 "miniplayer"
Post by: gevaerts on May 30, 2009, 07:39:46 AM
Seems like after the first image updateNAND_BE_070831.dfu was uploaded, it begins to run. So, what is the address does it run from? Can we make rockboot.ebn run on this address and discard the second satge?

We can, and that's why we do that.
Title: Re: Meizu M6 "miniplayer"
Post by: bertrik on June 26, 2009, 07:12:36 PM
Hi all,
gevaerts lent me his Meizu M3 and I'm working on getting more stuff to work on it. So far we've been able to control the backlight brightness by doing interrupt-driven PWM, getting the i2c bus to work so we can talk to the codec and the real-time-clock chip. Hopefully we'll soon be able to communicate with the radio chip too.
Title: Re: Meizu M6 "miniplayer"
Post by: tonghuren on June 27, 2009, 06:33:33 AM
I have got the source files, but i don't have the complier on my PC.So, can somebody tell me where I can download the rockboot.ebn?If you have already got one,can you send it to me?I'm using M6SP.
Title: Re: Meizu M6 "miniplayer"
Post by: bertrik on June 27, 2009, 12:52:50 PM
The rockboot.ebn file is created when compiling the meizu bootloader. I can't really explain the entire building/compiling process here, but please have a look at the rockbox wiki pages on development, for example http://www.rockbox.org/twiki/bin/view/Main/DevelopmentGuide
Title: Re: Meizu M6 "miniplayer"
Post by: bertrik on July 07, 2009, 06:23:13 PM
Update on the Meizu M3:
We have audio out working with DMA-driven PCM. We can't access the NAND flash yet, so the first sound was done by compiling a 2-second audio clip directly into the bootloader. The uda1380 audio codec driver could be re-used from the iriver Hxxx port, but this driver will need some modification to properly work with the meizus (there are some differences in use of the MCLK clock signal for example).
FM radio can now also be controlled, again from the bootloader only for now.
The PCM can be easily enabled for the M6's too, the fm radio can be enabled for the M6SL only (the M6SP has a different FM chip).

The clean parts of this have been committed to SVN. To actually hear audio or control the fm radio on the M3, some hacks are needed that are not in a committable state yet. If people want to play with this, just let me know and I can make a patch that includes these hacks.
Title: Re: Meizu M6 "miniplayer"
Post by: paul356 on October 30, 2009, 01:32:31 AM
Hey, guys. It seems that this post haven't been updated for a long time. I hope people won't give hope for rockbox port on m6 series.
I request somebody who can run test code on m6sl to share your rockboot.ebn file with me. I really don't know why I can't run the test code on my m6sl, because I should be able to toggle the backlight if the code is run. I couldn't help to doubt that my cross-complier is not correctly built.

PS: I assume that the test code is run by replacing the firmware updating code. And the firmware update code is the first image file sent by the DFU tool during the normal DFU process. So our test code should be run just after the player accepting the first rockboot.ebn file. Do I need to reset the my player after that? Do I miss some thing?
Title: Re: Meizu M6 "miniplayer"
Post by: bertrik on November 01, 2009, 07:42:11 AM
Last weekend I was able to display a rockbox logo on my Meizu M6 SP. Unfortunately there is a spurious yellow line at the bottom of the screen (looks like part of the logo) and the player hangs after displaying the image. Probably the next thing will be enabling the SDRAM on the M6SP.

In principe it should be possible to run things directly from RAM in DFU mode, but I haven't been able to make that work on the SP yet (it did work on the Samsung YP-S3 which has the same SoC, using the M6SL DFU method). So I'm still running all test code from NOR flash now.
Title: Re: Meizu M6 "miniplayer"
Post by: MartyLK on November 06, 2009, 11:10:17 AM
Does anybody have a link to the latest M6SL firmware? I can't find it on the official site and the forum doesn't even show M6 anymore.
Title: Re: Meizu M6 "miniplayer"
Post by: bertrik on November 06, 2009, 11:36:14 AM
Small status update: I am now able to access the DRAM on the M6SP, I'll commit the change this weekend.
The hang after displaying the rockbox logo still puzzles me, the player seems to hang right after configuring the PCON_ASRAM register that controls the function of the pins used to interface with the LCD.

I think Meizu firmwares can still be found on the meizume forums.
Title: Re: Meizu M6 "miniplayer"
Post by: Ray Wong on November 06, 2009, 07:34:41 PM
Does anybody have a link to the latest M6SL firmware? I can't find it on the official site and the forum doesn't even show M6 anymore.
http://www.meizu.com/MeizuMp3LiveUpdate/Firmware/M6/2_0_0_4/M6_SL2.004.6.rar

here it is.
meizu  m6 is replaced by meizu m8 phone ..
Title: Re: Meizu M6 "miniplayer"
Post by: PMP on November 15, 2009, 04:28:29 AM
 :D

here is TP 2.004.6


http://rapidshare.com/files/307287039/meiau_mptp_fwt200046.zip.html

http://rapidshare.com/files/307287039/meiau_mptp_fwt200046.zip.html?killcode=419665503292886340

SP   s2.004.6

http://rapidshare.com/files/307292769/meiau_mpsp_fws200046.zip.html

http://rapidshare.com/files/307292769/meiau_mpsp_fws200046.zip.html?killcode=5786242892350135964

Music Card T2.004.6

http://www.meizu.com/MeizuMp3LiveUpdate/Firmware/M3/2_0_0_4/M3_T2004.6.rar


I hope you won‘t give up  MEIZU   M3

Title: Re: Meizu M6 "miniplayer"
Post by: bertrik on November 15, 2009, 04:49:36 PM
SDRAM now seems to work on the Meizu M3 too (haven't tested it extensively though).

Also, I got some more insight on how the DFU mode works on the M3 and M6SP: the image that is sent in DFU mode is not a full RAM executable, but a kind of flash-loader plugin, with a couple of basic flash functions, like flash identification, device erase, block erase and flash write. There is a possibility that this mode can be exploited to write a kind of RAM-loader (as opposed to a flash loader), that can be used to bootload the main rockbox executable.
Title: Re: Meizu M6 "miniplayer"
Post by: PMP on November 17, 2009, 03:29:33 AM
(http://pmp.5d6d.com/userdirs/4/c/pmp/attachments/month_0901/20090128_12f18585ecd1ca744875prV0q949pN88.jpg)

hope those thing can hlpe


we are a bunch of meizu m6 [tp, sp sl,ts] ,m3[sp,se] woners,
we are looking forward to use ROCKBOX firmware for ages.
By any chance, if we can help to test firmware, we wounld be very glad


http://pmp.5d6d.com/thread-329-1-3.html

http://pmp.5d6d.com/thread-330-1-3.html
Title: Re: Meizu M6 "miniplayer"
Post by: paul356 on November 18, 2009, 07:45:54 AM
Hi guys. Finally I can toggle the back-light of m6sl using the bootloader generated by the rockbox project. This is achieved by modifying boot.lds and crt0.S in folder $ROCKBOX_HOME/firmware/target/arm/s5l8700. It seems that .text section and .rodata is mapped onto flash. During DFU process the flash is not accessible so we need to modify the boot.lds. I don't know modifying crt0.S is necessary or not, because I haven't test this new boot.lds with the current crt0.S file. I hope this will help guys want to get some reaction from the m6sl, though this task is so simple for these experienced developers.

PS: .txt is added to the two file name because this forum doesn't support uploading .S and .lds files.
Title: Re: Meizu M6 "miniplayer"
Post by: saratoga on November 18, 2009, 09:26:50 AM
PS: .txt is added to the two file name because this forum doesn't support uploading .S and .lds files.

Thats a subtle way of reminding you not to post code to this thread, and instead submit patches to the tracker where they won't get lost. 
Title: Re: Meizu M6 "miniplayer"
Post by: paul356 on December 11, 2009, 11:21:53 PM
Hello, guys. Now I am trying to understand the disassembled code. Because I am a newbie for embeded systems, I have diffcult to understand following code located in M6SL.ebn, offset 0x8578:
Code: [Select]
RAM:22008578                 LDR     R1, =0xFFF
RAM:2200857C                 AND     R1, PC, R1
RAM:22008580                 ADD     PC, R0, R1
It seems that the arm code should be aligned to 4 bytes. But after executing these code the arm processer PC will have an odd address of 0x**009583. So I am puzzled. Is this code meant to incur some sort of exception?
Title: Re: Meizu M6 "miniplayer"
Post by: saratoga on December 12, 2009, 12:32:07 AM
I'm not much good at arm, but it looks to me like that code just jumps ahead to the nearest 4KB boundary (address that ends in 1+0xFFF), so its probably just trying to align a code block with a page boundary.
Title: Re: Meizu M6 "miniplayer"
Post by: paul356 on December 13, 2009, 02:30:33 AM
Thank you, saratoga. I mistake AND for ADD. So, you know why I am puzzled. Reading disassembly makes me dizzy.  :-P
Title: Re: Meizu M6 "miniplayer"
Post by: bertrik on December 13, 2009, 03:33:10 PM
Hi paul356, nice to hear you're having some success with the m6sl.
In theory you should be able to run code from RAM just by modifying boot.lds (making everything go into RAM). This works for me for the Samsung YP-S3 (which seems identical to the m6sl with respect to bootloading). For the YP-S3 I also modified meizu_dfu to upload only the first image. Running and testing from RAM is actually easier than running and testing from flash because it takes less time to do one test run.
A major next step for the m6sl would be to get the display working. There is already some code for that (written for a S6D0154 LCD controller), but I don't think it's working yet. You could also try the code from the m6sp, the firmware seems to use some kind of autodetection for the display. My m6sp uses the driver for the unknown LCD controller, but there is also a driver (in the same file) for a S6D0139 controller which could be in the m6sl.
Title: Re: Meizu M6 "miniplayer"
Post by: bitrat on December 15, 2009, 06:48:24 AM
hi bertrik,here's what i found~m6's circuit diagram,it's a PDF document(but it's a little larrrrrrrge),i don't know whether it could do some help,good luck!
Title: Re: Meizu M6 "miniplayer"
Post by: erdear on December 15, 2009, 08:03:35 PM
Hi bertrik. Another circuit program. The program uploaded by bitrat maybe breaken. Thus, I upload this one, version M6 SP.
PS: Change the file name to "meizu M6 SP.part1.rar" and "meizu M6 SP.part1.rar", and decompress any file, you can get pdf document.
Title: Re: Meizu M6 "miniplayer"
Post by: bertrik on December 16, 2009, 02:46:51 PM
Thanks for the offer, but I already have the M6SP schematic.
Title: Re: Meizu M6 "miniplayer"
Post by: erdear on December 16, 2009, 09:12:03 PM
OK, Wish you success. All the meizu fans will say thanks to your team.
Title: Re: Meizu M6 "miniplayer"
Post by: PMP on December 21, 2009, 10:57:09 PM
those picture may help this work :D


http://forum.meizu.com/viewthread.php?tid=3357&extra=page%3D1&frombbs=1



MLC NAND Flash .pdf

sansamg  S5L8700X07 

http://bbs.meizu.com/viewthread.php?tid=1426928&extra=page%3D1&frombbs=1
==============================================





Title: Re: Meizu M6 "miniplayer"
Post by: PMP on January 17, 2010, 11:45:03 PM
 I have got SDRAM_TOSHIBA_DUAL   how can i upload it to here?
Title: Re: Meizu M6 "miniplayer"
Post by: sinless on June 25, 2010, 09:13:57 AM
M3 and NANO2 shares the same LCD?
Today i Took apart my M3(old version),found the LCD is very similiar to NANO2's LCD,it made by AUO,(And i saw nano2 use AUO's LCD last year),I tried to insect M3's LCD to a broken NANO2 board,it seems M3 and NANO2 uses the same LCD..But I don.t have a working NANO2 to test...
(http://i3.6.cn/cvbnm/63/c2/d7/2103748a501c3333f4915f1b07d53eaa.320.jpg)
(http://i3.6.cn/cvbnm/d8/09/7f/65218bbe21d39fefcf3d2c0b95a83699.320.jpg)
Title: Re: Meizu M6 "miniplayer"
Post by: funman on June 25, 2010, 09:43:02 AM
I can't find it anymore but I have seen a reparation of meizu m3 with a ipod nano LCD, they are completely the same and interchangeable.

(By the way, I edited your post to show the IMG tag correctly)
Title: Re: Meizu M6 "miniplayer"
Post by: PMP on June 10, 2011, 01:56:34 AM
http://bbs.meizu.com/thread-2680823-1-1.html

FOR  M6