Bug 68860 - ohci1394 module does not load correctly
ohci1394 module does not load correctly
Status: CLOSED CURRENTRELEASE
Product: Red Hat Linux
Classification: Retired
Component: kernel (Show other bugs)
8.0
i386 Linux
medium Severity medium
: ---
: ---
Assigned To: Arjan van de Ven
Brian Brock
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2002-07-15 08:03 EDT by Need Real Name
Modified: 2008-08-01 12:22 EDT (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2004-09-30 11:39:45 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)
results of dmesg (15.20 KB, text/plain)
2003-04-16 12:54 EDT, Roy Kimbrell
no flags Details
Copy of /var/log/messages (160.49 KB, text/plain)
2003-04-16 12:55 EDT, Roy Kimbrell
no flags Details
/var/log/messages for ohci1394 problem (5.82 KB, text/plain)
2003-05-30 11:54 EDT, Roy Kimbrell
no flags Details

  None (edit)
Description Need Real Name 2002-07-15 08:03:34 EDT
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.0) Gecko/20020606

Description of problem:
ohci1394 loads, but stays in "initializing" state.
Can not load sbp2 driver.
Card:  Cardbus Western Digital Firewire model
WDAD0003-RNW on HP 6100 laptop.

Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
1.Boot.
2.Insert firewire card.


Same behavior if system booted with card.
	

Actual Results:  Error messages were generated in /var/log/messages, but can not
cut and paste since limbo system is not yet on the net.

Expected Results:  Module should load correctly.

Additional info:
Comment 1 Arjan van de Ven 2002-08-13 08:46:59 EDT
any better luck with limbo2 or even later up2date kernels?
Comment 2 Need Real Name 2002-08-23 03:12:31 EDT
Did not work with Limbo.  Have not tried the second Limbo beta.

Also found my adaptec 1480A SCSI card did not work  with RH 2.4.18-5 kernel.
Comment 3 Need Real Name 2002-08-26 06:35:04 EDT
Updated to 2.4.18-10 kernel.  Neither firewire or SCSI works.

Ouput from SCSI:

Aug 26 12:32:57 localhost kernel: cs: cb_alloc(bus 3): vendor 0x9004, device 0x6075
Aug 26 12:32:57 localhost kernel: PCI: Failed to allocate resource 0(4000-3fff)
for 03:00.0
Aug 26 12:32:57 localhost kernel: PCI: Failed to allocate resource
1(d0400000-d02fffff) for 03:00.0
Aug 26 12:32:57 localhost kernel: PCI: Failed to allocate resource
6(d0400000-d02fffff) for 03:00.0
Aug 26 12:32:57 localhost kernel: PCI: Enabling device 03:00.0 (0000 -> 0003)
Aug 26 12:32:57 localhost cardmgr[959]: socket 0: CardBus hotplug device
Aug 26 12:32:57 localhost /etc/hotplug/pci.agent: Setup aic7xxx for PCI slot 03:00.0
Aug 26 12:32:58 localhost kernel: PCI: Setting latency timer of device 03:00.0 to 64
Aug 26 12:32:58 localhost kernel: aic7xxx: PCI Device 3:0:0 failed memory mapped
test
Aug 26 12:32:58 localhost kernel: ahc_pci:3:0:0: No SCB space found
Aug 26 12:32:58 localhost insmod:
/lib/modules/2.4.18-10/kernel/drivers/scsi/aic7xxx/aic7xxx.o: init_module: No
such device
Aug 26 12:32:58 localhost insmod: Hint: insmod errors can be caused by incorrect
module parameters, including invalid IO or IRQ parameters
Aug 26 12:32:58 localhost insmod:
/lib/modules/2.4.18-10/kernel/drivers/scsi/aic7xxx/aic7xxx.o: insmod
/lib/modules/2.4.18-10/kernel/drivers/scsi/aic7xxx/aic7xxx.o failed
Aug 26 12:32:58 localhost insmod:
/lib/modules/2.4.18-10/kernel/drivers/scsi/aic7xxx/aic7xxx.o: insmod aic7xxx failed
Aug 26 12:32:58 localhost /etc/hotplug/pci.agent: ... can't load module aic7xxx
Aug 26 12:32:58 localhost /etc/hotplug/pci.agent: missing kernel or user mode
driver aic7xxx
Comment 4 Need Real Name 2002-11-05 10:44:42 EST
Works in 8.0 with kernel 2.4.18-17.8.0 *IF* kernel is booted with acpi=off.

