This article documents upgrading the firmware of a built-in Memory Stick slot on a Linux-based Sony VAIO R505 laptop, to make it compatible with Memory Stick Pro media.
Rather than going with an existing standard, Sony felt it necessary to invent their own flash form factor, the Memory Stick. Memory Sticks are small, although not as small as SD cards, durable like CompactFlash, presently come in capacities up to 4GB, and are relatively cheap and ubiquitous, unlike Olympus xD. Unfortunately, the Memory Stick form factor has several variants. They chose to make backward compatibility the responsibility of the reader rather than the media, which seems like a poor decision. As a result, older Memory Stick readers can't read newer Memory Stick Pro media.
My Sony VAIO R505DC laptop has a quaint, built-in Memory Stick slot. It's hard-wired, but appears as a USB mass storage device, 054c / 0069. It identifies itself as MSC-U03 through SCSI commands and /proc/scsi/scsi. As shipped, it had firmware 1.07 identified through USB interfaces, and fails to operate with Memory Stick Pro media.
Sony Support distributes a firmware update utility for this device. Unfortunately, this utility only runs on Windows, and only on Windows 2000 or Windows XP at that. The firmware update utility that I used caused the device to report version 1.40 after use, and made it compatible with Memory Stick Pro media.
The firmware update utility's only function is to check compatibility, and create a "magic Memory Stick." A compatible, non-Pro memory stick must be sacrificed for this purpose, and it will pave over any existing file system. Once created, the user is instructed to set the write protect tab on the Memory Stick, and powercycle the system. Apparently, the reader identifies this magic media on power-up and reloads its firmware.
Anyway, I was forced to briefly install Windows for the purpose of creating a magic Memory Stick. It seems like it should be completely possible to perform this update using only Linux, given an image file and a simple "dd" command.
Filed Under:
- Login to post comments