hwmon abituguru3 kernel module fails to load

Bug #298798 reported by Russ Miranda on 2008-11-16
10
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Medium
Stefan Bader
Intrepid
Medium
Stefan Bader
Jaunty
Medium
Stefan Bader

Bug Description

SRU justification:

Impact: There are a certain variation in the string provided by some mainbord
        manufactures in the name they provide in the DMI information between
        BIOS releases. The abituguru3 is a sensor driver that matched very
        strictly to certain names and it was found this causes boards which
        run well before, not to be detected after switching to DMI matching.
Fix: backported patch from upstream which loosens the checking to match
     partial strings instread of the long versions.

Testcase: Driver would not load with certain boards. Verified to be working
          after applying the patch.

---

$ uname -a
Linux zygoma 2.6.27-7-generic #1 SMP Tue Nov 4 19:33:06 UTC 2008 x86_64 GNU/Linux
$ lsb_release -rd
Description: Ubuntu 8.10
Release: 8.10
$ sudo modprobe abituguru3
FATAL: Error inserting abituguru3 (/lib/modules/2.6.27-7-generic/kernel/drivers/hwmon/abituguru3.ko): No such device

On Ubuntu 8.04 (hardy), the abituguru3 module loaded properly, making the ABIT uguru sensors for my ABIT IP35 Pro motherboard available. On Ubuntu 8.10 (intrepid), the abituguru3 module fails to load as shown.

Forcing the module appears to work.

Note: I searched the internet for information on this issue, and did not find much. I did find a bug report on Mandriva that appeared similar:
https://qa.mandriva.com/show_bug.cgi?id=41113

Information was sketchy, but perhaps it is already in the pipeline to be fixed in an upcoming patch.

Hi Russ,

After you 'sudo modprobe abituguru3' is there any additional information in your dmesg output? Care to attach it here?

Changed in linux:
status: New → Incomplete

Here's the dmesg output of a modprobe abituguru3 without force:

[173460.771302] abituguru3: no Abit uGuru3 found, data = 0x00, cmd = 0xFF

And here is the dmesg output with the force option:

[173531.848187] abituguru3: no Abit uGuru3 found, data = 0x00, cmd = 0xFF
[173531.848193] abituguru3: Assuming Abit uGuru3 is present because of "force" parameter
[173531.892560] abituguru3: found Abit uGuru3, motherboard ID: 001A

Thanks,
Russ

I did some searching at kernel.org, and found this:

http://bugzilla.kernel.org/show_bug.cgi?id=11212

So, it looks like it's fixed in 2.6.27.

The patch mentioned in the upstream report is already available in Intrepid which has a 2.6.27 based kernel.

ogasawara@yoji:~/ubuntu-intrepid$ git log 4ef664b5bc93bbfe28513165216a8c9f4fad5314

commit 4ef664b5bc93bbfe28513165216a8c9f4fad5314

Author: Alistair John Strachan <email address hidden>

Date: Fri Aug 15 00:40:39 2008 -0700

    abituguru3: prefer DMI probing to manual probing

    Previously the driver was only using DMI to prevent smbus probing on

    non-Abit motherboards. However, since the manual probing method is

    brittle and prone to failure on some Abit motherboards (esp. the Abit

    IP35 Pro) it is better to use DMI to also read the board name and then

    decide whether or not to probe the bus.

    At the moment, we do not have a list of valid DMI name strings to use

    for existing and supported motherboards. This patch only implements DMI

    probing for the IP35 Pro. For motherboards that can not yet use DMI

    probing, a warning will be printed to the kernel log asking those users

    to email me their dmidecode output.

    The existing manual probing mechanism will be used if CONFIG_DMI is not

    enabled, if DMI probing fails (for DMI-unsupported motherboards), or if

    DMI probing fails and the "force" option is set (for DMI-supported

    motherboards). Ideally in the longer term this manual probing method

    would be removed.

    This patch should be safe to apply as it does not change the probing

    behaviour for most of the supported motherboards, just the IP35 Pro,

    which already has regressions filed against it in 2.6.26.

    Addresses http://bugzilla.kernel.org/show_bug.cgi?id=11212

    Signed-off-by: Alistair John Strachan <email address hidden>

    Acked-by: Hans de Goede <email address hidden>

    Cc: "Mark M. Hoffman" <email address hidden>

    Signed-off-by: Andrew Morton <email address hidden>

    Signed-off-by: Linus Torvalds <email address hidden>

