Armada: Compaq Microcom CPQ550 Ethernet/Modem not configured

Pareti, Joseph joseph.pareti at hp.com
Wed Mar 30 04:08:24 EST 2005


The short message:
When booting the standard (RH) kernel 2.4.21-20.EL I invariably get:

cardmgr[2829]: open_sock(socket 0) failed: Device or resource busy


When booting a custom kernel, for example one that was built by setting:

CONFIG_PCMCIA=y

in the .config file

.... then cardmgr doesn't start as it "doesn't find pcmcia drivers in
/proc/drivers"

I didn't give up because I have seen the Microcom CPQ550 Ethernet/Modem
ought to be supported using xirc2ps_cs but I am running out of ideas.
BTW the idea of cusomizing the kernel was prompted by the fact there is
no xirc2ps_cs.o when booting 2.4.21-20.EL

More details follow in enclosure...

Thanks for any help
======================
-------------- next part --------------
23:37 3/27/2005

debug the pcmcia bug on the armada 7800 with rhel 3 ws
============================================================
============================================================

note the pcmcia problem occurs with or without installing the 
pcmcia-cs-3.2.8 package. However the latter option provides additional tools
as described below. The drivers are from kernel, because the kernel was not
rebuilt and the option CONFIG_PCMCIA was  enabled (see 2.2 of the how-to
pcmcia guide "kernel pcmcia support") 


in /var/log/messages
=========================

Mar 23 22:30:45 localhost cardmgr[1450]: module /lib/modules/2.4.21-20.EL/pcmcia/xirc2ps_cs.o not available
... indicating the object file doesn't exist, however there are sources for it both in the
standard distribution and in the package

[root at localhost 2.4.21-20.EL]# ls -l /usr/src/pcmcia-cs-3.2.8/clients/xirc2ps_cs.c /usr/src/linux-2.4.21-20.EL/drivers/net/pcmcia/xirc2ps_cs.c
-rw-r--r--    1 root     root        63851 Jun 13  2003 /usr/src/linux-2.4.21-20.EL/drivers/net/pcmcia/xirc2ps_cs.c
-r--r--r--    1 root     root        62748 Aug 25  2003 /usr/src/pcmcia-cs-3.2.8/clients/xirc2ps_cs.c
[root at localhost 2.4.21-20.EL]#



[root at localhost pcmcia]# cat /var/lib/pcmcia/stab
=========================
Socket 0: Compaq Microcom CPQ550 Ethernet/Modem
Socket 1: TDK Global Pro ISDN V.90 Modem
1       serial  serial_cs       0       ttyS3   4       67
[root at localhost pcmcia]#

(this seems to indicate that socket 0 is not properly configured because the driver info is missing, contrary to socket 1)


output of cardmgr ...
========================
[root at localhost pcmcia]# cardmgr
cardmgr[2829]: open_sock(socket 0) failed: Device or resource busy
cardmgr[2829]: another cardmgr is already running?
[root at localhost pcmcia]#


debugging tools provided in the package /usr/src/pcmcia-cs-3.2.8
========================

test_setup
=====================


Current kernel: 2.4.21-20.EL #1 Wed Aug 18 20:58:25 EDT 2004

Using /lib/modules/2.4.21-20.EL/kernel/drivers/pcmcia/pcmcia_core.o:
  "Linux Kernel Card Services 3.1.22
  options: [pci] [cardbus] [pm]"

Startup options (from /etc/sysconfig/pcmcia):
  PCMCIA=yes
  PCIC=yenta_socket
  PCIC_OPTS=
  CORE_OPTS=

Checking current syslog files in /var/log:
  All PCMCIA messages are in /var/log/messages.

Kernel startup messages (from 'dmesg'):
  Linux Kernel Card Services 3.1.22
    options:  [pci] [cardbus] [pm]
  Yenta IRQ list 0698, PCI irq11
  Socket status: 30000010
  Yenta IRQ list 0698, PCI irq11
  Socket status: 30000010
  cs: IO port probe 0x0c00-0x0cff: excluding 0xc48-0xc4f 0xc68-0xc6f 0xc80-0xc9f
  cs: IO port probe 0x0100-0x04ff: excluding 0x100-0x107 0x220-0x22f 0x250-0x257 0x330-0x337 0x378-0x37f 0x388-0x38f 0x408-0x40f 0x4d0-0x4d7
  cs: IO port probe 0x0a00-0x0aff: clean.
  cs: memory probe 0xa0000000-0xa0ffffff: clean.

Module status:
  The PCMCIA kernel modules are loaded correctly.

Daemon status:
  cardmgr is running (process 1450)

Current socket status (from /var/lib/pcmcia/stab):
  Socket 0: Compaq Microcom CPQ550 Ethernet/Modem
  Socket 1: TDK Global Pro ISDN V.90 Modem
  1	serial	serial_cs	0	ttyS3	4	67



[root at localhost debug-tools]# ./test_network
=====================


