EPICS Home

Experimental Physics and Industrial Control System


 
1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  <2025 Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  <2025
<== Date ==> <== Thread ==>

Subject: Re: MRF kernel modules not seeing hardware
From: "Shen, Guobao via Tech-talk" <tech-talk at aps.anl.gov>
To: "Daykin, Evan" <daykin at frib.msu.edu>, "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Date: Wed, 29 Jan 2025 20:47:15 +0000

Even,

Looks like you are missing the “System.map” file, as your message hinted.

 

ChatGPT gives some suggestions as below:

 

It looks like you're encountering an issue where the `System.map` file is missing during the kernel module installation. The `System.map` file is a key component for kernel debugging and the `depmod` utility, which is responsible for managing module dependencies, relies on it to create the necessary module dependency files.

 

Here’s a breakdown of what's going on and how to fix it:

 

### What’s Happening?

- **Warning**: The kernel installation process is not able to find the `System.map` file. This file typically resides in the `/boot/` directory and contains a map of kernel symbols (i.e., the addresses of kernel functions and variables). Without it, `depmod` cannot properly process the modules.

 

### Steps to Resolve:

 

1. **Verify if `System.map` exists**:

   Check if the `System.map` file exists in the `/boot/` directory for your kernel version. You can use:

   ```bash

   ls /boot | grep System.map

   ```

 

   It should show something like `System.map-6.1.0-30-rt-amd64`. If it doesn’t appear, it could mean that the file wasn’t generated during the kernel installation.

 

2. **Rebuild the `System.map` file**:

   If the file is missing, you can rebuild it using `make` from the kernel source directory, assuming you have the kernel source for `6.1.0-30-rt-amd64` installed. To do this:

 

   - Navigate to the directory where the kernel source is located.

   - Run the following:

     ```bash

     make modules_prepare

     ```

     This command prepares the kernel source tree for module compilation and will also regenerate the `System.map` file.

 

3. **Reinstall or Rebuild the Kernel**:

   In some cases, reinstalling or rebuilding the kernel might regenerate the necessary files. You can reinstall the kernel package or rebuild it using the package manager, for example, with `apt` on Debian-based systems:

   ```bash

   sudo apt-get install --reinstall linux-image-6.1.0-30-rt-amd64

   ```

 

4. **Manually Generate the `System.map`**:

   If you have the kernel binary (`vmlinuz-6.1.0-30-rt-amd64`), you can manually generate the `System.map` using the following:

   ```bash

   nm /boot/vmlinuz-6.1.0-30-rt-amd64 > /boot/System.map-6.1.0-30-rt-amd64

   ```

   This will create the `System.map` file based on the symbols in the kernel image.

 

5. **Run `depmod` Manually**:

   After fixing the missing `System.map` file, you may want to run `depmod` manually to rebuild the module dependencies:

   ```bash

   sudo depmod -a

   ```

 

6. **Check Kernel Headers**:

   Ensure the kernel headers are installed, as these are required for building modules:

   ```bash

   sudo apt-get install linux-headers-$(uname -r)

   ```

 

### Final Check:

Once you’ve taken these steps, check again if the warning goes away. You should now be able to install the PCI kernel module without issues.

 

Let me know if this helps or if you're seeing any other errors!

 

From: Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of Daykin, Evan via Tech-talk <tech-talk at aps.anl.gov>
Date: Wednesday, January 29, 2025 at 9:17
AM
To: tech-talk at aps.anl.gov <tech-talk at aps.anl.gov>
Subject: MRF kernel modules not seeing hardware

Hello,

 

On a new linux kernel 6.1.0-30-rt-amd64 installation, I am trying to install the mrfioc2 PCI kernel module by running the following:

 

sudo make KERNELDIR=/lib/modules/$(uname -r)/build modules_install

make -C /lib/modules/6.1.0-30-rt-amd64/build DRV_VERSION='3' M=/home/daykin/git/mrfioc2/mrmShared/linux modules_install