Changed in linux:
assignee: nobody → ubuntu-kernel-team
importance: Undecided → Medium
status: Incomplete → Triaged
Stefan Bader (smb) wrote :

Hi Russ,

could you do another check against the latest kernel and if it still does not work supply the output of "sudo dmidecode". Thanks.

Changed in linux:
assignee: ubuntu-kernel-team → stefan-bader-canonical
status: Triaged → Incomplete
Download full text (11.2 KiB)

Hi Stefan,

No luck. In fact, now forcing doesn't seem to work, either (invalid module format???). Here's the info:

ramirand@zygoma:~$ uname -a
Linux zygoma 2.6.27-9-generic #1 SMP Thu Nov 20 22:15:32 UTC 2008 x86_64 GNU/Linux
ramirand@zygoma:~$ lsb_release -rd
Description: Ubuntu 8.10
Release: 8.10
ramirand@zygoma:~$ lsmod | grep abituguru3
ramirand@zygoma:~$ sudo modprobe abituguru3
[sudo] password for ramirand:
FATAL: Error inserting abituguru3 (/lib/modules/2.6.27-9-generic/kernel/drivers/hwmon/abituguru3.ko): No such device
ramirand@zygoma:~$ sudo modprobe --force abituguru3
FATAL: Error inserting abituguru3 (/lib/modules/2.6.27-9-generic/kernel/drivers/hwmon/abituguru3.ko): Invalid module format
ramirand@zygoma:~$ lsmod | grep abit
ramirand@zygoma:~$ sudo dmidecode
# dmidecode 2.9
SMBIOS 2.5 present.
35 structures occupying 1151 bytes.
Table at 0x000F0000.

Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
 Vendor: Phoenix Technologies, LTD
 Version: 6.00 PG
 Release Date: 03/18/2008
 Address: 0xE0000
 Runtime Size: 128 kB
 ROM Size: 1024 kB
 Characteristics:
  ISA is supported
  PCI is supported
  PNP is supported
  APM is supported
  BIOS is upgradeable
  BIOS shadowing is allowed
  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)
  3.5"/2.88 MB 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
  ATAPI Zip drive boot is supported
  BIOS boot specification is supported
  Targeted content distribution is supported

Handle 0x0001, DMI type 1, 27 bytes
System Information
 Manufacturer: .
 Product Name: .
 Version: System Version
 Serial Number: System Serial Number
 UUID: 00000000-0000-0000-0000-00508DBBE4C4
 Wake-up Type: Power Switch
 SKU Number:
 Family:

Handle 0x0002, DMI type 2, 10 bytes
Base Board Information
 Manufacturer: http://www.abit.com.tw/
 Product Name: IP35 PRO(P35+ICH9R)
 Version: 1.0
 Serial Number:

Handle 0x0003, DMI type 3, 17 bytes
Chassis Information
 Manufacturer: System Enclosure Manufacter
 Type: Desktop
 Lock: Not Present
 Version: OEM
 Serial Number:
 Asset Tag:
 Boot-up State: Unknown
 Power Supply State: Unknown
 Thermal State: Unknown
 Security Status: Unknown
 OEM Information: 0x00000000

Handle 0x0004, DMI type 4, 40 bytes
Processor Information
 Socket Designation: Socket 775
 Type: Central Processor
 Family: Other
 Manufacturer: Intel
 ID: 77 06 01 00 FF FB EB BF
 Version: Intel(R) Core(TM)2 Quad
 Voltage: 0.0 V
 External Clock: 334 MHz
 Max Speed: 4000 MHz
 Current Speed: 2672 MHz
 Status: Populated, Enabled
 Upgrade: ZIF Socket
 L1 Cache Handle: 0x000A
 L2 Cache Handle: 0x000B
 L3 Cache Handle: Not Provided
 Serial Number:
 Asset Tag:
 Part Number:
 Characteristics: None

