Linux 2.6.x / EnE CB1410 cardbus - No Interrupts

Jeff Noxon jeff at planetfall.com
Sun Mar 21 18:29:16 GMT 2004


It's nice to know I am getting closer.  Thanks for all your help!

I don't see any evidence that GRUB is passing a mem= option to the kernel.
Maybe Debian's grub has it patched out.  It's not in /proc/cmdline or the
dmesg output.  Nevertheless,  I tried --no-mem-option as you suggested,
and it made no difference.

Here we have the D845GLLYL, 2.6.4, the pcmcia-10 patches, and the
pcmcia-ti-routing-9 patch.

This machine does have 1G of memory, with himem enabled.

/proc/ioports:
00000000-0009fbff : System RAM
0009fc00-0009ffff : reserved
000a0000-000bffff : Video RAM area
000cb800-000cc7ff : Extension ROM
000cc800-000cd7ff : Extension ROM
000f0000-000fffff : System ROM
00100000-3fe3ffff : System RAM
  00100000-00272ec9 : Kernel code
  00272eca-002f3d7f : Kernel data
3fe40000-3fe4ffff : ACPI Tables
3fe50000-3fefffff : ACPI Non-volatile Storage
3ff00000-3ff003ff : 0000:00:1f.1
3ff01000-3ff01fff : 0000:01:00.0
  3ff01000-3ff01fff : yenta_socket
40000000-403fffff : PCI CardBus #02
40400000-407fffff : PCI CardBus #02
f0000000-f7ffffff : 0000:00:02.0
f8000000-fbffffff : 0000:00:00.0
ff700000-ff7fffff : 0000:01:03.0
ff8fd000-ff8fdfff : 0000:01:08.0
  ff8fd000-ff8fdfff : eepro100
ff8fe000-ff8fefff : 0000:01:03.0
  ff8fe000-ff8fefff : eepro100
ff8ffc00-ff8ffcff : 0000:01:02.0
  ff8ffc00-ff8ffcff : 8139too
ffa7fc00-ffa7ffff : 0000:00:1d.7
  ffa7fc00-ffa7ffff : ehci_hcd
ffa80000-ffafffff : 0000:00:02.0


/proc/interrupts:
           CPU0
  0:    2252890          XT-PIC  timer
  1:          8          XT-PIC  i8042
  2:          0          XT-PIC  cascade
  5:      48797          XT-PIC  uhci_hcd, eth0
  8:          1          XT-PIC  rtc
  9:      62773          XT-PIC  uhci_hcd, eth2
 10:          0          XT-PIC  ehci_hcd
 11:      35492          XT-PIC  uhci_hcd, eth1
 14:      35176          XT-PIC  ide0
NMI:          0
LOC:    2253068
ERR:          0
MIS:          0

/proc/ioports:
0000-001f : dma1
0020-0021 : pic1
0040-005f : timer
0060-006f : keyboard
0070-0077 : rtc
0080-008f : dma page reg
00a0-00a1 : pic2
00c0-00df : dma2
00f0-00ff : fpu
01f0-01f7 : ide0
02f8-02ff : serial
03c0-03df : vga+
03f6-03f6 : ide0
03f8-03ff : serial
0460-046f : i8xx TCO
0cf8-0cff : PCI conf1
4000-40ff : PCI CardBus #02
4400-44ff : PCI CardBus #02
d480-d4bf : 0000:01:08.0
  d480-d4bf : eepro100
d800-d8ff : 0000:01:02.0
  d800-d8ff : 8139too
dc00-dc3f : 0000:01:03.0
  dc00-dc3f : eepro100
e480-e49f : 0000:00:1f.3
e800-e81f : 0000:00:1d.0
  e800-e81f : uhci_hcd
e880-e89f : 0000:00:1d.1
  e880-e89f : uhci_hcd
ec00-ec1f : 0000:00:1d.2
  ec00-ec1f : uhci_hcd
ffa0-ffaf : 0000:00:1f.1
  ffa0-ffa7 : ide0



Linux version 2.6.4-prism54-pcmcia10 (root at mail) (gcc version 3.3.3 20031206 (prerelease) (Debian)) #1 Sun Mar 21 17:25:00 CST 2004
BIOS-provided physical RAM map:
 BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
 BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
 BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved)
 BIOS-e820: 0000000000100000 - 000000003fe40000 (usable)
 BIOS-e820: 000000003fe40000 - 000000003fe50000 (ACPI data)
 BIOS-e820: 000000003fe50000 - 000000003ff00000 (ACPI NVS)
126MB HIGHMEM available.
896MB LOWMEM available.
found SMP MP-table at 000ff780
On node 0 totalpages: 261696
  DMA zone: 4096 pages, LIFO batch:1
  Normal zone: 225280 pages, LIFO batch:16
  HighMem zone: 32320 pages, LIFO batch:7
