AIX USB device quirks

Starting from AIX® 7.3 Technology Level 1, the AIX operating system provides quirks to support various third-party USB mass storage devices.

The following quirks are supported starting from AIX 7.3 for USB mass storage devices:
delay_doorbell
If this quirk is set, the ringing of the adapter doorbell is delayed by 1 ms.
cbw_csw_order
If this quirk is set, the data packets are sent only in the order of command block wrapper (CBW), data, and command status wrapper (CSW). Most of the third-party devices, for example, Seagate and Western Digital, need this quirk to operate correctly with the AIX USB stack.
Note: The AIX base operating system provides predefined quirks for all Seagate and Western Digital devices. Therefore, you do not need to add quirks for these devices explicitly. For USB devices from other vendors, a quirk must be added if USB devices are not configured by default.

Creating a quirk entry for a specific third-party USB device

To enable the cbw_csw_order quirk for a vendor with vendor ID 0xVVVV and a product with product ID 0xPPPP, use the following example quirk entry:
PdAt:
   uniquetype = "usbms/usbif/0806500b" 
   attribute = "quirk" 
   deflt = "VVVV_PPPP" 
   values = "cbw_csw_order" 
   width = "" 
   type = "R" 
   generic = "" 
   rep = "sl" 
   nls_index = 0 

Creating a quirk entry for all the USB devices from a specific vendor

To enable the cbw_csw_order quirk for all the USB devices from a vendor with vendor ID 0xVVVV, use the following example quirk entry:
PdAt:
   uniquetype = "usbms/usbif/0806500b" 
   attribute = "quirk" 
   deflt = "VVVV_all " 
   values = "cbw_csw_order " 
   width = "" 
   type = "R" 
   generic = "" 
   rep = "sl" 
   nls_index = 0

Adding a quirk for a USB device

If a third-party USB device is not configured on an AIX operating system, a quirk can be added according to the format shown in the preceding examples. The objects for the quirk entry for a specific USB device or a set of USB devices must be added in a PdAt object class. You must add a quirk entry for a USB device by using the odmadd command.

To add a quirk for a USB device that is not recognized by an AIX operating system or is not getting configured on an AIX operating system, run the following command:
  1. Unconfigure the USB devices by running the following command:
    rmdev -Rl usb0
  2. Create a file for the quirk entry for a new USB device.
  3. Add the quirk entry for the USB device by running the following command:
    odmadd <file name> 
  4. Plug in the USB device if it is not plugged in already.
  5. Configure the USB device by running the following command:
    cfgmgr -vl usb0