MOTOROKR Z6 cell phone has several bugs somewhere in its USB stack (thanks to Motorola engineers!). See discussion at http://www.mail-archive.com/linux-usb-users@lists.sourceforge.net/msg19167.html and workaround instructions at https://opensource.motorola.com/sf/discussion/do/listPosts/projects.rokrz6/discussion.general_comments.topc1682 This patch introduces one more type of bug (tag mismatch) in linux/usb_usual.h with corresponding modification of drivers/usb/storage/transport.c. Also it adds record for MOTOROKR Z6 into unusual_devs.h. Reproducible: Always Steps to Reproduce: 1. Set phone's USB into "Memory Card" mode. 2. Connect phone to computer. Actual Results: Without patch: USB device is recognized but SCSI emulation is not enabled. With patch: SCSI disk is emulated and works good for phone's microSD card only. Expected Results: Two SCSI disks for microSD card and built-in memory shall be emulated without any kernel modifications.
Created attachment 145571 [details, diff] The kernel patch itself
Please, review the following: http://dev.gentoo.org/~dsd/genpatches/faq.htm
patch isn't upstream yet, haven't had time to read the whole discussion
Created attachment 145870 [details, diff] Updated patch Accepted in -mm tree. Patch may be applied to 2.6.24. But it's incompatible with 2.6.23 from point of view of patch utility; slight modification is needed. > With patch: SCSI disk is emulated and works good for phone's microSD card only. This was my mistake. Both microSD card and internal memory are successfully accessed with the patch.
I applied this new patch (2.6.25-rc4-motorokr_z6.patch) to linux-2.6.24 and tested it with my Z6 phone. Two disks were detected: /dev/sdb and /dev/sdc (sda was already busy by my sata hard disk) which are: /dev/sdb - removable memory card /dev/sdc - internal phone memory Both disks works fine with great read/write speed. Thanks for patch!
patch was linebroken, sent a fixed version upstream and queued for next release
Fixed in gentoo-sources-2.6.24-r4 (genpatches-2.6.24-5)