Re: Dell Studio 1555 eject key does not work ( small patch to fix included )

From: Islam Amer
Date: Thu Jun 03 2010 - 16:17:26 EST


Hello,

I suspected the same about dell_new_hk_type, but I am confused that
the rest of the fn keys work just fine out of the box. The only button
that didn't work was the eject key.

Attached is the dmidecode output.

Thanks

On Thu, Jun 3, 2010 at 5:57 AM, <Rezwanul_Kabir@xxxxxxxx> wrote:
>
>>Hi Rez,
>>
>>Any thoughts on this?
>>
>
>
>  From the discussion below, it seems that this system does not implement the new
> WMI scheme ( which is when dell_new_hk_type=true is set). So, at issue here is the
> legacy code. Without knowing exactly why BIOS would behave differently in this particular case,
> the fix seems arbitrary. Let me see if I can get hold of the BIOS developer(if possible) and provide feedback in this thread.
>
> Islam Amer
>
>   Can you attach dmidecode output from the system here?
>
> Thanks..
>   --rez
>
>
>
>
>
>>On Thu, Jun 03, 2010 at 01:14:09AM +0400, Islam Amer wrote
>>> Hello,
>>>
>>> Pressing the eject key on my Dell Studio 1555 does not work
>>and dmesg
>>> produces this message :
>>> dell-wmi: Unknown key 0 pressed
>>>
>>> Adding a debugging printk in dell-wmi.c after line 222 like this :
>>>
>>> printk(KERN_INFO "dell:wmi 0x%x , 0x%x \n", buffer_entry[1],
>>> buffer_entry[2]);
>>>
>>> dmesg now shows :
>>>
>>> dell:wmi 0x0 , 0xe009
>>> dell-wmi: Unknown key 0 pressed
>>>
>>> So for some reason buffer_entry[1] is used although it is empty.
>>>
>>> Falling back to buffer_entry[2] in case buffer_entry[1] is 0x0 makes
>>> the button work.
>>>
>>> I suspect it might be better to fix the "dell_new_hk_type" logic
>>> though
>>>
>>> I had submitted this as
>>> https://bugzilla.kernel.org/show_bug.cgi?id=16075 but repeating the
>>> information and patch here as per Andrew Morton's suggestion.
>>>
>>>
>>> Thanks.
>>>
>>> ---
>>linux-sidux-2.6-2.6.34/drivers/platform/x86/dell-wmi.c.orig
>>2010-06-03
>>> 01:02:17.418824168 +0400
>>> +++ linux-sidux-2.6-2.6.34/drivers/platform/x86/dell-wmi.c
>>2010-06-03
>>> 01:01:40.641833249 +0400
>>> @@ -221,7 +221,7 @@ static void dell_wmi_notify(u32 value, v
>>>                      return;
>>>              }
>>>
>>> -            if (dell_new_hk_type)
>>> +            if (dell_new_hk_type || buffer_entry[1] == 0x0)
>>>                      reported_key = (int)buffer_entry[2];
>>>              else
>>>                      reported_key = (int)buffer_entry[1] & 0xffff;
>>>
>>--
>>Matthew Garrett | mjg59@xxxxxxxxxxxxx
>>
# dmidecode 2.9
SMBIOS 2.5 present.
51 structures occupying 1986 bytes.
Table at 0x000F0FB0.

Handle 0xDA00, DMI type 218, 209 bytes
OEM-specific Type
Header and Data:
DA D1 00 DA B2 00 D2 1B 1F 36 40 7D 00 00 00 00
00 80 01 16 00 01 00 7F 01 16 00 00 00 52 01 17
00 01 00 53 01 17 00 00 00 7C 01 18 00 01 00 7B
01 18 00 00 00 75 01 75 01 01 00 76 01 76 01 01
00 2E 00 25 00 00 00 6E 00 25 00 01 00 2D 00 25
00 02 00 8A 01 48 00 01 00 89 01 48 00 00 00 9B
00 23 00 01 00 9C 00 23 00 00 00 14 01 46 00 00
00 15 01 46 00 01 00 16 01 46 00 02 00 94 01 47
00 01 00 93 01 47 00 00 00 EA 00 67 00 01 00 EB
00 67 00 00 00 00 FE 00 00 00 00 01 FE 00 00 01
00 A0 FE 00 00 00 00 A1 FE 00 00 01 00 E1 01 01
00 00 00 E2 01 01 00 01 00 E3 01 01 00 02 00 DC
01 02 00 00 00 DD 01 02 00 01 00 FF FF 00 00 00
00

