Discussion:
[lm-sensors] Datasheet for Fintek F71868a
Foxtrot Mike
2016-02-23 09:40:29 UTC
Permalink
Hi everybody

I have an MSI MB with fintek F71868a chip for hardware monitoring. As you might know, this chip is currently not suported by Linux. I was going through the source code of F71805f chip driver and realized that I might be able to write a driver for the F71868a chip. Atleast, I should give it a try.

Anyway, I was unable to find the datasheet for this chip on the internet. I emailed fintek's support but haven't received any response yet.

I was hoping one of you guys might have this datasheet?

Best regards,
Fulcrum
Guenter Roeck
2016-02-25 05:56:57 UTC
Permalink
Post by Foxtrot Mike
Hi everybody
I have an MSI MB with fintek F71868a chip for hardware monitoring. As you might know, this chip is currently not suported by Linux. I was going through the source code of F71805f chip driver and realized that I might be able to write a driver for the F71868a chip. Atleast, I should give it a try.
Did you try the f71882fg driver with a recent kernel version ?

Guenter
Guenter Roeck
2016-02-28 15:38:29 UTC
Permalink
Post by Guenter Roeck
Post by Foxtrot Mike
Hi everybody
I have an MSI MB with fintek F71868a chip for hardware monitoring. As
you might know, this chip is currently not suported by Linux. I was
going through the source code of F71805f chip driver and realized that
I might be able to write a driver for the F71868a chip. Atleast, I
should give it a try.
Did you try the f71882fg driver with a recent kernel version ?
Guenter
Hi
#modprobe f71882fg force_id=0x1007
or
#modprobe f71882fg force_id=0x1106
0x1007 is the chip ID of F71869a, and,
0x1106 is the chip ID of F71868
1- Towards the top of the driver, the chipset ID of F71686 is mentioned. The ID of F71868a is not given.
So what is the chip ID of your chip ? There is no "F71868" chip as far as I know.
Sure, one could nitpick that the constant is not named SIO_F81866A_ID but
SIO_F81866_ID, but usually we are not that picky. The chip ID for F71868A
is supposed to be 0x1106.

Guenter
2- You'll find entries against F71868a in multiple arrays (f71882fg_names[], f71882fg_has_in[] f71882fg) in the driver code. There is no entry against F71868 in any array.
3- Not all the registers of F71882fg and f71868a are the same. For example, register 69h is reserved for F71868a but in case of F71882fg, it refers to 'F71882FG_REG_TEMP_CONFIG'
I have no knowledge of driver development but the inability to autoload this driver for F71868a chip (although the source code 'seems' to support this chip) is a little baffling. May be there's a bug?
Regards,
Fulcrum
Guenter Roeck
2016-02-28 17:54:19 UTC
Permalink
Hi
Post by Guenter Roeck
So what is the chip ID of your chip ? There is no "F71868" chip as far as I know.
Sure, one could nitpick that the constant is not named SIO_F81866A_ID but
SIO_F81866_ID, but usually we are not that picky. The chip ID for F71868A
is supposed to be 0x1106.
As I told you earlier, I am quite a beginner when it comes to linux hardware stuff. I was not arguing the naming convention. It 'seemed' to me that F71868 was a different chip from F71868a (I don't know if that's true or not) because two differnt names were used in the driver. I just wanted to bring this fact to your knowledge.
Post by Guenter Roeck
So what is the chip ID of your chip ?
Again, being a beginner, I don't know how can I find the chip ID. (Could you tell me?)
The kernel log should tell you when you load the driver without force_id.
I meant no offense. I wish to be involved in linux driver development. On my MSI PC, lm_sensors says that F71868a is not currently supported (although I am running 4.4.1-2). That's why I mailed lm-sensors list.
No worries; no offense taken, and none meant. Please keep the mailing list in Cc:;
others may be interested in the exchange as well.

If sensors-detect provides the chip name, its ID is recognized. I had a look
into sensors-detect; it identifies the chip with ID 0x1106, so the driver
should recognize it as well. Yes, sensors-detect says that the chip is not
supported, but that is a problem with sensors-detect which we'll need to fix,
not with the kernel driver.

This makes it quite odd that you say you can only load the driver if you specify
force_id=0x1106, but not without it. The driver _should_ recognize the chip.
Are you sure the driver doesn't load without force_id ?
If so, do you see a message in the kernel log ? What does it say ?
There should be something like
f71882fg: Unsupported Fintek device: <hex ID>
in the log.
Lastly, if this driver does support F71868a, shouldn't it be auto-loaded by kernel?
No, this is not an auto-loading driver. The kernel does not support auto-loading
Super-IO chip drivers. In case you wonder: It shouldn't, because Super-IO chip
detection is not well defined. Running sensors-detect is critical enough; even
that asks you and says "This is _usually_ safe" (emphasis added). We don't really
want to do this automatically with every boot.

Thanks,
Guenter
Fulcrum
2016-02-28 18:36:55 UTC
Permalink
Post by Guenter Roeck
The kernel log should tell you when you load the driver without force_id.
I tried loading the driver without force_id, and it did work. I learnt
about force_id for this chip in some forum post, and never thought of
loading the driver without force_id. Here are the kernel logs (dmesg):

