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
[3]
https://gitweb.dragonflybsd.org/dragonfly.git/blob/HEAD:/sys/dev/netif/iwn/if_iwn_devid.h
--
best regards,
Tobi