Handle 0x...

Oh, and the modprobe (without force) generates the following output in dmesg:

[ 357.905130] abituguru3: no Abit uGuru3 found, data = 0x00, cmd = 0xFF

Thanks again,

Russ

I see the Product Name, "IP35 PRO(P35+ICH9R)", doesn't match any of the strings defined in the abituguru3_motherboards table. It's close to "IP35 Pro(Intel P35-ICH9R)", but close doesn't count in strcmp()!

Interestingly, the name I get is the same as the product name sent in this post to the lm-sensors list in May:

http://lists.lm-sensors.org/pipermail/lm-sensors/2008-May/023179.html

Someone else must have sent in the the one in the table -- nice of ABIT to change it!

Russ

Hi Russ,

nope, the most would be partial matches. But that won't work if some vendor
decides to drop words in the middle and - does sound too inferior. ;-)
Alright, since your board id is still 1a, so I just made a new clone of the
other table for IP35. I got a test kernel uploaded to my PPA. I had hoped this
would be based on the latest -proposed kernel but those versions are moving
fast at the moment. But for a quick test it should be ok to not have all the
depending packages. Could you try that kernel and tell me whether this works as
expected?

https://launchpad.net/~stefan-bader-canonical/+archive

Hi Stefan,
  Sorry for the delay, the holidays got in the way, I haven't had a chance. I'll try to get a test in this week.
Thanks,
Russ

Stefan Bader (smb) wrote :

Hi Russ,

