Rockbox Technical Forums

Rockbox Development => New Ports => Topic started by: zivan56 on November 02, 2007, 07:01:58 PM

Title: Sandisk Sansa View
Post by: zivan56 on November 02, 2007, 07:01:58 PM
Well the Sansa View came out a short time ago, and good news:  it's PortalPlayer based (Nvidia)!  And it looks to use the same basic firmware/bootloader (rom+mi4) layout as the c200/e200.
Use the latest version of mi4code to decrypt it with the key:
70e19bda 0c69ea7d 2b8b1ad1 e9767ced (v 1.00.03)
(found via mi4code keyscan on BootLoader.rom)
Firmware is available for download from:
http://forums.sandisk.com/sansa/board/message?board.id=view&thread.id=326
Decryption works just fine, and there is a classic PPOS header in when the firmware is decoded.  There appears to be a reference to the NVIDIA GoForce 6100 http://www.nvidia.com/page/goforce_6100.html, which features, among other things, a "Dedicated high performance 250MHz ARM1176JZ-S core"

Looks to be very close to the Sansa e200/c200 series in terms of the bootloader/firmware sections.  So I would assume a properly made binary could be signed with the above key and executed on the player.

Player can be put in UMS/MSC mode via a startup hack:
Let it boot up up, put the hold switch on.  Hold down the left side of the scroll wheel and plug the usb cable in at the same time.  Keep holding it until a drive appears.  Can someone do an fdisk -l output?

Now, if someone with a View using 1.00.03 firmware could trying the decrypt/encrypt the firmware and see if it runs...
Title: Re: Sandisk Sansa View
Post by: Bagder on November 03, 2007, 11:00:21 AM
I've updated my mi4 page[1] to host the mi4+BL files for the View and I'm hosting MrH's most recent mi4code version[2] with built-in keys for the View... For your pleasure, I also host a copy of the View firmware zip[3].

Oh, and I've started a wiki page[4] about it.

[1] = http://daniel.haxx.se/sansa/mi4.html
[2] = http://daniel.haxx.se/sansa/mi4code.html
[3] = http://daniel.haxx.se/sansa/sansa-view/View01.00.03.zip (5.0MB)
[4] = http://www.rockbox.org/twiki/bin/view/Main/SansaView

Enjoy!

(and the mediaproc.mi4 that is included in the View firmware zip is decryptable using the same View key as the main firmware.mi4 is)
Title: Re: Sandisk Sansa View
Post by: scharkalvin on November 03, 2007, 01:14:57 PM
Here's something else about the view I saw on everythingbutipod:

It's got hw video out...
http://www.anythingbutipod.com/archives/2007/10/sandisk-sansa-view-video-out.php
Title: Re: Sandisk Sansa View
Post by: saratoga on November 03, 2007, 02:19:04 PM
A PP502x would be an odd thing to have if you're also got an ARM9 core too.  Perhaps its purely 6100 based, and the 6100 is itself a new "PP" chip developed by Nvidia since their acquisition of the PP intellectual property.  
Title: Re: Sandisk Sansa View
Post by: Bagder on November 03, 2007, 05:14:52 PM
I agree.

A closer inspection of the firmware reveals no mentioning of PP502x, but several of PP6110. (I compared with the most recent e200 one and it has numerous PP5022 references.)

Many other strings are identical which indicates that the firmwares share a lot.

However, it being two different mi4 files in the zip somehow indicates they might be for two different cores. And both firmware files have ARM instructions and ARM exception vectors at 0x200.
Title: Re: Sandisk Sansa View
Post by: linuxstb on November 03, 2007, 06:25:37 PM
They could have taken the same route as Apple did with the ipod video - keep the existing design as close to previous models as possible, and add a second CPU for video playback.

The firmware.mi4 file contains the strings:

NVIDIA  
NV6100-06.10-PP01-06.10-PP01.00.03P-RT
2007.10.10
(Build 50.10)
Digital Media Platform
Copyright (c) 2007 NVIDIA Corporation.  All rights reserved.

Which are quite similar to the PP strings found in the E200's mi4:

portalplayer
PP5022AF-05.51-S301-00.12-S301.00.12A-D
2006.03.29
(Build 169.20)
Digital Media Platform
Copyright(c) 1999 - 2003 PortalPlayer, Inc.  All rights reserved.

whereas the mediaproc.mi4 file contains:

NVIDIA
AP10
06.10
2007.04.11
(Build 08)
Digital Media Processor
Copyright (c) 2007 NVIDIA Corporation.  All rights reserved.


A more detailed disassembly of the mi4 files should show whether its PP or not - i.e. if it's using the same registers.

EDIT: I've had a quick look at the disassembly of the firmware.mi4 file.  There are lots of familiar PP registers being used (e.g. 0xf000f000 to remap memory, and checking 0x60000000 for 0x55 to test if the code is running on the CPU or COP).  So it would seem to me that there's a PP chip in there.
Title: Re: Sandisk Sansa View
Post by: Jorge on November 25, 2007, 01:02:41 PM
Here is my fdisk -l output:

Disk /dev/sda: 16.4 GB, 16441147392 bytes
64 heads, 32 sectors/track, 15679 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Disk identifier: 0x00000000

And here is my lsusb -v output:

Bus 004 Device 004: ID 0781:74b1 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          0x74b1
  bcdDevice            7.20
  iManufacturer           1
  iProduct                2
  iSerial                 3
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           32
    bNumInterfaces          1
    bConfigurationValue   128
    iConfiguration          0
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     80 Bulk (Zip)
      iInterface              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
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
can't get device qualifier: Operation not permitted
can't get debug descriptor: Operation not permitted
cannot read device status, Operation not permitted (1)


I hope this helps.
Title: Re: Sandisk Sansa View
Post by: Drkepilogue on November 26, 2007, 10:01:39 PM
not sure are these useful...