DMI 2.3 present.
Intel MultiProcessor Specification v1.4
    Virtual Wire compatibility mode.
OEM ID:  Product ID: BrkdleG-ICH4 APIC at: 0xFEE00000
Processor #0 15:2 APIC version 20
I/O APIC #1 Version 32 at 0xFEC00000.
Enabling APIC mode:  Flat.  Using 1 I/O APICs
Processors: 1
Built 1 zonelists
Kernel command line: root=/dev/hda1 ro devfs=mount acpi=off noapic pci=usepirqmask 
Initializing CPU#0
PID hash table entries: 4096 (order 12: 32768 bytes)
Detected 1800.217 MHz processor.
Using tsc for high-res timesource
Console: colour VGA+ 80x25
Memory: 1033052k/1046784k available (1483k kernel code, 12828k reserved, 515k data, 136k init, 129280k highmem)
Checking if this processor honours the WP bit even in supervisor mode... Ok.
Calibrating delay loop... 3547.13 BogoMIPS
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
CPU:     After generic identify, caps: 3febfbff 00000000 00000000 00000000
CPU:     After vendor identify, caps: 3febfbff 00000000 00000000 00000000
CPU: Trace cache: 12K uops, L1 D cache: 8K
CPU: L2 cache: 512K
CPU:     After all inits, caps: 3febfbff 00000000 00000000 00000080
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
CPU#0: Intel P4/Xeon Extended MCE MSRs (12) available
CPU#0: Thermal monitoring enabled
CPU: Intel(R) Pentium(R) 4 CPU 1.80GHz stepping 04
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Checking 'hlt' instruction... OK.
POSIX conformance testing by UNIFIX
enabled ExtINT on CPU#0
ESR value before enabling vector: 00000000
ESR value after enabling vector: 00000000
Using local APIC timer interrupts.
calibrating APIC timer ...
..... CPU clock speed is 1799.0672 MHz.
..... host bus clock speed is 99.0981 MHz.
NET: Registered protocol family 16
PCI: PCI BIOS revision 2.10 entry at 0xf0031, last bus=1
PCI: Using configuration type 1
mtrr: v2.0 (20020519)
ACPI: Subsystem revision 20040220
ACPI: Interpreter disabled.
Linux Plug and Play Support v0.97 (c) Adam Belay
ACPI: ACPI tables contain no PCI IRQ routing entries
PCI: Invalid ACPI-PCI IRQ routing table
PCI: Probing PCI hardware
PCI: Probing PCI hardware (bus 00)
PCI: Ignoring BAR0-3 of IDE controller 0000:00:1f.1
Transparent bridge - 0000:00:1e.0
PCI: Using IRQ router PIIX/ICH [8086/24c0] at 0000:00:1f.0
PCI: Found IRQ 9 for device 0000:00:1f.1
PCI: Sharing IRQ 9 with 0000:00:1d.2
PCI: Sharing IRQ 9 with 0000:01:02.0
ikconfig 0.7 with /proc/config*
highmem bounce pool size: 64 pages
devfs: 2004-01-31 Richard Gooch (rgooch at atnf.csiro.au)
devfs: boot_options: 0x1
Initializing Cryptographic API
isapnp: Scanning for PnP cards...
isapnp: No Plug & Play device found
Serial: 8250/16550 driver $Revision: 1.90 $ 8 ports, IRQ sharing disabled
ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
Using noop io scheduler
Floppy drive(s): fd0 is 1.44M
FDC 0 is a post-1991 82077
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
ICH4: IDE controller at PCI slot 0000:00:1f.1
PCI: Enabling device 0000:00:1f.1 (0005 -> 0007)
PCI: Found IRQ 9 for device 0000:00:1f.1
PCI: Sharing IRQ 9 with 0000:00:1d.2
PCI: Sharing IRQ 9 with 0000:01:02.0
ICH4: chipset revision 1
ICH4: not 100% native mode: will probe irqs later
    ide0: BM-DMA at 0xffa0-0xffa7, BIOS settings: hda:pio, hdb:pio
hda: SanDisk SDCFH-512, CFA DISK drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
hda: max request size: 128KiB
hda: 1000944 sectors (512 MB) w/1KiB Cache, CHS=993/16/63
 /dev/ide/host0/bus0/target0/lun0: p1
serio: i8042 AUX port at 0x60,0x64 irq 12
serio: i8042 KBD port at 0x60,0x64 irq 1
input: AT Translated Set 2 keyboard on isa0060/serio0
NET: Registered protocol family 2
IP: routing cache hash table of 8192 buckets, 64Kbytes
TCP: Hash tables configured (established 262144 bind 65536)
NET: Registered protocol family 1
NET: Registered protocol family 17
 /dev/ide/host0/bus0/target0/lun0: p1
