Date: Sat, 9 May 1998 21:29:13 +1000 (EST) From: Gavin Cameron <gavin@itworks.com.au> To: Bruce Evans <bde@zeta.org.au> Cc: freebsd-hardware@FreeBSD.ORG Subject: Re: Serial port problems Message-ID: <Pine.BSF.3.96.980509212554.11121l-100000@itw.itworks.com.au> In-Reply-To: <199805091115.VAA30393@godzilla.zeta.org.au>
next in thread | previous in thread | raw e-mail | index | archive | help
Stoping in sioprobe() and single stepping give me the following Probing for devices on the ISA bus: Breakpoint at _sioprobe: pushl %ebp db> s Stopped at _sioprobe+0x1: movl %esp,%ebp db> Stopped at _sioprobe+0x3: subl $0x1c,%esp db> Stopped at _sioprobe+0x6: pushl %edi db> Stopped at _sioprobe+0x7: pushl %esi db> Stopped at _sioprobe+0x8: pushl %ebx db> Stopped at _sioprobe+0x9: cmpb $0,_already_init.114 db> Stopped at _sioprobe+0x10: jnz _sioprobe+0x48 db> Stopped at _sioprobe+0x12: movl $0xf0201870,%ecx db> Stopped at _sioprobe+0x17: cmpl $0,_isa_devtab_tty+0x4 db> Stopped at _sioprobe+0x1e: jz _sioprobe+0x41 db> Stopped at _sioprobe+0x20: cmpl $0xf02001f4,0x4(%ecx) db> Stopped at _sioprobe+0x27: jnz _sioprobe+0x38 db> Stopped at _sioprobe+0x29: cmpl $0,0x34(%ecx) db> Stopped at _sioprobe+0x2d: jz _sioprobe+0x38 db> Stopped at _sioprobe+0x2f: movl 0x8(%ecx),%edx db> Stopped at _sioprobe+0x32: addl $0x4,%edx db> Stopped at _sioprobe+0x35: xorb %al,%al db> Stopped at _sioprobe+0x37: outb %al,%dx db> cu: Got hangup signal Disconnected. gavin@ferret {143} : cu -l cuaa1 -s 9600 Connected. Stopped at _sioprobe+0x3b: cmpl $0,0x4(%ecx) db> s Stopped at _sioprobe+0x3f: jnz _sioprobe+0x20 db> Stopped at _sioprobe+0x20: cmpl $0xf02001f4,0x4(%ecx) db> Stopped at _sioprobe+0x27: jnz _sioprobe+0x38 db> Stopped at _sioprobe+0x29: cmpl $0,0x34(%ecx) db> Stopped at _sioprobe+0x2d: jz _sioprobe+0x38 db> Stopped at _sioprobe+0x2f: movl 0x8(%ecx),%edx db> Stopped at _sioprobe+0x32: addl $0x4,%edx db> Stopped at _sioprobe+0x35: xorb %al,%al db> Stopped at _sioprobe+0x37: outb %al,%dx db> Does this shed light for anyone? Thanks Gavin []------------------------------------+-------------------------------------[] | Gavin Cameron | ITworks Consulting | | Ph : 0418 390350 | Suite 100, 85 Grattan Street | | Fax : +61 3 9347 6544 | Carlton, Victoria | | Email : gavin@itworks.com.au | Australia, 3053 | []------------------------------------+-------------------------------------[] On Sat, 9 May 1998, Bruce Evans wrote: > >I've just acquired 2 servers to run 2.2.6-RELEASE on. They are both using > >Iwill P55XUB motherboards. The book that came with the motherboard says > >that the onboard serial ports are NS16C550 compatible. > > It apparently misspells `incompatible' :-). There have been several > reports that serial ports on Iwills don't work under FreeBSD. > > >If I boot up using a serial console I get the boot messages coming through > >loud and clear (so the serial port was probed and is working), but the > > This doesn't follow. The boot messages are printed by an independent part > of the driver that doesn't probe the ports or use interrupts. > > >kernel panic as soon as is probes for the serial ports. The last message > >before the cu session closed is > > Probing for devices ocu: Got hangup signal > > > >which is the probing of the ISA bus message. > > > >If I cu again and enter cont into ddb I get > > > >Fatal trap 12: page fault while in kernel mode > >fault virtual address = 0x4 > >fault code = supervisor read, page not present > >instruction pointer = 0x8:0xf01c37ee > >stack pointer = 0x10:0xefbfff80 > >frame pointer = 0x10:0xefbfff80 > >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 = 0 () > >interrupt mask = > >kernel: type 12 trap, code=0 > >Stopped at _cninit_finish+0x26: movl 0x4(%edx),%eax > > The panic is caused by a null pointer bug (cdevsw[SIO_MAJOR] = 0, and > cninit_finish() doesn't check). It shows that all sio probes failed, > but we already know that. > > The hangup is more interesting. The console output routines attempt to > switch the h/w state so that you can debug sio probes using sio output, > but switching the DTR state back off might cause avoidable hangups, so > DTR is left on. > > To debug the probes, you have to start earlier. Boot with -d and put > a breakpoint at sioprobe() and look around. > > Bruce > To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hardware" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.96.980509212554.11121l-100000>