LinuxQuestions.org
Review your favorite Linux distribution.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Laptop and Netbook
User Name
Password
Linux - Laptop and Netbook Having a problem installing or configuring Linux on your laptop? Need help running Linux on your netbook? This forum is for you. This forum is for any topics relating to Linux and either traditional laptops or netbooks (such as the Asus EEE PC, Everex CloudBook or MSI Wind).

Notices

Reply
 
Search this Thread
Old 08-26-2007, 09:59 AM   #1
lajner
LQ Newbie
 
Registered: Oct 2004
Distribution: Debian, Ubuntu
Posts: 23

Rep: Reputation: 16
yenta socket cannot find PCI IRQ on ThinkPad


I'm trying to run kernel-2.6.22.5 under my old ThinkPad 600X. Trouble is that my cardbus card doesn't work. I checked dmesg and Yenta socket has some problems with IRQ.

I am not sure what to do now. Can anyone explain my what means "Fish." in 5th row from bottom in dmesg output below? Thanks

Code:
Yenta: CardBus bridge found at 0000:00:02.0 [1014:0130]
Yenta: Enabling burst memory read transactions
Yenta: Using INTVAL to route CSC interrupts to PCI
Yenta: Routing CardBus interrupts to PCI
Yenta TI: socket 0000:00:02.0, mfunc 0x00001000, devctl 0x66
Yenta: ISA IRQ mask 0x00b8, PCI irq 11
Socket status: 30000006
Yenta: CardBus bridge found at 0000:00:02.1 [1014:0130]
Yenta: Using INTVAL to route CSC interrupts to PCI
Yenta: Routing CardBus interrupts to PCI
Yenta TI: socket 0000:00:02.1, mfunc 0x00001000, devctl 0x66
irq 10: nobody cared (try booting with the "irqpoll" option)
[<c0132a94>] __report_bad_irq+0x24/0x90
 [<c0132d02>] note_interrupt+0x202/0x240
 [<c88520e8>] yenta_probe_handler+0x8/0x40 [yenta_socket]
 [<c0132115>] handle_IRQ_event+0x25/0x60
 [<c013365b>] handle_level_irq+0x8b/0xc0
 [<c0105b1c>] do_IRQ+0x3c/0x80
 [<c01fa041>] scrup+0xe1/0xf0
 [<c010408b>] common_interrupt+0x23/0x28
 [<c011893d>] __do_softirq+0x2d/0x90
 [<c01189c6>] do_softirq+0x26/0x30
 [<c0105b21>] do_IRQ+0x41/0x80
 [<c010408b>] common_interrupt+0x23/0x28
 [<c0132625>] setup_irq+0xc5/0x1a0
 [<c88520e0>] yenta_probe_handler+0x0/0x40 [yenta_socket]
 [<c01327a2>] request_irq+0xa2/0xc0
 [<c8850c22>] yenta_probe_cb_irq+0x42/0xf0 [yenta_socket]
 [<c8851177>] ti12xx_override+0x1f7/0x5f0 [yenta_socket]
 [<c8852010>] yenta_probe+0x5b0/0x660 [yenta_socket]
 [<c018303f>] sysfs_create_link+0x6f/0x160
 [<c01b5556>] pci_device_probe+0x56/0x80
 [<c020181d>] driver_probe_device+0x8d/0x190
 [<c0201a8a>] __driver_attach+0x9a/0xa0
 [<c0200c3a>] bus_for_each_dev+0x3a/0x60
 [<c0201696>] driver_attach+0x16/0x20
 [<c02019f0>] __driver_attach+0x0/0xa0
 [<c0200fdb>] bus_add_driver+0x8b/0x1b0
 [<c01b56e9>] __pci_register_driver+0x49/0x90
 [<c012ec8b>] sys_init_module+0x14b/0x16c0
 [<c0103ee2>] syscall_call+0x7/0xb
 =======================
