kern/164538: [patch] add support for newer Lenovo ThinkPads to acpi_ibm

Pierre Imai pierre at
Fri Jan 27 12:40:11 UTC 2012

>Number:         164538
>Category:       kern
>Synopsis:       [patch] add support for newer Lenovo ThinkPads to acpi_ibm
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Fri Jan 27 12:40:10 UTC 2012
>Originator:     Pierre Imai
>Release:        9.0-stable
FreeBSD 9.0-STABLE FreeBSD 9.0-STABLE #0: Fri Jan 20 20:52:52 CET 2012     root at  amd64
The acpi_ibm kernel module does not include the ID used by newer Lenovo Laptops (basically, "IBM0086" was replaced by "LEN0086"). Adding the new string to the ibm_ids struct in acpi_ibm.c allows the driver to attach and work properly. Tested during daily use on a ThinkPad W520 running 9.0-stable AMD64 since Nov 2011.
Try "kldload ibm_acpi" on e.g. a Lenovo ThinkPad W520, the driver will not recognize the ACPI ID.
Replace line 293 of 

--- /usr/src/sys/dev/acpi_support/acpi_ibm.c.old	2012-01-27 13:18:19.000000000 +0100
+++ /usr/src/sys/dev/acpi_support/acpi_ibm.c	2012-01-27 13:19:32.000000000 +0100
@@ -290,7 +290,7 @@
 DRIVER_MODULE(acpi_ibm, acpi, acpi_ibm_driver, acpi_ibm_devclass,
 	      0, 0);
 MODULE_DEPEND(acpi_ibm, acpi, 1, 1, 1);
-static char    *ibm_ids[] = {"IBM0068", NULL};
+static char    *ibm_ids[] = {"LEN0068", "IBM0068", NULL};
 static void
 ibm_led(void *softc, int onoff)


More information about the freebsd-bugs mailing list