(http://i30.photobucket.com/albums/c304/Drkepilogue/img009.jpg)



(http://i30.photobucket.com/albums/c304/Drkepilogue/img006.jpg)



(http://i30.photobucket.com/albums/c304/Drkepilogue/img005.jpg)



(http://i30.photobucket.com/albums/c304/Drkepilogue/img004.jpg)



(http://i30.photobucket.com/albums/c304/Drkepilogue/img003.jpg)



(http://i30.photobucket.com/albums/c304/Drkepilogue/img001.jpg)
Title: Re: Sandisk Sansa View
Post by: rp on November 27, 2007, 01:29:42 AM
from the 1. picture i see they still use an AS3517 (http://www.austriamicrosystems.com/03products/products_detail/AS3517/description_AS3517.htm) from AMS for audio and power management.
I guess this chip will be similar to the AS3514.
Title: Re: Sandisk Sansa View
Post by: skaos on November 28, 2007, 03:46:45 PM
Drkepilogue, is there a chip behind the metal shield in the first photo? If so, is it about the same size as the nvidia goforce 6100? If there's not, then the goforce 6100 (http://www.nvidia.com/page/goforce_6100.html) is the SoC. From the link it is based on ARM1176JZ-S; could this be nvidia's development of PP?
Title: Re: Sandisk Sansa View
Post by: saratoga on November 28, 2007, 07:32:54 PM
Drkepilogue, is there a chip behind the metal shield in the first photo? If so, is it about the same size as the nvidia goforce 6100? If there's not, then the goforce 6100 (http://www.nvidia.com/page/goforce_6100.html) is the SoC.

I don't know what you're getting at, but yes, the SoC is a goforce 6100.

From the link it is based on ARM1176JZ-S; could this be nvidia's development of PP?

Since the part number is PP61XX, this seem likely.
Title: Re: Sandisk Sansa View
Post by: cax on November 29, 2007, 03:41:34 AM
Indeed, what's under the shield ? Can't you peek somehow ?
I suppose it's a chip for radio support or LCD controller there.
Title: Re: Sandisk Sansa View
Post by: Drkepilogue on November 29, 2007, 10:54:18 PM
Nothing under there =]

(http://i30.photobucket.com/albums/c304/Drkepilogue/IMG_3347.jpg)
Title: Re: Sandisk Sansa View
Post by: Bagder on December 22, 2007, 05:49:15 PM
I would rather think that what needs to be figured out are:

1. Does this have a recovery mode? (and how to use it etc)

2. Disassembly. Disassembly. Disassembly. (to learn how to use lcd, read buttons, etc etc)
Title: Re: Sandisk Sansa View
Post by: Drkepilogue on December 23, 2007, 01:36:42 AM
I just got one too.  So the pics in the previous replies weren't good enough?  I can crack mine open if I need too... sure would keep it beautiful if I didn't have to though  ;)

aparently, it was my first time doing this sort of thing..

as for is there a recovery mode.... maybe someone can make a faulty firmware that causes an error and see if it has a recovery mode...?
Title: Re: Sandisk Sansa View
Post by: crackmonkey421 on December 23, 2007, 05:43:56 AM
Recovery mode looks just like the e200.  [edit]First, the Sansa View has to be completely off.  To turn completely off, hold the power button for about 5 seconds instead of a quick press.[end edit]  Hold down the 'Home' button while the slider is set to 'Hold', then plug it in to your computer.  A partition named '16MB-FORMAT' comes up as a USB MSD.  Looks like you just stick the firmware on there using a mi4 file like the e200, but I didn't try it yet.

Also-- If you do the same thing but hold the middle button instead of the 'Home' button it comes up as a 'USB device', but it doesn't find drivers.

I've never contributed to a hardware project.  Is there a good place to start or should I just start searching the forums until I figure out what to do next?  I probably won't be able to do much until after the holidays.
Title: Re: Sandisk Sansa View
Post by: Bagder on December 23, 2007, 06:42:23 AM
I figure the next step is to build your own mi4 with mi4tool and try to "upgrade" to that. You should probably alter some string inside etc to see that it is truly your version that runs.

If we're lucky, they have the signature-check flaw of the original e200 in there. If we're not lucky, we're facing an uphill batter. Did anyone show a fdisk -l output for a view disk when attached to a computer (ie does it show one or two partitions)?
Title: Re: Sandisk Sansa View
Post by: markys on December 28, 2007, 12:46:54 AM
Hi,
Here's the output of "fdisk -l /dev/sdb"
Code: [Select]
debian:~# fdisk -l /dev/sdb

Disk /dev/sdb: 8220 MB, 8220311552 bytes
253 heads, 62 sectors/track, 1023 cylinders
Units = cylinders of 15686 * 512 = 8031232 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1        1019     7984379    b  W95 FAT32
Partition 1 has different physical/logical beginnings (non-Linux?):
     phys=(0, 4, 11) logical=(0, 8, 27)
Partition 1 has different physical/logical endings:
     phys=(669, 23, 0) logical=(1018, 15, 2)
Partition 1 does not end on cylinder boundary.
/dev/sdb2            1019        1024       43008   84  OS/2 hidden C: drive
Partition 2 has different physical/logical beginnings (non-Linux?):
     phys=(157, 24, 1) logical=(1018, 15, 3)
Partition 2 has different physical/logical endings:
     phys=(679, 55, 0) logical=(1023, 137, 24)
Partition 2 does not end on cylinder boundary.

I hope you have what your looking for.. If not, just tell me.
Title: Re: Sandisk Sansa View
Post by: Bagder on December 28, 2007, 05:06:51 AM
Ah yes, that's it. It looks like the View has the same kind of partition setup as the e200v1. If you'd make a dd dump of that second partition and make it available online, I figure we could verify to see if it is the exact same setup.

Anyway, you could start with trying to decrypt an mi4, modify a few strings, re-encrypt it and try to upgrade to that version just to verify that we know how to run our own code.

Once this works, someone could start working on writing a Rockbox bootloader. The View's bootloader is likely to be possible to extract from the hidden partition and is in fact included in the firmware upgrade package. Someone will need to disassemble that to start figuring out details on how things work on this device.
Title: Re: Sandisk Sansa View
Post by: Symbolis on December 29, 2007, 08:58:37 AM
I (think!) I did a dd dump of the hidden partition. A bit chunky for the forum, though.

It should be up at


Unless I messed something up. :P

Lesson for today: Don't try anything when really tired and sick. It becomes a lot more complicated than it should be!

EDIT(3:20PM EST): Well, my connection's gone to crap, today. :P If no one else dumps it, I'll try again when the connection's better.
Title: Re: Sandisk Sansa View
Post by: markys on December 29, 2007, 05:17:39 PM
Hey,

Here's the output of "dd if=/dev/sdb2 of=/HiddenPartition.img"

http://age.bdeb.qc.ca/~markys/HiddenPartition.img

Unfortunately, i can't help much more for the decrypting and programming part, but i am always willing to help the project and to learn, so if you need anything (not too complicated!) you can ask me  :)

Markys
Title: Re: Sandisk Sansa View
Post by: Bagder on December 29, 2007, 06:25:31 PM
Yeps, it confirms that the Sansa View has the BL and OS parts in the second partition is pretty much identical how they are laid out in the e200 v1 series. It does seem to contain more segments though, which hardly is surprising...
Title: Re: Sandisk Sansa View
Post by: crackmonkey421 on January 01, 2008, 03:53:18 PM
OK, now that I have some free time I would like to start trying things... I've never done this before though so I'm not sure where a good place to start is.  Anyone know where I can find good information on editing a firmware?  I'd like to try changing a string and flashing as Bagder suggested.  Decrypting and re-encrypting look easy enough.  The part I'm not sure about is modifying a string.  Is there any good program for this? Suggested string to modify? or better yet, Is there a good web resource that will give me some of this information?
Title: Re: Sandisk Sansa View
Post by: zivan56 on January 01, 2008, 04:18:26 PM
Get a hex editor (frhed in Windows, ghex or similar in Linux).  Decrypt the main Firmware.mi4 and look for a language string.  Something like a main menu item or similar (it is near the bottom of the file).  Keep in mind strings are unicode.
Title: Re: Sandisk Sansa View
Post by: Bagder on January 01, 2008, 04:42:46 PM
Does this mean that rock box will be fairly easy to port, I mean if it has the same sort of layout and whatnot as the e200?

Oh no, it'll be a heapload of work to port Rockbox to this. A little depending on exactly how different this PP variant is - we just don't know yet.

The "same layout" part was regarding the disk layout and the seemingly similar file format for the hidden partition, so while that part is "easy" large parts of the port won't be.
Title: Re: Sandisk Sansa View
Post by: crackmonkey421 on January 02, 2008, 02:01:55 AM
Thanks zivan.  I tried your modified firmware and it didn't work.  I got this on my screen:

Invalid image
Object loading failed while booting
Please connect USB cable

I connected the USB cable and put the original firmware.mi4 back on and all is back to normal.  My easy success recovering makes me want to keep trying though.

Other question: What windows compiler do you use for mi4code.c?  I tried Dev C++; didn't work.  I have linux installed, but I'd rather use windows.

On another note, to get into recovery mode you have to completely shut down the sansa view first.  To do this just hold the power button for longer than usual.  I was very confused for a few minutes.
Title: Re: Sandisk Sansa View
Post by: zivan56 on January 02, 2008, 04:13:22 AM
Cygwin should do it (with proper development packages and libgcrypt).  Just follow the steps on the wiki for setting up a build environment (you don't have to follow the part where you run setup.exe again).  Then just run the run given on the mi4code page to compile it.

I didn't have a running Linux install, so I used the old Windows binary provided.  This might have been the reason (I didn't change the size of the binary, just letters in strings).
removed (modified string, but with latest mi4code)
removed (not modified, but decrypted and re-encrypted)
Title: Re: Sandisk Sansa View
Post by: Bagder on January 02, 2008, 05:26:10 AM
Zivan's second (unaltered) image would be very interesting just to see if our "dummy-sign" approach works on the View or not.
Title: Re: Sandisk Sansa View
Post by: crackmonkey421 on January 02, 2008, 02:46:18 PM
Well I think this is great news: that second unaltered image works fine.  I'll be using my View at work all day today with that firmware, but I'm sure there will be no problems.

Bad news:  the modified image still doesn't work.  Same error as before.

So I guess the old signing approach still works but we got some strings modified that it doesn't like in Zivan's modified firmware.

I'm not giving up... just getting started.  I'll be making small changes and flashing.  If anyone has any other firmwares to try or a View to flash, I'd love the help.

If I have enough free time I'd also like to research the original Sansa e200 project for more ideas.
Title: Re: Sandisk Sansa View
Post by: zivan56 on January 02, 2008, 03:13:53 PM
I guess it may be a checksum issue?  When I did a strait decrypt/re-encrypt, it didn't change the checksum.  However, when modifying a single character it changed (for obvious reasons).  Another possibility is that is may use a second checksum somewhere else in the firmware which has not yet been discovered.
Title: Re: Sandisk Sansa View
Post by: Bagder on January 02, 2008, 04:08:58 PM
When they changed the mi4 format slightly from e200 vanilla to e200R they also changed some other magic values in the (decrypted) mi4 image, it should be worth investigating those to see if they've changed again. It's great to read that the dummy-signing still works!

Since the bootloader is stored in the hidden partition, most answers is possible to extract by disassembly - that's pretty much how MrH did it in the past.
Title: Re: Sandisk Sansa View
Post by: biglou on January 10, 2008, 11:33:08 AM
I have my view and linux based system setting here.  What's needed as the next step for this?

Biglou
Title: Re: Sandisk Sansa View
Post by: Bagder on January 10, 2008, 05:55:21 PM
For starters, owners of Sansa Views need to start thinking by themselves. What do you think need to be done?

You could for example get the mi4code source code, decrypt the view firmware and check the magic numbers in that firmware and compare them to a e200 (and/or e200R) image and its magic numbers etc.

The bootloader is there and ready to be read. Get it, disassemble it, see if you learn something new about the start/boot process and what else around running the firmware and figuring out the hardware.
Title: Sandisk Sansa View - PCB scans
Post by: space_ghost on February 01, 2008, 12:10:26 AM
unfortunately i'm not a coder at all... the only way i'm able to contribute at the moment is by providing several high-res scans of the player's main pcb and its other inwards. feel free to include them into the wiki page. (each ~ 980kb+-)

front of main pcb (http://img231.imageshack.us/img231/8697/image0001lm9.jpg)
back of pcb & memory board (http://img231.imageshack.us/img231/6971/image0002cz6.jpg)
back of display, battery pack, wheel/button part (http://img231.imageshack.us/img231/6956/image0003zw5.jpg)

date of production for this unit is 2007/10/29

if you need anything else scanned please let me know.

best regards,
space_ghost
Title: Re: Sandisk Sansa View
Post by: Drkepilogue on February 01, 2008, 12:34:11 AM
Nice scans, how did u do it??
Title: Re: Sandisk Sansa View
Post by: zivan56 on February 01, 2008, 01:21:31 AM
Can someone try the following with View 01.02.09a firmware:
(removed)
rename it to firmware.mi4
Title: Re: Sandisk Sansa View
Post by: space_ghost on February 01, 2008, 01:23:28 AM
@Drkepilogue

i use a canon canoscan 5200f

unfortunately this scanner is not supported by sane under linux, which is the main reason i keep a windows xp partition on my hd... the excellent windows driver provided by canon allows for tweaking every imaginable parameter of the device and delivers some very nice quality output as you can see... i originally scanned the parts @ 2400dpi, then scaled the resulting .tif images (with the gimp) to approx. 33% to sharpen and reduce size and finally saved them as progressive .jpg files, chosing a different quality level each time to ensure the result would stay within imageshack's 1mb filesize limitation...

hope this was understandable? please excuse possible wrong use of english, i'm german...

best regards,
space_ghost
Title: Re: Sandisk Sansa View
Post by: space_ghost on February 01, 2008, 01:31:20 AM
@zivan56

pm me your email adress and i'll send you the renamed file.
btw. how come you can't rename this file?? worked for me w/o probs...
Title: Re: Sandisk Sansa View
Post by: zivan56 on February 01, 2008, 01:44:49 AM
I am not sure what you mean.  I am trying to modify an mi4 file and verify that the bootloader can load it on a View.  I don't have a View, but I would like to see some progress made...
Title: Re: Sandisk Sansa View
Post by: space_ghost on February 01, 2008, 02:00:32 AM
ohh sorry... i got you wrong.
i'd love to test it, but have to re-assemble my view first... could take half an hour or so, this one is really tricky as one has to pay special attention to not produce any short circuits as the pcb is connected to the battery pack most of the time you're working on it due to the construction of the view...
Title: Re: Sandisk Sansa View
Post by: mr_dude on February 01, 2008, 06:45:44 AM
I am not sure what you mean.  I am trying to modify an mi4 file and verify that the bootloader can load it on a View.  I don't have a View, but I would like to see some progress made...
what changes have you made?

I've taken the 5 updating files and exchanged the one you posted with firmware.mi4, also changing final.mi4 to firmware.mi4.
put them on the device like normal update
Disconnected from USB
device tried to update resulting in "invalid image. object loading failed while bootin(yes, it was bootin, not booting) please connect USB cable"

I connected and reflashed it with the original 01.02.09a, no problem with the device.

----------------
Now playing: pink floyd - time (http://www.foxytunes.com/artist/pink+floyd/track/time)
via FoxyTunes (http://www.foxytunes.com/signatunes/)
Title: Re: Sandisk Sansa View
Post by: zivan56 on February 01, 2008, 01:21:15 PM
Just some strings, but with a different mi4 header.  Mi4code seems to crash when doing a verify on the file, so I am pretty much out of ideas.
Title: Re: Sandisk Sansa View
Post by: crackmonkey421 on February 03, 2008, 01:09:05 AM
a while back I stuck the rockbox boot loader mi4 for the e200 on my view.  It actually got farther than it did with the modified firmwares.  It accepted the firmware, flashed my device, and rebooted.  Then my screen said "SanDisk Sansa" and then the LCD slowly went purple.  I reverted back to the stock firmware and everything is back to normal now.  With the modified firmwares I get the usual invalid image errors (though the unmodified unencrypted then re-encrypted firmware works).   Just thought I'd share.
Title: Re: Sandisk Sansa View
Post by: zivan56 on February 03, 2008, 04:46:01 PM
Interesting, so it must accept the files that exploit the verification check on the e200.  Did any of the button lights turn on/off when the wrong file was accepted?
This means the next step is to disassemble the firmware and see what GPIO controls the LEDs on the controls.  If we are lucky, the NVidia chip is just an evolution of the PP5024 with an extra video chip.
Did Mr.X have a look at the firmware?
Title: Re: Sandisk Sansa View
Post by: BlakeJohnson86 on February 18, 2008, 05:53:01 PM
Alright guys, I just got a Sansa View, and I'm willing to do whatever it takes to help port Rockbox to the Sansa View, even if that means bricking my player beyond repair.
Unfortunately, I can't code, so I'm not much help in that area.

I did modify the SansaView wiki page, and added some `lsusb -v` output attachments.

EDIT: Corrected some of my wording which was a bit messed up.
Title: Re: Sandisk Sansa View
Post by: zivan56 on February 18, 2008, 07:14:59 PM
Well, if what was said by crackmonkey421 is true, then someone needs to disassemble the firmware and figure out some way to show (i.e LCD, button lights, beep) that the device in fact accepts the e200 rockbox mi4 format.  Can anyone else verify this?
Title: Re: Sandisk Sansa View
Post by: crackmonkey421 on February 19, 2008, 02:37:06 AM
The light for the blue ring around the wheel comes on, but that's all.  It says "sandisk sansa" as usual then the screen slowly turns green, then white, then purple and so on... the words "sandisk sansa" stay on the screen.  It's pretty, but it doesn't look like something that's intended to be that way.  I even tried with a reverse boot loader for e200 with the same results.  In high hopes, I even stuck an unencrypted View's firmware (OF.BIN) in my SYSTEM folder, so maybe the e200 rockbox bootloader would load my View's regular firmware.  Of course that didn't work.
Title: Re: Sandisk Sansa View
Post by: zivan56 on February 19, 2008, 02:40:18 PM
Well the screen only does the fade out once the OS stops controlling the LCD.  That means that the new firmware was indeed accepted.  Since the location for the GPIO of all the components is different, it is logical that nothing will work (buttons, lcd, etc).
Title: Re: Sandisk Sansa View
Post by: BlakeJohnson86 on February 19, 2008, 09:24:46 PM
Was anyone aware that UMS mode was achievable just by plugging the USB cable in and waiting a little bit?  That is, if your OS of choice does not support MTP.  I forgot to do the UMS trick yesterday, and noticed that it worked somehow.

I'm an OpenSUSE user for the record.
Title: Re: Sandisk Sansa View
Post by: Llorean on February 19, 2008, 09:26:42 PM
This is not reliable though (at least on other Sandisk devices that have this feature). Depending on various factors, by the time it switches to UMS mode, you may end up with a glitchy connection. So while it works, it's still better to do the trick.
Title: Re: Sandisk Sansa View
Post by: crackmonkey421 on February 20, 2008, 06:49:23 AM
I have been doing a little each night, but I'm still researching.  I need to figure out where GPIO is for everything.  I'm still not completely sure how to go about getting this information, but I'll let you know when I figure it out.
Title: Re: Sandisk Sansa View
Post by: 42bs on February 22, 2008, 01:55:01 AM
Hi
some more info on the partition layout (at least on OF 01.02.09)
Firmware header at 0x80000: "CPUI", 0x06000000
MI4 header starts with: "PPOS", 0x0010301

BTW: Is there already a tool to extract the FW from the dump ?
Title: Re: Sandisk Sansa View
Post by: Bagder on February 22, 2008, 06:28:42 AM
Sure, I'm quite sure cutit works on the View as well, mentioned and linked to on this page:

http://daniel.haxx.se/sansa/e200.html

Then you can decrypt it fine using mi4code.
Title: Re: Sandisk Sansa View
Post by: cout on May 04, 2008, 08:13:11 AM
linuxstb, how did you disassemble the firmware?  I decoded the 01.02.09a firmware with -s to strip the header, then ran:

 
Code: [Select]
  arm-elf-objdump.exe --target=binary --disassemble-all --architecture=arm firmware.mi4.no_header > firmware.objdump
but in the resulting output file I see many lines like:

 
Code: [Select]
   334:       f000f000        undefined instruction 0xf000f000
and objdump segfaults when it gets to location 257a7c.

The firmware itself appears to contain C++ code, as evidenced by some of the strings found in the file:

 
Code: [Select]
  long MediaManager::getMetadataID(MediaManager::STType, const unsigned short *, i
nt, bool)
  MediaManager::mount(): storage activated - volume = %d, storageID = %08x
  10LinkedListIN9WorkQueue5EntryEE

(not sure how that's useful, except that knowing the underlying code is OO might make it easier to isolate which parts of the code are doing I/O... too bad we don't have access to the source)

Anyway, it occurred to me that to find the code that outputs to the LCD, one might start by finding a string that gets displayed on the LCD.
Title: Re: Sandisk Sansa View
Post by: crackmonkey421 on June 19, 2008, 07:10:20 PM
I haven't worked on this thing much at all, but I was able to get flashing successfully. I have no experience disassembling firmware, but here's the steps I've taken to get a successful flash:

Download/build latest mi4code from http://daniel.haxx.se/sansa/view.html
Decrypt using mi4code with view key (mi4code decrypt firmware.mi4 firmware.bin view)
Edit firmware.bin in unicode using a hex editor
Sign using mi4code with dummy key exploit (mi4code sign firmware.bin firmwaresigned.bin)
Encrypt using mi4code with view key (mi4code encrypt firmwaresigned.bin firmwaresigned.mi4)
Rename your firmwaresigned.mi4 to firmware.mi4 and put it in your Sansa's root folder.

Make sure the original firmware.mi4 file you use is the same version as the firmware on your View or it might not work.  I used 01.01.06.  All I did so far is change "Now Playing" to "Hello World", but I thought someone with more knowledge and/or time might benefit from this information.

(http://img106.imageshack.us/img106/4822/helloworldviewea7.jpg)

I'll be trying to learn more with every flash, but who knows if I'll actually get anywhere.

Ohh.. and I just ran this this:
arm-elf-objdump -D --target binary -marm firmware010106.bin > firmware010106.objdump

And I got this:
http://rapidshare.com/files/123747988/firmware010106.objdump.html
It seemed to work fine for me. However, I'm going to have to do a lot more reading before that means anything to me. Of course I'll post if/when I actually figure anything out.
Title: Re: Sandisk Sansa View
Post by: rockfarm on June 27, 2008, 08:38:06 PM
Well, As CrackMonkey421 has found, I believe that we can run our own code using a dummy sign and then encrypting with the View's key. We just need to figure out how to show that, and make a bootloader, right?

So, as cout has said, we need to find strings that are displayed to the LCD. We have found many of these strings. I just wouldn't know how to find the code that actually does the displaying.

The strings that I have found start at offset x2ada6c, and continue for about the next 8,000 or so bytes (FW 01.01.06). Also, this is for English only. Following that, the other languages are there too. I can also confirm that I have done some changing of strings and flashing thanks to (crackmonkey421), and it does work.

Maybe I'm stating the obvious, but I'm still trying to help as best as I can.

Would it make sense to look in the bootloader for strings (or the code), or would it be best to stick to the firmware.mi4?
Title: Re: Sandisk Sansa View
Post by: AeroBlue on June 30, 2008, 11:37:09 AM
Hi! :)

I found these picture on a french website ( a high quality pictures of the sansa view )

http://img231.imageshack.us/img231/8697/image0001lm9.jpg
http://img231.imageshack.us/img231/6956/image0003zw5.jpg
http://img231.imageshack.us/img231/6971/image0002cz6.jpg

I hope they would be useful
Title: Re: Sandisk Sansa View
Post by: crackmonkey421 on June 30, 2008, 05:24:06 PM
Hi! :)

I found these picture on a french website ( a high quality pictures of the sansa view )

http://img231.imageshack.us/img231/8697/image0001lm9.jpg
http://img231.imageshack.us/img231/6956/image0003zw5.jpg
http://img231.imageshack.us/img231/6971/image0002cz6.jpg

I hope they would be useful

Those pictures came from space_ghost on this forum on this thread even.  Please read the thread before posting.
Here's where that really came from:
http://forums.rockbox.org/index.php?topic=13562.msg113697#msg113697

I'll update the View port's wiki soon if nobody else does.

Would it make sense to look in the bootloader for strings (or the code), or would it be best to stick to the firmware.mi4?

Well you certainly can explore all options, but everything we need to run code is probably in the firmware.mi4.  This device is based on the GoForce 6100 chipset which contains a 250MHz ARM1176JZ-S core.  It is believed that the GoForce 6100 is based on previous PortalPlayer products because of their firmware format, PP6110 being mentioned in the firmware, and nVidia acquired the PortalPlayer company in the beginning of 2007.  This device also contains an AS3517 chip.  So, disassembling the unencrypted firmware.mi4 with an ARM assembler will show a lot of what is going on, but knowing how to actually read what is going on is another story because I am not experienced in assembly code of any kind. Whatever documentation or SDK nVidia supplies for their GoForce 6100 would be nice to have, but I don't think we're going to be able to get those materials.  It's all about disassembling and deciphering at this point.

Maybe if we ever get this thing ported we could play with the 3D graphics engine built into it.  The OF doesn't do this hardware justice at all.
Title: Re: Sandisk Sansa View
Post by: Bagder on July 03, 2008, 06:05:24 PM
I figure a sensible next step is to figure out how to use the LCD and how to read buttons.
Title: Re: Sandisk Sansa View
Post by: madnut on July 08, 2008, 01:10:42 AM
Can someone post the unencripted firmware?
Title: Re: Sandisk Sansa View
Post by: Bagder on July 08, 2008, 02:49:19 AM
The sansa view is using the mi4 file format  (http://daniel.haxx.se/sansa/mi4.html) and we have already extracted the key for the View so all you need is to download the mi4code tool (http://daniel.haxx.se/sansa/mi4code.html) and decrypt it yourself.
Title: Re: Sandisk Sansa View
Post by: crackmonkey421 on July 09, 2008, 04:56:58 PM
OK.. I've updated the View's wiki
http://www.rockbox.org/twiki/bin/view/Main/SansaView

I'll link it to the new ports section once we figure out how to use some of the hardware.
Title: Re: Sandisk Sansa View
Post by: Bagder on July 11, 2008, 11:37:24 AM
I think even the BL.rom file outputs on the screen and given its much smaller size that should be a good start to disassemble to find out these details.

And the mi4 nature of this target should make it perfectly safe to run experimental builds on too.

rockfarm: notice that there's no reason to believe (yet) that the e200 and view are any similar LCD-wise and the page you mention is about the sansa e200
Title: Re: Sandisk Sansa View
Post by: crackmonkey421 on July 25, 2008, 03:24:45 AM
IDA Pro works for ARM and Windows, but it is not free nor cheap. There might be others that I don't know of.

http://www.hex-rays.com/idapro/

I'll post my arm-elf-objdumps, but compared to understanding them, creating them is very easy. So posting them might be pointless, but here you go anyway:

arm-elf-objdump -D --target binary -marm bootLoader.rom > bootLoader.rom.objdump
http://rapidshare.com/files/132287509/bootLoader.rom.objdump.html

arm-elf-objdump -D --target binary -marm -Mforce-thumb bootLoader.rom > bootLoader.rom.thumb.objdump
http://rapidshare.com/files/132288468/bootLoader.rom.thumb.objdump.html
Title: Re: Sandisk Sansa View
Post by: crackmonkey421 on August 30, 2008, 04:34:24 PM
Would it be unlawful to post the AS3517 data sheet?

To request it yourself:
http://www.austriamicrosystems.com/eng/Products/Audio/Audio-Front-Ends/AS3517/(rq)/1

I'd like to get the data sheets for AS3525 and AS3514 as well to aid in research of similar ports..  Is there a place to download these or should I just try requesting each one from AMS?

It's lonely in here...
Title: Re: Sandisk Sansa View
Post by: saratoga on August 30, 2008, 04:50:11 PM
Would it be unlawful to post the AS3517 data sheet?


They gave them out on the condition that they not be posted online.  If someone gets to the point on the View port where they are ready to begin writing the DAC driver, I'm sure we'll be able to get them a copy of the datasheet.
Title: Re: Sandisk Sansa View
Post by: Bagder on September 29, 2008, 05:40:20 AM
Other methods of finding the exact LCD controller in use have involved finding out the init sequence (by reverse engineering the Original Firmware) and then comparing that init sequence with datasheets (or code) for existing LCD controller suspects.
Title: Re: Sandisk Sansa View - Power Management
Post by: dram_dave on September 30, 2008, 09:42:50 AM
Has anyone looked at the View's power management?  The AS3517's three main buck converter outputs (supplies) shift their voltages from 1.0v / 1.7v / 3.0v in mp3 playback to 1.2v / 1.8v / 3.3v during video playback when the CPU etc. presumably need faster speed.  The SDRAM clock rate also switches by a factor of 3x.  Does anyone know if this was done on the e200 series (and where in the code)?
Title: Re: Sandisk Sansa View
Post by: rockfarm on October 11, 2008, 08:53:02 PM
Not sure if this helps at the moment, but here's something.
Using funman's idea of Googling info on some chips on the PCB, I have managed to find a data sheet on the internet for the Samsung K4M56323PG-HG75. It's an SDRAM chip, and I found it on space_ghost's scan of the back of the PCB.
The data sheet can be found on this page:
http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=136&partnum=K4M56323PG

Again, I hope this helps.
Title: Re: Sandisk Sansa View
Post by: Scrtcwlvl on October 11, 2008, 11:01:03 PM
Not sure if this helps, but I removed the metal plate on the back of my views LCD and there were some numbers on the back as well as a few on the side.

I have a smashed View I use for parts and am not the slightest bit afraid of opening my good 16gb working view.  I did notice however, there were different numbers on the 8gb ribbon connector for the LCD and the 16gb ribbon connector (this could be a mute point, just wanted to put it out there.)

(http://img413.imageshack.us/img413/8936/viewsj8.th.jpg) (http://img413.imageshack.us/my.php?image=viewsj8.jpg)(http://img413.imageshack.us/images/thpix.gif) (http://g.imageshack.us/thpix.php)
The black numbers on the back read
TD-T240T2G120-10
S070914008
(in case they are hard to read)

and on the side is BLU120-10 A3 S70821209C

Not sure if this is a help or nothing at all, I was contacted by a Pepa.Vidlak  to post what I could on the LCD, this is all I got.
Title: Re: Sandisk Sansa View
Post by: yapper on October 12, 2008, 11:15:39 AM
http://www.dragonlcd.com/Standard_TFT_Module.htm mentions T240T2G120. There is also a link on this page http://www.dragonlcd.com/Technical_Info.htm for LCD Driver Info, but that link is currently broken. However there is a Sales email address listed
Title: Re: Sandisk Sansa View
Post by: zivan56 on October 12, 2008, 05:14:25 PM
Good find.  It appears all the characteristics match: model number, 2.4 inch, 240x320 resolution.  Also, the driver info page cached by Google: http://209.85.173.104/search?q=cache:2rX4xAsiffgJ:www.dragonlcd.com/Technical_Info_LCD_Driver.htm

Title: Re: Sandisk Sansa View
Post by: yelped on October 13, 2008, 11:14:12 AM
Good job on the LCD! ;D

Also I think I have found out who makes the wheel and the buttons.
On space ghost's pictures, it said Omron on one of the chips, so I went to their website, and look what I found...

http://www.components.omron.com/components/web/webfiles.nsf$FILES/family.html?ID=GTAA-76GR75
And there is a link to the data sheet on that page, too!

I hope this helps and someone will be able to test these discoveries in the code.

Thanks a lot!
Title: Re: Sandisk Sansa View
Post by: Bagder on February 17, 2009, 04:06:29 AM
PortalPlayer and Nvidia never revealed any data sheets for any portalplayer chip in the past so I'd say the chances are very slim that they would for this particular version all of a sudden.

I must admit my memory is degrading here, but I can't recall if anyone ever tried to run a custom modified View firmware (like with a string changed) just to verify that the bootloader DSA-signature flaw is still present.
Title: Re: Sandisk Sansa View
Post by: saratoga on February 17, 2009, 12:04:25 PM
I must admit my memory is degrading here, but I can't recall if anyone ever tried to run a custom modified View firmware (like with a string changed) just to verify that the bootloader DSA-signature flaw is still present.

Indeed someone has:

http://forums.rockbox.org/index.php?topic=13562.msg127955#msg127955
Title: Re: Sandisk Sansa View
Post by: midgey on February 18, 2009, 03:23:55 AM
Just to add to that, I recently bought a View and can confirm that the OF will take our firmware and the bootloader will indeed attempt to load it. I compiled the e200 bootloader and resigned it with the dummy key then encrypted it with the View key. After the Sansa logo, the LCD will go white then purple and fade to black. This suggests that nothing is controller the LCD and our code is running.

I'll poke around with the bootloader and disassemble it over the next week. No promises because I know very little about disassembling and other projects have priority.
Title: Re: Sandisk Sansa View
Post by: zman977 on February 20, 2009, 04:01:49 PM
ok ill see what i can help out with. This will be a little of a learning experience for me so...

hey by the way i wonder how close the fuse is with the view? ive read that a few people tryed the e200 boot loader just to try it on the view and could get some where with it and i wonder if the v2 and fuse have any thing similar with the view. if the devs have a boot loader out yet for the fuse that is.

edit**
never mind they dont lol it was a thought though
Title: Re: Sandisk Sansa View
Post by: saratoga on February 20, 2009, 09:18:04 PM
hey by the way i wonder how close the fuse is with the view?

Theres basically nothing in common except the DAC.  The View is based on an updated PP chip,  the Fuze an AMS chip.   

if the devs have a boot loader out yet for the fuse that is.

edit**
never mind they dont lol it was a thought though

There is a bootloader out there for the Fuze, but since the Fuze has essentially nothing in common, you might as well expect an Ipod or Cowan bootloader to work.
Title: Re: Sandisk Sansa View
Post by: obo on March 17, 2009, 01:12:09 PM
I recently got a "broken" View from ebay, which just needed recovery.  I've added documentation to the wiki (http://www.rockbox.org/twiki/bin/view/Main/SansaViewFirmwarePartition) describing the hidden partition layout - there are a few differences from the e200.  The firmware section starts with the magic "CPUI" followed by 0x60000 instead of "PPMI" followed by 0x20000.  If enough progress is made, Sansapatcher will need changing to cope with this (plus a little re-arrangement to allow for a third type of mi4 Sansa).

I'm struggling trying to run custom code on the View (a modified e200 bootloader)

I can modify an existing firmware file (editing plain.bin in this case):

Code: [Select]
mv firmware.mi4 firmware.orig.mi4
./mi4code decrypt -s firmware.orig.mi4 plain.bin
./mi4code build plain.bin plain.mi4
./mi4code encrypt plain.mi4 plain.enc.mi4 view
./mi4code sign plain.enc.mi4 firmware.mi4

but doing something similar with bootloader.bin:
Code: [Select]
./mi4code build bootloader.bin bootloader.plain.mi4
./mi4code encrypt bootloader.plain.mi4 bootloader.enc.mi4 view
./mi4code sign bootloader.enc.mi4 firmware.mi4
fails, the recovery screen displays "Bad File copied" as it loads the files from the 16Mb RAM disc.  Does anyone have any ideas what I am missing?
Title: Re: Sandisk Sansa View
Post by: j8048188 on March 17, 2009, 03:38:24 PM
was the new checksum calculated correctly and inserted into the file?
Title: Re: Sandisk Sansa View
Post by: crackmonkey421 on March 17, 2009, 03:42:11 PM
You may need to sign before you encrypt instead of after; that's what I do, but it may work your way too.  Maybe the "offs_id" needs set when you build.  The firmware.mi4 for v1e200 rockbox gets accepted, so it must be similar to what you would do on an v1e200 to build an mi4 from a bin.  I'll try some things when I get home.

Edit:
When you modified the original firmware.mi4, did you change the file size?  Just wondering.  I looked into it a little more and the commands look correct from what I've read.  I'll try it to write and compile some custom code from scratch and build it in the same way.
Title: Re: Sandisk Sansa View
Post by: Chronon on March 17, 2009, 09:09:42 PM
I trimmed some off-topic posts.  Please read the sticky and post in this thread only if you're contributing to the effort to port Rockbox to the Sansa View.
Title: Re: Sandisk Sansa View
Post by: obo on March 18, 2009, 12:32:30 PM
You may need to sign before you encrypt instead of after; that's what I do, but it may work your way too.  Maybe the "offs_id" needs set when you build.  The firmware.mi4 for v1e200 rockbox gets accepted, so it must be similar to what you would do on an v1e200 to build an mi4 from a bin.  I'll try some things when I get home.

Edit:
When you modified the original firmware.mi4, did you change the file size?  Just wondering.  I looked into it a little more and the commands look correct from what I've read.  I'll try it to write and compile some custom code from scratch and build it in the same way.

With the OF:
the order in which I sign and encrypt doesn't seem to matter, both worked.  Stripping the OF (mi4code decrypt -s), and building it again results in a larger file, but it still loads.

was the new checksum calculated correctly and inserted into the file?

There is a checksum, but I'm not sure if it's correct or not (since it's a CRC with a custom initial polynomial.. I've haven't yet checked this).  But since the modified OF worked, I'd have to presume that the MI4 header is being setup in a way that the device accepts...

Edit:  The OF uses 01030100 at 0x4 (default mi4code build option), and 0xEC at 0x2E4 (the default build offs_id).
Title: Re: Sandisk Sansa View
Post by: crackmonkey421 on March 18, 2009, 11:59:38 PM
Yea, everything you've done looks correct as far as I've read.  I got "Invalid Image" after it restarts with a very small block of custom code.  I'm not sure what's causing this either.  I would think someone with v1e200 experience (maybe even v1c200) might know because the v1e200 rockbox firmware is accepted and ran, so the v1e200 probably has similar issues that were accounted for in the rockbox firmware.  One thought is to chop up the OF to figure out what parts are required to get it accepted and ran.  Another idea is to take a closer look at the e200's mi4 source code to get ideas or even to build from.
Title: Re: Sandisk Sansa View
Post by: obo on March 20, 2009, 10:25:42 AM
Well, it works if I copy the file over in MSC rather than recovery mode - I guess the checks are stricter at that point, and required a patched bootloader?

The modified bootloader I used fails to write anything, so I guess the SD interface is different or at another location.  I've found a few registers in the disassembly, but have yet to identify what any might be.

IRAM seems to be at 0x40000000 (normal PP), and I think it's 128K.
I2S init is at 0x70000000 (normal PP)
Other ones to look at are 0xc5000000, 0x7fc00000 and 0x80000000, but I'm sure there are more!  This is proving to be quite a learning curve.
Title: Re: Sandisk Sansa View
Post by: zman977 on March 21, 2009, 08:51:03 PM

The modified bootloader I used fails to write anything, so I guess the SD interface is different or at another location.


So we need to find the location of the SD interface? Which would be a good place to look; the bootloader.rom or the firmware.mi4?
Title: Re: Sandisk Sansa View
Post by: saratoga on March 21, 2009, 08:52:20 PM

The modified bootloader I used fails to write anything, so I guess the SD interface is different or at another location.


So we need to find the location of the SD interface? Which would be a good place to look; the bootloader.rom or the firmware.mi4?

It has to be in both, but the bootloader is a much smaller file.
Title: Re: Sandisk Sansa View
Post by: Y-brik on May 17, 2009, 09:57:54 AM
My original post seems to have been deleted, so I'll keep it short and sweet. I have a busted View (Screen cracked). All the boards work fine, I will gladly mail it out to whoever needs a backup in case of a bricked View
Title: Re: Sandisk Sansa View
Post by: obo on June 01, 2009, 06:14:58 PM
For my GSoC work I've been looking at both the bootloader and the main firmware (I've been using version 01.01.06a, available at http://daniel.haxx.se/sansa/view.html).  I'm finding a lot of references to registers which match those for the PP502x series, specifically:

Mailboxes (MBX_BASE)
Interrupts (CPU_INT_ & CPU_HI_INT_)
Timers (TIMER1_ & USEC_TIMER)
Processor Control (CPU_CTL)
Cache Control (CACHE_CTL)
GPIOs (up to at least GPIOI)

What I am not finding are any references to the registers for MMC/SD or either of the two LCD base/bridges, which has me a little worried that these might be completely different on this target.

Any advice, guidance or even confirmation of what I've found so far would be greatly appreciated!
Title: Re: Sandisk Sansa View
Post by: yelped on June 01, 2009, 10:47:11 PM
Well, about the SD Interface I don't know, but since the LCD is a different size and resolution, I would expect it to be different.
Title: Re: Sandisk Sansa View
Post by: obo on June 01, 2009, 10:59:03 PM
Yes, the LCD for the view seems to be different, but the registers are CPU specific - i.e. they are common for the h10, yh925, hdd1630, nano etc.  The LCD registers are already different between the PP5002 and PP5020 (which I didn't realise before), so I guess it's not so unexpected that they again seem to be different (and new) on the 6100.
Title: Re: Sandisk Sansa View
Post by: Falcon4 on April 02, 2011, 01:43:36 PM
OK, dusting off this old topic, as well as dusting off my long-bricked View :)

I think I can contribute something to this project somehow... I have a bricked View that I've managed to modify e200tool to work with... or at least identify. I've dug through the code of e200tool and made a small handful of changes to show more debug info on screen, and it's now working pretty flawlessly in cygwin within a VMware virtual XP machine (Win7 x64 host). Not a doubt in my mind I could unbrick an e200 pretty easily right now :P

However, I'm getting hung up on one thing that the folks here seem to have already examined: the manufacturing-mode system. Someone had to have known how that environment works, in order to write e200tool to begin with... and that system seems to work darn near the same on the View. I can upload and execute the USB stub loader on the View, but it seems to just crash the View instead of bringing up the special USB-stub mode device. The device disappears (so I know it's running the code, not just gagging on the data sent to it), but nothing ever comes back, and nothing changes on the physical player itself.

I'm just curious if there's any information known on how the GoForce 6100 platform differs from the e200 platform in regards to the loader code in "arm_code.c"... and I can later worry about how to recompile it, as cygwin isn't being so helpful in allowing me to compile the unmodified source, even with GNU ARM installed and working. Any pointers?

Of course, if I can get this thing working - and with all the data I've got on hand (I'm just one "e200tool recover bootLoader.bin" away, then I have a full backup of the entire Flash memory space pre-bricking ready to load!)... I think it isn't too far off either. If I can get it working, I'll post a fully detailed description of how to set up and run the environment on a Windows PC (Linux should be able to follow easily enough ;) ).
Title: Re: Sandisk Sansa View
Post by: Falcon4 on April 07, 2011, 03:38:36 AM
Okay, well, I got the initial issue resolved thanks to the e200 code, and I created "viewtool" and posted it plus a "one-click unbrick" script here:
http://www.anythingbutipod.com/forum/showthread.php?t=62486

As to contributing what I know to help further Rockbox development...

- Compiling using ARM1176JZ-S mode doesn't work, at all. It only works when compiled with the same mode as e200tool, which is ARM7TDMI. Dunno if it's just my dev environment being messed up (cygwin seemed to be goofing up quite a bit in building, but it finally finished about 4 hours later in my i5)...
- i2c doesn't work... at all. It acts like it reads but I think it's just getting dummy info. Read -> write -> read -> original value is still there... and the whole dump is blank. I think I did some debugging on this and found it was silently tripping on some error.
- GPIO pins are pretty different... I have no idea how to use GPIO so it may be that i2c doesn't work because it's linked to GPIO pins that aren't the same between e200 and View.
- USB does work 100% as implemented in e200tool. That's the only reason I was able to make this much progress ;)
- Access to the internal SD (NAND) is also different, but that might also be because i2c and GPIO are different. I wasn't able to get it working, it was silently failing on a command-response time-out.

I'm pretty confident that if we can collaborate with the people that reverse-engineered the e200, we can get the View running Rockbox as well. The platforms seem amazingly similar, just like a e200 with a bigger screen. Now that we can unbrick a dead View, it's pretty safe to run dev code on it and see where it takes us! I'm actually kinda curious why people abandoned the View project anyway, considering it's so similar to the e200, I've gotta wonder... what went wrong? :/
Title: Re: Sandisk Sansa View
Post by: Chronon on April 07, 2011, 12:07:36 PM
As always it would be a good idea to keep your findings organized on the wiki page, which is here:
http://www.rockbox.org/wiki/SansaView
Title: Re: Sandisk Sansa View
Post by: MkFly on April 11, 2011, 04:56:24 PM
I'm pretty confident that if we can collaborate with the people that reverse-engineered the e200, we can get the View running Rockbox as well. The platforms seem amazingly similar, just like a e200 with a bigger screen. Now that we can unbrick a dead View, it's pretty safe to run dev code on it and see where it takes us! I'm actually kinda curious why people abandoned the View project anyway, considering it's so similar to the e200, I've gotta wonder... what went wrong? :/
Awesome, I think I'm going to pick up an 8GB View and start seeing what we can do.  Please keep us posted on any progress. :)

I don't really like the look of the e200 or the Fuze anyway. :P

EDIT: Would it be possible/useful for me to donate a Sansa View to someone?
Title: Re: Sandisk Sansa View
Post by: Falcon4 on April 11, 2011, 08:47:28 PM
As always it would be a good idea to keep your findings organized on the wiki page, which is here:
http://www.rockbox.org/wiki/SansaView

I would, but... well, for one, I'm kind of a piss-poor Wiki author - good at describing my own (first-person) findings, not so great at writing a third-person article. Any suggestions there?

Also, even if I could write a good article/section, I still don't have access to edit (MattFalcon is what I registered as). So that kinda... yeah. :D
Title: Re: Sandisk Sansa View
Post by: saratoga on April 11, 2011, 09:17:06 PM
Also, even if I could write a good article/section, I still don't have access to edit (MattFalcon is what I registered as). So that kinda... yeah. :D

Well you don't appear to have requested write permission, so no surprise there.  I've just given it to you now. 
Title: Re: Sandisk Sansa View
Post by: LambdaCalculus on April 12, 2011, 03:07:48 PM
EDIT: Would it be possible/useful for me to donate a Sansa View to someone?

Sure, if you're willing to donate hardware to someone who's working on a port, it's much appreciated.
Title: Re: Sandisk Sansa View
Post by: Audioarchivist on January 20, 2012, 08:27:03 AM
I have a Sansa View I got free from a Craigslist giveaway - the screen is broken. Good for parts and tinkering. If anyone's willing to pay some shipping (I am very poor or I'd pay it) from Canada, you can have it...

audioarchivist@hotmail.com
Title: Re: Sandisk Sansa View
Post by: betoqp on July 16, 2015, 04:01:04 AM
Have there been any advances? I'd like to know, so I can dust off my old View...
Title: Re: Sandisk Sansa View
Post by: gevaerts on July 16, 2015, 04:11:11 AM
Have there been any advances? I'd like to know, so I can dust off my old View...

There probably won't be, unless you dust off your old View...
Title: Re: Sandisk Sansa View
Post by: IronWorm on May 18, 2017, 03:52:55 AM
Hello all.

Since I have not seen a specific forum for presentations, and at risk of being called a "necromantic" for reviving this quite old thread, I will do it here. Greetings to all.  ;)

And now, for Something Completely Different, a man with a Sansa View bricked inside his pocket. I am needed of certain tool somebody called "Falcon4" posted, the Sansa View 'viewtool' and/or OneClickUnBrick. He posted a link to a page in that 'abi' (Anything But Ipod) forum with the tools, but that link does not exist anymore. Is there a way to get it back?

And of course I am following Rockbox in a pure way because I own a Agptek Rocker... I am really looking for its Rockbox port. The Sansa thing has come on the way just recently. If there is a port for that Sansa View, needless to say how interesting it would be, because of the View's buggy FW (and also, to make it work I should bring it back to life, thus this post). And again, sorry for bumping back this old thread.

Thank you all.
Title: Re: Sandisk Sansa View
Post by: IronWorm on May 22, 2017, 02:44:50 AM
Hello all.

Since I have not seen a specific forum for presentations, and at risk of being called a "necromantic" for reviving this quite old thread, I will do it here. Greetings to all.  ;)

And now, for Something Completely Different, a man with a Sansa View bricked inside his pocket. I am needed of certain tool somebody called "Falcon4" posted, the Sansa View 'viewtool' and/or OneClickUnBrick. He posted a link to a page in that 'abi' (Anything But Ipod) forum with the tools, but that link does not exist anymore. Is there a way to get it back?

And of course I am following Rockbox in a pure way because I own a Agptek Rocker... I am really looking for its Rockbox port. The Sansa thing has come on the way just recently. If there is a port for that Sansa View, needless to say how interesting it would be, because of the View's buggy FW (and also, to make it work I should bring it back to life, thus this post). And again, sorry for bumping back this old thread.

Thank you all.

Ok. Question answered. Sansa View alive again :) Now, time for watching Rockbox development both here and for the AGPTek Rocker...