kjournald starting.  Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
VFS: Mounted root (ext3 filesystem) readonly.
Mounted devfs on /dev
Freeing unused kernel memory: 136k freed
EXT3 FS on hda1, internal journal
Real Time Clock Driver v1.12
hw_random hardware driver 1.0.0 loaded
i8xx TCO timer: initialized (0x0460). heartbeat=30 sec (nowayout=0)
drivers/usb/core/usb.c: registered new driver usbfs
drivers/usb/core/usb.c: registered new driver hub
PCI: Found IRQ 10 for device 0000:00:1d.7
ehci_hcd 0000:00:1d.7: EHCI Host Controller
PCI: Setting latency timer of device 0000:00:1d.7 to 64
ehci_hcd 0000:00:1d.7: irq 10, pci mem f880ec00
ehci_hcd 0000:00:1d.7: new USB bus registered, assigned bus number 1
PCI: cache line size of 128 is not supported by device 0000:00:1d.7
ehci_hcd 0000:00:1d.7: USB 2.0 enabled, EHCI 1.00, driver 2003-Dec-29
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 6 ports detected
CSLIP: code copyright 1989 Regents of the University of California
PPP generic driver version 2.4.2
PPP Deflate Compression module registered
PPP BSD Compression module registered
eepro100.c:v1.09j-t 9/29/99 Donald Becker http://www.scyld.com/network/eepro100.html
eepro100.c: $Revision: 1.36 $ 2000/11/17 Modified by Andrey V. Savochkin <saw at saw.sw.com.sg> and others
PCI: Found IRQ 5 for device 0000:01:03.0
PCI: Sharing IRQ 5 with 0000:00:1d.1
eth0: 0000:01:03.0, 00:90:27:54:22:95, IRQ 5.
  Board assembly 721383-006, Physical connectors present: RJ45
  Primary interface chip i82555 PHY #1.
  General self-test: passed.
  Serial sub-system self-test: passed.
  Internal registers self-test: passed.
  ROM checksum self-test: passed (0x04f4518b).
PCI: Found IRQ 11 for device 0000:01:08.0
eth1: 0000:01:08.0, 00:07:E9:BE:00:E7, IRQ 11.
  Board assembly 000000-000, Physical connectors present: RJ45
  Primary interface chip i82555 PHY #1.
  General self-test: passed.
  Serial sub-system self-test: passed.
  Internal registers self-test: passed.
  ROM checksum self-test: passed (0x04f4518b).
8139too Fast Ethernet driver 0.9.27
PCI: Found IRQ 9 for device 0000:01:02.0
PCI: Sharing IRQ 9 with 0000:00:1d.2
PCI: Sharing IRQ 9 with 0000:00:1f.1
eth2: RealTek RTL8139 at 0xf885cc00, 00:40:f4:68:58:89, IRQ 9
eth2:  Identified 8139 chip type 'RTL-8100B/8139D'
Loaded prism54 driver, version 1.0.2.2
ip_conntrack version 2.1 (8178 buckets, 65424 max) - 296 bytes per conntrack
ip_tables: (C) 2000-2002 Netfilter core team
USB Universal Host Controller Interface driver v2.2
PCI: Found IRQ 11 for device 0000:00:1d.0
PCI: Sharing IRQ 11 with 0000:00:02.0
uhci_hcd 0000:00:1d.0: UHCI Host Controller
PCI: Setting latency timer of device 0000:00:1d.0 to 64
uhci_hcd 0000:00:1d.0: irq 11, io base 0000e800
uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 2
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 2 ports detected
PCI: Found IRQ 5 for device 0000:00:1d.1
PCI: Sharing IRQ 5 with 0000:01:03.0
uhci_hcd 0000:00:1d.1: UHCI Host Controller
PCI: Setting latency timer of device 0000:00:1d.1 to 64
uhci_hcd 0000:00:1d.1: irq 5, io base 0000e880
uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 3
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 2 ports detected
PCI: Found IRQ 9 for device 0000:00:1d.2
PCI: Sharing IRQ 9 with 0000:00:1f.1
PCI: Sharing IRQ 9 with 0000:01:02.0
uhci_hcd 0000:00:1d.2: UHCI Host Controller
PCI: Setting latency timer of device 0000:00:1d.2 to 64
uhci_hcd 0000:00:1d.2: irq 9, io base 0000ec00
uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 4
hub 4-0:1.0: USB hub found
hub 4-0:1.0: 2 ports detected
Linux Kernel Card Services
  options:  [pci] [cardbus]