Colin
Comment 5 Arjan van de Ven 2002-11-05 10:46:33 EST
that's interesting since we don't ship nor enable acpi.... so acpi=off is a nop
Comment 6 Roy Kimbrell 2002-12-24 11:28:23 EST
I'm encountering the same problem:

    I've got a Sony DVD+-RW/+-R plugged into the Firewire port of a Sony Vaio
PCG-GR290K.

    insmod ieee1394 gets ieee1394 loaded
    insmod ohci1394 results in "segmentation fault."
    lsmod shows ieee1394 as loaded, but ohci1394 "initializing"

As a side-effect, some networking is affected.  Mozilla won't display forms,
such as this bugzilla report, but other forms at other sites are affected as
well.  The specific problem is that when Mozilla tries to display a form,
Mozilla locks up and won't refresh its window (but maybe that's an X problem). 
I've verified that this is a problem by booting (with the kernel options as
described below), entering the insmod sequence, and then trying to use Mozilla
immediately after.  Mozilla works fine on other occasions.  Mozilla is 1.1 and
1.2.1.

Also, the system fails to shutdown cleanly.  On my machine it frezzes when
trying to halt an SMB process.  If I wait long enough, I get some kind of
network error, but then it fails to halt the next SMB process.  Could be a
network problem again, or could be a problem with the "initializing" module.

I've added "pci=biosirq", "pci=biosirq acpi=off", and "acpi=off" to the kernel
line in the grub.conf file at different times and tried the insmod sequence of
commands, rebooting after each attempt.  None of these had any affect on this
problem.  That is, nothing changed.  So, it does appear that "acpi=off" is a
noop (maybe).  By the way, I verified via dmesg that the kernel was booted with
these options.

The kernel is vmlinuz-2.4.18-18.7.x
I'm running X 4.2.0 (which may be relevant to the Mozilla problem)

lspci reports the Firewire device as 02:02.0 Firewire (IEEE 1394) Texas
Instruments unknown device 8021 (rev 02).  I've checked this device on the Web -
it seems to be an OHCI-compliant device, but who knows?

Regards,
Roy Kimbrell
Comment 7 Roy Kimbrell 2002-12-24 11:52:05 EST
Also ... unplugging the Firewire cable so that no Firewire devices are connected
to the machine has no effect.  The insmod sequence still results in ohci1394
"initializing".

Regards,
Roy
Comment 8 Roy Kimbrell 2003-03-11 19:16:19 EST
I noticed that my kernel config may not include ieee394 support either as a
module or built-in.  This is based on running xconfig (make xconfig).  (However,
if I look in /usr/src/linux-2.4/configs, the config files there include 1394
module support.  So I don't know if xconfig really reflects my kernel.)  In any
case, I'm making a kernel with 1394 module support selected (on another
machine).  I'll put in a firewire card and see how it goes.

Regards,
Roy
Comment 9 Roy Kimbrell 2003-03-13 10:08:17 EST
Hmmm.  Shucks.  I just realized that the Red Hat kernel source RPM doesn't have
a .config.  So what I saw was the "standard" kernel defaults.  Don't know how
the kernel I have was built.  There ARE firewire modules, so I guess I have to
assume the kernel was made with firewire enabled (as modules).
Comment 10 Arjan van de Ven 2003-03-13 10:09:49 EST
we don't have "A" .config because it includes about 7.. in the configs/
directory; one for each kernel built.
Comment 11 Roy Kimbrell 2003-03-13 17:32:37 EST
Got it.  Thanks.  I'll see if the newer firewire modules help.  
Comment 12 Roy Kimbrell 2003-04-15 14:54:53 EDT
I've done two things to try to resolve the problem.  1) I got an Ieee1394 PCMCIA
card.  2) Built a 2.5.66 kernel.  

With the Ieee1394 card, I wanted to see if there was something peculiar with the
1394 hardware on the Sony Vaio (PGC-GR290K).  Got interesting results with my
stock RedHat 2.4.18-27.7.x kernel.  I might have seen them without the card, but
the card made the problem obvious.  When I inserted the card, the kernel loaded
ohci1394 and other Ieee1394 modules.  When ohci1394 loaded, it complained that
it failed to allocate shared interrupt 0. I had noticed this before, but didn't
know if it was a problem or a comment.  I think it's a problem since it seems to
lead to a kernel Oops..

