Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: iwm0 firmware issue



Unfortunately just enabling IWM_DEBUG seems to “solve” the problem.  Have been unable to get it to fail regardless of what I set iwm_debug to and have been running for the last couple of days with it set to zero without seeing the problem again.  But as soon as I disable IWM_DEBUG the problem resurfaces, although it only happens about 10% of the time.

-bob

On Apr 16, 2017, at 9:10 PM, Kimihiro Nonaka <nonakap%gmail.com@localhost> wrote:

> On Sun, Apr 16, 2017 at 9:03 PM, Robert Nestor <rnestor%mac.com@localhost> wrote:
> 
>> I’ve been running -current on a new laptop and have installed a number of snapshots since 7.99.59.  With the 7.99.67 snapshot I’m seeing the message “iwm0: fatal firmware error” occasionally on boot.  There is no other information on this that I can find and obviously at that point the network device isn’t usable.  A reboot almost always seems to clear it up.  Never saw this issue on earlier versions of -current, so I’m assuming it’s something that crept in.
>> 
>> dmesg report on this device:
>> iwm0 at pci2 dev 0 function 0: vendor 8086 product 08b2 (rev. 0x83)
>> iwm0: interrupting at msi2 vec 0
>> iwm0: hw rev 0x140, fw ver 17.352738.0, address 90:2e:1c:12:36:80
>> iwm0: 11a rates: 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
>> iwm0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
>> iwm0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
>> iwm0: fatal firmware error
>> 
>> If anyone has an idea or suggestion to help track this down just let me know and I’ll do what I can to help out.
> 
> Could you enable debug output and send logs?
> 
> diff --git a/sys/dev/pci/if_iwm.c b/sys/dev/pci/if_iwm.c
> index 4a15ebd7d3f..da47b7d4287 100644
> --- a/sys/dev/pci/if_iwm.c
> +++ b/sys/dev/pci/if_iwm.c
> @@ -150,10 +150,11 @@ __KERNEL_RCSID(0, "$NetBSD: if_iwm.c,v 1.71
> 2017/03/14 23:59:26 nonaka Exp $");
> #define le16_to_cpup(_a_) (le16toh(*(const uint16_t *)(_a_)))
> #define le32_to_cpup(_a_) (le32toh(*(const uint32_t *)(_a_)))
> 
> +#define IWM_DEBUG
> #ifdef IWM_DEBUG
> #define DPRINTF(x)    do { if (iwm_debug > 0) printf x; } while (0)
> #define DPRINTFN(n, x)    do { if (iwm_debug >= (n)) printf x; } while (0)
> -int iwm_debug = 0;
> +int iwm_debug = 12;
> #else
> #define DPRINTF(x)    do { ; } while (0)
> #define DPRINTFN(n, x)    do { ; } while (0)
> 
> Regards,
> -- 
> Kimihiro Nonaka



Home | Main Index | Thread Index | Old Index