PCI: Enabling device 0000:01:00.0 (0000 -> 0002)
PCI: Assigned IRQ 10 for device 0000:01:00.0
Yenta: CardBus bridge found at 0000:01:00.0 [0000:0000]
Yenta: Enabling burst memory read transactions
Yenta: Using CSCINT to route CSC interrupts to PCI
Yenta: Routing CardBus interrupts to PCI
Yenta TI: socket 0000:01:00.0, mfunc 0x00000000, devctl 0x46
Yenta TI: socket 0000:01:00.0 probing PCI interrupt failed, trying to fix
Yenta TI: socket 0000:01:00.0 falling back to parallel PCI interrupts
Yenta TI: socket 0000:01:00.0 no PCI interrupts. Fish. Please report.
Yenta: ISA IRQ mask 0x0000, PCI irq 0
Socket status: 00000000
8139cp: 10/100 PCI Ethernet driver v1.1 (Aug 30, 2003)
e100: Intel(R) PRO/100 Network Driver, 3.0.16
e100: Copyright(c) 1999-2004 Intel Corporation
HTB init, kernel part version 3.15
eth2: link up, 100Mbps, full-duplex, lpa 0x41E1
cs: IO port probe 0x0c00-0x0cff: clean.
cs: IO port probe 0x0800-0x08ff: clean.
cs: IO port probe 0x0100-0x04ff: excluding 0x378-0x37f 0x3c0-0x3df 0x400-0x4bf 0x4d0-0x4d7
cs: IO port probe 0x0a00-0x0aff: clean.

On Sun, Mar 21, 2004 at 05:37:23PM -0500, Pavel Roskin wrote:
> On Sun, 21 Mar 2004, Jeff Noxon wrote:
> 
> > Ok, since I have had success in two desktop systems, I am back to my
> > "target" low-profile-pci system.  It contains an Intel D845GLLYL board.
> > I have applied the latest BIOS (P17).  Notes below apply to kernel 2.6.4.
> >
> > With the "pcmcia-ti-routing-9" patch, as well as the PCI ID (TI_1250)
> > patch, I get this:
> >
> > Linux Kernel Card Services
> >   options:  [pci] [cardbus]
> > PCI: Enabling device 0000:01:00.0 (0000 -> 0002)
> > Yenta: CardBus bridge found at 0000:01:00.0 [0000:0000]
> > Yenta: Enabling burst memory read transactions
> > Yenta: Using CSCINT to route CSC interrupts to PCI
> > Yenta: Routing CardBus interrupts to PCI
> > Yenta TI: socket 0000:01:00.0, mfunc 0x00000000, devctl 0x46
> > Yenta TI: socket 0000:01:00.0 probing PCI interrupt failed, trying to fix
> > Yenta TI: socket 0000:01:00.0 falling back to parallel PCI interrupts
> > Yenta TI: socket 0000:01:00.0 no PCI interrupts. Fish. Please report.
> > Yenta: ISA IRQ mask 0x0000, PCI irq 0
> > Socket status: 00000000
> 
> You definitely need the pcmcia-ti-routing-9 patch because the mfunc
> register is 0 on startup.  It actually fixed the interrupts on the other
> board.
> 
> The D845GLLYL has an additional problem.  Socket status is clearly wrong.
> It should have CB_3VSOCKET and CB_5VSOCKET bits set, i.e. it should begin
> with 3.
> 
> Note that devctl is the same as on the other board.  This probably means
> that the device configuration space is correct, but the memory resource 0
> is not.
> 
> This was also recently discussed, and the suggestion was to turn off an
> bug-feature in GNU GRUB that tells the kernel how much memory it has.
> See this message:
> http://lists.infradead.org/pipermail/linux-pcmcia/2004-March/000614.html
> 
> Try replacing "kernel" with "kernel --no-mem-option" in
> /boot/grub/menu.lst
> 
> Full output of dmesg may be useful to see it that's the case.
> 
> > Without any kernel options (acpi enabled) I get the following with lspci:
> >
> > 01:00.0 CardBus bridge: ENE Technology Inc CB1410 Cardbus Controller
> >         Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
> >         Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
> >         Latency: 168, Cache Line Size: 0x20 (128 bytes)
> >         Interrupt: pin A routed to IRQ 21
> >         Region 0: Memory at 3ff01000 (32-bit, non-prefetchable) [size=4K]
> 
> This reminds me this message (see CardBus bridge resources):
> http://lists.infradead.org/pipermail/linux-pcmcia/2004-March/000611.html
> 
> In that case, the memory region 0 was also close to the 1G boundary.
> 
> > /proc/interrupts, without the TI IRQ routing patch (with the patch,
> > yenta has no IRQ):
> 
> The IRQ problem is solved for your card.  You have a separate problem on
> that board with memory region 0.  Once you fix it, the IRQ probing will
> succeed and you will get an interrupt.
> 
> > When you say "Daniel's patches" are you referring specifically to the
> > TI IRQ routing patch above, or are there others?
> 
> I'm quite sure it was the TI IRQ routing patch.



More information about the linux-pcmcia mailing list