handlers:
[<c88520e0>] (yenta_probe_handler+0x0/0x40 [yenta_socket])
Disabling IRQ #10
irq 11: nobody cared (try booting with the "irqpoll" option)
 [<c0132a94>] __report_bad_irq+0x24/0x90
 [<c0132d02>] note_interrupt+0x202/0x240
 [<c0132115>] handle_IRQ_event+0x25/0x60
 [<c013365b>] handle_level_irq+0x8b/0xc0
 [<c0105b1c>] do_IRQ+0x3c/0x80
 [<c010408b>] common_interrupt+0x23/0x28
 [<c010408b>] common_interrupt+0x23/0x28
 [<c011893d>] __do_softirq+0x2d/0x90
 [<c01189c6>] do_softirq+0x26/0x30
 [<c0105b21>] do_IRQ+0x41/0x80
 [<c010408b>] common_interrupt+0x23/0x28
 [<c010408b>] common_interrupt+0x23/0x28
 [<c011b906>] __mod_timer+0x66/0x80
 [<c0299515>] schedule_timeout+0x45/0xc0
 [<c011bc60>] process_timeout+0x0/0x10
 [<c011bc15>] msleep+0x15/0x20
 [<c8850c6d>] yenta_probe_cb_irq+0x8d/0xf0 [yenta_socket]
 [<c8851177>] ti12xx_override+0x1f7/0x5f0 [yenta_socket]
 [<c8852010>] yenta_probe+0x5b0/0x660 [yenta_socket]
 [<c018303f>] sysfs_create_link+0x6f/0x160
 [<c01b5556>] pci_device_probe+0x56/0x80
 [<c020181d>] driver_probe_device+0x8d/0x190
 [<c0201a8a>] __driver_attach+0x9a/0xa0
 [<c0200c3a>] bus_for_each_dev+0x3a/0x60
 [<c0201696>] driver_attach+0x16/0x20
 [<c02019f0>] __driver_attach+0x0/0xa0
 [<c0200fdb>] bus_add_driver+0x8b/0x1b0
 [<c01b56e9>] __pci_register_driver+0x49/0x90
 [<c012ec8b>] sys_init_module+0x14b/0x16c0
 [<c0103ee2>] syscall_call+0x7/0xb
 =======================
handlers:
[<c8851980>] (yenta_interrupt+0x0/0xe0 [yenta_socket])
Disabling IRQ #11
Yenta TI: socket 0000:00:02.1 probing PCI interrupt failed, trying to fix
Yenta TI: socket 0000:00:02.1 no PCI interrupts. Fish. Please report.
Yenta: no PCI IRQ, CardBus support disabled for this socket.
Yenta: check your BIOS CardBus, BIOS IRQ or ACPI settings.
Yenta: ISA IRQ mask 0x00b8, PCI irq 0
Socket status: 30000006
 
Old 08-26-2007, 10:47 AM   #2
Lenard
Senior Member
 
Registered: Dec 2005
Location: Indiana
Distribution: RHEL/CentOS/SL 5 i386 and x86_64 pata for IDE in use
Posts: 4,790

Rep: Reputation: 56
You should see this; http://lists.infradead.org/pipermail...er/002846.html

