|
|
|
Sansa Express PortPort InfoThere is no code written for this device yet.Hardware
FirmwareThe 1.01.05a firmware can be downloaded from here.Recovery ModePress and hold the(-) volume button while plugging into USB. Windows will ask you to install the drivers. Point it to the folder containing the "StMp3Rec.sys" file from the firmware update. The firmware can now be updated.
Production Test ModeIf the(+) and UP buttons are held down during boot up, a production test mode activates. Finding this part of the code could be useful.
"Resetting" the USB on the deviceRather simple, needs to go in a USB 1.x port, get detected by OS, unplug, then plug in to USB 2.x port. I don't know how you would do this if you only have USB 2 ports. If this doesn't work, do the "hard reset", described below.Hard-resetIf your player locks up for whatever reason you can perform a hard-reset by pressing and holding the(+) volume button and select at the same time, similar to holding power on the e200.
MSC/MTP ModesUSB modes are not controlled by a setting on the player itself, you have to configure your operating system to handle it the way you wish. In Windows, this can be done by updating the driver manually through the device manager.fdisk -l OutputDisk /dev/sda: 1022 MB, 1022623744 bytes 24 heads, 23 sectors/track, 3618 cylinders Units = cylinders of 552 * 512 = 282624 bytes Disk identifier: 0x00000000 Device Boot Start End Blocks Id System /dev/sda1 * 1 3619 998532+ 6 FAT16Conclusion: It looks like the partition that is visible to Linux is the boot partition and there is a 23M hidden partition. While connected in recovery mode fdisk -l shows nothing. Mine's formatted a bit differently: Disk /dev/sda: 1023 MB, 1023002624 bytes 4 heads, 7 sectors/track, 71359 cylinders Units = cylinders of 28 * 512 = 14336 bytes Disk identifier: 0x000b3697 Device Boot Start End Blocks Id System /dev/sda1 * 9 71359 998902+ 6 FAT16-- SimonRaven - 22 Jan 2008 libMTP in Linux-based OSWas trying out some of the mtp-* utilities just now and MTP in Linux for this device isn't all there yet. ho-hum-- SimonRaven - 26 Sep 2008 Toolchain and kernelsAs for toolchain and such, at the "STMP36xx Linux BSP" link below, there is a kernel, toolchain, and other stuff. I figure booting this in virtualbox or something we can use a) more recent kernels than what they have there (they have a kernel from 2006 there) b) toolchain too c) since they probably have the bits to support the CPU, device connectivity, etc., use that as a base to start the rockboxifying/porting.-- SimonRaven - 26 Sep 2008 lsusb Outputlsusb -v output:
Bus 002 Device 022: ID 0781:7460 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 0x7460
bcdDevice 0.01
iManufacturer 1 Sandisk
iProduct 2 Sansa Express
iSerial 5 XXXXXXXXXXXXXXXXXXXXXXXXX
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 39
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 3 USB/Sansa Express
bmAttributes 0x80
(Bus Powered)
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 8 Mass Storage
bInterfaceSubClass 6 SCSI
bInterfaceProtocol 80 Bulk (Zip)
iInterface 4 USB/Sansa Express
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 0x02 EP 2 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 0x83 EP 3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 16
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: 0x0000
(Bus Powered)
I have usbmount installed, and it sees /dev/sdb but cannot actually read from it to mount it. From what I've read on sandisk's forums, it seems that "drive" (partition) is an "OS/2 Hidden" partition, and that's where the firmware and bootloader are hosted, would be my guess.
usbmount[7657]: cannot read from /dev/sdb
While in recovery mode lsusb -v shows:
Bus 001 Device 004: ID 066f:3600 SigmaTel, Inc.
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x066f SigmaTel, Inc.
idProduct 0x3600
bcdDevice 0.01
iManufacturer 1 Sigmatel, Inc.
iProduct 2 STMP3600
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 32
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 3 USB Boot Class-c
bmAttributes 0xc0
Self Powered
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0
bInterfaceProtocol 255
iInterface 4 USB Boot Class-i
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 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 0x0040 1x 64 bytes
bInterval 0
Device Status: 0x0000
(Bus Powered)
Links
r12 - 26 Sep 2008 - 09:22:38 - SimonRaven
Copyright © by the contributing authors.
|