|
Sansa M200 Port
Rockbox doesn't function on the v2 models.
Intro
Hmm, so I'm looking to port Rockbox to the Sansa m200 series, m240 specifically. I've attached a couple scans, and here's the info that has been collected variously.
Current Status
Some initial work has been committed to SVN on 2 May 2008. It is possible to compile a build, but not much else. There is an working tick interrupt in the bootloader and a working LCD driver, but a working ATA (NAND) driver is still needed.
NOTE: This port is only for the v1 m200.
Firmware
If you get the binary upgrade executable from SanDisk (http://www.sandisk.com/Retail/Default.aspx?CatID=1326) and run it under windows, it'll store the SANSM200.rom file in C:\Windows\temp even though it fails to install it.
It seems to be plain and unencrypted. The header includes data (like Ver:0071 ) that is also found in other TeleChip based firmwares, see http://www.rockbox.org/mail/archive/rockbox-dev-archive-2007-07/0077.shtml
Info that I've gleaned
This is from my Sansa, so here goes:
Back, from top-center, clockwise:
Sandisk
P64218302
SDTNKHHSM-16384
CP0021507
TAIWAN
(was under a black spongy pad)
ESMT
M12313161A-
LXY1F80FJ
10T
0634
SANSA M200+ V4.1 25-1587-G02V--K
SanDisk
20-99-00112-2
S637-691002
SDC1
TAIWAN
SJK
24.000
CF628
TEA5767
CF8556
01
TPG06292
The front doesn't have much interesting, The white lettering is:
GFM01
92VO^ 0643
Button thing (?):
4R7
2U
VBAT is next to that.
Other info below is just gleaned, an I can't vouch for its correctness or anything.
Here's what maxkelley found out on the forums:
OK, I connected my Sansa m240 in MSC mode, here's fdisk -l:
Code:
Disk /dev/sda: 1016 MB, 1016856576 bytes
32 heads, 61 sectors/track, 1017 cylinders
Units = cylinders of 1952 * 512 = 999424 bytes
Device Boot Start End Blocks Id System
Are there any flags that will show hidden partitions or something? Also, there are two hardware revisions of this player that I have seen. One hardware revision is revision 4, the other is 1.30. The usb id's of these two are 0781:7431, and 0781:7401, respectively. I did the above fdisk listing using a revision 4 model, which has an improved (brighter) backlight and graphics (some fonts are different as well) over the revision 1.30. There are isn't really a way to tell which is which, having them side-by-side.
Code:
[18957561.368000] usb 5-7: new high speed USB device using ehci_hcd and address 25
[18957561.508000] usb 5-7: configuration #1 chosen from 1 choice
[18957561.512000] scsi20 : SCSI emulation for USB Mass Storage devices
[18957561.512000] usb-storage: device found at 25
[18957561.512000] usb-storage: waiting for device to settle before scanning
[18957566.516000] usb-storage: device scan complete
[18957566.520000] Vendor: SanDisk Model: Sansa m240 Rev: v4.0
[18957566.520000] Type: Direct-Access ANSI SCSI revision: 00
[18957566.544000] SCSI device sda: 1986048 512-byte hdwr sectors (1017 MB)
[18957566.544000] sda: Write Protect is off
[18957566.544000] sda: Mode Sense: 04 00 00 00
[18957566.544000] sda: assuming drive cache: write through
[18957566.564000] SCSI device sda: 1986048 512-byte hdwr sectors (1017 MB)
[18957566.564000] sda: Write Protect is off
[18957566.564000] sda: Mode Sense: 04 00 00 00
[18957566.564000] sda: assuming drive cache: write through
[18957566.564000] sda:
[18957566.568000] sd 20:0:0:0: Attached scsi removable disk sda
[18957566.568000] sd 20:0:0:0: Attached scsi generic sg0 type 0
[18957567.968000] FAT: utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive!
Strange thing about it is that it runs firmware version 4.0.44A, where the latest on the SanDisk site is something like 3.0.2, where my 1.30 runs 3.2.8A. SanDisk needs to fix their firmware updates..
I hope this helps somewhat.
Edit: Ok, here's a longer lsusb with -v:
Code:
Bus 005 Device 026: ID 0781:7431 <nop>SanDisk Corp.
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x0781 <nop>SanDisk Corp.
idProduct 0x7431
bcdDevice 4.0e
iManufacturer 1 SanDisk
iProduct 2 SanDisk Sansa m240
iSerial 3 4014E30F0117B3930000000000000000
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 32
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 4 config1: Mass Storage only
bmAttributes 0xc0
Self Powered
!MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 8 Mass Storage
bInterfaceSubClass 6 SCSI
bInterfaceProtocol 80 Bulk (Zip)
iInterface 5 ms ifac 1 (SCSI::BULK_ONLY)
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
bNumConfigurations 1
Device Status: 0x0001
Self Powered
Edit some more:
Ok, here's some more help. I got the roms from the firmware update, not sure if this will help:
Info from the AnythingButIpod forums, via AlexHayes89
I cracked my M250 open to see what hardware is used:
Main processor/"System on Chip" (SOC): Telechips TCC 770
http://www.telechips.com
Couldn't get any detailed info, their website requires a logon just to see the datasheet. Possibly because they are in the process of being sued by SigmaTel for patent infringement. I emailed asking how to get a software developer's kit, but don't expect an answer. They are not set up to sell product into the USA. Anyone have a friend in Hong Kong that would front for me in getting one ?
Anyway, here's the info I COULD find:
TCC77x Series are system LSI for digital audio player based on the ARM946E-S, ARM'sproprietary 32-bit RISC CPU core. It can decode and encode MP3 or other types of audio/voice compression/ decompression standards by software based architechure. The on-chip USB 2.0 compliant controller enables the data transmission between a personal computer and storage device such as NAND flash, HDD, SD,MMC etc.
Applications
- Portable MP3 player (WMDRM10)
- Mobile MP3 phone
- Juke Box (Audio & Photo)
- Portable MP3 Karaoke
- Digital Internet Radio Server
- Electronic Dictionary
- Personal Multimedia Player (Audio/Image/Video)
- Multimedia Storage Device
SDK
- Provides Reference Solution including H/W and S/W
- Provides World-first proven JANUS DRM(WMDRM 10 - PD) Solution
- Supports various Audio & Video codec
- MP3 decoding/encoding
- SoundCodecWMA decoding/encoding
- OGG decoding
- ADPCM decoding/encoding
- JPEG decoding
- MPEG4-SP decoding
- Supports MSC (Mass Storage Class) & MTP (Media Transfer Protocol)
- Supports Meta-data Browsing
Features
- ARM946E-S CPU core (4KB cache, up to 120MHz), 0.13um process
- Core : 1.1V ~ 1.3V, I/O : 1.8V ~ 3.3V
- 4K bytes of internal boot ROM with various boot procedure (NAND, UART, USB, EHI) and security
- 64K bytes of internal SRAM for general usage
- 4K bytes of data TCM (Tightly Coupled Memory) for fast data access
On-chip peripherals
- USB2.0 Device / USB1.1 Host
- ECC generator for SLC and MLC NAND Flash
- General purpose 8 channel 10-bit ADC
- RTC (Real Time Clock) for battery backup
- EHI (External Host Interface) for parallel host interface
- Dedicated Memory Interfaces: SD ,MMC, SLC / MLC NAND Flash , IDE I/F for HDD
- Embedded 8Mbit Nor Flash ,16Mbit SDRAM, High Performance Audio Codec Options
Other parts
Besides the Telechips part, here are the other main chunks of silicon:
TI TLV320AIC23B Stereo codec and headphone amp (not sure why this is needed, as the telechips supposedly has the codec built in? Maybe just for the headphone amp)
ESMT M12S16161A 1M X 16 DRAM
Flash is Samsung... I didn't bother with the chip IDs
Philips TEA5767 FM radio - comment by MarianneArnold: this chip is used in a few other rockbox targets as well (Iriver H1x0s, Iriver H3x0s, newer Archos Ondios; present in the Iriver H10s as well but not yet supported there)
and a couple I was unable to track down from the markings:
59TI
AIP
and
AZ-76
VOB
..... and, yes, I got it back together and working perfectly
Other stuff / Attached Scans
Well, that's about it for now, I guess. Progress will of course be chronicled. I'll probably do a writeup on how to take one apart, since I know how to now.
- Thumbnail of the front of the Sansa m240 PCB:
.jpg) Big version
|
- Thumbnail of the back of the Sansa m240 PCB:
.jpg) Big version
|
CategoryFrontpage: Sandisk Sansa m200 Port Index [New Ports]
|
|
Copyright © 1999-2008 by the contributing authors.
|
|