Handle 0x0001, DMI type 0, 24 bytes
BIOS Information
Vendor: Dell Inc.
Version: A08
Release Date: 11/07/2009
Address: 0xE3810
Runtime Size: 116720 bytes
ROM Size: 2048 kB
Characteristics:
PCI is supported
PNP is supported
BIOS is upgradeable
BIOS shadowing is allowed
ESCD support is available
Boot from CD is supported
Selectable boot is supported
BIOS ROM is socketed
EDD is supported
5.25"/360 KB floppy services are supported (int 13h)
5.25"/1.2 MB floppy services are supported (int 13h)
3.5"/720 KB floppy services are supported (int 13h)
Print screen service is supported (int 5h)
8042 keyboard services are supported (int 9h)
Serial services are supported (int 14h)
Printer services are supported (int 17h)
CGA/mono video services are supported (int 10h)
ACPI is supported
USB legacy is supported
LS-120 boot is supported
Smart battery is supported
BIOS boot specification is supported
Function key-initiated network boot is supported
Targeted content distribution is supported

Handle 0x0002, DMI type 1, 27 bytes
System Information
Manufacturer: Dell Inc.
Product Name: Studio 1555
Version: A08
Serial Number: GGSF7K1
UUID: 44454C4C-4700-1053-8046-C7C04F374B31
Wake-up Type: Power Switch
SKU Number: Not Specified
Family: Not Specified

Handle 0x0003, DMI type 2, 15 bytes
Base Board Information
Manufacturer: Dell Inc.
Product Name: 0D176M
Version: A08
Serial Number: .GGSF7K1.CN4864397I0782.
Asset Tag:
Features: None
Location In Chassis: Not Specified
Chassis Handle: 0xFFFF
Type: Unknown
Contained Object Handles: 0

Handle 0x0004, DMI type 3, 19 bytes
Chassis Information
Manufacturer: Dell Inc.
Type: Portable
Lock: Not Present
Version: A08
Serial Number: GGSF7K1
Asset Tag:
Boot-up State: Safe
Power Supply State: Safe
Thermal State: Safe
Security Status: None
OEM Information: 0x00000000

Handle 0x0005, DMI type 4, 40 bytes
Processor Information
Socket Designation: U2E1
Type: Central Processor
Family: <OUT OF SPEC>
Manufacturer: Intel
ID: 7A 06 01 00 FF FB EB BF
Version: CPU Version
Voltage: 3.3 V
External Clock: 533 MHz
Max Speed: 2100 MHz
Current Speed: 2100 MHz
Status: Populated, Enabled
Upgrade: ZIF Socket
L1 Cache Handle: 0x0006
L2 Cache Handle: 0x0007
L3 Cache Handle: Not Provided
Serial Number: Not Specified
Asset Tag: Not Specified
Part Number: Not Specified
Core Count: 2
Core Enabled: 2
Thread Count: 2
Characteristics:
64-bit capable

Handle 0x0006, DMI type 7, 19 bytes
Cache Information
Socket Designation: L1 Cache
Configuration: Enabled, Socketed, Level 1
Operational Mode: Write Back
Location: Internal
Installed Size: 64 KB
Maximum Size: 64 KB
Supported SRAM Types:
Burst
Pipeline Burst
Asynchronous
Installed SRAM Type: Asynchronous
Speed: Unknown
Error Correction Type: None
System Type: Data
Associativity: 8-way Set-associative

