3

Recently another user asked why they were loading the fjes module. While I was trying to understand that question, I realized that Linux is also loading the same module for me.

Now, this is the module's information according to modinfo:

filename:       /lib/modules/4.8.0-2-amd64/kernel/drivers/net/fjes/fjes.ko
version:        1.1
license:        GPL
description:    FUJITSU Extended Socket Network Device Driver
author:         Taku Izumi <izumi.taku@jp.fujitsu.com>
srcversion:     3411C5E01C7BDA50105EEE7
alias:          acpi*:PNP0C02:*
depends:        
intree:         Y
vermagic:       4.8.0-2-amd64 SMP mod_unload modversions 
signat:         PKCS#7
signer:         
sig_key:        
sig_hashalgo:   md4

I find this weird. My network adaptor is a Realtek PCI Express card, and it's supported by the module r8169.

First thing I checked was if this module had beed added by any particular package. I'm on Debian testing, so I checked that file with dpkg -S. It is supplied by the kernel image package itself:

# dpkg -S /lib/modules/4.8.0-2-amd64/kernel/drivers/net/fjes/fjes.ko
linux-image-4.8.0-2-amd64: /lib/modules/4.8.0-2-amd64/kernel/drivers/net/fjes/fjes.ko

I noticed that the modalias for this module seems very generic. It doesn't even specify a vendor. So I decided to see which devices in /sys/devices would have a modalias matching this string. I got five results, so I wrote a small script to print a bit more information about them. This is what I got:

./devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/PNP0C02:03
    modalias:      acpi:PNP0C02:
    path:          \_SB_.PCI0.PDRC
    physical_node -> ../../../../pnp0/00:08

./devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C02:01
    modalias:      acpi:PNP0C02:
    path:          \_SB_.PCI0.LPCB.SIO1
    physical_node -> ../../../../../pnp0/00:04

./devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/INT3F0D:00
    modalias:      acpi:INT3F0D:PNP0C02:
    path:          \_SB_.PCI0.LPCB.CWDT
    physical_node -> ../../../../../pnp0/00:03

./devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C02:02
    modalias:      acpi:PNP0C02:
    path:          \_SB_.PCI0.LPCB.RMSC
    physical_node -> ../../../../../pnp0/00:06

./devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C02:00
    modalias:      acpi:PNP0C02:
    path:          \_SB_.PCI0.LPCB.LDRC
    physical_node -> ../../../../../pnp0/00:01

The data above is a dump of the files in /sys/devices/.... The lines modalias and path are the contents of those files, and physical_node is the destination of that symbolic link to a directory in /sys/devices.

Each one of them is indeed associated with a different physical device, but I have no idea what they are. All I can say is that no other driver module installed on my system has an alias that matches acpi:PNP0C02:.

These are the questions I'm left with:

  1. What's the meaning of PCI0.LPCB in the ACPI tree? I infered from the Ubuntu FAQ on ACPI Tricks and Tips that it may be (or should I infer that it should be?) related to a battery. However this is a desktop PC, not a laptopt;
  2. How come I have three difference devices which all alias to the same thing? Isn't this troubling to the kernel?
  3. Is the fjes module improperly configured for having such a modalias? Should a bug be opened?
  • If I read this, it looks like the usage of PNP0C02 is a bug (that's a plug and play device for motherboard resources), and the driver is load erronously. – dirkt Jan 8 '17 at 20:33
  • Kernel bug #193851 is related. – Pro Backup Nov 26 '17 at 18:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.