|
|
Wiki > Main > SansaFuzePlus (compare)
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Difference: SansaFuzePlus (r43 vs. r42)Sansa Fuze+OverviewThis is the page for the Sansa Fuze+ rockbox port Port StatusMain Features
Firmware & UpgradeThere are two upgrade methods:
Recovery modeThe i.MX233 chip has a usb recovery mode partly documented in the datasheet. The Fuze+ can be put in this mode by the following procedure: * Turn off the device * Push the volume up button * While holding the volume up button down, plug in the USB cable * The screen will stay black and the device will then register itself as a HID device: 066f:3780 (Sigmatel, Inc.) ROM Recovery When in recovery mode, the device uses the BLTC protocol for which we do not have documentation. However the imx_hid_recovery tool is in the SVN is capable of uploading a firmware file in the SbFileFormat based on some reverse-engineering we did. PCB Scans
Components
Freescale STMP 3780/i.mx233 Processor, datasheet here, see STMP37xxChips
PinsHere is a list of all the pins used by the OF. Pins are of form BxPyy where x is the bank and yy the number within the bank. Direction only applies to GPIO.
MysteriesHere is a list of unsolved mysteries about the Fuze+ Touchpad crazynessSometimes the touchpad will go crazy and report wrong or false touches. The only way to recover is to shutdown and reboot. There is a way to reset the touchpad but without a way to detect that the touchpad is mad, this is useless. Backlight flickeringSometimes the backlight will flicker on every touchpad touch or just randomly. Experiments suggest that it happen when VDDIO is wrong set to 3V instead of 3.3V. The situation is further confusing because then VDDIO is configured for 3.3V but the LRADC reports 3V meaning that the hardware somehow doesn't keep manage to keep the good voltage. Unknown ADC ChannelThe Fuze+ OF monitors the LRADC channel 2 but the code is so intricate that I'm unable to determine its use. The code suggests that it is resistor divided from VDDIO. However, experiments haven't shown any value different from VDDIO yet, making it unlikely that it charging currennt, temprature or anything physical. The channel readout can be found in the debug menu, under the third screen of HW info. Malfunctioning internal storageSome Fuze+ suffered from what looks like a hardware failure of the internal storage. Two situations have been encountered:
It is not clear if it is related to Rockbox or not since some users suffered from it using the OF only. lsusbHere are the result of both lsusb -t and lsusb -v commands:
Bus 001 Device 006: ID 0781:74e0 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 0x74e0
bcdDevice 0.01
iManufacturer 1 SanDisk
iProduct 2 Sansa Fuze+
iSerial 5 0000000100001C150002DCDF27F55C15
bNumConfigurations 2
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 39
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 3 USB/MSC LCD Player
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/MSC LCD Player
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
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 39
bNumInterfaces 1
bConfigurationValue 2
iConfiguration 3 USB/MSC LCD Player
bmAttributes 0x80
(Bus Powered)
MaxPower 100mA
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/MSC LCD Player
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 2
Device Status: 0x0000
(Bus Powered)
lsusb -t -d 0781:74e0 Bus# 5 `-Dev# 1 Vendor 0x1d6b Product 0x0001 Bus# 4 `-Dev# 1 Vendor 0x1d6b Product 0x0001 Bus# 3 `-Dev# 1 Vendor 0x1d6b Product 0x0001 Bus# 2 `-Dev# 1 Vendor 0x1d6b Product 0x0001 `-Dev# 4 Vendor 0x1532 Product 0x000c Bus# 1 `-Dev# 1 Vendor 0x1d6b Product 0x0002 `-Dev# 6 Vendor 0x0781 Product 0x74e0
r45 - 17 Jan 2013 - 14:35:26 - AmauryPouly
Revision r43 - 24 Dec 2012 - 17:41 - AmauryPoulyRevision r42 - 27 Jun 2012 - 02:24 - MichaelGiacomelli Copyright © by the contributing authors.
|