Handle 0x0007, DMI type 7, 19 bytes
Cache Information
Socket Designation: L2 Cache
Configuration: Enabled, Socketed, Level 2
Operational Mode: Write Back
Location: Internal
Installed Size: 2048 KB
Maximum Size: 2048 KB
Supported SRAM Types:
Burst
Pipeline Burst
Asynchronous
Installed SRAM Type: Burst
Speed: Unknown
Error Correction Type: None
System Type: Instruction
Associativity: 8-way Set-associative

Handle 0x0008, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: Not Specified
Internal Connector Type: None
External Reference Designator: CRT
External Connector Type: DB-15 female
Port Type: Video Port

Handle 0x0009, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: J1A1
Internal Connector Type: None
External Reference Designator: Keyboard
External Connector Type: Circular DIN-8 male
Port Type: Keyboard Port

Handle 0x000A, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: J1A1
Internal Connector Type: None
External Reference Designator: PS/2 Mouse
External Connector Type: Circular DIN-8 male
Port Type: Mouse Port

Handle 0x000B, DMI type 9, 13 bytes
System Slot Information
Designation: PEG Slot J6B2
Type: 32-bit PCI Express
Current Usage: Available
Length: Long
ID: 6
Characteristics:
5.0 V is provided
3.3 V is provided

Handle 0x000C, DMI type 9, 13 bytes
System Slot Information
Designation: PCI Express Slot J6B1
Type: 32-bit PCI Express
Current Usage: Available
Length: Long
ID: 7
Characteristics:
5.0 V is provided
3.3 V is provided

Handle 0x000D, DMI type 9, 13 bytes
System Slot Information
Designation: PCI Express Slot J6D1
Type: 32-bit PCI Express
Current Usage: In Use
Length: Long
ID: 8
Characteristics:
5.0 V is provided
3.3 V is provided

Handle 0x000E, DMI type 9, 13 bytes
System Slot Information
Designation: PCI Express Slot J8B3
Type: 32-bit PCI Express
Current Usage: Available
Length: Long
ID: 9
Characteristics:
5.0 V is provided
3.3 V is provided

Handle 0x000F, DMI type 9, 13 bytes
System Slot Information
Designation: PCI Express Slot J8D1
Type: 32-bit PCI Express
Current Usage: Available
Length: Long
ID: 10
Characteristics:
5.0 V is provided
3.3 V is provided

Handle 0x0010, DMI type 9, 13 bytes
System Slot Information
Designation: PCI Express Slot J7B1
Type: 32-bit PCI Express
Current Usage: Unknown
Length: Long
ID: 0
Characteristics:
5.0 V is provided
3.3 V is provided

Handle 0x0011, DMI type 9, 13 bytes
System Slot Information
Designation: PCI Express Slot 6
Type: 32-bit PCI Express
Current Usage: Available
Length: Long
ID: 12
Characteristics:
5.0 V is provided
3.3 V is provided

Handle 0x0012, DMI type 10, 8 bytes
On Board Device 1 Information
Type: Video
Status: Enabled
Description: Intel Cantiga Graphics
On Board Device 2 Information
Type: Sound
Status: Enabled
Description: Sigmatel 9273

Handle 0x0013, DMI type 11, 5 bytes
OEM Strings
String 1: Dell System
String 2: 5
String 3: 13

Handle 0x0014, DMI type 15, 29 bytes
System Event Log
Area Length: 16 bytes
Header Start Offset: 0x0000
Header Length: 16 bytes
Data Start Offset: 0x0010
Access Method: General-purpose non-volatile data functions
Access Address: 0x0000
Status: Valid, Not Full
Change Token: 0x00000000
Header Format: Type 1
Supported Log Type Descriptors: 3
Descriptor 1: POST error
Data Format 1: POST results bitmap
Descriptor 2: Single-bit ECC memory error
Data Format 2: Multiple-event
Descriptor 3: Multi-bit ECC memory error
Data Format 3: Multiple-event

