From owner-freebsd-bugs Sat Oct 6 7:10:16 2001 Delivered-To: freebsd-bugs@hub.freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 7801137B406 for ; Sat, 6 Oct 2001 07:10:00 -0700 (PDT) Received: (from gnats@localhost) by freefall.freebsd.org (8.11.4/8.11.4) id f96EA0p45766; Sat, 6 Oct 2001 07:10:00 -0700 (PDT) (envelope-from gnats) Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id ED9A437B406 for ; Sat, 6 Oct 2001 07:07:26 -0700 (PDT) Received: (from nobody@localhost) by freefall.freebsd.org (8.11.4/8.11.4) id f96E7Qu45549; Sat, 6 Oct 2001 07:07:26 -0700 (PDT) (envelope-from nobody) Message-Id: <200110061407.f96E7Qu45549@freefall.freebsd.org> Date: Sat, 6 Oct 2001 07:07:26 -0700 (PDT) From: Sebastiaan van Erk To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-1.0 Subject: kern/31084: xe driver device probe fails in CIS tuple scan Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org >Number: 31084 >Category: kern >Synopsis: xe driver device probe fails in CIS tuple scan >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sat Oct 06 07:10:00 PDT 2001 >Closed-Date: >Last-Modified: >Originator: Sebastiaan van Erk >Release: 4.4-STABLE >Organization: >Environment: FreeBSD roo.sebster.com 4.4-STABLE FreeBSD 4.4-STABLE #41: Fri Oct 5 12:30:24 CEST 2001 root@roo.sebster.com:/usr/src/sys/compile/ROO i386 >Description: After upgrading from 4.3-STABLE to 4.4-STABLE on my laptop, FreeBSD no longer recognizes my Xircom CEM56 ethernet card/modem. There were no changes to the kernel config or pccardd config. Checking CVSWeb, there are indeed no changes even to the files in /usr/src/sys/dev/xe. The problem occurs in the xe_probe routine in if_xe.c. When xe_probe scans the CIS tuples the first tuple returned is the 0xFF terminator tuple. No real tuples are found, causing driver allocation to fail. When using pccard dumpcis, the tuples on the card are returned, and I get the following output: Code 136 not found Code 136 not found code Unknown ignored Code 138 not found Code 138 not found code Unknown ignored Code 139 not found Code 139 not found code Unknown ignored 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 = 2 000: 00 ff Attribute memory device information: Device number 1, type No device, WPS = OFF Speed = No speed, Memory block size = reserved, 32 units Tuple #3, code = 0x15 (Version 1 info), length = 59 000: 05 00 58 69 72 63 6f 6d 00 43 72 65 64 69 74 43 010: 61 72 64 20 45 74 68 65 72 6e 65 74 20 31 30 2f 020: 31 30 30 20 2b 20 4d 6f 64 65 6d 20 35 36 00 43 030: 45 4d 35 36 00 31 2e 30 30 00 ff Version = 5.0, Manuf = [Xircom], card vers = [CreditCard Ethernet 10/100 + Modem 56] Addit. info = [CEM56],[1.00] Tuple #4, code = 0x0 (Null tuple), length = 8 000: 6a 10 f1 00 00 00 00 00 Tuple #5, code = 0x20 (Manufacturer ID), length = 5 000: 05 01 0a 11 46 PCMCIA ID = 0x105, OEM ID = 0x110a Tuple #6, code = 0x44 (Card init date), length = 4 000: aa 8e d8 24 Tuple #7, code = 0x1a (Configuration map), length = 5 000: 01 3f 80 ff 67 Reg len = 2, config register addr = 0xff80, last config = 0x3f Registers: XXX--XX- Tuple #8, code = 0x1b (Configuration entry), length = 20 000: e7 c1 9d 0f 55 4d 5d 4e e0 17 17 ea 60 e8 02 07 010: f0 bc 8e 20 Config index = 0x27(default) Interface byte = 0xc1 (I/O) +RDY/-BSY active, wait signal supported 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 Continuous supply current: 4.5 x 100mA Wait scale Speed = 1.2 x 10 ms RDY/BSY scale Speed = 1.2 x 10 ms Card decodes 10 address lines, full 8/16 Bit I/O I/O address # 1: block start = 0x2e8 block length = 0x8 IRQ modes: Level, Pulse, Shared IRQs: 2 3 4 5 7 9 10 11 15 Max twin cards = 0 Misc attr: (Power down supported) Tuple #9, code = 0x1b (Configuration entry), length = 7 000: 1f 08 ea 60 e8 03 07 Config index = 0x1f Card decodes 10 address lines, full 8/16 Bit I/O I/O address # 1: block start = 0x3e8 block length = 0x8 Tuple #10, code = 0x1b (Configuration entry), length = 7 000: 17 08 ea 60 f8 02 07 Config index = 0x17 Card decodes 10 address lines, full 8/16 Bit I/O I/O address # 1: block start = 0x2f8 block length = 0x8 Tuple #11, code = 0x1b (Configuration entry), length = 7 000: 0f 08 ea 60 f8 03 07 Config index = 0xf Card decodes 10 address lines, full 8/16 Bit I/O I/O address # 1: block start = 0x3f8 block length = 0x8 Tuple #12, code = 0x1b (Configuration entry), length = 3 000: 3f 08 63 Config index = 0x3f Card decodes 3 address lines, full 8/16 Bit I/O Tuple #13, code = 0x21 (Functional ID), length = 2 000: 02 00 Serial port/modem Tuple #14, code = 0x22 (Functional EXT), length = 4 000: 00 02 0f 5c Serial interface extension: 16550 UART, Parity - Space,Mark,Odd,Even Data bit - 7bit,8bit, Stop bit - 1bit,2bit Tuple #15, code = 0x22 (Functional EXT), length = 12 000: 02 06 00 3f 1c 03 03 0f 07 00 01 b5 Data modem services available: Tuple #16, code = 0x22 (Functional EXT), length = 8 000: 13 06 00 0b 00 02 00 b5 Fax1/modem services available: Tuple #17, code = 0x21 (Functional ID), length = 2 000: 06 00 Network/LAN adapter Tuple #18, code = 0x22 (Functional EXT), length = 8 000: 04 06 00 10 a4 f1 10 6a Network node ID: 00 10 a4 f1 10 6a Tuple #19, code = 0x0 (Null tuple), length = 12 000: 39 30 30 31 48 44 46 31 31 30 36 41 Tuple #20, code = 0x0 (Null tuple), length = 4 000: 01 00 00 00 Tuple #21, code = 0x14 (No link), length = 0 Tuple #22, code = 0xff (Terminator), length = 0 2 slots found >How-To-Repeat: Not sure. Only thing I know is that the ONLY change I made to the system was an upgrade from 4.3-STABLE to 4.4-STABLE. Nothing else changed whatsoever. Unless it is my SPECIFIC hardware configuration which causes the problem the CEM56 card should no longer work under 4.4. Here is a dump of my dmesg to be sure: Copyright (c) 1992-2001 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD 4.4-STABLE #41: Fri Oct 5 12:30:24 CEST 2001 root@roo.sebster.com:/usr/src/sys/compile/ROO Timecounter "i8254" frequency 1193182 Hz CPU: Pentium/P55C (quarter-micron) (233.29-MHz 586-class CPU) Origin = "GenuineIntel" Id = 0x581 Stepping = 1 Features=0x8001bf real memory = 100794368 (98432K bytes) avail memory = 94142464 (91936K bytes) Preloaded elf kernel "kernel" at 0xc03d7000. Intel Pentium detected, installing workaround for F00F bug VESA: v2.0, 2048k memory, flags:0x0, mode table:0xc0361b40 (1000040) VESA: CHIPS 6x555 Super VGA md0: Malloc disk Using $PIR table, 4 entries at 0xc00f8e80 apm0: on motherboard apm: found APM BIOS v1.2, connected at v1.2 npx0: on motherboard npx0: INT 16 interface pcib0: on motherboard pci0: on pcib0 pci0: at 4.0 ohci0: mem 0xfcfff000-0xfcffffff irq 11 at device 11.0 on pci0 usb0: OHCI version 1.0 usb0: on ohci0 usb0: USB revision 1.0 uhub0: NEC OHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 2 ports with 2 removable, self powered chip1: port 0xffe0-0xffff irq 11 at device 17.0 on pci0 pci_cfgintr_virgin: using routable interrupt 3 pci_cfgintr: 0:19 INTA routed to irq 3 pcic0: irq 3 at device 19.0 on pci0 pcic0: PCI Memory allocated: 0x44000000 pccard0: on pcic0 pci_cfgintr_search: linked (1) to configured irq 3 at 0:19:0 pci_cfgintr: 0:19 INTB routed to irq 3 pcic1: irq 3 at device 19.1 on pci0 pcic1: PCI Memory allocated: 0x44001000 pccard1: on pcic1 isa0: on motherboard orm0: