[WiFi] Intel Centrino Advanced 6235 (error 45)

Harald Brinkhof harald.brinkhof at gmail.com
Thu Oct 25 02:10:15 PDT 2018


It's defined in the freebsd header file

https://github.com/freebsd/freebsd/blob/master/sys/dev/iwn/if_iwn_devid.h

I can't check source to see how much our drivers differ but if they don't
and ours is up to date enough it might just be a matter of the missing
value define.

On Thu, Oct 25, 2018, 10:56 Tobias Heilig <0x70b1 at web.de> wrote:

> further investigation:
>
> what i figured out by myself so far is that the cause of this problem is an invalid
> subdevice id i get for my wifi card (obviously).
>
> one can check the corresponding code blocks in *if_iwn.c* [1]:
>
>
>  515         sc->subdevice_id = pci_get_subdevice(dev);
>  ...
>  534         error = iwn_config_specific(sc, pci_get_device(dev));
>  535         if (error != 0) {
>  536                 device_printf(dev, "could not attach device, error %d\n",
>  537                     error);
>  538                 goto fail; 539         }
>  ...
>
> then, in *iwn_config_specific *function the error gets triggerd by the
> default case:
>
>  ...
>  910 /* 6x35 Series */
>  911         case IWN_DID_6035_1:
>  912         case IWN_DID_6035_2:
>  913                 switch(sc->subdevice_id) {
>  914                         case IWN_SDID_6035_1:
>  915                         case IWN_SDID_6035_2:
>  916                         case IWN_SDID_6035_3:
>  917                         case IWN_SDID_6035_4:
>  918                                 sc->fwname = "iwn6000g2bfw";
>  919                                 sc->limits = &iwn6235_sensitivity_limits;
>  920                                 sc->base_params = &iwn_6235_base_params;
>  921                                 break;
>  922                         default:
>  923                                 device_printf(sc->sc_dev, "adapter type id : 0x%04x sub id:"
>  924                                     "0x%04x rev %d not supported (subdevice)\n", pid,
>  925                                     sc->subdevice_id,sc->hw_type);
>  926                                 return ENOTSUP;
>  927                 }
>  928                 break;
>  ...
>
> so, the device id i get (0x088f -> IWN_DID_6035_2) is correct, but the
> subdevice id (0x5260) is neither of the defined ones in if_iwn_devid.h [3]:
>
> 163 * Device ID for 6035 Series 164 *
> --------------------------------------------------------------------------
> 165 */ 166 #define IWN_DID_6035_1 0x088E 167 #define IWN_DID_6035_2 0x088F
> 168 /* SubDevice ID */ 169 #define IWN_SDID_6035_1 0x4060 170 #define
> IWN_SDID_6035_2 0x4260 171 #define IWN_SDID_6035_3 0x4460 172 #define
> IWN_SDID_6035_4 0x4860
>
> so, where to go from here? what can i do? any suggestions to fix this
> annoying problem?
>
>
> i'm trying to boot dfly off my thinkpad t431s and obviously my wifi card is
> causing some problem:
>
>
> iwn0.pci3.pcib2.pci0.pcib0.acpi0.nexus0.root0
> iwn0: <Intel Centrino Advanced 6235> [tentative] mem 0xf0c00000-0xf0c01fff irq 1
> 7 at device 0.0 on pci3
> iwn0: Reserved 0x2000 bytes for rid 0x10 type 3 at 0xf0c00000
> iwn0: attempting to allocate 1 MSI vector (1 supported)
> alloc MSI intr 16 on cpu3
> iwn0: using IRQ 16 on cpu3 for MSI*iwn0: adapter type id : 0x088f **sub id :0x5260 rev 11 not supported (subdevice)*
> iwn0: could not attach device, error 45
> panic: MSI rid 1 is not setup
> cpuid = 0
> Trace beginning at frame 0xffffffff819718e0
> panic() at panic+0x236 0xffffffff805f8666
> panic() at panic+0x236 0xffffffff805f8666
> pci_teardown_intr() at pci_teardown_intr+0x2a1 0xffffffff8085c601
> iwn_detach() at iwn_detach+0xb9 0xffffffff804fbf89
> iwn_attach() at iwn_attach+0x7cb 0xffffffff804fc85b
> device_doattach() at device_doattach+0x45 0xffffffff80622555
> Debugger("panic")
>
> CPU0 stopping CPUs: 0x0000000e
> stopped
> Stopped at    Debugger+0x7c:    movb    $0,0xe67a49(%rip)
>
> after physically removing the wifi card and trying again it booted without
> issues. Also, i checked /sys/dev/netif/iwn/if_iwn.c
> <https://gitweb.dragonflybsd.org/dragonfly.git/blob/HEAD:/sys/dev/netif/iwn/if_iwn.c>
> [1] and from what i can tell my wifi card is listed there and
> /sys/dev/netif/iwn/fw/iwn60002g/Makefile
> <https://gitweb.dragonflybsd.org/dragonfly.git/blob/HEAD:/sys/dev/netif/iwn/fw/iwn6000g2b/Makefile>
> [2] contains the correct Firmware for it. [1]
> https://gitweb.dragonflybsd.org/dragonfly.git/blob/HEAD:/sys/dev/netif/iwn/if_iwn.c
> [2]
> https://gitweb.dragonflybsd.org/dragonfly.git/blob/HEAD:/sys/dev/netif/iwn/fw/iwn6000g2b/Makef
> <https://gitweb.dragonflybsd.org/dragonfly.git/blob/HEAD:/sys/dev/netif/iwn/fw/iwn6000g2b/Makefile>
>
>  [3] https://gitweb.dragonflybsd.org/dragonfly.git/blob/HEAD:/sys/dev/netif/iwn/if_iwn_devid.h
>
>
> --
> best regards,
>
> Tobi
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.dragonflybsd.org/pipermail/users/attachments/20181025/e0fb7050/attachment.html>


More information about the Users mailing list