sorry I got buried in other stuff. :( After all I think it is simpler to get you a kernel based on 2.6.27-11 than to try get the PPA build right. I uploaded those kernels here: http://people.ubuntu.com/~smb/bug298798/ I actually found a patch from upstream that should fix this. I that works for you, I'll get those into Intrepid and Jaunty. Thanks.

Hi Stefan,

Somehow, I missed your last message. I was waiting for a new kernel to spring into your PPA! Anyway, I installed the 2.6.27-11 kernel you linked above, and...

ramirand@zygoma:~$ lsmod | grep -i uguru
ramirand@zygoma:~$ sudo modprobe abituguru3
[sudo] password for ramirand:
ramirand@zygoma:~$ lsmod | grep -i uguru
abituguru3 36496 0
ramirand@zygoma:~$ dmesg | grep -i uguru
[ 108.642215] abituguru3: found Abit uGuru3, motherboard ID: 001A
ramirand@zygoma:~$

Success!

Thanks for your work on this, sorry the communication was so sporadic!

Russ

Tim Gardner (timg-tpi) wrote :
Changed in linux (Ubuntu Jaunty):
milestone: none → ubuntu-9.04
status: Incomplete → Fix Committed
Stefan Bader (smb) on 2009-04-04
Changed in linux (Ubuntu Intrepid):
assignee: nobody → stefan-bader-canonical
importance: Undecided → Medium
status: New → In Progress
description: updated
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux - 2.6.28-11.41

---------------
linux (2.6.28-11.41) jaunty; urgency=low

  [ Amit Kucheria ]

  * ixp4xx: Enabled TCP SYN_COOKIES
    - LP: #346378

  [ Brad Figg ]

  * Change LPIA configuration to compile with CONFIG_NETFILTER_XT_MATCH_RECENT
    - LP: #355291

  [ Kay Sievers ]

  * SAUCE: driver core: allow non-root users to listen to uevents
    - LP: #357124

  [ Manoj Iyer ]

  * SAUCE: Added quirk to recognize GE0301 3G modem as an interface.
    - LP: #348861

  [ Tim Gardner ]

  * Revert "SAUCE: [i915] allocate MCHBAR space & enable if necessary"
    Appears to cause hard locks in some cases.
    - LP: #349314

  [ Trond Myklebust ]

  * SAUCE: NFS: Fix the notifications when renaming onto an existing file
    - LP: #224642

  [ Upstream Kernel Changes ]

  * USB: option: add QUANTA HSDPA Data Card device ids
    - LP: #353321
  * hwmon: (abituguru3) Match partial DMI board name strings
    - LP: #298798
  * zd1211rw: adding Sitecom WL-603 (0df6:0036) to the USB id list
    - LP: #339631
  * USB: unusual dev for Option N.V. ZeroCD modems
    - LP: #348861

 -- Tim Gardner <email address hidden> Sat, 04 Apr 2009 08:42:14 -0600

Changed in linux (Ubuntu Jaunty):
status: Fix Committed → Fix Released
Stefan Bader (smb) on 2009-04-09
Changed in linux (Ubuntu Intrepid):
status: In Progress → Fix Committed
Martin Pitt (pitti) wrote :

Accepted linux into intrepid-proposed, the package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

tags: added: verification-needed

Added proposed to my 8.10 system, updated all packages.

$ aptitude show linux
Package: linux
State: installed
Automatically installed: no
Version: 2.6.27.14.18
Priority: optional
Section: restricted/metapackages
Maintainer: Ubuntu Kernel Team <email address hidden>
Uncompressed Size: 32.8k
Depends: linux-image (= 2.6.27.14.18), linux-restricted-modules (=
         2.6.27.14.18)
Provided by: type-handling
Description: Generic complete Linux kernel.
 This package will always depend on the latest generic complete
 Linux kernel available.
$ uname -a
Linux zygoma 2.6.27-14-generic #1 SMP Fri Jun 5 10:22:01 UTC 2009 x86_64 GNU/Linux
$ modprobe abituguru3
$ lsmod | grep abituguru3
abituguru3 36496 0
$ dmesg | grep abituguru3
[ 105.270720] abituguru3: found Abit uGuru3, motherboard ID: 001A

Success!

Many thanks, Ubuntu team!

Steve Beattie (sbeattie) on 2009-06-16
tags: added: hw-specific
Martin Pitt (pitti) on 2009-06-16
tags: added: verification-done
removed: verification-needed
Rune K. Svendsen (runeks) wrote :

This bug is still present with my motherboard, probably because it is the "XE" version (Abit IP35 Pro XE) with the product name string: "IP35 Pro XE(Intel P35-ICH9R)".

I have the same symptoms as Russ Miranda have reported:

rune@runescomp:~$ sudo modprobe abituguru3
FATAL: Error inserting abituguru3 (/lib/modules/2.6.31-8-generic/kernel/drivers/hwmon/abituguru3.ko): No such device
rune@runescomp:~$ sudo modprobe --force abituguru3
FATAL: Error inserting abituguru3 (/lib/modules/2.6.31-8-generic/kernel/drivers/hwmon/abituguru3.ko): Invalid module format
rune@runescomp:~$ dmesg | tail -1
[ 646.852889] abituguru3: no Abit uGuru3 found, data = 0x00, cmd = 0x5F

I'm running Karmic Alpha 4, and I just tested this with a Live CD of Jaunty where it was still present.

rune@runescomp:~$ uname -a
Linux runescomp 2.6.31-8-generic #28-Ubuntu SMP Thu Aug 27 14:43:30 UTC 2009 i686 GNU/Linux
rune@runescomp:~$ lsb_release -rd
Description: Ubuntu karmic (development branch)
Release: 9.10

Should I open a new bug report since I'm using another version of the IP35 motherboard?

Rune K. Svendsen (runeks) wrote :

Here's the complete output of dmidecode.

Definitively open a new bug if you are sure this board really has the right
chipset. Compared to Russ, your forced probe fails, which sounds like there is
more difference than just the right string.

Rune K. Svendsen (runeks) wrote :

Per the instructions of the maintainer of abituguru3, Alistair John Strachan, I tried issuing the following command using abituguru3's own 'force' parameter like so:

modprobe abituguru3 force=1

and this works. Alistair is in the process of fixing the issue, I just tried a patched kernel of his right now which, ufortunately, didn't work (could be something on my part though, we'll see). But it's being worked on!

Stefan Bader (smb) wrote :