PCMCIA network settings are coming from linuxconf.
  /etc/sysconfig/network-scripts/ifcfg-eth0 does not exist!
No PCMCIA network interfaces are configured.
[root at localhost debug-tools]#


CONFIGURING A NEW KERNEL ???
=============================
From the RH customization guide, appendix A, page 265

make oldconfig . This is a non-interactive script that sets up the conguration le to
contain the default settings. If the system is using the default Red Hat Linux kernel, it creates
a conguration le for the kernel that shipped with Red Hat Linux for the architecture. This
is useful for setting up the kernel to known working defaults and then turning off features not
wanted.

from the README file in /usr/src/linux-2.4
==========================================

- Alternate configuration commands are:
        "make menuconfig"  Text based color menus, radiolists & dialogs.
        "make xconfig"     X windows based configuration tool.
        "make oldconfig"   Default all questions based on the contents of
                           your existing ./.config file.

WHAT DOES .config look like ?
==============================

[root at localhost linux-2.4]# pwd
/usr/src/linux-2.4
[root at localhost linux-2.4]# grep CONFIG_PCMCIA .config > /mnt/usbstick/x.txt
[root at localhost linux-2.4]#




CONFIG_PCMCIA=m
CONFIG_PCMCIA_AHA152X=m
CONFIG_PCMCIA_FDOMAIN=m
CONFIG_PCMCIA_NINJA_SCSI=m
CONFIG_PCMCIA_QLOGIC=m
CONFIG_PCMCIA_HERMES=m
CONFIG_PCMCIA_HERMES_OLD=m
CONFIG_PCMCIA_3C589=m
CONFIG_PCMCIA_3C574=m
CONFIG_PCMCIA_FMVJ18X=m
CONFIG_PCMCIA_PCNET=m
CONFIG_PCMCIA_AXNET=m
CONFIG_PCMCIA_NMCLAN=m
CONFIG_PCMCIA_SMC91C92=m
CONFIG_PCMCIA_XIRC2PS=m
CONFIG_PCMCIA_IBMTR=m
CONFIG_PCMCIA_XIRCOM=m
CONFIG_PCMCIA_XIRTULIP=m
CONFIG_PCMCIA_RAYCS=m
CONFIG_PCMCIA_NETWAVE=m
CONFIG_PCMCIA_WAVELAN=m
CONFIG_PCMCIA_WVLAN=m
CONFIG_PCMCIA_SERIAL_CS=m


the above output is identical to the on on the omni6k (which has no PCMCIA devices).

NEXT STEPS ...
==============

(i) set CONFIG_PCMCIA to "n" and rebuild the kernel (see RH cusomization guide)
(ii) boot the new kernel
(3) intall the cs package and it will hopefully build / install the required drivers as 
per page 8 of the PCMCIA "HOW-TO" guide


SEGVIO
======

occurring when "make modules"

gcc -D__KERNEL__ -I/usr/src/linux-2.4.21-20.EL/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 
-fno-strict-aliasing -fno-common  -Wno-unused -fomit-frame-pointer -pipe -freorder-blocks 
-mpreferred-stack-boundary=2 -march=i686 -DMODULE -DMODVERSIONS 
-include /usr/src/linux-2.4.21-20.EL/include/linux/modversions.h 
-I../../scsi -nostdinc -iwithprefix include -DKBUILD_BASENAME=qla2200  -c -o qla2200.o qla2200.c

In file included from qla2200.c:43:
qla2x00.c: In function `qla2x00_configure_fabric':
qla2x00.c:13486: internal error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://bugzilla.redhat.com/bugzilla/> for instructions.
The bug is not reproducible, so it is likely a hardware or OS problem.
make[3]: *** [qla2200.o] Error 1
make[3]: Leaving directory `/usr/src/linux-2.4.21-20.EL/drivers/addon/qla2200'
make[2]: *** [_modsubdir_qla2200] Error 2
make[2]: Leaving directory `/usr/src/linux-2.4.21-20.EL/drivers/addon'
make[1]: *** [_modsubdir_addon] Error 2
make[1]: Leaving directory `/usr/src/linux-2.4.21-20.EL/drivers'
make: *** [_mod_drivers] Error 2




redefine /usr/src/linux-2.4/.config
===================================

...
CONFIG_PCMCIA=n
CONFIG_PCMCIA_AHA152X=n
CONFIG_PCMCIA_FDOMAIN=n
CONFIG_PCMCIA_NINJA_SCSI=n
CONFIG_PCMCIA_QLOGIC=n
CONFIG_PCMCIA_HERMES=n
CONFIG_PCMCIA_HERMES_OLD=n
CONFIG_PCMCIA_3C589=n
CONFIG_PCMCIA_3C574=n
CONFIG_PCMCIA_FMVJ18X=n
CONFIG_PCMCIA_PCNET=n
CONFIG_PCMCIA_AXNET=n
CONFIG_PCMCIA_NMCLAN=n
CONFIG_PCMCIA_SMC91C92=n
CONFIG_PCMCIA_XIRC2PS=n
CONFIG_PCMCIA_IBMTR=n
CONFIG_PCMCIA_XIRCOM=n
CONFIG_PCMCIA_XIRTULIP=n
CONFIG_PCMCIA_RAYCS=n
CONFIG_PCMCIA_NETWAVE=n
CONFIG_PCMCIA_WAVELAN=n
CONFIG_PCMCIA_WVLAN=n
CONFIG_PCMCIA_SERIAL_CS=n
...

