Rockbox Development > New Ports
SanDisk Sansa m200 series (v1)
travishayes89:
--- Quote from: dan_a on December 21, 2006, 03:20:39 AM ---Try setting up a Rockbox development environment and then doing:
arm-elf-objdump -D -m arm -b binary firmware.rom | more
where firmware.rom is the name of the .rom file
--- End quote ---
Do you mean using "cygwin"?
Edit, cygwin's objdump doesn't recognize the sansa m240 firmware rom file.
Bagder:
--- Quote ---Do you mean using "cygwin"?
--- End quote ---
Let me repeat what he said, with a little emphasis added:
"Try setting up a Rockbox development environment and then doing:"
... as you will of course need an objdump built for ARM. You can do that with cygwin or otherwise, as is described fine on the rockbox site.
maxkelley:
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
--- End code ---
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!
--- End code ---
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 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 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
--- End code ---
Edit some more:
Ok, here's some more help. I got the roms from the firmware update, not sure if this will help:
American Version: http://maxkelley.be/sansaroms/SANSM200_American.rom
Asian Version: http://maxkelley.be/sansaroms/SANSM200_Asian.rom
European Version: http://maxkelley.be/sansaroms/SANSM200_European.rom
fiveofoh:
Hey, sorry if I'm bringing up an old thread, but I've got an m250 (the 2GB version of the m240) and am wondering if a rockbox port would be
a) feasible
b) reasonable
I own it, and I'm willing to take it apart and mess with it, I've got decent electronics skills (and am majoring in EE/CS). I don't have a lot of time right now, but I may in the near future, and would like to take a stab at it if it meets the two requirements above.
Edit:
After re-reading the New Ports section on the wiki, I'll add a couple things:
1) I am wiling and expecting that if anything gets done, I'll be the one doing it - I just want to know if it's worth my effort.
2) I will have access to the EE lab at college come late September, I have my own basic stuff (multimeter, soldering iron, etc) but I'm guessing there's probably a BDM/JTag emulator somewhere around the labs
3) I have tinkered with assembly, and am learning C++, hopefully C won't be too difficult to pick up
4) The Sansa m200 seems like a decent target, firmware is loaded from disk/flash, I have it.
Bagder:
--- Quote ---a) feasible
--- End quote ---
Sure, why not?
--- Quote ---b) reasonable
--- End quote ---
Sure, why not? I don't think this target is much less reasonable than other similar targets that we already support.
Start working on a wiki page with PCB scans, figure out upgrade file format etc etc
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version