Until recently I could mount my Nikon D50 as a USB mass storage device without any problems, but recently this has broken and I can no longer mount. I haven't changed my kernel config at all, it just stopped working after a regular eix-sync && emerge -uDN world Reproducible: Always Steps to Reproduce: 1. Buy a Nikon D50 ;-) 2. Format a memory card in the camera 3. Take some pictures 4. Plug in to computer 5. Turn camera on 6. mount the device reported by dmesg | tail (e.g. mount -t vfat /dev/sdb1 /mnt/nikon) Actual Results: # dmesg | tail -n70 usb 1-1: USB disconnect, address 6 usb 1-1: new high speed USB device using ehci_hcd and address 7 usb 1-1: configuration #1 chosen from 1 choice scsi2 : SCSI emulation for USB Mass Storage devices usb-storage: device found at 7 usb-storage: waiting for device to settle before scanning scsi 2:0:0:0: Direct-Access NIKON D50 1.00 PQ: 0 ANSI: 2 SCSI device sdb: 4022273 512-byte hdwr sectors (2059 MB) sdb: Write Protect is off sdb: Mode Sense: 0f 00 00 00 sdb: assuming drive cache: write through SCSI device sdb: 4022273 512-byte hdwr sectors (2059 MB) sdb: Write Protect is off sdb: Mode Sense: 0f 00 00 00 sdb: assuming drive cache: write through sdb: sdb1 sd 2:0:0:0: Attached scsi removable disk sdb sd 2:0:0:0: Attached scsi generic sg1 type 0 usb-storage: device scan complete end_request: I/O error, dev sdb, sector 4022272 printk: 277 messages suppressed. Buffer I/O error on device sdb, logical block 4022272 end_request: I/O error, dev sdb, sector 4022272 Buffer I/O error on device sdb, logical block 4022272 end_request: I/O error, dev sdb, sector 4022272 Buffer I/O error on device sdb, logical block 4022272 end_request: I/O error, dev sdb, sector 4022272 Buffer I/O error on device sdb, logical block 4022272 end_request: I/O error, dev sdb, sector 4022272 Buffer I/O error on device sdb, logical block 4022272 end_request: I/O error, dev sdb, sector 4022272 Buffer I/O error on device sdb, logical block 4022272 end_request: I/O error, dev sdb, sector 4022272 Buffer I/O error on device sdb, logical block 4022272 end_request: I/O error, dev sdb, sector 40 Buffer I/O error on device sdb, logical block 40 Buffer I/O error on device sdb, logical block 41 Buffer I/O error on device sdb, logical block 42 end_request: I/O error, dev sdb, sector 40 end_request: I/O error, dev sdb, sector 40 end_request: I/O error, dev sdb, sector 40 end_request: I/O error, dev sdb, sector 40 end_request: I/O error, dev sdb, sector 243 end_request: I/O error, dev sdb, sector 243 end_request: I/O error, dev sdb, sector 243 end_request: I/O error, dev sdb, sector 243 end_request: I/O error, dev sdb, sector 243 end_request: I/O error, dev sdb, sector 243 end_request: I/O error, dev sdb, sector 243 end_request: I/O error, dev sdb, sector 243 end_request: I/O error, dev sdb, sector 243 end_request: I/O error, dev sdb, sector 243 end_request: I/O error, dev sdb, sector 243 end_request: I/O error, dev sdb, sector 243 end_request: I/O error, dev sdb, sector 243 end_request: I/O error, dev sdb, sector 243 end_request: I/O error, dev sdb, sector 243 end_request: I/O error, dev sdb, sector 243 end_request: I/O error, dev sdb, sector 243 end_request: I/O error, dev sdb, sector 243 end_request: I/O error, dev sdb, sector 243 end_request: I/O error, dev sdb, sector 243 end_request: I/O error, dev sdb, sector 243 end_request: I/O error, dev sdb, sector 243 end_request: I/O error, dev sdb, sector 243 end_request: I/O error, dev sdb, sector 243 end_request: I/O error, dev sdb, sector 243 end_request: I/O error, dev sdb, sector 243 end_request: I/O error, dev sdb, sector 243 end_request: I/O error, dev sdb, sector 243 Expected Results: Should mount device. This seems similar to a problem reported with the D100 (see http://bugs.gentoo.org/show_bug.cgi?id=185517), and has been mentioned on the linux-kernel dev mailing list (see http://lkml.org/lkml/2007/7/3/297) Some useful system information... # uname -a Linux fisher 2.6.20-gentoo-r6 #10 SMP Fri Jul 13 13:40:56 BST 2007 i686 AMD Athlon(tm) XP 2600+ AuthenticAMD GNU/Linux # lsusb Bus 004 Device 001: ID 0000:0000 Bus 004 Device 002: ID 10df:0100 In-Win Development, Inc. Bus 003 Device 003: ID 045e:00db Microsoft Corp. Bus 003 Device 002: ID 046d:c016 Logitech, Inc. M-UV69a Optical Wheel Mouse Bus 003 Device 001: ID 0000:0000 Bus 002 Device 001: ID 0000:0000 Bus 001 Device 007: ID 04b0:0409 Nikon Corp. Bus 001 Device 001: ID 0000:0000 Will post emerge --info later if required (currently at work and can't access the box).
Forgot to mention, submitting this as a bug as advised in http://forums.gentoo.org/viewtopic.php?p=4154065
I'm attaching the patch from the lkml link you provided, apply it as follows: in /usr/src/linux, type: patch -p1 < usb-storage-nikon-d50-quirk.patch Please let us know if this fixes the problem for you.
Created attachment 126181 [details, diff] usb-storage-nikon-d50-quirk.patch
(In reply to comment #2) > > Please let us know if this fixes the problem for you. > Yep the patch works, but only after I un-emerged libgphoto2/gphoto2 due to conflicts with hald (see http://bugs.gentoo.org/show_bug.cgi?id=172830). Thanks for the helping sort this out. Some relevant information with regards to the kernel... $ uname -sr Linux 2.6.22-gentoo-r2 (Not sure if I should change this to fixed or whether that should be done by someone who would add the patch to kernel source patches, so opting for the later)
Thanks for testing, this is fixed upstream and in the latest gentoo-sources-2.6.22 release