From owner-freebsd-mobile Thu Oct 23 13:28:04 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id NAA25315 for mobile-outgoing; Thu, 23 Oct 1997 13:28:04 -0700 (PDT) (envelope-from owner-freebsd-mobile) Received: from fatman.i-pi.com (fatman.i-pi.com [198.49.217.3]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id NAA25282 for ; Thu, 23 Oct 1997 13:27:58 -0700 (PDT) (envelope-from ingham@i-pi.com) Received: (from ingham@localhost) by fatman.i-pi.com (8.8.5/8.8.5) id OAA13712; Thu, 23 Oct 1997 14:27:55 -0600 (MDT) Message-ID: <19971023142754.64160@fatman.i-pi.com> Date: Thu, 23 Oct 1997 14:27:55 -0600 From: Kenneth Ingham To: mobile@freebsd.org Subject: 2.2.5-RELEASE and PC Cards Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Mailer: Mutt 0.67 Sender: owner-freebsd-mobile@freebsd.org X-Loop: FreeBSD.org Precedence: bulk Sigh. I'm fairly sure that I have seen the answer to this go by recently, but I can't find it searching the mailing list archives at www.freebsd.org. I just upgraded my laptop which used to run 2.2.2+PAO to 2.2.5-RELEASE. The upgrade went OK except for the PCCArds no longer work. I built a new kernel with the ep, crd, and pcic drivers and booted it. Relevant parts of the boot messages (from dmesg) are: FreeBSD 2.2.5-RELEASE #0: Wed Oct 22 21:04:11 MDT 1997 ingham@socrates.i-pi.com:/usr/src/sys/compile/SOCRATES CPU: i486 DX4 (486-class CPU) Origin = "GenuineIntel" Id = 0x480 Stepping=0 Features=0x3 pccard driver sio added sio0 at 0x3f8-0x3ff irq 4 on isa sio0: type 16550A sio1 not found at 0x2f8 sio2 not found at 0x3e8 sio3 not found at 0x2e8 pccard driver ep added ep0 not found at 0x300 apm0 on isa apm: found APM BIOS version 1.1 PC-Card Vadem 468 (5 mem & 2 I/O windows) pcic: controller irq 3 Card inserted, slot 1 Card inserted, slot 0 I've verified with pccardc dumpcis that the manufacturer and version match. This is not the PAO pccard.conf file that I was using (but it didn't work either). In fact, here's my pccard.conf file (I removed everything except the info for the cards I am trying to use (hmmm, the date in this is old, but I didn't see a newer one in the upgrade files): # Sample PCCARD configuration file # # Removing all IRQ conflicts from this file can't be done because of some # IRQ-selfish PC-cards. So if you want to use some of these cards in # your machine, you will be forced to modify their IRQ parameters from # the following list. # # IRQ == 0 means "allocate free IRQ from IRQ pool" # IRQ == 16 means "do not use IRQ (e.g. PIO mode)" # # $Id: pccard.conf.sample,v 1.4 1996/06/19 01:28:07 nate Exp $ # Generally available IO ports io 0x240-0x360 # Generally available IRQs (Built-in sound-card owners remove 5) irq 3 5 10 11 13 15 # Available memory slots memory 0xd4000 96k # 3Com Etherlink III 3C589B, 3C589C card "3Com Corporation" "3C589" config 0x1 "ep0" ? insert echo 3Com Etherlink III inserted insert /etc/pccard_ether ep0 -link0 link1 # insert /etc/pccard_ether ep0 link0 -link1 remove echo 3Com Etherlink III removed remove /sbin/ifconfig ep0 delete # US Robotics Sportster PCMCIA V.34 # US Robotics COURIER PCMCIA V.34 card "USRobotics" "PCMCIA 28800 Data/Fax" config 0x3 "sio2" 3 insert echo USRobotics PCMCIA Modem inserted remove echo USRobotics PCMCIA Modem removed And, I used the undocumented pccardc dumpcis on the cards and got the following. USR Sportster: code Manufacturer ID ignored Code 129 not found Code 129 not found code Unknown ignored Configuration data for card in slot 0 Tuple #1, code = 0x1 (Common memory descriptor), length = 3 000: 00 01 ff Common memory device information: Device number 1, type No device, WPS = OFF Speed = No speed, Memory block size = 2Kb, 1 units Tuple #2, code = 0x15 (Version 1 info), length = 41 000: 04 01 55 53 52 6f 62 6f 74 69 63 73 00 50 43 4d 010: 43 49 41 20 32 38 38 30 30 20 44 61 74 61 2f 46 020: 61 78 00 56 36 2e 31 00 ff Version = 4.1, Manuf = [USRobotics],card vers = [PCMCIA 28800 Data/Fax] Addit. info = [V6.1],[ÿ] Tuple #3, code = 0x0 (Null tuple), length = 9 000: 15 01 30 37 34 39 2d 00 ff Tuple #4, code = 0x21 (Functional ID), length = 3 000: 02 00 ff Serial port/modem Tuple #5, code = 0x22 (Functional EXT), length = 4 000: 00 02 0f 7c Serial interface extension: 16550 UART, Parity - Space,Mark,Odd,Even, Tuple #6, code = 0x22 (Functional EXT), length = 9 000: 01 1f 09 00 08 00 00 06 00 Modem interface capabilities: Tuple #7, code = 0x22 (Functional EXT), length = 13 000: 02 06 00 3f 0c 03 03 07 07 00 00 b5 20 Data modem services available: Tuple #8, code = 0x22 (Functional EXT), length = 8 000: 13 06 00 0f 00 02 b5 20 Tuple #9, code = 0x22 (Functional EXT), length = 8 000: 23 06 00 0f 00 02 b5 20 Tuple #10, code = 0x0 (Null tuple), length = 22 000: 55 53 52 01 04 01 f0 01 08 02 01 00 03 04 30 33 010: 31 37 04 01 14 ff Tuple #11, code = 0x1a (Configuration map), length = 5 000: 01 04 e6 01 07 Reg len = 2, config register addr = 0x1e6, last config = 0x4 Registers: XXX----- Tuple #12, code = 0x1b (Configuration entry), length = 22 000: c1 41 9a 37 55 4d 5d 36 46 21 8e 7d 55 aa 60 f8 010: 03 07 30 b8 86 08 Config index = 0x1(default) Interface byte = 0x41 (I/O) +RDY/-BSY active Vcc pwr: Nominal operating supply voltage: 5 x 1V Minimum operating supply voltage: 4.5 x 1V Maximum operating supply voltage: 5.5 x 1V Max current average over 1 second: 3 x 100mA Max current average over 10 ms: 4 x 100mA Vpp pwr: Nominal operating supply voltage: 1.2 x 10V, ext = 0x7d Max current average over 10 ms: 5 x 10mA Card decodes 10 address lines, 8 Bit I/O only I/O address # 1: block start = 0x3f8 block length = 0x8 IRQ modes: Level IRQs: 4 5 11 12 13 15 Max twin cards = 0 Misc attr: (Audio-BVD2) Tuple #13, code = 0x1b (Configuration entry), length = 11 000: 83 41 18 aa 60 f8 02 07 30 b8 86 Config index = 0x3 Interface byte = 0x41 (I/O) +RDY/-BSY active Card decodes 10 address lines, 8 Bit I/O only I/O address # 1: block start = 0x2f8 block length = 0x8 IRQ modes: Level IRQs: 4 5 11 12 13 15 Tuple #14, code = 0x1b (Configuration entry), length = 11 000: 82 41 18 aa 60 e8 03 07 30 b8 86 Config index = 0x2 Interface byte = 0x41 (I/O) +RDY/-BSY active Card decodes 10 address lines, 8 Bit I/O only I/O address # 1: block start = 0x3e8 block length = 0x8 IRQ modes: Level IRQs: 4 5 11 12 13 15 Tuple #15, code = 0x1b (Configuration entry), length = 11 000: 84 41 18 aa 60 e8 02 07 30 b8 86 Config index = 0x4 Interface byte = 0x41 (I/O) +RDY/-BSY active Card decodes 10 address lines, 8 Bit I/O only I/O address # 1: block start = 0x2e8 block length = 0x8 IRQ modes: Level IRQs: 4 5 11 12 13 15 Tuple #16, code = 0x14 (No link), length = 0 Tuple #17, code = 0xff (Terminator), length = 0 2 slots found For the 3Com card (a 3c589c): 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 = 0x17 (Attribute memory descriptor), length = 3 000: 43 02 ff Attribute memory device information: Device number 1, type EEPROM, WPS = OFF Speed = 150nS, Memory block size = 8Kb, 1 units Tuple #3, code = 0x20 (Manufacturer ID), length = 4 000: 01 01 89 05 PCMCIA ID = 0x101, OEM ID = 0x589 Tuple #4, code = 0x21 (Functional ID), length = 2 000: 06 00 Network/LAN adapter Tuple #5, code = 0x15 (Version 1 info), length = 57 000: 04 01 33 43 6f 6d 20 43 6f 72 70 6f 72 61 74 69 010: 6f 6e 00 33 43 35 38 39 00 54 50 2f 42 4e 43 20 020: 4c 41 4e 20 43 61 72 64 20 56 65 72 2e 20 32 61 030: 00 30 30 30 30 30 32 00 ff Version = 4.1, Manuf = [3Com Corporation],card vers = [3C589] Addit. info = [TP/BNC LAN Card Ver. 2a],[000002] Tuple #6, code = 0x1a (Configuration map), length = 6 000: 02 03 00 00 01 03 Reg len = 3, config register addr = 0x10000, last config = 0x3 Registers: XX------ Tuple #7, code = 0x1b (Configuration entry), length = 15 000: c1 01 1d 71 55 35 55 54 e0 72 5d 64 30 ff ff Config index = 0x1(default) Interface byte = 0x1 (I/O) Vcc pwr: Nominal operating supply voltage: 5 x 1V Max current average over 1 second: 3 x 10mA Max current average over 10 ms: 5 x 10mA Power down supply current: 5 x 1mA Wait scale Speed = 7.0 x 100 ns RDY/BSY scale Speed = 7.0 x 100 ns Card decodes 18 address lines, full 8/16 Bit I/O IRQ modes: Level, Pulse IRQs: IOCK 1 4 5 6 8 10 11 12 14 Tuple #8, code = 0x1b (Configuration entry), length = 7 000: 03 01 71 55 26 26 54 Config index = 0x3 Vcc pwr: Nominal operating supply voltage: 5 x 1V Max current average over 1 second: 2 x 100mA Max current average over 10 ms: 2 x 100mA Power down supply current: 5 x 1mA Tuple #9, code = 0x19 (JEDEC descr for attribute memory), length = 3 000: 00 00 ff Tuple #10, code = 0x14 (No link), length = 0 Tuple #11, code = 0x10 (Checksum), length = 5 000: 89 ff 80 00 00 Checksum from offset -119, length 128, value is 0x0 Tuple #12, code = 0xff (Terminator), length = 218 000: 00 03 00 00 00 00 00 00 43 32 20 54 45 41 4d 2d 010: 45 61 72 6c 20 41 6c 64 72 69 64 67 65 2c 20 52 020: 65 78 20 41 6c 6c 65 72 73 2c 20 52 75 73 73 65 030: 6c 6c 20 43 68 61 6e 67 2c 20 44 61 76 69 64 20 040: 43 68 69 68 2c 20 48 65 72 6d 61 6e 20 4c 61 6f 050: 2c 20 47 65 6e 65 20 4c 69 6e 2c 20 4c 69 61 6e 060: 67 20 4c 69 6e 2c 20 48 69 65 6e 20 4e 67 75 79 070: 65 6e 2c 20 4b 61 70 20 53 6f 68 2c 20 47 61 72 080: 79 20 57 61 6e 67 00 ff ff ff ff ff ff ff ff ff 090: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0d0: ff ff ff ff ff ff ff ff ff ff 2 slots found The link light lights on the 3com card. When I insert it (or the modem), the following appear in the log: Oct 23 13:18:00 socrates cardd[264]: driver allocation failed for 3Com Corporation Oct 23 13:18:09 socrates su: ingham to root on /dev/ttyp3 Oct 23 14:06:37 socrates /kernel: Card removed, slot 0 Oct 23 14:06:45 socrates /kernel: Card inserted, slot 0 Oct 23 14:06:51 socrates /kernel: Card removed, slot 0 Oct 23 14:06:56 socrates cardd[264]: ioctl (PIOCSIO): Device not configured Oct 23 14:06:58 socrates /kernel: Card inserted, slot 1 Oct 23 14:06:58 socrates /kernel: Card inserted, slot 0 Oct 23 14:07:08 socrates cardd[264]: driver allocation failed for USRobotics Oct 23 14:07:18 socrates cardd[264]: driver allocation failed for 3Com Corporation (The dreaded ``driver allocation failed'' message! :-) One thing that might be useful in troubleshooting is to know what device is not configured in the message above... Thanks for putting up with what is probably a duplicate question to one asked recently. -- Kenneth Ingham ingham@i-pi.com