From owner-freebsd-questions Fri Jan 5 15:59:53 1996 Return-Path: owner-questions Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id PAA12253 for questions-outgoing; Fri, 5 Jan 1996 15:59:53 -0800 (PST) Received: from cats.ucsc.edu (root@cats-po-1.UCSC.EDU [128.114.129.22]) by freefall.freebsd.org (8.7.3/8.7.3) with SMTP id PAA12247 for ; Fri, 5 Jan 1996 15:59:49 -0800 (PST) Received: from scruz.ucsc.edu by cats.ucsc.edu with SMTP id PAA01439; Fri, 5 Jan 1996 15:59:31 -0800 Received: from osprey by scruz.ucsc.edu id aa21882; 5 Jan 96 15:29 PST Received: (from markd@localhost) by Grizzly.COM (8.6.12/8.6.9) id PAA00294; Fri, 5 Jan 1996 15:21:35 GMT Date: Fri, 5 Jan 1996 15:21:35 GMT Message-Id: <199601051521.PAA00294@Grizzly.COM> From: Mark Diekhans To: questions@freebsd.org Subject: PCMCIA modem problems Sender: owner-questions@freebsd.org Precedence: bulk I am trying to get the port of the 2.0 pcmcia driver and daemon to 2.1 posted by Dan Mutz working. The card I have is a Cardinal 28.8 modem. Everything seems to be working find. The kernel recognizes the insertion of the card: Jan 5 14:51:47 kestrel /kernel: qcic: card inserted in slot 0 If pcmciad is running when the card is inserted, the whole system locks up with the bell ringing until the card is removed. It doen't work much better if the card is inserted before pcmciad is started. However, if the system is booted with the card in the slot things work a lot better when pcmciad is started (see output below). The daemon recognizes the card and appears to configure the sio1 correctly: Jan 5 15:07:25 kestrel /kernel: sio1: type 16550A But any attempt to open /dev/cuaa1 just hangs. It would be perfectly acceptable to boot with the card in, so getting around the hand is enough. Bios is: PhoenixBIOS A486 1.03 04L Any help greatly appreciated, Mark ============================================================================== Output of debug pcmciad: ------------------------------------------------------------------------------ #pcmciad -v -d Card manuf Cardinal Technologi, vers MVP288C2 Configuration entries: Index code = 0x21, driver name = sio1 Device type = 2 Tuple code = 0x1, len = 2 Tuple code = 0x15, len = 40 Tuple code = 0x20, len = 4 Tuple code = 0x21, len = 2 Tuple code = 0x22, len = 4 Tuple code = 0x22, len = 9 Tuple code = 0x22, len = 9 Tuple code = 0x22, len = 9 Tuple code = 0x22, len = 13 Tuple code = 0x22, len = 9 Tuple code = 0x22, len = 9 Tuple code = 0x22, len = 18 Tuple code = 0x1a, len = 5 Tuple code = 0x1b, len = 20 Tuple code = 0x1b, len = 7 Tuple code = 0x1b, len = 7 Tuple code = 0x1b, len = 7 Tuple code = 0x1b, len = 3 Tuple code = 0xff, len = 0 Using I/O addr 0x2f8, size 8 Setting config reg at offs 0x200 to 0x21 Reset time = 50 ms Setting CCSR reg to 0x28 Assigning I/O window 0, start 0x2f8, size 0x8 Assign sio1, io 0x2f8, mem 0x0, 0 bytes, irq 3 ============================================================================== /etc/pcmcia.conf: ------------------------------------------------------------------------------ # # Pool parameters. # io 0x2F8 - 0x360 irq 3 memory 0xd4000 96k # # Card database. # card "Cardinal Technologi" "MVP288C2" tty config 0x21 "sio1" 3 device tty ============================================================================== sio1 entry in kernel config file ------------------------------------------------------------------------------ device sio1 at isa? port "IO_COM2" tty irq 3 vector siointr ============================================================================== Output of dumpcis: ------------------------------------------------------------------------------ Configuration data for card in slot 0 Tuple #1, code = 0x1 (Common memory descriptor), length = 2 000: 00 ff Common memory device information: Device number 1, type No device, WPS = OFF Speed = No speed, Memory block size = reserved, 32 units Tuple #2, code = 0x15 (Version 1 info), length = 40 000: 04 01 43 61 72 64 69 6e 61 6c 20 54 65 63 68 6e 010: 6f 6c 6f 67 69 65 73 00 4d 56 50 32 38 38 43 32 020: 00 30 32 31 00 41 00 ff Version = 4.1, Manuf = [Cardinal Technologies],card vers = [MVP288C2] Addit. info = [021],[A] Tuple #3, code = 0x20 (Manufacturer ID), length = 4 000: 13 00 00 00 PCMCIA ID = 0x13, OEM ID = 0x0 Tuple #4, code = 0x21 (Functional ID), length = 2 000: 02 00 Serial port/modem Tuple #5, code = 0x22 (Functional EXT), length = 4 000: 00 02 0f 5c Serial interface extension: 16550 UART, Parity - Space,Mark,Odd,Even, Tuple #6, code = 0x22 (Functional EXT), length = 9 000: 05 1f 0f 00 03 00 00 03 00 Modem interface capabilities: Tuple #7, code = 0x22 (Functional EXT), length = 9 000: 06 1f 0f cc 04 00 cc 04 00 Modem interface capabilities: Tuple #8, code = 0x22 (Functional EXT), length = 9 000: 07 1f 0f cc 04 00 cc 04 00 Modem interface capabilities: Tuple #9, code = 0x22 (Functional EXT), length = 13 000: 02 06 00 3f 39 03 03 0f 07 00 01 b5 ff Data modem services available: Tuple #10, code = 0x22 (Functional EXT), length = 9 000: 13 06 00 1f 00 7a 00 b5 ff Tuple #11, code = 0x22 (Functional EXT), length = 9 000: 23 06 00 1f 00 32 00 b5 ff Tuple #12, code = 0x22 (Functional EXT), length = 18 000: 84 06 00 0b 02 07 14 00 10 00 08 00 04 00 02 00 010: 00 00 Tuple #13, code = 0x1a (Configuration map), length = 5 000: 01 30 00 02 17 Reg len = 2, config register addr = 0x200, last config = 0x30 Registers: XXX-X--- Tuple #14, code = 0x1b (Configuration entry), length = 20 000: e0 41 9d 78 3d 86 46 26 4c e7 5f aa 60 f8 03 07 010: 30 bc 86 28 Config index = 0x20(default) Interface byte = 0x41 (I/O) +RDY/-BSY active Vcc pwr: Continuous supply current: 3.5 x 10mA Max current average over 1 second: 1 x 100mA, ext = 0x46 Max current average over 10 ms: 2 x 100mA Power down supply current: 4.5 x 1mA RDY/BSY scale Speed = 5.0 x 10 ms, scaled by 10 Card decodes 31 address lines, limited 8/16 Bit I/O IRQ modes: Pulse IRQs: NMI IOCK BERR VEND 0 1 2 3 4 6 9 11 13 15 Max twin cards = 0 Misc attr: (Audio-BVD2) (Read-only) (Power down supported) (Ext byte = 0x3) Tuple #15, code = 0x1b (Configuration entry), length = 7 000: 21 08 aa 60 f8 02 07 Config index = 0x21 Card decodes 10 address lines, 8 Bit I/O only I/O address # 1: block start = 0x2f8 block length = 0x8 Tuple #16, code = 0x1b (Configuration entry), length = 7 000: 22 08 aa 60 e8 03 07 Config index = 0x22 Card decodes 10 address lines, 8 Bit I/O only I/O address # 1: block start = 0x3e8 block length = 0x8 Tuple #17, code = 0x1b (Configuration entry), length = 7 000: 23 08 aa 60 e8 02 07 Config index = 0x23 Card decodes 10 address lines, 8 Bit I/O only I/O address # 1: block start = 0x2e8 block length = 0x8 Tuple #18, code = 0x1b (Configuration entry), length = 3 000: 30 08 23 Config index = 0x30 Card decodes 3 address lines, 8 Bit I/O only Tuple #19, code = 0xff (Terminator), length = 0 2 slots found ------------------------------------------------------------------------------