release
dev builds
extras
themes manual
wiki
device status forums
mailing lists
IRC bugs
patches
dev guide



Search | Go
Wiki > Main > TWikiUsers > SimonRaven > SansaExpressPort (r11)

Sansa Express Port



Port Info

There is no code written for this device yet.



Hardware

  • Bottom of the PCB:
    PCB_Bottom.jpg

  • Top of the PCB:
    <PCB_Top.jpg



Firmware

The 1.01.05a firmware can be downloaded from here.



Recovery Mode

Press 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 Mode

If 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 device

Rather 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.



Hard-reset

If 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 Modes

USB 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 Output

Disk /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 FAT16

Conclusion: 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



lsusb Output

lsusb -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


Edit | Attach | Print version | History: r13 | r12 < r11 < r10 < r9 | Backlinks | View wiki text | More topic actions...
r11 - 23 Sep 2008 - 19:07:57 - MarcGuay
Copyright © by the contributing authors.