On Fri, Jun 22, 2018 at 04:04:17PM +0200, Paul de Weerd wrote:
| On Fri, Jun 22, 2018 at 03:55:55PM +0200, Stefan Sperling wrote:
| | On Fri, Jun 22, 2018 at 03:51:54PM +0200, Stefan Sperling wrote:
| | > You could try chasing the problem into bwfm_attachhook() (if_bwfm_pci.c).
| |
| | Clarification: The attachhook function is in dev/ic/bwfm.c, but the
| | flow will end up somewhere in bwfm_pci_preinit() in dev/pci/if_bwfm_pci.c
|
| Thanks Stefan, I'll try that next.
|
| Note that bwfm(4) doesn't work in this machine. When I try to bring
| the interface up (before this weird behaviour), I get:
|
| bwfm_pci_intr: handle MB data
| bwfm0: timeout waiting for ioctl response
| (last line repeated several times)
|
| Subsequent runs of `ifconfig bwfm0 scan` result in no APs being found.
|
| I'll sprinkle some more printf's in there later tonight and report
| back.
After adding some debugging printfs to if_bwfm_pci.c, the machine
boots fine (albeit with some extra verbosity in dmesg).
Here's the bits that bwfm0 gave me with my local diff:
bwfm0: [pdw] bwfm_pci_preinit starting...
bwfm0: [pdw] bwfm_chip_attach starting...
bwfm0: [pdw] bwfm_pci_select_core starting...
bwfm0: [pdw] loadfirmware (ucode) starting...
bwfm0: [pdw] loadfirmware (nvram) starting...
bwfm0: [pdw] bwfm_pci_load_microcode starting...
bwfm0: [pdw] bwfm_pci_setup_ring starting...
bwfm0: [pdw] bwfm_pci_select_core starting...
bwfm0: [pdw] bwfm_pci_intr_enable starting...
bwfm0: [pdw] bwfm_pci_intr_enable done...
bwfm0: [pdw] bwfm_pci_fill_rx_rings starting...
bwfm0: [pdw] bwfm_pci_fill_rx_rings done...
And after that the original (snapshot) kernel also works fine again.
OK, I'm confused. Could it be that the hardware remembers some weird
state which breaks booting OpenBSD? I'll continue trying to
reproduce...
Paul
--
>++++++++[<++++++++++>-]<+++++++.>+++[<------>-]<.>+++[<+
+++++++++++>-]<.>++[<------------>-]<+.--------------.[-]
http://www.weirdnet.nl/