Request for testers: Option 3G cards, also Sierra, Huawei and
Novatel
Vladimir Grebenschikov
vova at fbsd.ru
Tue Nov 25 23:58:48 PST 2008
On Wed, 2008-11-05 at 13:51 +0100, Nick Hibma wrote:
> >> We've had this problem with an EDGE card from Option, and we
> basically power
> >> down the port and power up again the card to get it back. Patches
> have been
> >> sent to Warner to get committed.
> > Nice, are these patches attached to some PR ?
>
> PR should appear soonish. I've just submitted the PR. See
>
> http://www.freebsd.org/cgi/query-pr-summary.cgi?category=&severity=&priority=&class=&state=&sort=none&text=&responsible=&multitext=&originator=hibma&release=
I've tried patch from PR - result is panic on 'sysctl
dev.cbb.0.powered=0':
# kgdb /boot/kernel/kernel /var/crash/vmcore.0
GNU gdb 6.1.1 [FreeBSD]
...
Unread portion of the kernel message buffer:
ucom0: ucomreadcb: CANCELLED
ucom0: detached
unknown: at uhub6 port 1 (addr 2) disconnected
Fatal trap 12: page fault while in kernel mode
fault virtual address = 0x400
fault code = supervisor read, page not present
instruction pointer = 0x20:0xc0577c54
stack pointer = 0x28:0xc4b3fb44
frame pointer = 0x28:0xc4b3fb64
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 = 6 (cbb0 event thread)
Physical memory: 2038 MB
Dumping 180 MB: 165 149 133 117 101 85 69 53 37 21 5
...
#0 doadump () at pcpu.h:246
246 __asm __volatile("movl %%fs:0,%0" : "=r" (td));
(kgdb) bt
#0 doadump () at pcpu.h:246
#1 0xc0477f29 in db_fncall (dummy1=0, dummy2=0, dummy3=-1066028784, dummy4=0xc4b3f8e8 "0'��,\004") at /usr/src/sys/ddb/db_command.c:548
#2 0xc0478321 in db_command (last_cmdp=0xc0744c1c, cmd_table=0x0, dopager=1) at /usr/src/sys/ddb/db_command.c:445
#3 0xc047847a in db_command_loop () at /usr/src/sys/ddb/db_command.c:498
#4 0xc047a2bd in db_trap (type=12, code=0) at /usr/src/sys/ddb/db_main.c:229
#5 0xc0577404 in kdb_trap (type=12, code=0, tf=0xc4b3fb04) at /usr/src/sys/kern/subr_kdb.c:534
#6 0xc06b0fcf in trap_fatal (frame=0xc4b3fb04, eva=1024) at /usr/src/sys/i386/i386/trap.c:920
#7 0xc06b1270 in trap_pfault (frame=0xc4b3fb04, usermode=0, eva=1024) at /usr/src/sys/i386/i386/trap.c:842
#8 0xc06b1bd2 in trap (frame=0xc4b3fb04) at /usr/src/sys/i386/i386/trap.c:522
#9 0xc0698d9b in calltrap () at /usr/src/sys/i386/i386/exception.s:165
#10 0xc0577c54 in kobj_delete (obj=0xc6a0e300, mtype=0xc072a4c0) at /usr/src/sys/kern/subr_kobj.c:332
#11 0xc0571ea4 in device_delete_child (dev=0xc557cd80, child=0xc6a0e300) at /usr/src/sys/kern/subr_bus.c:1657
#12 0xc0921e88 in usb_disconnect_port (up=0xc557c4b0, parent=0xc557cd80) at /usr/src/sys/modules/usb/../../dev/usb/usb_subr.c:1378
#13 0xc091fc22 in uhub_detach (self=0xc557cd80) at /usr/src/sys/modules/usb/../../dev/usb/uhub.c:575
#14 0xc0571c38 in device_detach (dev=0xc557cd80) at device_if.h:212
#15 0xc0571e41 in device_delete_child (dev=0xc557c280, child=0xc557cd80) at /usr/src/sys/kern/subr_bus.c:1651
#16 0xc0571e2c in device_delete_child (dev=0xc70ab600, child=0xc557c280) at /usr/src/sys/kern/subr_bus.c:1646
#17 0xc0989cae in ohci_pci_detach (self=0xc70ab600) at /usr/src/sys/modules/ohci/../../dev/usb/ohci_pci.c:369
#18 0xc0571c38 in device_detach (dev=0xc70ab600) at device_if.h:212
#19 0xc04b732d in cardbus_detach_card (cbdev=0xc4db1000) at /usr/src/sys/dev/cardbus/cardbus.c:237
#20 0xc04c8bc2 in cbb_event_thread (arg=0xc4d6b000) at card_if.h:95
#21 0xc052c290 in fork_exit (callout=0xc04c8a10 <cbb_event_thread>, arg=0xc4d6b000, frame=0xc4b3fd38) at /usr/src/sys/kern/kern_fork.c:815
#22 0xc0698e10 in fork_trampoline () at /usr/src/sys/i386/i386/exception.s:270
(kgdb) fr 11
#11 0xc0571ea4 in device_delete_child (dev=0xc557cd80, child=0xc6a0e300) at /usr/src/sys/kern/subr_bus.c:1657
1657 kobj_delete((kobj_t) child, M_BUS);
(kgdb) p child
$1 = 0xc6a0e300
(kgdb) p *child
$2 = {ops = 0x0, link = {tqe_next = 0x0, tqe_prev = 0xc557cd98}, devlink = {tqe_next = 0x0, tqe_prev = 0xc697de8c}, parent = 0xc557cd80, children = {
tqh_first = 0x0, tqh_last = 0xc6a0e318}, driver = 0x0, devclass = 0x0, unit = -1, nameunit = 0x0, desc = 0x0, busy = 0, state = DS_NOTPRESENT,
devflags = 0, flags = 37, order = 0 '\0', pad = 0 '\0', ivars = 0xc6f01100, softc = 0x0, sysctl_ctx = {tqh_first = 0xc70dd4c0, tqh_last = 0xc70dd094},
sysctl_tree = 0x0}
(kgdb)
Looks strange for me:
children = { tqh_first = 0x0, tqh_last = 0xc6a0e318 }
Do I need to provide any other info from stack/kernel objects ?
> Nick
--
Vladimir B. Grebenschikov
vova at fbsd.ru
More information about the freebsd-current
mailing list