Linux - HardwareThis forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
i tried recompiling the kernel but the change document requires updating pcmcia-cs. i can't do that because that package locks up my keyboard and mouse.
i have done kernel upgrades in the past through redhat updates (but omitted the pmcia-cs update) and this probably explains why i have had these problems).
Does the xircom pcmcia-cs module from the RedHat 6.2 era support your card? If the card is less than three years old, the rev number of the chipset probably isn't recognized by cardmgr at all.
Also is there an entry in /etc/pcmcia/config that matches the information you get from:
/sbin/carctl ident
Socket 0:
product info: "Xircom", "10/100 Network PC Card", "XE2000", "1.00"
manfid: 0x0105, 0x010a
function 6 (network)
Socket 1:
no product info available
sorry if i wasn't clear. the redhat 6.2 works great on the laptop. (except for the kernel upgrade and pcmcia issues). Unlike the newer distros (i.e redhat 7.2, 7.3, peanut linux), Redhat 6.2 successfully installs in gui mode and, with updates to the drivers, correctly configures the network card without creating any X session problems. Loading the PCMCIA module from Redhat 6.2 update again locks up the mouse. Upgrading the kernel without the upgrade to the pcmcia-cs, makes Redhat forget where the modules are and they stop loading. see http://www.linuxquestions.org/questi...threadid=36062
after installing Redhat 7.2 and 7.3 (or 6.2 with the new PCMCIA module), the PSAUX mouse and keyboard functions lock up in X session . All 7.2 and 7.3 installs are in text mode
because the mouse is not detected. I paid for RedHat support and worked with the guy on the phone until he have up.
I discovered why the newer distros don't work by accident. I installed Peanut Linux on my Winbook XL laptop with the Xircom 10/100 XE2000 PCMCIA card. The install goes great, the probe finds a mouse and calls it some kind of port psaux PS/2 mouse and assigns it IRQ 12 (see the before and after IRQ display below). The system boots up with a great graphical interface and everything works great.
Peanut, however, disables PCMCIA services until after the install. When I edit the /etc/rc.d/rc.S to allow detection of the PCMCIA, the nic is configured and can be pinged. Unfortunately, after PCMCIA starts, the graphical interface will load and lock up (both the keyboard and mouse). I am pretty sure that the PCMCIA controller (i82365) knocks the mouse out of its IRQ 12 (the Xircom nic steals the Floppy IRQ as well).
I am pretty sure I can fix the NIC/floppy conflict by editing the edit /etc/pcmcia/*.opts file. I don't know how to fix the controller issue.
From the readout of interrupts allocated on the RH6.2 install, it seems that the NIC's module is already loaded... this is probably just a configuration issue. Does it appear under an "ifconfig -a", what happens when you try:
ifconfig eth0 192.168.0.1 up
?
If you wanted to get it to work under a newer distro, there are lots of ways to force a device to take a different IRQ. easiest is probably to force it from /etc/modules.conf, but that's moot for now, what's ifconfig say?
i'm sorry if i didn't make myself clear before(if you can solve this problem for me, it would be great). the nic works fine (i'm writing to you from the laptop in question). the problem is that i can't update the pcmcia-cs. if i do, the pcmcia controller steals IRQ 12 from the mouse and locks up the mouse and keyboard in any x session.
you are right. it is easy to reassign the nic irq. that's not the problem. it's the pcmcia controller (i82365) that cripples the mouse by taking IRQ 12.
i wouldn't care about the pcmcia problem except that i can't install a modern distro or even compile a new kernel without the newer pcmcia-cs module. if i try to compile a new kernel, linux forgets where the modules are located and fails to load them.
in response to your request,
[root@localhost /root]# ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:10:A4:9E:A9:18
inet addr:10.1.1.5 Bcast:10.1.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
Interrupt:3 Base address:0x300
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:3924 Metric:1
RX packets:14 errors:0 dropped:0 overruns:0 frame:0
TX packets:14 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
Okay, I think I found the right tweak, hopefully this will work and its easy to experiment with it on your RH6.2 install. You have to find where the PCIC_OPTS= declaration is passed to cardmgr on init. My guess on a RedHat machine is that it is /etc/rc.d/init.d/pcmcia. Your PCIC in this case is i82365, let it just probe for the type automagically.
In this change the value and add: irq_list=5,7
for instance:
PCIC_OPTS="poll_interval=100 irq_list=5,7"
Spaces between options, and keep all of the bits of one option together with commas and no spacing... syntax can be such a pain.
You should also have an option for CORE_OPTS (pcmcia_core) and CARDMGR_OPTS (whatever card module is loaded) that should "hopefully" take the same irq arguments so that you can keep those the heck away from your mouse as well.
Now, with a newer distro you're going to be dealing with in-kernel pcmcia, then you'll have an option for YENTA instead of CORE, I think... I'm using Slackware as a base here, which is still in pcmcia-cs land.
Post back if that works, I'm really curious as I've only read it.
Finnegan:
Thanks for your help whether this works or not (you have never steered me wrong before). as you say, syntax is important. here is my file as modified (just in case this doesn't work out we'll have something to troubleshoot).
V=`eval echo '$'$N` ; if [ "$V" ] ; then eval ENV_$N=\"$V\" ; fi
done
# Source PCMCIA configuration, if available
if [ -f /etc/pcmcia.conf ] ; then
# Debian startup option file
. /etc/pcmcia.conf
elif [ -f /etc/sysconfig/pcmcia ] ; then
# Red Hat startup option file
. /etc/sysconfig/pcmcia
else
# Slackware startup options go right here:
# Should be either i82365 or tcic
PCIC=i82365
# Put socket driver timing parameters here
PCIC_OPTS="poll_interval=100 irq_list=5,7"
# Put pcmcia_core options here
CORE_OPTS="poll_interval=100 irq_list=5,7"
# Put cardmgr options here
CARDMGR_OPTS="poll_interval=100 irq_list=5,7"
# To set the PCMCIA scheme at startup...
SCHEME=
fi
-- INSERT -- Warning: Changing a readonly file
after reboot, everything loaded fine and the card works fine. here is the output of the IRQ's below. I know this sounds stupid, but do you think it worked?
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 for as many as eight ISA sockets, or stop after checking for four sockets. The default is 0 (stop at four
sockets). Systems with two independent ISA-to-PCMCIA controllers (say, one internal and one in a docking station) may require this flag to be
set, even though they have a total of only four sockets. If this flag is set, then poll_interval will automatically be enabled.
do_scan=n
This flag specifies that all free 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.
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.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.