# iwlmvm: Unknown symbol dev_coredumpm (err 0)

## Lukiwuki

Hello,

I want to get my WIFI Module (Intel Wireless 7265) to work.

Current Issue:

*** iwlwifi loads 

*** iwlmvm fails to load -> Error Code: Unknown symbol dev_coredumpm (err 0)

Things I've already done:

*** Loaded the newest firmware and placed it in /lib/firmware

*** Recompiled my Kernel and my modules

*** Rebootet afterwards.

Kernel 4.4.26-gentoo.

My kernel config (full config avaiable here: http://pastebin.com/epeap0Wt):

```
CONFIG_IWLWIFI=m

CONFIG_IWLWIFI_LEDS=y

CONFIG_IWLDVM=m

CONFIG_IWLMVM=m

CONFIG_IWLWIFI_OPMODE_MODULAR=y

# CONFIG_IWLWIFI_BCAST_FILTERING is not set

# CONFIG_IWLWIFI_UAPSD is not set

# CONFIG_IWLWIFI_DEBUG is not set

CONFIG_IWLWIFI_DEVICE_TRACING=y
```

```
CONFIG_COREDUMP=y

CONFIG_WANT_DEV_COREDUMP=y

CONFIG_ALLOW_DEV_COREDUMP=y

CONFIG_DEV_COREDUMP=y
```

```
CONFIG_MODULES=y

# CONFIG_MODULE_FORCE_LOAD is not set

CONFIG_MODULE_UNLOAD=y

CONFIG_MODULE_FORCE_UNLOAD=y

# CONFIG_MODVERSIONS is not set

# CONFIG_MODULE_SRCVERSION_ALL is not set

# CONFIG_MODULE_SIG is not set

# CONFIG_MODULE_COMPRESS is not set

CONFIG_MODULES_TREE_LOOKUP=
```

dmesg output:

```
[13406.402497] Intel(R) Wireless WiFi driver for Linux

[13406.402500] Copyright(c) 2003- 2015 Intel Corporation

[13406.402865] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-19.ucode failed with error -2

[13406.402880] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-18.ucode failed with error -2

[13406.402885] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-17.ucode failed with error -2

[13406.403453] iwlwifi 0000:02:00.0: loaded firmware version 16.242414.0 op_mode iwlmvm

[13406.404341] iwlmvm: Unknown symbol dev_coredumpm (err 0)

[13406.409747] iwlwifi 0000:02:00.0: failed to load module iwlmvm (error 256), is dynamic loading enabled?
```

Dynamic firmware loading build into the kernel, every option i found including "coredump" is too.

In my opinion I'm missing something that has to be installed/configured in order to use dev_coredumpm.

Any suggestions how to fix this? Nothing I found worked.

Thanks for your help!

----------

## Apheus

Try with enabled CONFIG_UNUSED_SYMBOLS.

----------

## Lukiwuki

 *Apheus wrote:*   

> Try with enabled CONFIG_UNUSED_SYMBOLS.

 

If I enable UNUSED_SYMBOLS iwlwifi refuses to recognize my device and does not load any firmware.

Additional my USB Ethernet Interface stops working.

----------

## charles17

 *Lukiwuki wrote:*   

> 
> 
> dmesg output:
> 
> ```
> ...

 

Are you having one of those ucodes listed there in your ls -l /lib/firmware/ | grep -i 7265D? 

modinfo iwlwifi should give you some more information.

----------

## Lukiwuki

 *charles17 wrote:*   

> 
> 
> dmesg output:
> 
> ```
> ...

 

I think he tries to load the  iwlwifi-7265D-{17|18|19} firmeware, does not find it and loads iwlwifi-7265-16.ucode/iwlwifi-7265D-16.ucode. This firmware produces the error.

If I check the firmware https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi iwlwifi-7265-ucode-16.242414.0.tgz is the newest firmware for Intel Wireless 7265.

I downloaded the iwlwifi-7265D-{17|18|19} firmeware, from https://github.com/OpenELEC/iwlwifi-firmware/tree/master/firmware, and moved them to /lib/firmware.

Now the leading errors disappear, but the iwlmvm error stays.

```
[ 1515.440212] Intel(R) Wireless WiFi driver for Linux

[ 1515.440213] Copyright(c) 2003- 2015 Intel Corporation

[ 1515.441032] iwlwifi 0000:02:00.0: loaded firmware version 19.324151.0 op_mode iwlmvm

[ 1515.441864] iwlmvm: Unknown symbol dev_coredumpm (err 0)

[ 1515.448057] iwlwifi 0000:02:00.0: failed to load module iwlmvm (error 256), is dynamic loading enabled?
```

"ls -l /lib/firmware | grep iwlwifi"

```
iwlwifi-1000-3.ucode

iwlwifi-1000-5.ucode

iwlwifi-100-5.ucode

iwlwifi-105-6.ucode

iwlwifi-135-6.ucode

iwlwifi-2000-6.ucode

iwlwifi-2030-6.ucode

iwlwifi-3160-10.ucode

iwlwifi-3160-12.ucode

iwlwifi-3160-13.ucode

iwlwifi-3160-16.ucode

iwlwifi-3160-7.ucode

iwlwifi-3160-8.ucode

iwlwifi-3160-9.ucode

iwlwifi-3168-21.ucode

iwlwifi-3945-2.ucode

iwlwifi-4965-2.ucode

iwlwifi-5000-1.ucode

iwlwifi-5000-2.ucode

iwlwifi-5000-5.ucode

iwlwifi-5150-2.ucode

iwlwifi-6000-4.ucode

iwlwifi-6000g2a-5.ucode

iwlwifi-6000g2a-6.ucode

iwlwifi-6000g2b-5.ucode

iwlwifi-6000g2b-6.ucode

iwlwifi-6050-4.ucode

iwlwifi-6050-5.ucode

iwlwifi-7260-10.ucode

iwlwifi-7260-12.ucode

iwlwifi-7260-13.ucode

iwlwifi-7260-16.ucode

iwlwifi-7260-7.ucode

iwlwifi-7260-8.ucode

iwlwifi-7260-9.ucode

iwlwifi-7265-10.ucode

iwlwifi-7265-12.ucode

iwlwifi-7265-13.ucode

iwlwifi-7265-16.ucode

iwlwifi-7265-17.ucode

iwlwifi-7265-8.ucode

iwlwifi-7265-9.ucode

iwlwifi-7265D-10.ucode

iwlwifi-7265D-12.ucode

iwlwifi-7265D-13.ucode

iwlwifi-7265D-16.ucode

iwlwifi-7265D-17.ucode

iwlwifi-7265D-18.ucode

iwlwifi-7265D-19.ucode

iwlwifi-8000C-13.ucode

iwlwifi-8000C-16.ucode

iwlwifi-8000C-21.ucode

iwlwifi-8265-21.ucode

LICENCE.iwlwifi_firmware

LICENSE.iwlwifi-7265-ucode
```

"modinfo iwlwifi"

```
filename:       /lib/modules/4.4.26-gentoo/kernel/drivers/net/wireless/iwlwifi/iwlwifi.ko

license:        GPL

author:         Copyright(c) 2003- 2015 Intel Corporation <ilw@linux.intel.com>

description:    Intel(R) Wireless WiFi driver for Linux

firmware:       iwlwifi-100-5.ucode

firmware:       iwlwifi-1000-5.ucode

firmware:       iwlwifi-135-6.ucode

firmware:       iwlwifi-105-6.ucode

firmware:       iwlwifi-2030-6.ucode

firmware:       iwlwifi-2000-6.ucode

firmware:       iwlwifi-5150-2.ucode

firmware:       iwlwifi-5000-5.ucode

firmware:       iwlwifi-6000g2b-6.ucode

firmware:       iwlwifi-6000g2a-5.ucode

firmware:       iwlwifi-6050-5.ucode

firmware:       iwlwifi-6000-4.ucode

firmware:       iwlwifi-7265D-13.ucode

firmware:       iwlwifi-7265-13.ucode

firmware:       iwlwifi-3160-13.ucode

firmware:       iwlwifi-7260-13.ucode

firmware:       iwlwifi-8000-13.ucode

alias:          pci:v00008086d000024F3sv*sd00000930bc*sc*i*

... more aliases

alias:          pci:v00008086d00004232sv*sd00001201bc*sc*i*

depends:        

intree:         Y

vermagic:       4.4.26-gentoo SMP mod_unload 

parm:           swcrypto:using crypto in software (default 0 [hardware]) (int)

parm:           11n_disable:disable 11n functionality, bitmap: 1: full, 2: disable agg TX, 4: disable agg RX, 8 enable agg TX (uint)

parm:           amsdu_size_8K:enable 8K amsdu size (default 0) (int)

parm:           fw_restart:restart firmware in case of error (default true) (bool)

parm:           antenna_coupling:specify antenna coupling in dB (default: 0 dB) (int)

parm:           nvm_file:NVM file name (charp)

parm:           d0i3_disable:disable d0i3 functionality (default: Y) (bool)

parm:           lar_disable:disable LAR functionality (default: N) (bool)

parm:           uapsd_disable:disable U-APSD functionality (default: Y) (bool)

parm:           bt_coex_active:enable wifi/bt co-exist (default: enable) (bool)

parm:           led_mode:0=system default, 1=On(RF On)/Off(RF Off), 2=blinking, 3=Off (default: 0) (int)

parm:           power_save:enable WiFi power management (default: disable) (bool)

parm:           power_level:default power save level (range from 1 - 5, default: 1) (int)

parm:           fw_monitor:firmware monitor - to debug FW (default: false - needs lots of memory) (bool)

```

----------

## charles17

Did you see topic 1011698?

Maybe doing this again after kernel changes could help?

----------

## Lukiwuki

 *charles17 wrote:*   

> Did you see topic 1011698?
> 
> Maybe doing this again after kernel changes could help?

 

This is my comand history:

```
cd /usr/src/linux

make menuconfig

make -j5 

make modules_install 

make install

grub-mkconfig -o /boot/grub/grub.cfg

reboot
```

I do thing that covers topic 1011698. If I'm wrong and missing something please let me know.

Edit1: Additionally I think if you're just recompiling your Kernel and staying on the same Version you can skip "grub-mkconfig -o /boot/grub/grub.cfg".

----------

## charles17

 *Lukiwuki wrote:*   

> I do thing that covers topic 1011698. If I'm wrong and missing something please let me know.

 Forgot to mount /boot ?

----------

## Lukiwuki

 *charles17 wrote:*   

>  *Lukiwuki wrote:*   I do thing that covers topic 1011698. If I'm wrong and missing something please let me know. Forgot to mount /boot ?

 

Boot mounts at startup.

----------

## F_

Was there any resolution to this?

----------

## NeddySeagoon

Looking for  dev_coredumpm in the kernel shows

```
$ cd /usr/src/linux

roy@NeddySeagoon_Static /usr/src/linux $ grep -R dev_coredumpm ./

./drivers/base/devcoredump.c: * it when it is no longer used. See dev_coredumpm() for more information.

./drivers/base/devcoredump.c:   dev_coredumpm(dev, NULL, data, datalen, gfp, devcd_readv, devcd_freev);

./drivers/base/devcoredump.c: * dev_coredumpm - create device coredump with read/free methods

./drivers/base/devcoredump.c:void dev_coredumpm(struct device *dev, struct module *owner,

./drivers/base/devcoredump.c:EXPORT_SYMBOL_GPL(dev_coredumpm);

./drivers/base/devcoredump.c: * dev_coredumpmsg - create device coredump that uses scatterlist as data

./drivers/base/devcoredump.c:   dev_coredumpm(dev, NULL, table, datalen, gfp, devcd_read_from_sgtable,

./drivers/net/wireless/intel/iwlwifi/mvm/fw-dbg.c:   dev_coredumpm(mvm->trans->dev, THIS_MODULE, fw_error_dump, 0,

./include/linux/devcoredump.h:void dev_coredumpm(struct device *dev, struct module *owner,

./include/linux/devcoredump.h:dev_coredumpm(struct device *dev, struct module *owner,
```

The key line there is

```
./drivers/base/devcoredump.c:EXPORT_SYMBOL_GPL(dev_coredumpm);
```

so whatever kernel option builds the file /drivers/base/devcoredump.c must be on. =m or =y will do

Looking at ./drivers/base/Kconfig tells

```
config WANT_DEV_COREDUMP

        bool

        help

          Drivers should "select" this option if they desire to use the

          device coredump mechanism.

config ALLOW_DEV_COREDUMP

        bool "Allow device coredump" if EXPERT

        default y

        help

          This option controls if the device coredump mechanism is available or

          not; if disabled, the mechanism will be omitted even if drivers that

          can use it are enabled.

          Say 'N' for more sensitive systems or systems that don't want

          to ever access the information to not have the code, nor keep any

          data.

          If unsure, say Y.

config DEV_COREDUMP

        bool

        default y if WANT_DEV_COREDUMP

        depends on ALLOW_DEV_COREDUMP

```

We need  ALLOW_DEV_COREDUMP, bul that's hidden unless EXPERT is set. 

In menuconfig search (press /) for EXPERT, go there and enable it.

Now search for DEV_COREDUMP and enable it too.

Rebuild and reinstall your kernel.  Reboot.

Look at the time/date in uname -a

That's the time/date the running kernel was built.  It should be nowish or you messed up the kernel install.

----------

