Current-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: iwm0 firmware issue
Thanks! I’ve put the patch in and installed the new kernel. It sure produces a lot of debugging output, but so far every time I boot it comes up working. I’ll keep trying to see if I can get it to fail, but I’m wondering if there’s a timing issue during startup that gets masked with all the debugging output?
-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