Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 24 Sep 2009 22:47:43 +0200
From:      "Paul B. Mahol" <onemda@gmail.com>
To:        Raphael Kubo da Costa <kubito@gmail.com>
Cc:        freebsd-current@freebsd.org
Subject:   Re: 8.0RC1 - Kernel panic when loading a ndisgen-generated module  (rtl8180_sys)
Message-ID:  <3a142e750909241347w1f7ba8e2jd6c98d7810aaf28b@mail.gmail.com>
In-Reply-To: <68c3445d0909240808l4d254c84i4a431701ed10cbfa@mail.gmail.com>
References:  <68c3445d0909212153rf19ec23p81ecc0a070f6d594@mail.gmail.com> <3a142e750909220343k153daac0xc00099fc09c176ac@mail.gmail.com> <68c3445d0909220551k33973d38iccf20c030a00b6c8@mail.gmail.com> <3a142e750909221420m29ae8302t71ed9558c77542f4@mail.gmail.com> <68c3445d0909221449g62904ae7pa4deb939baf4be1@mail.gmail.com> <3a142e750909221453l25d5dc8eifcbe70b39ced2ea8@mail.gmail.com> <68c3445d0909232143r623d9d2ex768578ff6c26d3b9@mail.gmail.com> <3a142e750909240244h59a4a001o13a4a7a46e7a75a1@mail.gmail.com> <68c3445d0909240546n371fe467wbf7ffb7284a9099@mail.gmail.com> <68c3445d0909240808l4d254c84i4a431701ed10cbfa@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 9/24/09, Raphael Kubo da Costa <kubito@gmail.com> wrote:
> 2009/9/24 Raphael Kubo da Costa <kubito@gmail.com>:
>> 2009/9/24 Paul B. Mahol <onemda@gmail.com>:
>>> On 9/24/09, Raphael Kubo da Costa <kubito@gmail.com> wrote:
>>>> 2009/9/22 Paul B. Mahol <onemda@gmail.com>:
>>>>> On 9/22/09, Raphael Kubo da Costa <kubito@gmail.com> wrote:
>>>>>> While I'm not at home to do the other things you've mentioned: I don't
>>>>>> even have time to run ifconfig - I've commented out the lines enabling
>>>>>> ndis, if_ndis and rtl8180_sys in /boot/loader.conf. I just run kldload
>>>>>> rtl8180_sys the kernel panics automatically.
>>>>>
>>>>> Just make sure you are using correct kernel source files(8.0 and not
>>>>> 7.X).
>>>>
>>>> Well, after trying to fix things I ended up with a system that
>>>> wouldn't even boot. So I formatted everything and installed 8.0-RC1
>>>> from the DVD.
>>>
>>> Does this installation installed new 8.0-RC1 sources in /sys ?
>> Yes.
>>
>>>> ndisgen worked fine and I was able to load the module I had generated.
>>>> However, wpa_supplicant does not work, and always writes the following
>>>
>>> With what arguments did wpa_supplicant start?
>> I just ran /etc/rc.d/netif restart, so I'm not 100% sure. -D ndis -i
>> ndis0 -c /etc/wpa_supplicant.conf, I guess, since when I ran it with
>> these arguments the same errors were printed.
>>>
>>>> error messages after I try to use /etc/rc.d/netif restart:
>>>>
>>>> Sep 24 01:30:53 borges wpa_supplicant[1689]: Failed to initialize
>>>> driver interface
>>>> ifconfig: ioctl(SIOCAIFADDR): Invalid argument
>>>> ioctl[SIOCG80211, op 98, len 32]: Invalid argument
>>>>
>>>> When I unloaded the ndis, if_ndis and rtl8180_sys modules and tried to
>>>> kldload the latter, the kernel panicked again.
>>>>
>>>> Fatal trap 12: page fault while in kernel mode
>>>> cpuid = 0; apic id = 00
>>>> fault virtual address   = 0xc4b3631a
>>>> fault code              = supervisor read, page not present
>>>> instruction pointer     = 0x20:0xc4b136b3
>>>> stack pointer           = 0x28:0xe3617a44
>>>> frame pointer           = 0x28:0xe3617aac
>>>> code segment            = base 0x0, limit 0xfffff, type 0x1b
>>>>                         = DPL 0, pres 1, def32 1, gran 1
>>>> processor eflags        = interrupt enabled, resume, IOPL = 0
>>>> current process         = 2223 (ifconfig)
>>>
>>> But ifconfig is here again. So panic did not happened while loading
>>> module.
>> Is there anything I can do to get more information about this?
>>>
>>>> trap number             = 12
>>>> panic: page fault
>>>> cpuid = 0
>>>> Uptime: 6m6s
>>>> Physical memory: 883 MB
>>>> Dumping 69 MB: 54 38 22 6
>>>>
>>>>
>>>> Reading symbols from /boot/kernel/if_ndis.ko...Reading symbols from
>>>> /boot/kernel/if_ndis.k
>>>> o.symbols...done.
>>>> done.
>>>> Loaded symbols for /boot/kernel/if_ndis.ko
>>>> Reading symbols from /boot/kernel/ndis.ko...Reading symbols from
>>>> /boot/kernel/ndis.ko.symb
>>>> ols...done.
>>>> done.
>>>> Loaded symbols for /boot/kernel/ndis.ko
>>>> Reading symbols from /boot/modules/rtl8180_sys.ko...done.
>>>> Loaded symbols for /boot/modules/rtl8180_sys.ko
>>>> #0  doadump () at pcpu.h:246
>>>> 246     pcpu.h: No such file or directory.
>>>>         in pcpu.h
>>>> (kgdb) #0  doadump () at pcpu.h:246
>>>> #1  0xc08823c7 in boot (howto=260) at
>>>> /usr/src/sys/kern/kern_shutdown.c:416
>>>> #2  0xc08826b9 in panic (fmt=Variable "fmt" is not available.
>>>> ) at /usr/src/sys/kern/kern_shutdown.c:579
>>>> #3  0xc0bb346c in trap_fatal (frame=0xe3617a04, eva=3300090650)
>>>>     at /usr/src/sys/i386/i386/trap.c:933
>>>> #4  0xc0bb36f0 in trap_pfault (frame=0xe3617a04, usermode=0,
>>>> eva=3300090650)
>>>>     at /usr/src/sys/i386/i386/trap.c:846
>>>> #5  0xc0bb40d5 in trap (frame=0xe3617a04) at
>>>> /usr/src/sys/i386/i386/trap.c:528
>>>> #6  0xc0b96a4b in calltrap () at /usr/src/sys/i386/i386/exception.s:165
>>>> #7  0xc4b136b3 in ndis_rtl8180_sys_drv_data_start ()
>>>>    from /boot/modules/rtl8180_sys.ko
>>>> Previous frame inner to this frame (corrupt stack?)
>>>> (kgdb)
>>>>
>>>
>>> The backtrace is useless - dead end.
>
> OK, I finally got things to work.
>
> After finally reading UPDATING, I found out that I needed to change my
> ifconfig_ndis="WPA blablabla" line in rc.conf to
>   wlans_ndis0=wlan0
>   ifconfig_wlan0="WPA blablabla"
>
> I did that without rebooting, things still didn't work, I kldunloaded
> and kldloaded rtl8180_sys and the kernel panicked again.
>
> However, after the reboot everything worked as expected.

Yeah, there are issues with vap being used uninitaliazed. I though that
I already covered all possible cases but I was wrong.

-- 
Paul



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3a142e750909241347w1f7ba8e2jd6c98d7810aaf28b>