OpenSolaris

Printable Version Enter a New Search
Bug ID 6724581
Synopsis apple macbook pro: internal usb keyboard doesn't work
State 10-Fix Delivered (Fix available in build)
Category:Subcategory driver:usb-keyboard
Keywords opensolaris | oss-request | oss-sponsor
Sponsor Seth Goldberg
Submitter jk
Responsible Engineer Seth Goldberg
Reported Against snv_90
Duplicate Of
Introduced In solaris_8
Commit to Fix snv_95
Fixed In snv_95
Release Fixed solaris_nevada(snv_95)
Related Bugs 6477019
Submit Date 10-July-2008
Last Update Date 6-November-2008
Description
Category
   driver
Sub-Category
   usb-usbkbd
Description
   When booting an Apple MacBook PRO from the SXCE91 DVD, the laptop's internal
keyboard doesn't work after the Solaris kernel has started.
System doesn't accept any input at the following prompt:
    1.  Solaris Interactive (default)
    2.  Custom JumpStart
    3.  Solaris Interactive Text (Desktop session)
    ...
    6.  Single user shell
Enter the number of your choice.
   ------
Here are the HID reports for the Apple internal USB keyboard / trackpad device,
extracted with "::prtusb -t" from the running kernel:
e       usb_mid     2     device          05ac.0231   
Apple Internal Keyboard / Trackpad
usba_device: 0xd2cd7800
mfg_prod_sn: Apple, Inc. - Apple Internal Keyboard / Trackpad - NULL
device, instance #2 (driver name: usb_mid)
  /pci@0,0/pci106b,a3@1d,2/device@2
  dip: 0xd10aa730
  usb_mid_statep: 0xd237a080
  usb_mid_errlevel: 0x4
{
    keyboard, instance #4 (driver name: hid)
      /pci@0,0/pci106b,a3@1d,2/device@2/keyboard@0
      dip: 0xd3416e28
      hid_statep: 0xd224f740
      hid_errlevel: 0x4
      
      usage page ( 0x01 )
      usage ( 0x06 )
      COLLECTION ( 0x01 )
          report id ( 0x01 )
          usage page ( 0x07 )
          logical minimum ( 0x00 )
          logical maximum ( 0x01 )
          report size ( 0x01 )
          report count ( 0x08 )
          usage min ( 0xe0 )
          usage max ( 0xe7 )
          INPUT ( 0x02 )
          report id ( 0x01 )
          usage page ( 0x07 )
          logical minimum ( 0x00 )
          logical maximum ( 0x01 )
          report count ( 0x01 )
          report size ( 0x08 )
          INPUT ( 0x01 )
          report id ( 0x01 )
          logical minimum ( 0x00 )
          logical maximum ( 0x01 )
          report count ( 0x05 )
          report size ( 0x01 )
          usage page ( 0x08 )
          usage min ( 0x01 )
          usage max ( 0x05 )
          OUTPUT ( 0x02 )
          report id ( 0x01 )
          logical minimum ( 0x00 )
          logical maximum ( 0x01 )
          usage page ( 0x08 )
          report count ( 0x01 )
          report size ( 0x03 )
          OUTPUT ( 0x01 )
          report id ( 0x01 )
          report count ( 0x06 )
          report size ( 0x08 )
          logical minimum ( 0x00 )
          logical maximum ( 0xff 0x00 )
          usage page ( 0x07 )
          usage min ( 0x00 )
          usage max ( 0xff )
          INPUT ( 0x00 )
          report id ( 0x01 )
          usage page ( 0x0c )
          report size ( 0x01 )
          report count ( 0x01 )
          logical minimum ( 0x00 )
          logical maximum ( 0x01 )
          usage ( 0xb8 )
          INPUT ( 0x02 )
          report id ( 0x01 )
          logical minimum ( 0x00 )
          logical maximum ( 0x01 )
          usage page ( 0xff )
          report size ( 0x07 )
          report count ( 0x01 )
          usage ( 0x03 )
          INPUT ( 0x02 )
      END_COLLECTION ( )
      report id ( 0x01 )
      logical minimum ( 0x00 )
      logical maximum ( 0x01 )
      report size ( 0x07 )
      report count ( 0x01 )
      usage page ( 0x0c )
      usage ( 0x01 )
      COLLECTION ( 0x01 )
          usage page ( 0x0c )
          report id ( 0x52 )
          logical minimum ( 0x00 )
          logical maximum ( 0x01 )
          report size ( 0x01 )
          report count ( 0x01 )
          usage ( 0xcd )
          INPUT ( 0x02 )
          usage page ( 0x0c )
          report id ( 0x52 )
          logical minimum ( 0x00 )
          logical maximum ( 0x01 )
          report size ( 0x01 )
          report count ( 0x01 )
          usage ( 0xb3 )
          INPUT ( 0x02 )
          usage page ( 0x0c )
          report id ( 0x52 )
          logical minimum ( 0x00 )
          logical maximum ( 0x01 )
          report size ( 0x01 )
          report count ( 0x01 )
          usage ( 0xb4 )
          INPUT ( 0x02 )
          usage page ( 0x0c )
          report id ( 0x52 )
          logical minimum ( 0x00 )
          logical maximum ( 0x01 )
          report size ( 0x01 )
          report count ( 0x01 )
          usage ( 0xb5 )
          INPUT ( 0x02 )
          usage page ( 0x0c )
          report id ( 0x52 )
          logical minimum ( 0x00 )
          logical maximum ( 0x01 )
          report size ( 0x01 )
          report count ( 0x01 )
          usage ( 0xb6 )
          INPUT ( 0x02 )
          usage page ( 0x0c )
          report id ( 0x52 )
          logical minimum ( 0x00 )
          logical maximum ( 0x01 )
          report size ( 0x01 )
          report count ( 0x01 )
          INPUT ( 0x01 )
          usage page ( 0x0c )
          report id ( 0x52 )
          logical minimum ( 0x00 )
          logical maximum ( 0x01 )
          report size ( 0x01 )
          report count ( 0x01 )
          INPUT ( 0x01 )
          usage page ( 0x0c )
          report id ( 0x52 )
          logical minimum ( 0x00 )
          logical maximum ( 0x01 )
          report size ( 0x01 )
          report count ( 0x01 )
          INPUT ( 0x01 )
          report id ( 0x09 )
          logical minimum ( 0x00 )
          logical maximum ( 0x01 )
          report size ( 0x08 )
          report count ( 0x01 )
          usage page ( 0x01 0xff )
          usage ( 0x0b )
          FEATURE ( 0x02 )
          report id ( 0x09 )
          logical minimum ( 0x00 )
          logical maximum ( 0x01 )
          usage page ( 0x01 0xff )
          report size ( 0x08 )
          report count ( 0x02 )
          FEATURE ( 0x01 )
      END_COLLECTION ( )
    
    input, instance #5 (driver name: hid)
      /pci@0,0/pci106b,a3@1d,2/device@2/input@1
      dip: 0xd2b69060
      hid_statep: 0xd341ed80
      hid_errlevel: 0x4
      
      usage page ( 0x00 0xff )
      usage ( 0x01 )
      COLLECTION ( 0x03 )
          usage page ( 0x00 0xff )
          logical minimum ( 0x00 )
          logical maximum ( 0xff 0x00 )
          report id ( 0x44 )
          report size ( 0x08 )
          report count ( 0xff 0x01 )
          usage ( 0x01 )
          INPUT ( 0x00 )
      END_COLLECTION ( )
    
    mouse, instance #6 (driver name: hid)
      /pci@0,0/pci106b,a3@1d,2/device@2/mouse@2
      dip: 0xd3416a08
      hid_statep: 0xd341ec80
      hid_errlevel: 0x4
      
      usage page ( 0x01 )
      usage ( 0x02 )
      COLLECTION ( 0x01 )
          usage page ( 0x01 )
          usage ( 0x01 )
          COLLECTION ( 0x00 )
              usage page ( 0x09 )
              logical minimum ( 0x00 )
              logical maximum ( 0x01 )
              report id ( 0x02 )
              report count ( 0x03 )
              report size ( 0x01 )
              usage min ( 0x01 )
              usage max ( 0x03 )
              INPUT ( 0x02 )
              usage page ( 0x09 )
              logical minimum ( 0x00 )
              logical maximum ( 0x01 )
              report id ( 0x02 )
              report count ( 0x01 )
              report size ( 0x05 )
              INPUT ( 0x01 )
              report id ( 0x02 )
              usage page ( 0x01 )
              logical minimum ( 0x81 )
              logical maximum ( 0x7f )
              report size ( 0x08 )
              report count ( 0x02 )
              usage ( 0x30 )
              usage ( 0x31 )
              INPUT ( 0x06 )
          END_COLLECTION ( )
      END_COLLECTION ( )
    
}
Frequency
   Always
Regression
   No
Steps to Reproduce
   Try to boot an Apple MacBook PRO laptop using the SXCE optical installation media.
Expected Result
   Laptop's keyboard is usable
Actual Result
   No input is accepted from the laptop's internal keyboard
Error Message(s)
   
Test Case
   
Workaround
   Connect an external USB keyboard
Submitter wants to work on bug
   No
Additional configuration information
The reporter has found the root cause and proposed a fix - see:
http://mail.opensolaris.org/pipermail/laptop-discuss/2008-July/010985.html
and
http://mail.opensolaris.org/pipermail/laptop-discuss/2008-July/010986.html
Work Around
N/A
Comments
N/A