The messages (from dmesg) looked like this:

PCI: No IRQ known for interrupt pin A of device 02:02.0.
ohci1394: Failed to allocate shared interrupt 0
ieee1394: NodeMgr: host ohci1394 does not exist, cannot remove
Unable to handle kernel NULL pointer dereference at virtual address 00000004
 printing eip:
e0a5e580
*pde = 00000000
Oops: 0002

With the card installed aat boot, the kernel hangs;  when inserted later it
hangs on shutdown (and makes some things reeeelllyyyy slllooooowwww).

So I tried it with my 2.5.66 kernel (monolithic).  Get a very similar sequence
of events, though the modules don't get loaded, of course, since they're part of
the kernel.  But I need to capture the specifics from /var/log/messages and
dmesg (didn't do that when I had a chance). If the most recent ohci1394 fails to
get a shared interrupt location, I think we gotta problem.  This appears to be
specific to the Sony brand since it seems to work elsewhere. Interestingly,
there are serveral pins on this machine for which the kernel has no known IRQ
(according to messages during boot - one occurred above - others occur during
boot).  These haven't been a problem so far, but they might just be the pins
that are specific to the Ieee1394 hardware (or not).

When I get a chance over the next couple of days, I'll boot my 2.5.66 kernel and
capture the dmesg and /var/log/message traffic and post it here.

 
Comment 13 Roy Kimbrell 2003-04-16 12:51:57 EDT
Made a 2.5.66 kernel.  Firewire still doesn't seem to work.  I get pretty much
the same results as with the 2.4.18 kernel except I don't get a kernel Oops
(which is a good thing).

Had trouble with modules so couldn't get any action from any modules (problem
with modules.dep, I guess).  So the kernel is monolithic.  Also, plug'n'play is
turned off in the bios.  ACPI is turned off on the boot "command line." 
Finally, I have pci=biosirq on the command line.

On boot, I had a hard disk and a DVD burner plugged into the firewire port (Sony
Vaio PCG-GR290K).  Here are the relevant messages from dmesg (files containing
dmesg and /var/log/messages are attached)

ohci1394: $Rev: 801 $ Ben Collins <bcollins@debian.org>
PCI: No IRQ known for interrupt pin A of device 02:02.0.
ohci1394: Failed to allocate shared interrupt 0
raw1394: /dev/raw1394 device initialized
ieee1394: Loaded CMP driver

Later, I slipped an Adaptec AFW-1430 "FireConnect" card into the PCMCIA slot. 
Here are the results from dmesg:

cs: cb_alloc(bus 7): vendor 0x1033, device 0x00cd
PCI: Enabling device 07:00.0 (0000 -> 0002)
PCI: No IRQ known for interrupt pin A of device 07:00.0.
PCI: No IRQ known for interrupt pin A of device 07:00.0.
ohci1394_1: Unexpected PCI resource length of 1000!
ohci1394: Failed to allocate shared interrupt 0

Here are the relevant messges from /var/log/messages:

Apr 16 11:30:34 localhost kernel: cs: cb_alloc(bus 7): vendor 0x1033, device 0x00cd
Apr 16 11:30:34 localhost kernel: PCI: Enabling device 07:00.0 (0000 -> 0002)
Apr 16 11:30:34 localhost kernel: PCI: No IRQ known for interrupt pin A of
device 07:00.0.
Apr 16 11:30:34 localhost kernel: PCI: No IRQ known for interrupt pin A of
device 07:00.0.
Apr 16 11:30:34 localhost kernel: ohci1394_1: Unexpected PCI resource length of
1000!
Apr 16 11:30:34 localhost kernel: ohci1394: Failed to allocate shared interrupt 0
Apr 16 11:30:34 localhost cardmgr[797]: initializing socket 1
Apr 16 11:30:34 localhost cardmgr[797]: socket 1: Western Digital 1394 Adapter
Apr 16 11:30:34 localhost cardmgr[797]: executing: 'modprobe cb_enabler'
Apr 16 11:30:34 localhost cardmgr[797]: + FATAL: Could not load
/lib/modules/2.5.66/modules.dep: No such file or directory
Apr 16 11:30:34 localhost cardmgr[797]: modprobe exited with status 1
Apr 16 11:30:34 localhost cardmgr[797]: module
/lib/modules/2.5.66/pcmcia/cb_enabler.o not available
Apr 16 11:30:34 localhost cardmgr[797]: executing: 'modprobe ohci1394'
Apr 16 11:30:34 localhost /etc/hotplug/pci.agent: ... no drivers for PCI slot 
Apr 16 11:30:34 localhost cardmgr[797]: + FATAL: Could not load
/lib/modules/2.5.66/modules.dep: No such file or directory
Apr 16 11:30:34 localhost cardmgr[797]: modprobe exited with status 1
Apr 16 11:30:34 localhost cardmgr[797]: module
/lib/modules/2.5.66/pcmcia/ohci1394.o not available
Apr 16 11:30:35 localhost cardmgr[797]: get dev info on socket 1 failed:
Resource temporarily unavailable

