Date: Thu, 23 Oct 1997 14:27:55 -0600 From: Kenneth Ingham <ingham@i-pi.com> To: mobile@freebsd.org Subject: 2.2.5-RELEASE and PC Cards Message-ID: <19971023142754.64160@fatman.i-pi.com>
next in thread | raw e-mail | index | archive | help
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<FPU,VME>
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19971023142754.64160>