Handle 0x0015, DMI type 16, 15 bytes
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: None
Maximum Capacity: 8 GB
Error Information Handle: Not Provided
Number Of Devices: 2

Handle 0x0016, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x0015
Error Information Handle: No Error
Total Width: 64 bits
Data Width: 64 bits
Size: 2048 MB
Form Factor: SODIMM
Set: 1
Locator: DIMM_A
Bank Locator: Not Specified
Type: DDR2
Type Detail: Synchronous
Speed: 800 MHz (1.2 ns)
Manufacturer: AD00000000000000
Serial Number: 4630C362
Asset Tag: 41410925
Part Number: HYMP125S64CP8-S6

Handle 0x0017, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x0015
Error Information Handle: No Error
Total Width: 64 bits
Data Width: 64 bits
Size: 2048 MB
Form Factor: SODIMM
Set: 1
Locator: DIMM_B
Bank Locator: Not Specified
Type: DDR2
Type Detail: Synchronous
Speed: 800 MHz (1.2 ns)
Manufacturer: AD00000000000000
Serial Number: 4680C245
Asset Tag: 41410925
Part Number: HYMP125S64CP8-S6

Handle 0x0018, DMI type 18, 23 bytes
32-bit Memory Error Information
Type: OK
Granularity: Unknown
Operation: Unknown
Vendor Syndrome: Unknown
Memory Array Address: Unknown
Device Address: Unknown
Resolution: Unknown

Handle 0x0019, DMI type 18, 23 bytes
32-bit Memory Error Information
Type: OK
Granularity: Unknown
Operation: Unknown
Vendor Syndrome: Unknown
Memory Array Address: Unknown
Device Address: Unknown
Resolution: Unknown

Handle 0x001A, DMI type 19, 15 bytes
Memory Array Mapped Address
Starting Address: 0x00000000000
Ending Address: 0x000FFFFFFFF
Range Size: 4 GB
Physical Array Handle: 0x0015
Partition Width: 0

Handle 0x001B, DMI type 20, 19 bytes
Memory Device Mapped Address
Starting Address: 0x00000000000
Ending Address: 0x0007FFFFFFF
Range Size: 2 GB
Physical Device Handle: 0x0016
Memory Array Mapped Address Handle: 0x001A
Partition Row Position: 1
Interleaved Data Depth: 1

Handle 0x001C, DMI type 20, 19 bytes
Memory Device Mapped Address
Starting Address: 0x00080000000
Ending Address: 0x000FFFFFFFF
Range Size: 2 GB
Physical Device Handle: 0x0017
Memory Array Mapped Address Handle: 0x001A
Partition Row Position: 1
Interleaved Data Depth: 1

Handle 0x001D, DMI type 21, 7 bytes
Built-in Pointing Device
Type: Touch Pad
Interface: Bus Mouse
Buttons: 2

Handle 0x001E, DMI type 22, 26 bytes
Portable Battery
Location: System Battery Bay
Manufacturer: SIMPLO
Name: SIMPLO
Design Capacity: 78000 mWh
Design Voltage: 11100 mV
SBDS Version: Bat123
Maximum Error: Unknown
SBDS Serial Number: 0242
SBDS Manufacture Date: 2009-06-24
SBDS Chemistry: LION
OEM-specific Information: 0x00000001

Handle 0x001F, DMI type 23, 13 bytes
System Reset
Status: Enabled
Watchdog Timer: Present
Boot Option: Do Not Reboot
Boot Option On Limit: Do Not Reboot
Reset Count: Unknown
Reset Limit: Unknown
Timer Interval: Unknown
Timeout: Unknown

Handle 0x0020, DMI type 24, 5 bytes
Hardware Security
Power-On Password Status: Disabled
Keyboard Password Status: Unknown
Administrator Password Status: Disabled
Front Panel Reset Status: Unknown