Don't know why cardmgr was trying to load modules since modules were not enabled
As proof, here's the message from dmesg:  

Apr 16 10:08:36 localhost syslogd 1.4.1: restart.
Apr 16 10:08:36 localhost syslog: syslogd startup succeeded
Apr 16 10:08:36 localhost kernel: klogd 1.4.1, log source = /proc/kmsg started.
Apr 16 10:08:36 localhost kernel: Inspecting /boot/System.map-2.5.66
Apr 16 10:08:36 localhost syslog: klogd startup succeeded
Apr 16 10:08:36 localhost portmap: portmap startup succeeded
Apr 16 10:08:37 localhost kernel: Loaded 31264 symbols from /boot/System.map-2.5.66.
Apr 16 10:08:37 localhost kernel: Symbols match kernel version 2.5.66.
Apr 16 10:08:37 localhost kernel: No module symbols loaded - kernel modules not
enabled. 

Comment 14 Roy Kimbrell 2003-04-16 12:54:28 EDT
Created attachment 91152 [details]
results of dmesg

This file is the results of dmesg > local_file.txt
Comment 15 Roy Kimbrell 2003-04-16 12:55:43 EDT
Created attachment 91153 [details]
Copy of /var/log/messages

Result of cp /var/log/messages local_file.txt.

