MHonArc test archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Q: Insmod -> "self test FAILED"
I'm having real problems installing my PCA-200E/PC card under RedHat
5.0, though it runs just fine under NT4.0. After much finagling, I
have a clean kernel compile and also a clean compile of the ATM tools
by Werner Almesberger. The pca200e.o kernel module compiles without
errors, but "insmod ./pca200e.o" fails with the message:
./pca200e.o: init_module: Device or resource busy
In /var/log/messages I find the following two lines:
Mar 13 08:04:50 lbudney-pc kernel: PCA-200E: found Fore PCA-200E at 0xe2000000, IRQ 9
Mar 13 08:04:50 lbudney-pc kernel: PCA-200E: self test FAILED.
Here is my current setup:
Computer: Compaq Deskpro 4000
Distribution: RedHat 5.0
ATM: release 0.31
pca200e: version 0.2
headers: glibc-devel-2.0.5c-10 replaced with libc-devel-5.4.44-1rh42
firmware: pca200e.bin, version 4.1
I did notice that RedHat 5.0 seems to give people problems, but with
everything compiling cleanly, it feels like I'm past that particular
To resolve the problem, I first ran the Compaq BIOS diagnostics. The
PCA card originally used IRQ 7, which it shared with Compaqs PCI
ethernet card (a netflex III). In the BIOS tool, I disabled the
netflex and moved the ATM card to IRQ 9.
When changing the IRQ had no effect, I tried other firmare images,
including the one I downloaded from
<http://os.inf.tu-dresden.de/project/atm/>. None of this changed the
Next I joined this mailing list, requested the archive, and searched
it. Indu Mahadevan had a similar-sounding problem, which was not the
same. In a response to his problem, Uwe Dannowski provided some code
which first sets the card's address before the driver reads the
address; I added that code to my driver using the address 0xe2000000.
Previously, the address was something like "0x42c00000".
After examining the source code, I see that the problem is happening
in the function pca200e_reset(). The bstat register is set to
cold_start, the board control register bit 0 is set and cleared, but
the bstat register never transitions to "self_test_ok". Instead I am seeing
a value of 0x58192002 pretty consistently. This suggests that the card
is failing to initialize at all; yet it works fine under NT4.0.
Any suggestions for getting this working would make my week!
Thanks a lot,
Leonard R Budney | This application has performed an illegal
Fore Systems | operation, and must be punished.
(412) 742 - 7895 | [OK] [Cancel]
Main Index |