Thanks a billion, the device is now actually working :). However, it still generates quite a mess of errors in my dmesg, and seems slower than it should be. The following logs show what happens when I connect, mount, dd 1000 blocks from /dev/zero to a file on the device, unmount, and then disconnect the device under the 3.4.0-rc6 kernel patched with the patch you sent: ===== dmesg output ===== [ 2221.460077] usb 2-1.1: new high-speed USB device number 15 using ehci_hcd [ 2221.554313] usb-storage 2-1.1:1.0: Quirks match for vid 177f pid 0400: 4000 [ 2221.554491] scsi17 : usb-storage 2-1.1:1.0 [ 2222.552003] scsi 17:0:0:0: Direct-Access Maxm Media Player 4GB 1.00 PQ: 0 ANSI: 0 [ 2222.552989] scsi 17:0:0:1: Direct-Access Maxm Media Player 4GB 1.00 PQ: 0 ANSI: 0 [ 2222.554959] sd 17:0:0:0: Attached scsi generic sg2 type 0 [ 2222.555439] sd 17:0:0:1: Attached scsi generic sg3 type 0 [ 2222.555459] sd 17:0:0:0: [sdb] 7774208 512-byte logical blocks: (3.98 GB/3.70 GiB) [ 2222.556583] sd 17:0:0:0: [sdb] Write Protect is off [ 2222.556594] sd 17:0:0:0: [sdb] Mode Sense: 03 00 00 00 [ 2222.557694] sd 17:0:0:0: [sdb] No Caching mode page present [ 2222.558600] sd 17:0:0:1: [sdc] Attached SCSI removable disk [ 2222.559952] sd 17:0:0:0: [sdb] Assuming drive cache: write through [ 2222.566636] sd 17:0:0:0: [sdb] No Caching mode page present [ 2222.568709] sd 17:0:0:0: [sdb] Assuming drive cache: write through [ 2222.572365] sdb: [ 2222.575605] sd 17:0:0:0: [sdb] No Caching mode page present [ 2222.578797] sd 17:0:0:0: [sdb] Assuming drive cache: write through [ 2222.581220] sd 17:0:0:0: [sdb] Attached SCSI removable disk [ 2233.576445] sd 17:0:0:0: [sdb] Unhandled error code [ 2233.576455] sd 17:0:0:0: [sdb] Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK [ 2233.576465] sd 17:0:0:0: [sdb] CDB: Write(10): 2a 00 00 05 f8 f8 00 00 f0 00 [ 2233.576486] end_request: I/O error, dev sdb, sector 391416 [ 2233.802570] sd 17:0:0:0: [sdb] Unhandled error code [ 2233.802580] sd 17:0:0:0: [sdb] Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK [ 2233.802589] sd 17:0:0:0: [sdb] CDB: Write(10): 2a 00 00 05 f9 e8 00 00 f0 00 [ 2233.802610] end_request: I/O error, dev sdb, sector 391656 [ 2234.611422] sd 17:0:0:0: [sdb] Unhandled error code [ 2234.611432] sd 17:0:0:0: [sdb] Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK [ 2234.611441] sd 17:0:0:0: [sdb] CDB: Write(10): 2a 00 00 05 fa d8 00 00 f0 00 [ 2234.611462] end_request: I/O error, dev sdb, sector 391896 [ 2234.841645] sd 17:0:0:0: [sdb] Unhandled error code [ 2234.841654] sd 17:0:0:0: [sdb] Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK [ 2234.841664] sd 17:0:0:0: [sdb] CDB: Write(10): 2a 00 00 05 fb c8 00 00 f0 00 [ 2234.841687] end_request: I/O error, dev sdb, sector 392136 [ 2244.533180] usb 2-1.1: USB disconnect, device number 15 ===== end of dmesg output ===== I've also seen similar errors for reading, I think I can log them if you like. The output of lsusb -vvv hasn't changed. The usbmon output is available at http://pastebin.com/JSVAHDr1 (sorry for the size, but smaller dd's didn't seem to trigger errors). I hope there's an easy fix to these errors. If not, I think I can live with them :). Thanks again for what you did already! With regards, Jesse On Tue, May 8, 2012 at 4:22 PM, Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote: > On Tue, 8 May 2012, Jesse Feddema wrote: > >> Hi, >> >> My sister's Yarvik PMP400 MP4 player refuses to stay connected on any >> kernel version and on any computer I try. The player is not broken and > > Actually it is -- or at least, buggy. > >> should not require special drivers, as it works with Windows 7 without >> installation of third party software or drivers. Using kernel > > That's because Windows does not follow the USB mass storage protocol > properly. > >> 3.4.0-rc6, here is some dmesg output illustrating the problem: >> >> [snipped] >> >> As you can see, the device exposes two scsi disks. One of them is the >> internal memory (4GB), the other I think is supposed to give access to >> the MicroSD slot in the device. I have only tried connecting the >> player without a MicroSD card inserted. Also, you can see that the >> device disconnects just over a second after it is connected, and even >> before sdb is properly initialized. It doesn't show up in lsusb after >> this disconnect, and the screen of the device shows, after a brief >> moment of displaying a "connected" icon, a "charging without being >> connected" icon. >> >> I was able to obtain lsusb -vvv output by running the command during >> the brief time the device is connected: > > Good, that helped. > >> Also, I captured usbmon output, which is available at >> http://pastebin.com/ENUYujJy (I hope there isn't any noise in it, I'm >> a little new at this). I'd be very grateful if you could help me find >> a way to get this device to work with Linux :). Feel free to ask me >> for additional (debugging) output. > > Your usbmon trace was very useful. It showed that the player has a > nasty bug; it doesn't use the correct command tag in its responses. > The patch below will tell the usb-storage driver to ignore the bug; > hopefully it will solve your problem. If it doesn't, please post > another usbmon trace. > > Alan Stern > > > > Index: usb-3.4/drivers/usb/storage/unusual_devs.h > =================================================================== > --- usb-3.4.orig/drivers/usb/storage/unusual_devs.h > +++ usb-3.4/drivers/usb/storage/unusual_devs.h > @@ -1885,6 +1885,13 @@ UNUSUAL_DEV( 0x1652, 0x6600, 0x0201, 0x > USB_SC_DEVICE, USB_PR_DEVICE, NULL, > US_FL_IGNORE_RESIDUE ), > > +/* Reported by Jesse Feddema <jdfeddema@xxxxxxxxx> */ > +UNUSUAL_DEV( 0x177f, 0x0400, 0x0000, 0x0000, > + "Yarvik", > + "PMP400", > + USB_SC_DEVICE, USB_PR_DEVICE, NULL, > + US_FL_BULK_IGNORE_TAG ), > + > /* Reported by Hans de Goede <hdegoede@xxxxxxxxxx> > * These Appotech controllers are found in Picture Frames, they provide a > * (buggy) emulation of a cdrom drive which contains the windows software > -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html