Handle 0x0021, DMI type 25, 9 bytes
System Power Controls
Next Scheduled Power-on: 12-31 23:59:59

Handle 0x0022, DMI type 26, 20 bytes
Voltage Probe
Description: Voltage Probe
Location: Processor
Status: OK
Maximum Value: Unknown
Minimum Value: Unknown
Resolution: Unknown
Tolerance: Unknown
Accuracy: Unknown
OEM-specific Information: 0x00000000

Handle 0x0023, DMI type 27, 12 bytes
Cooling Device
Temperature Probe Handle: 0x0024
Type: Fan
Status: OK
OEM-specific Information: 0x00000000

Handle 0x0024, DMI type 28, 20 bytes
Temperature Probe
Description: Temperature Probe
Location: Processor
Status: OK
Maximum Value: Unknown
Minimum Value Unknown
Resolution: Unknown
Tolerance: Unknown
Accuracy: Unknown
OEM-specific Information: 0x00000000

Handle 0x0025, DMI type 29, 20 bytes
Electrical Current Probe
Description: Electrical Current Probe
Location: Processor
Status: OK
Maximum Value: Unknown
Minimum Value: Unknown
Resolution: Unknown
Tolerance: Unknown
Accuracy: Unknown
OEM-specific Information: 0x00000000

Handle 0x0026, DMI type 30, 6 bytes
Out-of-band Remote Access
Manufacturer Name: Intel
Inbound Connection: Disabled
Outbound Connection: Enabled

Handle 0x0027, DMI type 32, 20 bytes
System Boot Information
Status: No errors detected

Handle 0x0028, DMI type 39, 22 bytes
System Power Supply
Power Unit Group: 1
Location: To Be Defined By O.E.M
Name: To Be Defined By O.E.M
Manufacturer: To Be Defined By O.E.M
Serial Number: To Be Defined By O.E.M
Asset Tag: To Be Defined By O.E.M
Model Part Number: To Be Defined By O.E.M
Revision: 2.50
Max Power Capacity: Unknown
Status: Present, Unknown
Type: Unknown
Input Voltage Range Switching: Unknown
Plugged: Yes
Hot Replaceable: No
Input Voltage Probe Handle: 0x0022
Cooling Device Handle: 0x0023
Input Current Probe Handle: 0x0025

Handle 0xB000, DMI type 176, 5 bytes
OEM-specific Type
Header and Data:
B0 05 00 B0 00

Handle 0xB100, DMI type 177, 12 bytes
OEM-specific Type
Header and Data:
B1 0C 00 B1 1A 00 00 00 00 00 00 00

Handle 0xD000, DMI type 208, 12 bytes
OEM-specific Type
Header and Data:
D0 0C 00 D0 01 05 FE 00 BE 02 01 02
Strings:
20070319
20070319

Handle 0xD300, DMI type 211, 17 bytes
OEM-specific Type
Header and Data:
D3 11 00 D3 46 72 6F 6E 74 03 02 01 00 31 33 35
04

Handle 0xD400, DMI type 212, 17 bytes
OEM-specific Type
Header and Data:
D4 11 00 D4 70 00 71 00 00 10 2D 2E FF FF 00 00
00

Handle 0xD800, DMI type 216, 9 bytes
OEM-specific Type
Header and Data:
D8 09 00 D8 01 02 01 F0 03
Strings:
Intel
1706

Handle 0xDC00, DMI type 220, 20 bytes
OEM-specific Type
Header and Data:
DC 14 00 DC 01 F0 00 00 02 F0 00 00 03 F0 04 F0
00 00 00 00

Handle 0xDD00, DMI type 221, 19 bytes
OEM-specific Type
Header and Data:
DD 13 00 DD 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00

Handle 0xDE00, DMI type 222, 16 bytes
OEM-specific Type
Header and Data:
DE 10 00 DE 01 02 FF FF 00 00 00 00 00 00 00 00

Handle 0x0032, DMI type 127, 4 bytes
End Of Table