then build the custom kernel as per appendix a of the RHCG

REBUILD THE PCMCIA CS PACKAGE
===============================

 

    -------- Linux PCMCIA Configuration Script --------

The default responses for each question are correct for most users.
Consult the PCMCIA-HOWTO for additional info about each option.

Linux kernel source directory [/usr/src/linux]: /usr/src/linux-2.4

The kernel source tree is version 2.4.21-20.ELcustom.
The current kernel build date is Sun Mar 27 20:48:57 2005.

Build 'trusting' versions of card utilities (y/n) [n]: 
Include 32-bit (CardBus) card support (y/n) [y]: 
Include PnP BIOS resource checking (y/n) [n]: 
Module install directory [/lib/modules/2.4.21-20.ELcustom]: 

Kernel configuration options:
    Kernel-tree PCMCIA support is disabled.
    Symmetric multiprocessing support is disabled.
    Preemptive kernel support is disabled.
    Realtime Hardware Abstraction Layer is disabled.
    High memory support is enabled.
    PCI BIOS support is enabled.
    Power management (APM) support is enabled.
    SCSI support is enabled.
    IEEE 1394 (FireWire) support is disabled.
    Networking support is enabled.
     Radio network interface support is enabled.
     Token Ring device support is enabled.
     Fast switching is disabled.
     Frame Diverter is enabled.
    Module version checking is enabled.
    Kernel debugging support is enabled.
     Memory leak detection support is disabled.
     Spinlock debugging is disabled.
    /proc filesystem support is enabled.
    PAE support is disabled.

The standalone Adaptec APA1480 CardBus driver is not supported with
    this kernel.  If you need it, use the kernel PCMCIA subsystem.

The standalone IEEE 1394 CardBus drivers are not supported with this
    kernel.  If you need them, use the kernel PCMCIA subsystem.

It looks like you have a System V init file setup.
The Forms library is not available.
The X11/Xaw libraries are not available.
The GTK+ library is not available.

Configuration successful.

make[1]: Entering directory `/usr/src/pcmcia-cs-3.2.8/modules'
cc   -MD -O3 -Wall -Wstrict-prototypes -pipe -Wa,--no-warn -I../include -I/usr/src/linux-2.4/include  -D__KERNEL__ -DMODULE -c cs.c
In file included from /usr/src/linux-2.4/include/linux/highmem.h:11,
                 from /usr/src/linux-2.4/include/linux/vmalloc.h:8,
                 from ../include/linux/vmalloc.h:7,
                 from /usr/src/linux-2.4/include/asm/io.h:47,
                 from ../include/asm/io.h:5,
                 from /usr/src/linux-2.4/include/asm/pci.h:41,
                 from /usr/src/linux-2.4/include/linux/pci.h:670,
                 from ../include/linux/pci.h:4,
                 from cs.c:49:
/usr/src/linux-2.4/include/asm/highmem.h: In function `kmap_atomic_to_page':
/usr/src/linux-2.4/include/asm/highmem.h:110: `__PAGE_OFFSET' undeclared (first use in this function)
/usr/src/linux-2.4/include/asm/highmem.h:110: (Each undeclared identifier is reported only once
/usr/src/linux-2.4/include/asm/highmem.h:110: for each function it appears in.)
In file included from ../include/asm/io.h:5,
                 from /usr/src/linux-2.4/include/asm/pci.h:41,
                 from /usr/src/linux-2.4/include/linux/pci.h:670,
                 from ../include/linux/pci.h:4,
                 from cs.c:49:
/usr/src/linux-2.4/include/asm/io.h: In function `virt_to_phys':
/usr/src/linux-2.4/include/asm/io.h:78: `__PAGE_OFFSET' undeclared (first use in this function)
/usr/src/linux-2.4/include/asm/io.h: In function `phys_to_virt':
/usr/src/linux-2.4/include/asm/io.h:96: `__PAGE_OFFSET' undeclared (first use in this function)
/usr/src/linux-2.4/include/asm/io.h: In function `isa_check_signature':
/usr/src/linux-2.4/include/asm/io.h:268: `__PAGE_OFFSET' undeclared (first use in this function)
make[1]: *** [cs.o] Error 1
make[1]: Leaving directory `/usr/src/pcmcia-cs-3.2.8/modules'
make: *** [all] Error 2





More information about the linux-pcmcia mailing list