pcmcia nic trouble
i need help loading a pcmcia nic on winbook xl with redhat 6.2.
I had some trouble with pcmcia modules -pcmcia_core is loaded -i83265 module loaded on irq 15 after editing /etc/pcmcia/config.opts to exclude irq 12 (taken by psaux mouse) -modprobe xirc2pc_cs generates error messages /lib/modules/2.2.14-5.0/pcmcia/xirc2ps_cs.o: invalid parameter parm_irq /lib/modules/2.2.14-5.0/pcmcia/xirc2ps_cs.o: failed /lib/modules/2.2.14-5.0/pcmcia/xirc2ps_cs.o: insmod xirc2ps_cs failed -ifconfig -a just brings up loopback -lsmod reports 832365 and pcmcia_core but not xircom -netconfig console, however, does allow for configuration of nic and -vi /etc/sysconfig/network-scripts/ifcofnig-eth0 DEVICE=eth0 BOOTPROTO=static IPADDR=10.1.1.5 NETMASK=255.255.255.0 GATEWAY=10.1.1.1 |
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 tried working around this several times http://www.linuxquestions.org/questi...&postid=179611 http://www.linuxquestions.org/questi...threadid=23409 and i've done a bug report on this: https://bugzilla.redhat.com/bugzilla...g.cgi?id=70999 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/cardctl ident Why such an old distro? Cheers, Finegan |
there is a match in etc/pcmcia/config
/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. **************************************************** Cat /proc/interrupts BEFORE PCMCIA ENABLED in PEANUT CPU0 0: 683318 XT-PIC timer 1: 5263 XT-PIC keyboard 2: 0 XT-PIC cascade 6: 49 XT-PIC floppy 8: 1 XT-PIC rtc 11: 0 XT-PIC usb-uhci 12: 11802 XT-PIC PS/2 Mouse 14: 15199 XT-PIC ide0 NMI: 0 LOC: 0 ERR: 0 AFTER PCMCIA ENABLED in PEANUT CPU0 0: 23202 XT-PIC timer 1: 313 XT-PIC keyboard 2: 0 XT-PIC cascade 3: 4 XT-PIC xirc2ps_cs 8: 1 XT-PIC rtc 11: 0 XT-PIC usb-uhci 12: 4 XT-PIC i82365 14: 13045 XT-PIC ide0 NMI: 0 LOC: 0 ERR: 0 Here is the correct configuration of the IRQ's after successful Redhat 6.2 install # cat /proc/interrupts CPU0 0: 185024 XT-PIC timer 1: 2265 XT-PIC keyboard 2: 0 XT-PIC cascade 3: 865 XT-PIC xirc2ps_cs 6: 23 XT-PIC floppy 8: 1 XT-PIC rtc 12: 15469 XT-PIC PS/2 Mouse 13: 1 XT-PIC fpu 14: 186451 XT-PIC ide0 15: 4 XT-PIC i82365 NMI: 0 |
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? Cheers, Finegan |
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. Cheers, Finegan |
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?
[root@localhost /root]# cat /proc/interrupts CPU0 0: 37692 XT-PIC timer 1: 82 XT-PIC keyboard 2: 0 XT-PIC cascade 3: 849 XT-PIC xirc2ps_cs 8: 1 XT-PIC rtc 12: 1556 XT-PIC PS/2 Mouse 13: 1 XT-PIC fpu 14: 138743 XT-PIC ide0 15: 4 XT-PIC i82365 NMI: 0 [root@localhost /root]# |
No I don't.... i82365 should have been loaded on 5 or 7... I'm at a loss, I need to dive into pcmcia IRQ goop more I guess. Right now though, sleep.
I'll post back later. Cheers, Finegan |
sleep is good. thanks for all your help. we may yet make progress.
i once messed around with insmod I82365 issues. its probably not relevant or helpful but you might want to look at: http://pcmcia-cs.sourceforge.net/man/i82365.4.html it seems to suggest that you can assign irq's etc Quote:
|
All times are GMT -5. The time now is 01:54 AM. |