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

Reply via email to