Date: Thu, 2 Nov 2006 08:26:23 GMT From: Alexander Kirillov<benamrun@yandex.ru> To: freebsd-gnats-submit@FreeBSD.org Subject: i386/105063: US Robotics (3Com) 3CP5609 PCI 16550 Modem works bad in FreeBSD 5.4, 6.1 Message-ID: <200611020826.kA28QNvL022148@www.freebsd.org> Resent-Message-ID: <200611020830.kA28UKi3013536@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 105063 >Category: i386 >Synopsis: US Robotics (3Com) 3CP5609 PCI 16550 Modem works bad in FreeBSD 5.4, 6.1 >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-i386 >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Thu Nov 02 08:30:19 GMT 2006 >Closed-Date: >Last-Modified: >Originator: Alexander Kirillov >Release: 5.4, 6.1 >Organization: >Environment: FreeBSD avc.orionet.ru 6.1-RELEASE FreeBSD 6.1-RELEASE #0: Sun May 7 04:32:43 UTC 2006 root@opus.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386 >Description: After plugging modem in motherboard: I. At boot time (with sio2 & sio3 commented in /boot/device.hints): sio0: <3COM PCI FaxModem> port 0xe000-0xe007 irq 11 at device 13.0 on pci0 sio0: moving to sio2 sio2: type 16550A fdc0: <floppy drive controller> port 0x3f2-0x3f5,0x3f7 irq 6 drq 2 on acpi0 fdc0: [FAST] fd0: <1440-KB 3.5" drive> on fdc0 drive 0 can't re-use a leaf (%desc)! can't re-use a leaf (%driver)! can't re-use a leaf (%location)! can't re-use a leaf (%pnpinfo)! can't re-use a leaf (%parent)! sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0 sio0: type 16550A sio1: <16550A-compatible COM port> port 0x2f8-0x2ff irq 3 on acpi0 sio1: type 16550A II. After boot: 1) Configuring /etc/ppp/ppp.conf to work with that modem, starting ppp in interactive mode, entering terminal mode. 2) On ttyv0 appeared message "Interrupt storm detected on "irq11:"; throttling interrupt source" 3) a) By typing something in terminal (for ex., ATI4), we recieve modem echo with delay in 1 symbol (typing "A" -- got nothing, typing "T" -- got "A" and so on). b) Modem response (for "ATI4" in our case) we can recieve only with typing something in terminal -- for ex., pressing ENTER multiple times. One symbol of response per one pressing. >How-To-Repeat: Described in previous field. >Fix: I think that code in /usr/src/sys/dev/sio/sio_pci.c for moving serial port from sio0 to first empty sioX is uncorrect. Function sio_pci_kludge_unit, line 131: "err = device_set_unit(dev, unit); /* EVIL DO NOT COPY */" Anyway, my fixing way was: 1. enable in kernel "device puc", rebuild kernel. For FreeBSD 5.4 it will be enough: modem will be detected as puc0 and starts work correctly. 2. In 6.1, I think, code of sio_pci.c loads before code of /usr/src/sys/puc/puc_pci.c; than we need also (before kernel rebuild) to comment id line for our modem in sio_pci.c -- line 71, after "static struct pci_ids pci_ids[] = {". I think that all modems listed there will cause problems identically to my one. >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200611020826.kA28QNvL022148>