This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
en:users:drivers:iwlwifi:debugging [2019/02/06 13:13] Emmanuel Grumbach |
en:users:drivers:iwlwifi:debugging [2021/01/21 07:32] Golan Ben Ami [Firmware Debugging] |
||
---|---|---|---|
Line 15: | Line 15: | ||
===== How to report? ===== | ===== How to report? ===== | ||
- | Issues can be filed in [[http://bugzilla.kernel.org|kernel's bugzilla]]. Make sure to add [[mailto:linuxwifi@intel.com|linuxwifi@intel.com]] to the bug. | + | Issues can be filed in [[http://bugzilla.kernel.org|kernel's bugzilla]]. |
+ | |||
+ | Make sure to set | ||
+ | |||
+ | * Product: Drivers | ||
+ | * Component: network-wireless-intel | ||
Always attach the kernel log to your reports: | Always attach the kernel log to your reports: | ||
<code>dmesg > dmesg.log</code> and attach dmesg.log to the bug. | <code>dmesg > dmesg.log</code> and attach dmesg.log to the bug. | ||
Line 25: | Line 31: | ||
==== Prints ==== | ==== Prints ==== | ||
- | The simplest way to provide minimal output is to dump your kernel log: dmesg. Sometimes we will ask for logs from the supplicant too - they typically land in syslog. iwlwifi can print more data to the kernel log if asked to: this is controlled by the debug module parameter. This is a [[https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tree/drivers/net/wireless/intel/iwlwifi/iwl-debug.h#n143|bitmap]]. To see more debug prints, [[https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tree/drivers/net/wireless/intel/iwlwifi/Kconfig#n105|CONFIG_IWLWIFI_DEBUG]] must be enabled. | + | The simplest way to provide minimal output is to dump your kernel log: dmesg. Sometimes we will ask for logs from the supplicant too - they typically land in syslog. iwlwifi can print more data to the kernel log if asked to: this is controlled by the debug module parameter. This is a [[https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tree/drivers/net/wireless/intel/iwlwifi/iwl-debug.h#n129|bitmap]]. To see more debug prints, [[https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tree/drivers/net/wireless/intel/iwlwifi/Kconfig#n105|CONFIG_IWLWIFI_DEBUG]] must be enabled. |
Please don't add debug level unless instructed to do so. Adding more prints typically adds useless information. | Please don't add debug level unless instructed to do so. Adding more prints typically adds useless information. | ||
Line 70: | Line 76: | ||
Getting data from the firmware can often provide a lot of information, especially when the traffic is being stalled, latency is high, queues are stuck etc.. Here is how to do so. This is working starting kernel 3.19. | Getting data from the firmware can often provide a lot of information, especially when the traffic is being stalled, latency is high, queues are stuck etc.. Here is how to do so. This is working starting kernel 3.19. | ||
- | First you'll need to allow DEV_COREDUMP by setting CONFIG_ALLOW_DEV_COREDUMP to Y. | + | First you need to add the debug configuration. Open the debug file: |
+ | <code> /lib/firmware/iwl-dbg-cfg.ini </code> | ||
+ | And add this text: | ||
+ | <code> | ||
+ | [IWL DEBUG CONFIG DATA] | ||
+ | FW_DBG_PRESET=1 | ||
+ | </code> | ||
+ | |||
+ | Then, you'll need to allow DEV_COREDUMP by setting CONFIG_ALLOW_DEV_COREDUMP to Y. | ||
Then, you'll need to create a core dump. This can be done by: | Then, you'll need to create a core dump. This can be done by: | ||
Line 114: | Line 128: | ||
In case of a firmware crash or queues being stuck, a dump will be automatically created. If you have the udev rule in place, you'll see the dump on your file system. No customization needed in that case, the dump from a regular firmware will already include valuable data, but we usually need more information than the data provided by a release version of the firmware. When you report a bug, please use a debug firmware | In case of a firmware crash or queues being stuck, a dump will be automatically created. If you have the udev rule in place, you'll see the dump on your file system. No customization needed in that case, the dump from a regular firmware will already include valuable data, but we usually need more information than the data provided by a release version of the firmware. When you report a bug, please use a debug firmware | ||
- | from the list below which will allow the dump to include more data at the cost of extra PCI transactions: | + | from the list below. This will allow to include more data in the dump at the cost of extra PCI transactions: |
{{en:users:drivers:iwlwifi:iwlwifi-3160-17.ucode.gz|debug firmware version for 3160}} | {{en:users:drivers:iwlwifi:iwlwifi-3160-17.ucode.gz|debug firmware version for 3160}} |