Re: What would cause /proc/ioports do be zeroed out?

From: David Kastrup
Date: Mon Jun 05 2017 - 14:44:33 EST


Randy Dunlap <rdunlap@xxxxxxxxxxxxx> writes:

> On 06/05/17 02:08, David Kastrup wrote:
>>
>> Hi,
>>
>> I am trying to pinpoint a problem I am having with current Ubuntu
>> Artful, likely after some recent attempts of getting rid of some package
>> incompatibilities. More likely than not the ultimate culprit is
>> somewhere in the Debian package management, however I am really puzzled
>> at figuring out where exactly things go wrong and since my current
>> configuration is "valid" according to the package manager, it might help
>> in other situations if I manage to get the problem located.
>>
>> The current symptom is that I cannot load some ACPI modules (compiled
>> via DKMS for x86_64 architecture) without io_force option, with the
>> kernel stating:
>>
>> [ 248.145348] thinkpad_ec: cannot claim IO ports 0x1600-0x161f...
>> [ 248.145350] consider using force_io=1.
>>
>> Now here is the really fishy thing:
>>
>> cat /proc/ioports
>> 0000-0000 : PCI Bus 0000:00
>> 0000-0000 : dma1
>> 0000-0000 : pic1
>> 0000-0000 : timer0
>> 0000-0000 : smapi
>> 0000-0000 : timer1
>> 0000-0000 : keyboard
>> 0000-0000 : PNP0800:00
>> 0000-0000 : PNP0C09:00
>> 0000-0000 : EC data
>> 0000-0000 : keyboard
>> 0000-0000 : PNP0C09:00
>> 0000-0000 : EC cmd
>>
>> [...]
>>
>> 0000-0000 : PCI Bus 0000:0d
>> 0000-0000 : PCI Bus 0000:15
>> 0000-0000 : PCI CardBus 0000:16
>> 0000-0000 : PCI CardBus 0000:16
>
> Hi,
>
> Does /proc/iomem show the same thing (i.e., zeros)?

Yes.

> How about if you do the test while logged in as root?

Darn it. Everything looks normal then in either case. So the /proc
thing likely is a red herring: something else regarding the io ports is
problematic with loading the thinkpad_ec module. Sorry for that bit: I
remember the information being valid even for normal users.

I have another computer with a Mate 17.04 distribution that is complete
64bit including userland. It also masks the ioports like this as
non-root user and does not have the thinkpad_ec loading problem.

So yes: /proc is a red herring. That already helps.

The kernel versions on both computers are different, but yet I really
suspect that the recent "normalization" of linux-tools (which were
pinned to a non-upgradable amd64 version previously) and binutils to the
32bit versions may be involved.

I may have to install a whole lot of toolchain as amd64 to check for
this angle. Which is unpretty since it makes the system less
representative for 32bit development.

--
David Kastrup