Subject: kern/34452: Freecom USB HDD which worked with 2.x doesn't work with 3.1_RC1, 4.0_BETA or 4.99.1
To: None <kern-bug-people@netbsd.org, gnats-admin@netbsd.org,>
From: None <netbsd@precedence.co.uk>
List: netbsd-bugs
Date: 09/02/2006 12:45:01
>Number:         34452
>Category:       kern
>Synopsis:       Freecom USB HDD which worked with 2.x doesn't work with 3.1_RC1, 4.0_BETA or 4.99.1
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Sep 02 12:45:01 +0000 2006
>Originator:     Stephen Borrill
>Release:        3.0_STABLE, 3.1_RC1, 4.0_BETA, 4.99.1
>Organization:
Precedence Technologies Ltd
>Environment:
NetBSD netmanager 3.0_STABLE NetBSD 3.0_STABLE (NETMANRAID) #19: Mon Aug 21 16:17:42 BST 2006 root@devel:/root/netmanager3/work/obj/sys/arch/i386/compile/NETMANRAID i386
>Description:
Got a Freecom Classic 250GB USB drive which works fine on NetBSD 2.0_STABLE (and earlier):

ehci0 at pci0 dev 29 function 7: Intel 82801EB/ER USB EHCI Controller (rev. 0x0)
ehci0: interrupting at irq 11
ehci0: EHCI version 1.0
ehci0: companion controllers, 2 ports each: uhci0 uhci1 uhci2 uhci3
usb4 at ehci0: USB revision 2.0
uhub4 at usb4
[snip]
umass0 at uhub4 port 5 configuration 1 
interface 0
umass0: Freecom product 0xfccd, rev 2.00/4.06, addr 2
umass0: using SCSI over Bulk-Only
scsibus1 at umass0: 2 targets, 1 lun per target
sd0 at scsibus1 target 0 lun 0: <HDS72252, 5VLAT80, V36O> disk fixed
sd0: fabricating a geometry
sd0: 232 GB, 238475 cyl, 64 head, 32 sec, 512 bytes/sect x 488397169 sectors

However on NetBSD 3.0 and later (inc. 3.1_RC1 and 4.99.1) I get the 
following:
ehci0 at pci0 dev 29 function 7: Intel 82801GB/GR USB EHCI Controller (rev. 0x01)
ehci0: interrupting at irq 5
ehci0: BIOS has given up ownership
ehci0: EHCI version 1.0
ehci0: companion controllers, 2 ports each: uhci0 uhci1 uhci2
usb3 at ehci0: USB revision 2.0
uhub3 at usb3
uhub3: Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub3: 6 ports with 6 removable, self powered
[snip]
umass0 at uhub3 port 2 configuration 1 interface 0
umass0: Freecom product 0xfccd, rev 2.00/4.06, addr 2
umass0: using SCSI over Bulk-Only
umass0: Get Max Lun failed: IOERROR
umass0: unable to get Max Lun: IOERROR

(Yes, these are different machines because of available hardware round the 
office, but it's reproducible even on the same hardware - it was first 
noticed during a 2.0 to 3.0 upgrade).

It would be good to solve this for 3.1 and 4.0 before they get released...
>How-To-Repeat:
Get a Freecom Classic 250GB USB2 HDD and connect to a machine running NetBSD 3.0 or later
>Fix:
Unknown. A cursory glance through umass.c suggests it hasn't altered in any pertinent way since 2.0, so I guess the problem lies elsewhere.