I have a USB thumb drive in my stash which I often use for installer
images, etc. It worked fine in OpenBSD 6.6 and older, identifying
like this:
umass0 at uhub0 port 9 configuration 1 interface 0 "Generic Mass
Storage" rev 2.00/1.07 addr 4
umass0: using SCSI over Bulk-Only
scsibus6 at umass0: 2 targets, initiator 0
sd1 at scsibus6 targ 1 lun 0: <FLASH, Drive AU_USB20, 8.07> removable
serial.058f6387000000011717
sd1: 1987MB, 512 bytes/sector, 4069376 sectors
In 6.7, however, it fails to initialize:
umass0 at uhub0 port 1 configuration 1 interface 0 "Generic Mass
Storage" rev 2.00/1.07 addr 2
umass0: using SCSI over Bulk-Only
scsibus5 at umass0: 2 targets, initiator 0
probe(umass0:1:0): Check Condition (error 0) on opcode 0x0
sd1 at scsibus5 targ 1 lun 0: <, , > serial.058f6387000000011717
[ no capacity line is printed ]
While sd1 is listed, attempting to access it fails. I actually
discovered this by dd'ing install67.fs to it; it loaded bsd.rd just
fine but then couldn't read it as an installation source.
I've confirmed this behavior (works in 6.6, fails in 6.7) on four
different systems, i386 and amd64, on USB 1.1, 2.0, and 3.0 ports.
Other drives still work, so it appears to be an issue with this
specific model. A 6.8-beta snapshot from mid-September also fails in
the same way.
Here is lsusb output for the device:
====
Bus 000 Device 004: ID 058f:6387 Alcor Micro Corp. Flash Drive
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x058f Alcor Micro Corp.
idProduct 0x6387 Flash Drive
bcdDevice 1.07
iManufacturer 1 Generic
iProduct 2 Mass Storage
iSerial 3 I0904000000000011717
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 32
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 8 Mass Storage
bInterfaceSubClass 6 SCSI
bInterfaceProtocol 80 Bulk-Only
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
bNumConfigurations 1
Device Status: 0x0000
(Bus Powered)
====
It's a cheap drive which could well be non-compliant. Still, it
worked fine before (and also works in other OSes)...
-Andrew