Return to BSD News archive
Path: sserve!newshost.anu.edu.au!harbinger.cc.monash.edu.au!bunyip.cc.uq.oz.au!munnari.oz.au!news.Hawaii.Edu!ames!agate!howland.reston.ans.net!swrinde!ihnp4.ucsd.edu!pacbell.com!well!nigel.msen.com!cybernet.com!root From: root@cybernet.com (Operator (aka Mark)) Newsgroups: comp.os.386bsd.questions Subject: Re: SIO/COM driver 16550A limitations? Date: 21 Jul 1994 16:09:00 GMT Organization: Cybernet Systems, Inc. Lines: 28 Distribution: world Message-ID: <30m6it$2vc@nigel.msen.com> References: <1994Jul4.130216.19263@bruce.cs.monash.edu.au> <5ShJnqRLVPB@pro-042.proline.gun.de> NNTP-Posting-Host: 192.245.33.55 The reason that you are experiencing system lockup when you open the serial port is because the serial card you are using is probably SMC-based. The SMC emulation of a 16550A is bad, but it can be worked around. I've got a IDE/floppy/parallel/serial/game multifunction card with one of these SMC / SiS chipsets on it. There is a one line patch I got from the FreeBSD-core team to the 1.1.5.1 kernel file /sys/i386/isa/sio.c which fixes this problem. after line 747, add "(void) inb(com->data_port);". it should look something like: com->ftl_max = com->ftl_init; ++com->wopeners; (void) inb(com->data_port); /* added to fix bad SMC emulation of 16550A */ error = comparam(tp, &tp->t_termios); --com->wopeners; I've been running a 1.1.5.1 system as our Internet gateway via SL/IP on one of these bogus serial chips for a few days now (since I upgraded the processor and software). FreeBSD 2.0 will have the fix in it, so this chipset will not be a problem in the future. -Mark Taylor mtaylor@cybernet.com