make[1]: Entering directory '/usr/src/linux-headers-6.1.0-30-rt-amd64'

  INSTALL /lib/modules/6.1.0-30-rt-amd64/extra/mrf.ko

  DEPMOD  /lib/modules/6.1.0-30-rt-amd64

Warning: modules_install: missing 'System.map' file. Skipping depmod.

make[1]: Leaving directory '/usr/src/linux-headers-6.1.0-30-rt-amd64'

 

depmod -a && modprobe: <no output>

 

lsmod|grep mrf

mrf                    24576  0

uio                    28672  1 mrf

parport                73728  1 mrf

 

cat /proc/devices

Character devices:

  1 mem

  4 /dev/vc/0

  4 tty

  4 ttyS

  5 /dev/tty

  5 /dev/console

  5 /dev/ptmx

  7 vcs

10 misc

13 input

29 fb

116 alsa

128 ptm

136 pts

153 spi

180 usb

189 usb_device

226 drm

238 uio

239 aux

240 cec

241 lirc

242 ipmidev

243 watchdog

244 mei

245 nvme-generic

246 nvme

247 cxl

248 bsg

249 ptp

250 pps

251 rtc

252 dax

253 tpm

254 gpiochip

 

Block devices:

  7 loop

254 device-mapper

259 blkext

 

sudo dmesg|grep mrf

[  508.671574] mrf: loading out-of-tree module taints kernel.

[  508.671603] mrf: module verification failed: signature and/or required key missing - tainting kernel

 

 

I have also tried uninstalling the mrfioc2 version and installing Jukka’s driver (https://github.com/jpietari/mrf-linux-driver) after some small modifications for the deprecation of HAS_UNLOCKED_IOCTL and ioremap_nocache, the module builds successfully but the module_load script also indicates it doesn’t see any EVGs/EVRs.

 

In both cases, the device files /dev/uio* or /dev/era* are not installed, and the output of lspci is as follows:

 

sudo lspci -vv -nn -s 07:0f.0

07:0f.0 Signal processing controller [1180]: Micro-Research Finland Oy Device [1a3e:150c] (rev 01)

     Subsystem: Micro-Research Finland Oy Device [1a3e:150c]

     Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-

     Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=slow >TAbort+ <TAbort- <MAbort- >SERR- <PERR- INTx-

     Interrupt: pin A routed to IRQ 255

     IOMMU group: 15

     Region 0: Memory at a1000000 (32-bit, non-prefetchable) [disabled] [size=1M]

     Capabilities: [40] Null

 

 

sudo lspci -vv -nn -s 07:0e.0

07:0e.0 Signal processing controller [1180]: Micro-Research Finland Oy Device [1a3e:250c] (rev 01)

     Subsystem: Micro-Research Finland Oy Device [1a3e:250c]

     Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-

     Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=slow >TAbort+ <TAbort- <MAbort- >SERR- <PERR- INTx-

     Interrupt: pin A routed to IRQ 255

     IOMMU group: 15

     Region 0: Memory at a1100000 (32-bit, non-prefetchable) [disabled] [size=1M]

     Capabilities: [40] Null

 

 

I’ve tried with multiple cards, including some known to be working on older installations and hardware. Is there something I’m missing?

 

Thanks,

Evan

 


Replies:
RE: MRF kernel modules not seeing hardware Daykin, Evan via Tech-talk
References:
MRF kernel modules not seeing hardware Daykin, Evan via Tech-talk

Navigate by Date:
Prev: MRF kernel modules not seeing hardware Daykin, Evan via Tech-talk
Next: RE: MRF kernel modules not seeing hardware Daykin, Evan via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  <2025
Navigate by Thread:
Prev: MRF kernel modules not seeing hardware Daykin, Evan via Tech-talk
Next: RE: MRF kernel modules not seeing hardware Daykin, Evan via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  <2025