Removed messages from earlier sessions - starts with last boot.
Comment 16 Roy Kimbrell 2003-05-30 11:51:19 EDT
Based on recommendations from Stefan Richter of the Linux1394 project, I
installed the RedHat 2.4.20-13.7 kernel.  (I noted that ieee1394.o and
ohci1394.o modules with this kernel differed from the 2.4.18-27.7.x kernel that
I had been using.  Didn't look at the *.c files.)  The ohci1394 module had the
same problems as previously reported.  Attached is the relevant
/var/log/messages text.
Comment 17 Roy Kimbrell 2003-05-30 11:54:25 EDT
Created attachment 92061 [details]
/var/log/messages for ohci1394 problem

These are the messages that ohci1394 wrote to /var/log/messages before the
kernel oops.
Comment 18 Roy Kimbrell 2003-08-12 11:35:10 EDT
The problem appears to be that the devices aren't paired with an interrupt.

A message similar to this appears in dmesg and /var/log/messages:

PCI: no IRQ for pin A of device 0:1f.6

(This device happens to be the internal modem.)

My major concern is the Firewire port, though.
modprobe ieee1394 executes with no comments.  However,
modprobe ohci1394 complains, among other things,

no such device

In /var/log/messages this appears at the point where I issued the modprobe ohci1394:

PCI: no IRQ for pin A of device 02:02.0

Which is the Firewire port.

I've tried "pci=biosirq" on the kernel command line with no evident effect.

Device 02:02.0, the Firewire port, is not mentioned at boot time in my custom
RedHat 2.4.20-19.7 kernels with ACPI and APIC turned on. However, it IS
mentioned in my custom 2.4.21-rc7 kernel where the following comment appears
early in /var/log/messages:

kernel: 02:02.0: ignoring bogus IRQ 255

and

kernel: IRQ for 02:02.0 -> not routed

I've tried several kernels:  Stock RedHat 2.4 kernels up to 2.4.20-19.7, custom
2.4.21-rc7 kernels, and last, a 2.4.20-19.7 custom kernel.  (I don't know if the
2.4.21-rc7 kernel would have performed differently, since I'm not sure its
configuration was the same as my current 2.4.21-19.7 custom.  I think I
neglected to turn off APM in the 2.4.21-rc7 kernel.)

In the latest custom configuration, I enabled APIC and ACPI with ACPI debug
turned on.  In addition, I disabled APM in the most current custom kernel
(something I hadn't done in the 2.4.21-rc7 kernel out of ignorance).  ACPI
appears to generate several errors, but I don't know if these are significant or
just a result of debug being turned on.  The errors have the form:

evregion-0300 [-8] Ev_address_space_dispa: Region handler: AE_ERROR [PCIConfig]

At the end of the error list I get the following:

55 Devices found: 47 _STA, 1 _INI
Completing Region and Field initialization:...............
15/21 Regions, 0/0 Fields initialized (570 nodes total)
ACPI: Subsystem enabled

Which makes me think that ACPI is working.

One final bit of info.  Very early in the boot, The 2.4.20-19.7 custom kernel
reports the following:

Local APIC disabled by BIOS -- reenabling.
Found and enabled local APIC!

Now why would the BIOS disable the APIC?

Finally, I do have a Firewire device plugged into the Firewire port at boot time.
Comment 19 Roy Kimbrell 2003-08-15 10:51:07 EDT
Got IEEE1394-Firewire to work.  

To review the problem: the machine is a Sony Vaio PGC-GR290K. The
ohci1394 module wasn't loading (i.e., 'modprobe ohci1394' failed).  The
problem was that PCI wasn't mapping interrupts for the IEEE 1394 device
(as well as several other devices - modem, one USB port, etc.).

I got into the PCI code and was a bit dismayed at the ad hoc methods
used to map interrupts.  However, the most current ACPI patch does
wonders for interrupt mapping and handling.

I had tried building several different kernels, some with code from
RedHat, some from kernel.org.  The RedHat kernels were a problem because
patches from other places (e.g., linux1394.org, and
sourceforge.net/projects/acpi couldn't be applied because of RedHat
changes.  I tried an Alan Cox 2.5.65 kernel from kernel.org, but there
were many problems just building the kernel.  The module building and
management code has changed in 2.5 which required changing some of the
module utilities on my machine.  After much struggle, I finally got the
2.5.65 kernel to build and load, but the 2.5.65 PCI and ACPI didn't fix
any problems.  That was probably because I didn't turn of the APM code
in xconfig.  When APM is running, ACPI exits.  Didn't learn that till
much later.  Sigh.

Earlier this week, I tried buidling the 2.4.20-19.7 kernel from RedHat.
 Still no luck.

Finally, I built the 2.4.21 kernel from kernel.org.  Here's where I
learned about ACPI, APM, and APIC (don't know if APIC figures as part of
the solution, but it had some itneresting things to say in dmesg which
I'll relate later).

Turned off APM in xconfig which allowed ACPI to run.  Still no luck.

Here's the important stuff ....

I applied the acpi-20030619-2.4.21 patch from
soruceforge.net/projects/apci.  Now ACPI discovered the interrupts for
the modem, third USB port, and the Firewire port and mapped them to IRQ
9 (along with a lotta other stuff).

Now the following works just fine:

modprobe ieee1394
modprobe ohci1394
modprobe sbp2

The devices still don't show up in /proc/scsi/scsi, but I ran
'rescan-scsi-bus.sh' (http://linux1394.org/sbp2.html) and the Firewire
devices showed up (a Maxtor disk and a Sony DVD R/RW drive).

'mount -t vfat /dev/sdb1 /mnt/tmp' mounted the Maxtor and
'mount -t iso9660 /dev/scd1 /mnt/tmp2' mounted the DVD drive.

Copied my home directory, nearly 8 GB, to the Maxtor with no apparent
difficulties (no complaints in /var/log/messages, anyway) - the data
seems to be all there.  Was able to read a CD from the DVD drive.
Havn't tried writing to it yet.

PS about APIC.  When it came up it said that the APIC had been disabled
by the BIOS (now why would it do that?), and APIC had re-enabled it.
Interesting.

Regards,
Roy 
Comment 20 Bugzilla owner 2004-09-30 11:39:45 EDT
Thanks for the bug report. However, Red Hat no longer maintains this version of
the product. Please upgrade to the latest version and open a new bug if the problem
persists.

The Fedora Legacy project (http://fedoralegacy.org/) maintains some older releases, 
and if you believe this bug is interesting to them, please report the problem in
the bug tracker at: http://bugzilla.fedora.us/

Note You need to log in before you can comment on or make changes to this bug.