Rockbox Technical Forums
Rockbox Development => New Ports => Topic started by: SvendTorgersen on January 31, 2008, 10:16:03 AM
-
I have been looking into getting something else than Sony's firmware into this one, and it doesn't look impossible.
My reason, since I own the NW-A808, is to get support for MTP/UMS and hopefully Rockbox.
The players:
http://www.sony.co.uk/view/ShowProductCategory.action?site=odw_en_GB&category=NWS+A+Series
The players run on a modified Linux 2.6.10 kernel on a FAT filesystem, the kernel and the tools used for creating the old firmware kan be found here:
http://www.sony.net/Products/Linux/Download/NW-A808_NW-A808_S_NW-A806_NW-A805_20070829.html
The player service manual can be found here:
http://stashbox.org/62685/NW-A805.zip
This manual is overwhelmingly detailed given that it is a service manual and gives a lot of information about the players hardware.
I have used some hours digging up info about the components in the player:
CPU:
The CPU used is a NEC MP201which runs the filesystem. It actually consists of an ARM CPU, with a DSP and some more stuff in the same package.
http://www.necel.com/application_processor/en/product_mp201_3.html
http://forum.mp3store.pl/lofiversion/index.php?t20249.html
USB2.0 Host - Seiko Epson S1R72V17 :
I have requested more info from epson about this chip.
http://www.epson.jp/device/semicon_e/product/interface/index.htm
I have also collected data sheets about some other ICs in the player and downloaded the data sheets.
Does anyone know if it is impossible (or hard) to port Rockbox to this player, and if so, why?
I appreciate all feedback:)
-
It's hard to say "hard" or "impossible" when it comes to starting a new port. What it takes is someone who owns the hardware, wants to start a port, and is willing to get their hands dirty.
Here's a page with some information that you should read: http://www.rockbox.org/twiki/bin/view/Main/NewPort
Since you're getting information on the device, that's an excellent start. But the best place for that info is the wiki. Start by going to the main page of the wiki and typing a page name in the search bar; in this case, try typing "SonyNWA808Port" into the bar. The wiki will say the page isn't found and ask if you want to create the page; choose yes. Then edit away at your new wiki page.
What to put on the wiki page? Images, info, datasheets (if you can!), and basically anything that'll help you start the port.
Good luck with this!
-
As I am about to take delivery of a NWZ-A815 I thought I'd take some interest in this port. I have to confess that I know very little about electronics although I have some experience with assembler and cracking software, (admittedly 15 years ago!). So I am at the bottom of a long and very steep learning curve but I'll try and chip in where I can. I am a technical author by trade so at least I might be able to produce a nice manual if nothing else...
I have been playing around with the NW-A80x firmware update application. I have no idea if any of this is useful but I discovered the following information about the firmware update process:
Running the update application NW-A800_V1_03.exe causes a directory to be created: C:\Documents and Settings\peter\Local Settings\Temp\pft35E.tmp
This folder contains the following files:
Directory of C:\Documents and Settings\peter\Local Settings\Temp\pft35E.tmp
03/02/2008 15:13 .
03/02/2008 15:13 ..
10/01/2007 10:12 114,688 FWUpdater.exe
10/01/2007 10:12 110,592 FWUpdaterCom.dll
10/01/2007 10:12 114,688 FWUpdaterRes.dll
29/08/2005 18:52 2,998 license_cs.txt
29/08/2005 18:52 3,033 license_ct.txt
29/08/2005 18:52 5,939 license_en.txt
29/08/2005 18:52 6,397 license_fr.txt
29/08/2005 18:52 5,915 license_ge.txt
29/08/2005 18:52 6,493 license_it.txt
18/05/2006 15:22 3,470 license_jp.txt
29/08/2005 18:52 4,250 license_ko.txt
29/08/2005 18:52 5,865 license_sp.txt
18/05/2006 15:22 7,408 license_us.txt
04/09/2007 13:14 1,080 nwa80x.ini
04/09/2007 13:14 512 NW_A805-2G.PBR
04/09/2007 13:14 512 NW_A806-4G.PBR
04/09/2007 13:14 512 NW_A808-8G.PBR
04/09/2007 13:14 11,001,944 NW_A80X.UPG
18 File(s) 11,396,296 bytes
2 Dir(s) 2,186,571,776 bytes free
NW_A80X.UPG seems to be the actual data file used for the upgrade. I have no idea whether it is encrypted or not, nor whether or not it is a complete firmware image.
NW_A80*.PBR contains device specific update data, including an error message and is referenced by nwa80x.ini.
nwa80x.ini contains the following data:
[PAC_FWUpdater]
Target=NW-A80X
Comment=NW-A80X Firmware Update
;
; NW-A805: 2G Bytes model
;
[DEVICE00]
DeviceName=NW-A805
ProductInfo=WALKMAN
ClassifyType=4
DevicePropertyProductInfo=NW-A805
SubIdentification=00000000
CommandType=0
Signature=dbmn
Version00=1.03
FWPackage00=NW_A80X.UPG
FWPackageWritePathName=\NW_A80X.UPG
StorageMediaFormatType=0
PBRFile=NW_A805-2G.PBR
Timer=1:40
;
; NW-A806: 4G Bytes model
;
[DEVICE01]
DeviceName=NW-A806
ProductInfo=WALKMAN
ClassifyType=4
DevicePropertyProductInfo=NW-A806
SubIdentification=00000000
CommandType=0
Signature=dbmn
Version00=1.03
FWPackage00=NW_A80X.UPG
FWPackageWritePathName=\NW_A80X.UPG
StorageMediaFormatType=0
PBRFile=NW_A806-4G.PBR
Timer=1:40
;
; NW-A808: 8G Bytes model
;
[DEVICE02]
DeviceName=NW-A808
ProductInfo=WALKMAN
ClassifyType=4
DevicePropertyProductInfo=NW-A808
SubIdentification=00000000
CommandType=0
Signature=dbmn
Version00=1.03
FWPackage00=NW_A80X.UPG
FWPackageWritePathName=\NW_A80X.UPG
StorageMediaFormatType=0
PBRFile=NW_A808-8G.PBR
Timer=1:40
-------------------------------------
Would it be worth trying to find out more about the firmware file? Let me know if you want me to upload any of the files above to a common location.
Best regards,
Pete
-
I'm happy for all you can do. Have been reading about the boot loader (u-boot 1.1.1) and still need to figure out how the firmware is upgraded, is it after the original linux kernel has booted up, or are firmware upgrades done through the boot loader. I've seen in one of the firmware files that mkdosfs is run, on what memory address does the FAT32 filesystem start? What is the memory adress of the linux kernel? I'd appreciate any info like that.
More info on the MP201 processor from NEC is especially needed, can't find documentation anywhere:)
-
u-boot!
u-boot is GPL licensed, you should immediately ask Sony for the full source code they used to build it.
Of course there's also the remote possibility that they already provide the source...
-
I had a quick peek at the u-boot tar - it looks pretty complete, eg. there's some useful-looking stuff in the board/mp201 folder.
-
I saw that too, but there is so much code to go through. I think the most ideal would be to leave the boot loader alone after we know how it works and then try to create some kind of "Hello World" firmware as a proof of concept. That way we wouldn't risk to destroy the player.
I also see a lot of references to ICX1087, which I can't find anything about except this link:
http://translate.google.com/translate?u=http%3A%2F%2Fblog.so-net.ne.jp%2Fbrologue%2F2007-04-15&langpair=ja%7Cen&hl=en&ie=UTF8
When looking through the code, it seems that ICX1087 is the name Sony has defined for their system (Maybe a MP201 with some Sony modifications. A Google search on 'ICX Sony' gives a lot of Sony semiconductor components results.
I'm not too into low-level programming like this yet, so it takes some time for me to understand what the different things are doing in the boot loader:)
-
I'm having a hard time finding a free toolchain for crosscompiling for the ARM926EJ-S(ARM9E/ARMv5TEJ). The makefile from Sony runs arm_v5t_le-gcc from MontaVista, but this costs money.
I see that Scratchbox and ELDK has toolchains which support ARM architectures, don't know if they support the configuration needed to build anything for this exact cpu. Anyone tried one of these?
-
That's just plain gcc, you can build your own. In fact, the one you get with Rockbox' rockboxdev.sh script should be good enough for both u-boot and Linux as none of them use libc (afair).
-
When looking through the code, it seems that ICX1087 is the name Sony has defined for their system (Maybe a MP201 with some Sony modifications. A Google search on 'ICX Sony' gives a lot of Sony semiconductor components results.
ICX1087 has something to do with the USB.
icx1087_usb_epson.c -- ICX1087 USB helper - this file can be found in the drivers/usb/gadgets dir of the linux kernel source Sony provided, and it's not in the plain 2.6.10 kernel, so Sony added it.
The SoC package is called MC-10051F1-FAE-A, and it's indeed based off the Nec MP-201, which includes a ARM926EJ-S CPU.
Edit: I've looked through the source code a bit more, and the arch/arm/mach-mp200 directory looks very promising. There are many drivers, e.g. LCD.
Also, the A810 and the A800 series seems to be entirely the same hardwarewise.
I'm thinking of getting such a device and start hacking.
Edit2: I've uploaded the diffs of the u-boot and linux kernel sources here: http://www.alice-dsl.net/simonemartitz/rockbox/sony-sources-diff.7z
Edit3: Well, my decision for a new player was in favor for a 4GB Fuze, as it seems I'd be alone with this port, and I don't want to be alone on my first port ;) Anyway, this Sony player has a lot of potential IMHO.
-
I own a Sony-NWZ-S516, very similar to the A810 and A800 series, but without video function, and I would really like to participate in a port. The bad thing is, I am neither a good programmer nor do I know anything about electronics.
The Source code for many parts of the firmware can be found here:
http://www.sony.net/Products/Linux/Download/NWZ-S615F_NWZ-S616F_NWZ-S618F_NWZ-S515_NWZ-S516_NWZ-A815_NWZ-A816_NWZ-A818.html
I know nobody will port Rockbox to this device only for me , but I just wanted to show my personal interest in a port. The Sony players have great sound quality and battery lifetimes, with Rockbox they would beat everything ;).
-
I just started a port page for the NWZ-A728, which is similar to the A80x, without the bluetooth. You can head over there http://www.rockbox.org/wiki/WalkmanNwzA728Port, and read up on what I have right now. If you want to send me more information, PCB scans, detailed specs, etc, send me an email @ cybeastfalzar99@yahoo.com.
-
I just started a port page for the NWZ-A728, which is similar to the A80x, without the bluetooth. You can head over there http://www.rockbox.org/wiki/WalkmanNwzA728Port, and read up on what I have right now. If you want to send me more information, PCB scans, detailed specs, etc, send me an email @ cybeastfalzar99@yahoo.com.
You should probably begin by taking apart your player and identifying the components. Thats really the most useful thing. The rest of the information currently on the wiki is basically irrelevant since it concerns the retail firmware, not the actual hardware.