[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: wm0 Driver
> Now, each of these machines has at least 1 Intel PRO/1000 multimode
> fiber network card. Guess what? When I try to enable one of them, I
> get 'fatal page fault in supervisor mode'. Additional statements are
> 'trap type 6 code 0 eip c05ff9bb cs 8 eflags 10286 cr 2 0 ilevel 6'
> 'kernel: supervisor trap page fault, code=0'
> 'Stopped in pid 1368.1 (ifconfig) at netbsd:wm_tbi_mediachange+0xb
> movl 0(%eax),%esi'
Disassembly of the first part of wm_tbi_mediachange follows(0xb
(gdb) x/20i wm_tbi_mediachange
0x6c0 <wm_tbi_mediachange>: push %ebp
0x6c1 <wm_tbi_mediachange+1>: mov %esp,%ebp
0x6c3 <wm_tbi_mediachange+3>: push %esi
0x6c4 <wm_tbi_mediachange+4>: push %ebx
0x6c5 <wm_tbi_mediachange+5>: sub $0x10,%esp
0x6c8 <wm_tbi_mediachange+8>: mov 0x8(%ebp),%eax
0x6cb <wm_tbi_mediachange+11>: mov (%eax),%esi
0x6cd <wm_tbi_mediachange+13>: mov 0x26c(%esi),%ebx
This is early in wm_tbi_mediachange(), which starts with:
wm_tbi_mediachange(struct ifnet *ifp)
struct wm_softc *sc = ifp->if_softc;
struct ifmedia_entry *ife = sc->sc_mii.mii_media.ifm_cur;
I'm guessing ifp is null. How that can be I don't know, though.
You could try setting ddb.commandonenter to "trace" using sysctl,
perhaps, and thereby gather some more info (if you can't follow
up on the serial console idea).
You could also try defining IFMEDIA_DEBUG and setting
ifmedia_debug to 1 in sys/net/if_media.c, I suspect
wm_tbi_mediachange() is being called from there.
Also, are you able to do "ifconfig -m wm<n>" for these cards, and
does the list you get from that include any optical media types?
Main Index |
Thread Index |