<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "http://bugs.gentoo.org/bugzilla.dtd">

<bugzilla version="2.22.7"
          urlbase="http://bugs.gentoo.org/"
          maintainer="bugzilla@gentoo.org"
>

    <bug>
          <bug_id>186326</bug_id>
          
          <creation_ts>2007-07-23 13:23 0000</creation_ts>
          <short_desc>I/O error when reading from Nikon D50 camera</short_desc>
          <delta_ts>2007-08-22 20:11:42 0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Gentoo Linux</product>
          <component>Core system</component>
          <version>2006.1</version>
          <rep_platform>All</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <status_whiteboard>patch upstream: commit 4f47bb567368f732989058e26dc282f7fe931dab</status_whiteboard>
          
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>nshephard@gmail.com</reporter>
          <assigned_to>dsd@gentoo.org</assigned_to>
          

      

      
          <long_desc isprivate="0">
            <who>nshephard@gmail.com</who>
            <bug_when>2007-07-23 13:23:08 0000</bug_when>
            <thetext>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&apos;t changed my kernel config at all, it just stopped working after a regular eix-sync &amp;&amp; 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&apos;t access the box).</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>nshephard@gmail.com</who>
            <bug_when>2007-07-23 13:24:32 0000</bug_when>
            <thetext>Forgot to mention, submitting this as a bug as advised in http://forums.gentoo.org/viewtopic.php?p=4154065</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>mbres@gentoo.org</who>
            <bug_when>2007-07-27 20:57:04 0000</bug_when>
            <thetext>I&apos;m attaching the patch from the lkml link you provided, apply it as follows:
in /usr/src/linux, type:
patch -p1 &lt; usb-storage-nikon-d50-quirk.patch

Please let us know if this fixes the problem for you.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>mbres@gentoo.org</who>
            <bug_when>2007-07-27 20:57:31 0000</bug_when>
            <thetext>Created an attachment (id=126181)
usb-storage-nikon-d50-quirk.patch

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>nshephard@gmail.com</who>
            <bug_when>2007-07-31 17:35:47 0000</bug_when>
            <thetext>(In reply to comment #2)
&gt; 
&gt; Please let us know if this fixes the problem for you.
&gt; 

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)
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>dsd@gentoo.org</who>
            <bug_when>2007-08-22 20:11:42 0000</bug_when>
            <thetext>Thanks for testing, this is fixed upstream and in the latest gentoo-sources-2.6.22 release</thetext>
          </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>126181</attachid>
            <date>2007-07-27 20:57 0000</date>
            <desc>usb-storage-nikon-d50-quirk.patch</desc>
            <filename>usb-storage-nikon-d50-quirk.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">LS0tIGxpbnV4LTIuNi4yMi1yYzcvZHJpdmVycy91c2Ivc3RvcmFnZS91bnVzdWFsX2RldnMuaCAy
MDA3LTA3LTAzIDIyOjU0OjIzLjAwMDAwMDAwMCArMDMwMAorKysgbGludXgtMi42LjIyLXJjNy1u
aWFtL2RyaXZlcnMvdXNiL3N0b3JhZ2UvdW51c3VhbF9kZXZzLmggMjAwNy0wNy0wMyAyMjozNToz
OS4wMDAwMDAwMDAgKzAzMDAKQEAgLTMxMyw2ICszMTMsMTMgQEAKICAgICAgICAgICAgICAgIFVT
X1NDX0RFVklDRSwgVVNfUFJfREVWSUNFLE5VTEwsCiAgICAgICAgICAgICAgICBVU19GTF9OT1Rf
TE9DS0FCTEUgKSwKCisvKiBSZXBvcnRlZCBieSBOaWFtIDxuaWFtLm5pYW1AZ21haWwuY29tPiAq
LworVU5VU1VBTF9ERVYoICAweDA0YjAsIDB4MDQwOSwgMHgwMTAwLCAweDAxMDAsCisgICAgICAg
ICAgICAgICAiTklLT04iLAorICAgICAgICAgICAgICAgIk5JS09OIERTQyBENTAiLAorICAgICAg
ICAgICAgICAgVVNfU0NfREVWSUNFLCBVU19QUl9ERVZJQ0UsIE5VTEwsCisgICAgICAgICAgICAg
ICBVU19GTF9GSVhfQ0FQQUNJVFkpLAorCiAvKiBSZXBvcnRlZCBieSBBbmRyZWFzIEJvY2tob2xk
IDxhbmRyZWFzQGJvY2tpb25saW5lLmRlPiAqLwogVU5VU1VBTF9ERVYoICAweDA0YjAsIDB4MDQw
NSwgMHgwMTAwLCAweDAxMDAsCiAgICAgICAgICAgICAgICAiTklLT04iLAo=
</data>        

          </attachment>
    </bug>

</bugzilla>