Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: wm0 Driver



When I do 'ifconfig -m wm0', I get the following list:
media 1000baseSX
media 1000baseSX mediaopt full-duplex
media autoselect

Setting ddb.commandonenter=trace gives me a page of callback
information, but I can't go any farther right now.  Is there any way I
could set the system to automatically create a core file and reboot? 
Perhaps that would allow generation of more information after the system
resets.

The unit runs great until I try to initialize the wm(n) device.

David



>>> Eric Haszlakiewicz <erh%nimenees.com@localhost> 9/14/2008 8:31 PM >>>
On Sun, Sep 14, 2008 at 08:50:57PM +0200, Havard Eidnes wrote:
> > 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
> is 11):
> 
> (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:
> 
> static int 
> wm_tbi_mediachange(struct ifnet *ifp)
> {        
>         struct wm_softc *sc = ifp->if_softc;
>         struct ifmedia_entry *ife = sc->sc_mii.mii_media.ifm_cur;
>         uint32_t status;
>         int i;
> 
> 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).

Actually, 0xb looks like it's the second line: it's the second memory
op in the disassembled code, and it has no offset which matches up
with if_softc being the first field in the structure.  So, I'm
guessing
it's ifp->if_softc that is null.

eric
BEGIN:VCARD
VERSION:2.1
X-GWTYPE:USER
FN:David Dudley
TEL;WORK:826-1265
ORG:;MIS
TEL;PREF;FAX:880-3741
EMAIL;WORK;PREF;NGW:DavidDu%cctexas.com@localhost
N:Dudley;David
TITLE:Functional Analyst
END:VCARD



Home | Main Index | Thread Index | Old Index