Add quirk for iLO Virtual CD-ROM found on HPE systems.
Details
- Reviewers
• hselasky
HPE ProLiant DL380 Gen10. Without setting the quirk mounting root from installation ISO fails with error 19.
Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Skipped - Unit
Tests Skipped
Event Timeline
Can you dump the usb configuration descriptor using "usbdump dump_curr_config_desc" for your device?
Sounds strange that ATAPI is not selected by default when CD-ROMs are used!
--HPS
I guess you wanted the usbconfig in there? Here you go:
ugen1.3: <iLO Virtual CD-ROM> at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (0mA) Configuration index 0 bLength = 0x0009 bDescriptorType = 0x0002 wTotalLength = 0x0020 bNumInterfaces = 0x0001 bConfigurationValue = 0x0001 iConfiguration = 0x0000 <no string> bmAttributes = 0x00c0 bMaxPower = 0x0000 Interface 0 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0000 bAlternateSetting = 0x0000 bNumEndpoints = 0x0002 bInterfaceClass = 0x0008 <Mass storage> bInterfaceSubClass = 0x0002 bInterfaceProtocol = 0x0050 iInterface = 0x0010 <Virtual CD-ROM> Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0081 <IN> bmAttributes = 0x0002 <BULK> wMaxPacketSize = 0x0200 bInterval = 0x0000 bRefresh = 0x0000 bSynchAddress = 0x0000 Endpoint 1 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0002 <OUT> bmAttributes = 0x0002 <BULK> wMaxPacketSize = 0x0200 bInterval = 0x0000 bRefresh = 0x0000 bSynchAddress = 0x0000
Please note that it seems that da driver attaches to this device, and not cd.
What's interesting, if I "insert" the media after the system is booted, which makes the umass device to "connect", the quirks do NOT seem to be applied, and the device is unusable.
Hi,
The USB storage driver checks the interface sub-class (bInterfaceSubClass = 0x0002) to select SCSI or ATAPI.
BTW: SCSI also supports CD-ROMs.
sys/dev/usb/storage/umass.c: case UISUBCLASS_SCSI:
sys/dev/usb/storage/umass.c: case UISUBCLASS_UFI:
sys/dev/usb/storage/umass.c: case UISUBCLASS_RBC:
sys/dev/usb/storage/umass.c: case UISUBCLASS_SFF8020I:
sys/dev/usb/storage/umass.c: case UISUBCLASS_SFF8070I:
sys/dev/usb/usb.h:#define UISUBCLASS_RBC 1
sys/dev/usb/usb.h:#define UISUBCLASS_SFF8020I 2
sys/dev/usb/usb.h:#define UISUBCLASS_QIC157 3
sys/dev/usb/usb.h:#define UISUBCLASS_UFI 4
sys/dev/usb/usb.h:#define UISUBCLASS_SFF8070I 5
sys/dev/usb/usb.h:#define UISUBCLASS_SCSI 6
Can you check if this field changes?
Did you check if a BIOS/ILO firmware update would fix your issue?
Did you report this issue to HP?
So I'm not sure if quirking this is a good idea or not. It should not be required to quirk this at all. This stuff should just work!
You are sure you didn't mix .iso images and regular disk images, when providing the file for the virtual-DISK / CD-ROM?
Did you "Google" the product and vendor ID's in hexadecimal, to see if Linux or other systems have similar such quirks?