Oops, sorry, did not read careful enough and somehow imagined you had done the
force=1. But anyway, it is better to have that as a separate bug since the
problem was solved for the other board and this is sort of a new problem,
though maybe with a similar resolution. But the more specific a single bug is,
the better it is workable.

Rune K. Svendsen (runeks) wrote :

Alistair John Strachan's most recent patch to abituguru3 fixes the issue for me. So I don't consider it a bug any more, though it might not make it into 2.6.31. But I don't think there's a reason to create a new bug report for it. I see that it would be best to isolate each bug to its own bug report so I will leave this message as my last. But hopefully my comments can help other Linux users with the Abit IP35 Pro XE motherboard to know that they have to pass the force=1 parameter to the abituguru3 modprobe to get it working.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux - 2.6.27-14.41

---------------
linux (2.6.27-14.41) intrepid-proposed; urgency=low

  [ Stefan Bader ]

  * Revert "SAUCE: input: Blacklist digitizers from joydev.c"
    - LP: #300143

linux (2.6.27-14.40) intrepid-proposed; urgency=low

  [ Amit Kucheria ]

  * Disable DEVKMEM for all archs on Intrepid
    - LP: #354221
  * SAUCE: Quirk for BT USB device on MacbookPro to be reset before use
    - LP: #332443

  [ Andy Isaacson ]

  * LIRC_PVR150: depends on VIDEO_IVTV
    - LP: #341477
  * SAUCE: FSAM7400: select CHECK_SIGNATURE
    - LP: #341712

  [ Andy Whitcroft ]

  * SAUCE: hotkey quirks for various Zepto Znote and Fujitsu Amilo laptops
    - LP: #330259
  * SAUCE: unusual devs: add an entry for the ScanLogic SL11R-IDE 0.78
    - LP: #336189

  [ Anton Veretenenko ]

  * SAUCE: sony-laptop: add support for Sony Vaio FW series function/media
    keys
    - LP: #307592

  [ Ayaz Abdulla ]

  * SAUCE: forcedeth: msi interrupt fix
    - LP: #288281

  [ Chuck Short ]

  * SAUCE: [USB] Unusual Device support for Gold MP3 Player Energy
    - LP: #125250

  [ Ike Panhc ]

  * squashfs: correct misspelling
    - LP: #322306
  * SAUCE: Fixing symbol name in HECI module
    - LP: #336549
  * Copy header files for various kernel media driver
    - LP: #322732

  [ Stefan Bader ]

  * SAUCE: vgacon: Return the upper half of 512 character fonts
    - LP: #355057
  * SAUCE: input: Blacklist digitizers from joydev.c
    - LP: #300143

  [ Upstream Kernel Changes ]

  * libata: make sure port is thawed when skipping resets
    - LP: #269652
  * x86-64: fix int $0x80 -ENOSYS return
    - LP: #339743
  * rt2x00: Fix race conditions in flag handling
    - LP: #258985
  * USB: cdc-acm: Add another conexant modem to the quirks
    - LP: #323829
  * Bluetooth: Add fine grained mem_flags usage to btusb driver
    - LP: #268502
  * Bluetooth: Handle bulk URBs in btusb driver from notify callback
    - LP: #268502
  * Bluetooth: Submit bulk URBs along with interrupt URBs
    - LP: #268502
  * hwmon: (abituguru3) Match partial DMI board name strings
    - LP: #298798
  * x86: mtrr: don't modify RdDram/WrDram bits of fixed MTRRs
    - LP: #292619
  * sis190: add identifier for Atheros AR8021 PHY
    - LP: #247889
  * ath9k: implement IO serialization
    - LP: #373034
  * ath9k: AR9280 PCI devices must serialize IO as well
    - LP: #373034
  * acer-wmi: fix regression in backlight detection
    - LP: #333386

 -- Stefan Bader <email address hidden> Wed, 26 Aug 2009 11:48:11 +0200

Changed in linux (Ubuntu Intrepid):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Bug attachments

Remote bug watches

Bug watches keep track of this bug in other bug trackers.