Also google ( http://www.google.com/linux ) on the search: no PCI interrupts. Fish. Please report.

Also try following the suggestion listed in your dmesg output;
irq 10: nobody cared (try booting with the "irqpoll" option)
 
Old 08-26-2007, 11:59 AM   #3
lajner
LQ Newbie
 
Registered: Oct 2004
Distribution: Debian, Ubuntu
Posts: 23

Original Poster
Rep: Reputation: 16
Thanks Lenard, I didn't know about www.google.com/linux.

So, after many reboots and reading mailing list it seems it's problem of some kind of Intel motherboard and their PCI bus. To be honest - I didn't understand it

In mailing list recommends to make some changes in kernel source and it was probably released some patch or something.

In ArchLinux forum I saw another way. In some czech mailing list was recommended to boot with parameters "pci=usepirqmask,biosirq irqpoll acpi=force".

I just booted with parameter "pci=noacpi" and it works. I mean Yenta has its IRQ #11 and is happy. Unfortunately my PCMCIA cards still doesn't work, but this will be another story from dark dusty mysterious corners of linux kernel At least I hope so
 
1 members found this post helpful.
Old 05-06-2012, 01:05 PM   #4
larrym82
Member
 
Registered: Dec 2011
Posts: 71

Rep: Reputation: Disabled
similar problems - hope this helps

Ubuntu manuals
go

8.04 LTS
10.04 LTS
10.10
11.04
11.10
12.04 LTS

8.04 LTS
10.04 LTS
10.10
11.04
11.10
12.04 LTS

name
synopsis
description
cardbus interrupt delivery
parameters
options specific for vadem isa controllers
options specific for isa cirrus controllers
options specific for cirrus pci controllers
options for cardbus controllers
options specific for ricoh cardbus controllers
options specific for ti cardbus controllers
author
see also

larry (TechSoup) PcmciaPCIbridge.gz
dapper (4) i82365.4.gz
Provided by: pcmcia-cs_3.2.8-5.2ubuntu5_i386 bug

NAME

i82365 - Intel i82365sl PCMCIA controller driver


SYNOPSIS

insmod i82365.o [pc_debug=n] [i365_base=n] [ignore=n] [extra_sockets=n]
[do_scan=n] [irq_list=i,j,...] [cs_irq=n] [poll_interval=n]
[cycle_time=n] [async_clock=n] [cable_mode=n] [has_dma=n] [has_led=n]
[has_ring=n] [freq_bypass=n] [setup_time=n] [cmd_time=n] [recov_time=n]
[wakeup=n] [fast_pci=n] [irq_mode=n] [do_pci_probe=n] [cb_write_post=n]
[pci_csc=n] [pci_int=n] [pci_irq_list=i,j,...] [p2cclk=n]


DESCRIPTION

This is the low-level driver for the Intel i82365sl PCMCIA host
controller, and many derivative controllers. It also implements the
Intel "Yenta" register specification for CardBus bridges. Common
clones of the i82365sl include controllers made by Cirrus Logic, IBM,
O2Micro, Omega Micro, Ricoh, SMC, Texas Instruments, Toshiba, Vadem,
and VLSI. The overwhelming majority of current PCMCIA controllers, and
all CardBus bridges, are register compatible with the i82365sl. This
driver is used by Card Services for configuring the host controller,
and for monitoring card status change events.

An ISA i82365-compatible controller normally sits at the IO addresses
0x3e0-0x3e1. Two ISA controllers can cooperate to share the same IO
ports, supporting a total of four sockets. A second pair of
controllers can be located at 0x3e2-0x3e3. Probing at this position is
controlled by the extra_sockets parameter. This only affects ISA
bridges: the PCI bridge probe handles multiple controllers
automatically. The driver will support a maximum of eight sockets.

When the i82365 module is loaded, it performs a scan of free ISA
interrupts to determine which ones appear to be usable for PCMCIA
events. The interrupt scan results are reported in the system log. A
successful scan will report a list of interrupts as ‘‘scanned’’; if no
interrupts appear to work, then a ‘‘default’’ list is reported. Some
bridges (Cirrus non-CardBus bridges, some Toshiba bridges) do not
support the software interrupt test and will always report a
‘‘default’’ list. In other cases, this may be a sign of an incorrect
irq_mode.

There is a significant difference between the version of the i82365
driver in the pcmcia-cs package, and the version in the Linux kernel
tree. The kernel version only supports ISA bus bridges; CardBus
bridges are instead supported by the yenta_socket driver.


CardBus interrupt delivery

CardBus bridges generally support both PCI and ISA interrupt signals,
and multiple methods of deliving interrupt events to the host system.
The system BIOS is partly responsible for correctly configuring the
bridge to match the implemented interrupt hardware at boot time. This
module provides several parameters for overriding this default
interrupt configuration. The pci_int and pci_csc settings can be used
to control use of PCI interrupts for card interrupts or card status
changes. The irq_mode setting, for bridges that support it, can be
used to select an interrupt delivery method.


PARAMETERS

pc_debug=n
Selects the PCMCIA debugging level. This parameter is only
available if the module is compiled with debugging enabled. A
non-zero value enables debugging.

i365_base=n
Sets the base I/O port address of the i82365sl chip. The
default is 0x3e0. Applies only to ISA-to-PCMCIA bridges.

ignore=n
Causes the driver to ignore a single socket. Sockets are
numbered starting at 0. The socket will be left in whatever
state it was already in, so it can be used for cards with point
enablers that do not cooperate with Card Services.

extra_sockets=n
A flag indicating if the driver should probe at IO base 0x3e2 in
addition to the default 0x3e0 base. The default is 0 (do not
probe at 0x3e2). Systems with two independent ISA-to-PCMCIA
controllers (say, one internal and one in a docking station) may
require this flag to be set. If this flag is set, then
poll_interval will automatically be enabled.

do_scan=n
This flag specifies that all free ISA interrupts should be
tested to see if they can be triggered by the PCMCIA controller.
The default is 1 (true).

irq_list=i,j,...
Specifies the set of interrupts that may be allocated by this
driver, if they are otherwise available. The default list is 3,
4, 5, 7, 9, 10, 11, 12, 14, and 15.

cs_irq=n
Sets the interrupt line to use for monitoring card status
changes. The default is 0, which means pick the highest-
numbered legal interrupt not already in use. Legal values are
15, 14, 12, 11, 10, 9, 7, 5, 4, and 3.

poll_interval=n
Sets the card status polling delay, in 1/100 second increments.
If this parameter is set, card status interrupts will be
disabled. A reasonable value is 100. Polling only affects
detection of card insert and eject events.

cycle_time=n
Sets the length of a host bus cycle, in nanoseconds. The
default is 210 ns, corresponding to a standard 4.77 MHz clock.


Options specific for Vadem ISA controllers

async_clock=n
This flag specifies that PCMCIA bus cycles should be clocked
asynchronously from host bus cycles. It effectively adds a wait
state to some operations.

cable_mode=n
For the VG469, this flag adjusts certain socket signals for
driving a socket connected via a cable.


Options specific for ISA Cirrus controllers

When the i82365 driver is loaded, it will try to determine what
interrupts can safely be allocated for use by PCMCIA devices. Cirrus
controllers support some optional features that interfere with the use
of certain interrupt lines. Cirrus chips also lack the functionality
needed to detect whether or not an interrupt can be used. The has_dma,
has_ring, and has_led options are used to specify if these features are
implemented.

has_dma=n
A flag indicating if the controller has DMA support.

has_led=n
A flag indicating if the controller is wired for a disk status
LED. This is set by default.

has_ring=n
A flag indicating if the controller’s "ring indicate" signal is
implemented. This is set by default.

has_vsense=n
A flag indicating that a PD6722 is configured to support VS1/VS2
voltage detection using its general purpose IO mechanism.

freq_bypass=n
A flag indicating that the controller should be set up in
"frequency bypass" mode. This disables the normal 7/4 clock
multiplier, and slows down all PCMCIA bus access, for systems
with fast system clocks.

setup_time=n
Sets the bus setup time, in internal clock cycles. The default
is 1.

cmd_time=n
Sets the bus command time, in internal clock cycles. The default
is 6.

recov_time=n
Sets the bus recovery time, in internal clock cycles. The
default is 0.

wakeup=n
A flag indicating if the probe function should attempt to wake
up a suspended controller chip. The default is 0.

The following parameters are only supported by the standalone version
of the i82365 module from the pcmcia-cs package, not the kernel
version.


Options specific for Cirrus PCI controllers

The following options apply for Cirrus PD6729 and PD6730 PCI-to-PCMCIA
bridge devices.

fast_pci=n
A flag indicating that the PCI bus speed exceeds 25 MHz.

irq_mode=n
Specifies the interrupt delivery mode. The default (0) is to
use ISA bus interrupts; a value of 1 selects PCI interrupts.
This must be set for correct operation of some PCI card readers.


Options for CardBus controllers

do_pci_probe=n
This flag indicates if the PCI bus should be probed for PCI-to-
PCMCIA and/or PCI-to-CardBus bridges. The default is 1 (true).

cb_write_post=n
A flag indicating if write posting (a performance feature)
should be enabled. The default is 1 (true), except on certain
TI 1130 bridges.

pci_csc=n
Specifies that card status change interrupts should be routed to
PCI interrupts, for CardBus controllers. The default is 1
(true).

pci_int=n
Specifies that functional interrupts for IO cards should be
routed to PCI interrupts, for CardBus controllers. The default
is 1 (true), except on systems that require use of PCI
interrupts.

pci_irq_list=i,j,...
The Linux kernel sometimes cannot deduce the PCI interrupt
assignments for CardBus sockets. If this information can be
determined some other way, it can be entered here. The Nth
socket will get the Nth interrupt number from the list.


Options specific for Ricoh CardBus controllers

irq_mode=n
Selects the interrupt routing method. A value of 0 selects only
PCI interrupts; 1 selects ISA interrupt routing, and 2 selects
ISA interrupt routing via an external serial interrupt
controller. The default is to use whatever ISA routing method
is already enabled.

setup_time=n
Sets the bus setup time, in internal clock cycles. The default
is 3.

cmd_time=n
Sets the bus command time, in internal clock cycles. The default
is 6.

hold_time=n
Sets the bus hold time, in internal clock cycles. The default is
1.


Options specific for TI CardBus controllers

has_ring=n
A flag indicating if the controller is wired for "ring
indicate". The default is to read the current setting from the
controller.

irq_mode=n
Selects the interrupt routing method. A value of 0 selects only
PCI interrupts; 1 selects ISA interrupt routing; 2 selects ISA
interrupt routing via an external serial interrupt controller;
and 3 selects serial routing for both PCI and ISA interrupts.
The default is to use whatever routing method is already
active, or ISA routing if no method is enabled.

p2cclk=n
A flag, indicating if the P2CCLK pin should be configured as an
input (0) or an output (1). This signal is used for
communicating with a socket power controller; if set
incorrectly, the bridge will be unable to power up cards. The
default is to use the BIOS setting.


AUTHOR

David Hinds - dahinds@users.sourceforge.net

SEE ALSO

cardmgr(8), pcmcia(5).

Powered by the Ubuntu Manpage Repository generator maintained by Dustin Kirkland
© 2010 Canonical Ltd. Ubuntu and Canonical are registered trademarks of Canonical Ltd.
 
Old 05-06-2012, 05:31 PM   #5
larrym82
Member
 
Registered: Dec 2011
Posts: 71

Rep: Reputation: Disabled
Update: I am unable to locate i82365.o (in kernel 3.0.0-12-generic)

in /lib/modules/3.0.0-12-generic/kernel/drivers/pcmcia I find i82365.ko

It will not accept an insert parameter like this:

insmod i82365.ko i365_base=0x3e0

and returns an error stating that no such object exists.

I don't mean to hijack your thread, but I'm thinking that if you get yours working ...
 
  


Reply

Tags
irq, pci, thinkpad


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
No module yenta-socket at boot time Quigi Linux - Networking 2 02-16-2007 01:16 PM
How to find irq number associated with PCI interrupt P.S.R.K.S.PRASAD Linux - Kernel 3 11-08-2006 11:33 PM
Yenta IRQ Freezes My Boot Fergatron Linux - Laptop and Netbook 2 02-11-2006 10:31 PM
PCMCIA Yenta IRQ Woes CheezyArmpit Slackware 1 01-15-2006 08:41 PM
Yenta IRQ ezra143 Linux - General 2 01-04-2004 12:53 AM


All times are GMT -5. The time now is 01:45 AM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration