For the last several days, I've been battling with the IPMI driver for FreeBSD 11. My purpose is to use IPMI for hardware monitoring (temperatures, fan speed, voltages, etc.)
I read a lot of forum posts (including these), mailing lists, user experiences' blogs, etc.
I've tried adding device hints:
	
	
	
		
but to no avail.
The kernel output, after loading the IPMI driver is:
	
	
	
		
I've even tried to hardcode those values into the /usr/src/sys/dev/ipmi/ipmi_isa.c:
	
	
	
		
Strangely, the kernel output is always the same. It looks like it is ignoring my hard-coded values.
I do not mind having those values hardcoded in the kernel (it just add little work after an upgrade). I just want the driver to work.
				
			I read a lot of forum posts (including these), mailing lists, user experiences' blogs, etc.
I've tried adding device hints:
		Code:
	
	hint.ipmi.0.at="isa"
hint.ipmi.0.port="0xCA2"
hint.ipmi.0.spacing="8"
hint.ipmi.0.mode="KCS"The kernel output, after loading the IPMI driver is:
		Code:
	
	ipmi0: <IPMI System Interface> on isa0
ipmi0: KCS mode found at mem 0x0 alignment 0x1 on isa
ipmi0: couldn't configure I/O resource
device_attach: ipmi0 attach returned 6I've even tried to hardcode those values into the /usr/src/sys/dev/ipmi/ipmi_isa.c:
		Code:
	
	--- ipmi_isa.c.orig    2017-01-10 15:14:38.710653000 +0000
+++ ipmi_isa.c    2017-01-10 15:42:47.893812000 +0000
@@ -179,9 +179,21 @@
    * Pull info out of the SMBIOS table.  If that doesn't work, use
    * hints to enumerate a device.
    */
-    if (!ipmi_smbios_identify(&info) &&
+    /*if (!ipmi_smbios_identify(&info) &&
       !ipmi_hint_identify(dev, &info))
-        return (ENXIO);
+        return (ENXIO);*/
+
+    /*
+    * Ignore SMBIOS table and use hints exclusively - António Trindade <xxx@xxx.xxx>
+    * 2017-1-10
+    */
+    if (!ipmi_hint_identify(dev, &info))
+                return (ENXIO);
+    /* Hardcode device hints */
+    info.io_mode=1;
+    info.address=0xca2;
+    info.iface_type=KCS_MODE;
+    info.offset=1;
    switch (info.iface_type) {
    case KCS_MODE:Strangely, the kernel output is always the same. It looks like it is ignoring my hard-coded values.
I do not mind having those values hardcoded in the kernel (it just add little work after an upgrade). I just want the driver to work.
 
			     
 
		 ).
).