My Nikon D200 camera was no longer able to mount after upgrading my kernel. This is related to other bugs for other nikon models experiencing the same issues: http://bugs.gentoo.org/show_bug.cgi?id=185517 http://bugs.gentoo.org/show_bug.cgi?id=186326 There is also a thread in the forums regarding this issue, and the last posting by Gadger (Sept. 5, 2007) provides a fix that I have confirmed to be working on my system. Here is the snippet of code added to drivers/usb/storage/unusual_devs.h: UNUSUAL_DEV( 0x04b0, 0x040f, 0x0200, 0x0200, "NIKON", "NIKON DSC D200", US_SC_DEVICE, US_PR_DEVICE, NULL, US_FL_FIX_CAPACITY), Reproducible: Always Steps to Reproduce: 1. with unpatched kernel, plug in nikon d200 Actual Results: device appears in lsusb - but is not mountable (error message about bad superblock) Expected Results: device is mountable after patching kernel, device appears in lsusb and is mountable
Sorry, forgot to include the url to the forum post: http://forums.gentoo.org/viewtopic-t-571491-highlight-nikon+d200.html
ok, thanks for the patch. We'll wait a bit and see if Gadger submits this upstream. If he doesn't, we can submit it on his behalf. Once it makes the mainline development tree, we can back port to the latest genpatches for inclusion in gentoo-sources.
Created attachment 131062 [details, diff] D200 unusual devs patch Would you mind installing the latest vanilla kernel which is vanilla-source-2.6.23_rc6 as of this writing? Then, can you apply the patch I have attached by copying it to the directory where your kernel source is and entering the command: patch -p1 < unusual_devs_mod_D200.patch After compiling and installing the kernel, please post your test results here and if all works well, I'll submit upstream. Thanks for your help with this.
On second thought, the latest gentoo-sources kernel will do for testing.
Mike, there's no need for the test request as comment #0 already confirms that it works.
OK - Great thanks for the note Daniel, you just saved me an hour. If there is something that you'd like me to test, just let me know. Thanks, Mike
This patch made it into 2.6.22-gentoo-r8 but still didn't work for me. It turns out that my D200 is an older rev so I changed the bcdDeviceMin field from 0x0200 to 0x0100 in unusual_devs.h. Here's the modified entry: UNUSUAL_DEV( 0x04b0, 0x040f, 0x0100, 0x0200, "NIKON", "NIKON DSC D200", US_SC_DEVICE, US_PR_DEVICE, NULL, US_FL_FIX_CAPACITY), With this change it works fine.
Thank-you for your change I will adjust this and resubmit upstream. I would not expect to see this change hit mainline until 2.6.24 but we will incorporate the back patch earlier, of course.
Created attachment 132556 [details, diff] Patch for D200 quirk to support lower revision
(In reply to comment #7) > This patch made it into 2.6.22-gentoo-r8 but still didn't work for me. It turns > out that my D200 is an older rev David, Upstream has requested a copy of your /proc/bus/usb/devices Please post that to this bug. Thanks.
David, Upstream maintainers are insisting on having the output of your /proc/bus/usb/devices while the D200 is plugged in before accepting the patch. If you're still interested in seeing the D200 supported in the kernel feel free to reopen this bug and attach the requested info.
Sorry for the delay, I didn't check back. Here's the entry for my camera from /proc/bus/usb/devices: T: Bus=01 Lev=01 Prnt=01 Port=09 Cnt=02 Dev#= 6 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=04b0 ProdID=040f Rev= 1.00 S: Manufacturer=NIKON S: Product=NIKON DSC D200 S: SerialNumber=0000000 C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 2mA I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
.
Patch submitted upstream. We'll keep an eye on this. http://marc.info/?l=linux-usb-devel&m=119393062311203&w=2
Mike, any news on that patch?
It's in Greg's USB tree. Should make mainline shortly.
This patch has made the mainline and will be in 2.6.24 http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=034fec2e75e97a5429512a6daf2c605a4829853d
this was fixed in gentoo-sources-2.6.23-r4