I have a 8.1-RELEASE i386 on a Lenovo T400. I have a generic kernel into which I compiled PF+ALTQ, VESA,SC_PIXEL_MODE, VIMAGE, IPSEC, crypto and IPSEC_DEBUG.
Earlier today, my usb dongle (Atheros AR5523) did not power up under a linux distro (debian) so I wanted to give it a go under FreeBSD.
Unfortunately, I got a fatal trap 12. Bellow I will describe 2 scenarios:
The OS is booted up, and I plug in the USB dongle. First, I get
- Code: Select all
Oct 31 21:01:37 i386 kernel: ugen7.2: <Atheros Communications Inc> at usbus7
Oct 31 21:01:37 i386 kernel: ugen7.2: <Atheros Communications Inc> at usbus7 (disconnected)
Laptop is powered down. I plug in the dongle and power it up. During the power on, I get some kind of error msg in dmesg (see "pic2"). The pc boots up fine, but when I unplug the dongle, I get the fatal trap again ("pic1").
I noticed the fatal trap was complaining about not being able to dump because no dump device was defined. So I defined one in [FILE]rc.conf[/FILE]:
- Code: Select all
Here is the output of kgdb:
- Code: Select all
# kgdb kernel.debug /var/crash/vmcore.0
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-marcel-freebsd"...
Unread portion of the kernel message buffer:
ugen7.2: <Atheros Communications Inc> at usbus7
uath0: <Atheros Communications Inc AR5523, rev 2.00/0.01, addr 2> on usbus7
Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 00
fault virtual address = 0x18
fault code = supervisor read, page not present
instruction pointer = 0x20:0xc098b1ad
stack pointer = 0x28:0xe5fb9adc
frame pointer = 0x28:0xe5fb9aec
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 = 14 (usbus7)
trap number = 12
panic: page fault
cpuid = 0
Physical memory: 1925 MB
Dumping 93 MB: 78 62 46 30 14
Reading symbols from /boot/kernel/linux.ko...Reading symbols from /boot/kernel/linux.ko.symbols...done.
Loaded symbols for /boot/kernel/linux.ko
Reading symbols from /boot/kernel/snd_hda.ko...Reading symbols from /boot/kernel/snd_hda.ko.symbols...done.
Loaded symbols for /boot/kernel/snd_hda.ko
Reading symbols from /boot/kernel/sound.ko...Reading symbols from /boot/kernel/sound.ko.symbols...done.
Loaded symbols for /boot/kernel/sound.ko
Reading symbols from /boot/kernel/ahci.ko...Reading symbols from /boot/kernel/ahci.ko.symbols...done.
Loaded symbols for /boot/kernel/ahci.ko
Reading symbols from /boot/kernel/atapicam.ko...Reading symbols from /boot/kernel/atapicam.ko.symbols...done.
Loaded symbols for /boot/kernel/atapicam.ko
Reading symbols from /boot/kernel/acpi_ibm.ko...Reading symbols from /boot/kernel/acpi_ibm.ko.symbols...done.
Loaded symbols for /boot/kernel/acpi_ibm.ko
Reading symbols from /boot/kernel/linprocfs.ko...Reading symbols from /boot/kernel/linprocfs.ko.symbols...done.
Loaded symbols for /boot/kernel/linprocfs.ko
#0 doadump () at pcpu.h:246
246 __asm __volatile("movl %%fs:0,%0" : "=r" (td));
Unfortunately for me, I can't make heads or tails of it.
Anyway, since the device was not working under Linux plus FreeBSD, I thought it had some hardware problem but then, I tried it under a Win 7 x64 box and bam, it worked.
I know there are no drivers for AR5523 under FreeBSD but my question is this, why is the kernel crashing ? It doesn't look good to me.