Re: 8.0RC1 - Kernel panic when loading a ndisgen-generated module (rtl8180_sys)

From: Raphael Kubo da Costa <kubito_at_gmail.com>
Date: Thu, 24 Sep 2009 12:08:45 -0300
2009/9/24 Raphael Kubo da Costa <kubito_at_gmail.com>:
> 2009/9/24 Paul B. Mahol <onemda_at_gmail.com>:
>> On 9/24/09, Raphael Kubo da Costa <kubito_at_gmail.com> wrote:
>>> 2009/9/22 Paul B. Mahol <onemda_at_gmail.com>:
>>>> On 9/22/09, Raphael Kubo da Costa <kubito_at_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.
Received on Thu Sep 24 2009 - 13:08:46 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:56 UTC