Rockbox Development > New Ports

SanDisk Sansa m200 series (v1)

<< < (4/18) > >>

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