[25369.887005] f71882fg: Found f71868a chip at 0x290, revision 48
[25369.887150] f71882fg f71882fg.656: Fan: 1 is in duty-cycle mode
[25369.887177] f71882fg f71882fg.656: Fan: 2 is in duty-cycle mode
[25369.887202] f71882fg f71882fg.656: Fan: 3 is in duty-cycle mode

There was no chip id in dmesg logs though.
Post by Guenter Roeck
If sensors-detect provides the chip name, its ID is recognized.
Here is the f71868a related output from sensors-detect:

Driver `to-be-written':
* ISA bus, address 0x295
Chip `Fintek F71868A Super IO Sensors' (confidence: 9)

Note: there is no driver for Fintek F71868A Super IO Sensors yet.
Check http://www.lm-sensors.org/wiki/Devices for updates.

No chip id here either.
Post by Guenter Roeck
Are you sure the driver doesn't load without force_id ?
If so, do you see a message in the kernel log ? What does it say ?
There should be something like
f71882fg: Unsupported Fintek device: <hex ID>
in the log.
Does work without force_id.
Post by Guenter Roeck
No, this is not an auto-loading driver. The kernel does not support auto-loading
Super-IO chip drivers. In case you wonder: It shouldn't, because Super-IO chip
detection is not well defined. Running sensors-detect is critical enough; even
that asks you and says "This is _usually_ safe" (emphasis added). We don't really
want to do this automatically with every boot.
I didn't know about auto-loading problem with Super-IO chip drivers.
This fact and the faulty output from sensors-detect were the reasons
behind this long convesation. LOL

Thanks a lot for helping me and this information.

Regards,
Fulcrum
Guenter Roeck
2016-02-28 18:48:13 UTC
Permalink
Post by Fulcrum
Post by Guenter Roeck
The kernel log should tell you when you load the driver without force_id.
I tried loading the driver without force_id, and it did work. I learnt
[25369.887005] f71882fg: Found f71868a chip at 0x290, revision 48
[25369.887150] f71882fg f71882fg.656: Fan: 1 is in duty-cycle mode
[25369.887177] f71882fg f71882fg.656: Fan: 2 is in duty-cycle mode
[25369.887202] f71882fg f71882fg.656: Fan: 3 is in duty-cycle mode
There was no chip id in dmesg logs though.
It tells you the chip name, so it isn't considered to be necessary.
Post by Fulcrum
Post by Guenter Roeck
If sensors-detect provides the chip name, its ID is recognized.
* ISA bus, address 0x295
Chip `Fintek F71868A Super IO Sensors' (confidence: 9)
Note: there is no driver for Fintek F71868A Super IO Sensors yet.
Check http://www.lm-sensors.org/wiki/Devices for updates.
No chip id here either.
Post by Guenter Roeck
Are you sure the driver doesn't load without force_id ?
If so, do you see a message in the kernel log ? What does it say ?
There should be something like
f71882fg: Unsupported Fintek device: <hex ID>
in the log.
Does work without force_id.
Post by Guenter Roeck
No, this is not an auto-loading driver. The kernel does not support auto-loading
Super-IO chip drivers. In case you wonder: It shouldn't, because Super-IO chip
detection is not well defined. Running sensors-detect is critical enough; even
that asks you and says "This is _usually_ safe" (emphasis added). We don't really
want to do this automatically with every boot.
I didn't know about auto-loading problem with Super-IO chip drivers.
This fact and the faulty output from sensors-detect were the reasons
behind this long convesation. LOL
Glad I could help. On mystery solved, thousands to go ;-)
Post by Fulcrum
Thanks a lot for helping me and this information.
My pleasure.

Thanks,
Guenter
Fulcrum
2016-02-28 22:14:19 UTC
Permalink
Hi

Please find the output from 'sensors' utility on my PC towards the
bottom of this post. The sensor output from f71868a is very vague. I
can't tell which component does any reading correspond to. I failed to
find any information from MSI about the layout of the motherboard, and
thermal sensors.

Additionally, I ran aticonfig and hddtemp to see the temps of my ATI
graphics card and harddisk. Both those temps are almost always different
from those reported by sensors (f71868a). Some explanation would be
highly appreciated!
sensors
k10temp-pci-00c3
Adapter: PCI adapter
temp1: +20.6°C (high = +70.0°C)
(crit = +70.0°C, hyst = +69.0°C)

fam15h_power-pci-00c4
Adapter: PCI adapter
power1: N/A (crit = 95.09 W)

f71868a-isa-0290
Adapter: ISA adapter
in0: +1.66 V
in1: +0.90 V
in2: +1.49 V
in3: +0.96 V
in4: +1.12 V
in5: +1.10 V
in6: +1.10 V
in7: +1.66 V
in8: +1.62 V
in9: +1.65 V
fan1: 1997 RPM
fan2: 0 RPM ALARM
fan3: 0 RPM ALARM
temp1: +42.0°C (high = +85.0°C, hyst = +81.0°C)
(crit = +100.0°C, hyst = +96.0°C) sensor =
thermistor
temp2: +38.0°C (high = +85.0°C, hyst = +81.0°C)
(crit = +100.0°C, hyst = +96.0°C) sensor =
thermistor
temp3: +29.0°C (high = +70.0°C, hyst = +68.0°C)
(crit = +85.0°C, hyst = +83.0°C) sensor =
transistor


Regards,
Fulcrum

Loading...