Problems with old pcmcia package and new 2.6.14 kernel

Terje Bråten terjebr at broadpark.no
Tue Dec 6 06:17:23 EST 2005


Hi.
I have some problems wirh my 3Com 100MHz 574B pcmcia card that I want to
funcion on my Toshiba Satellite laptop.

Recently I upgraded to kernel version linux-2.6.14-gentoo-r3.
I have also installed udev and pcmicautils, and have tried to do without
the old pcmcia package.

Right after boot I have this result:

sirius:~# pccardctl ident
Socket 0:
  no product info available
Socket 1:
  no product info available
sirius:~# lspci
00:00.0 Host bridge: ALi Corporation M1632M Northbridge+Trident (rev 01)
00:01.0 PCI bridge: ALi Corporation PCI to AGP Controller (rev 01)
00:02.0 USB Controller: ALi Corporation USB 1.1 Controller (rev 03)
00:04.0 IDE interface: ALi Corporation M5229 IDE (rev c3)
00:06.0 Multimedia audio controller: ALi Corporation M5451 PCI AC-Link
Controller Audio Device (rev 01)
00:07.0 ISA bridge: ALi Corporation M1533/M1535 PCI to ISA Bridge
[Aladdin IV/V/V+]
00:08.0 Bridge: ALi Corporation M7101 Power Management Controller [PMU]
00:11.0 CardBus bridge: Toshiba America Info Systems ToPIC100 PCI to
Cardbus Bridge with ZV Support (rev 32)
00:11.1 CardBus bridge: Toshiba America Info Systems ToPIC100 PCI to
Cardbus Bridge with ZV Support (rev 32)
01:00.0 VGA compatible controller: Trident Microsystems CyberBlade/i1
(rev 5d)
sirius:~# ls /sys/devices/pci0000\:00/0000\:00\:11.1
bus     device  local_cpus                    power
subsystem_device
class   driver  modalias                      resource
subsystem_vendor
config  irq     pcmcia_socket:pcmcia_socket1  resource0  vendor
sirius:~# ls /sys/bus/pcmcia/devices/
sirius:~#

As you can see, the driver for the cardbus seems to be there, but there
is no sign of my ethernet card yet.

Then I check the output of dmesg, while I manually run the cardmgr
program that is a part of the pcmcia package:

sirius:~# dmesg |tail
NET: Registered protocol family 1
NET: Registered protocol family 17
NET: Registered protocol family 15
Using IPI Shortcut mode
ACPI wakeup devices:
 COM USB1 ASND VIY0 VIY1  LAN MPC0 MPC1  LID
ACPI: (supports S0 S1 S4 S5)
VFS: Mounted root (ext2 filesystem) readonly.
Freeing unused kernel memory: 268k freed
Adding 265064k swap on /dev/hda3.  Priority:-1 extents:1 across:265064k
sirius:~#
sirius:~# cardmgr
cardmgr[10006]: watching 2 sockets
sirius:~#
sirius:~# dmesg |tail -n 23
VFS: Mounted root (ext2 filesystem) readonly.
Freeing unused kernel memory: 268k freed
Adding 265064k swap on /dev/hda3.  Priority:-1 extents:1 across:265064k
pcmcia: Detected deprecated PCMCIA ioctl usage.
pcmcia: This interface will soon be removed from the kernel; please
expect breakage unless you upgrade to new tools.
pcmcia: see
http://www.kernel.org/pub/linux/utils/kernel/pcmcia/pcmcia.html for
details.
cs: IO port probe 0x3d4-0x4ff: excluding 0x3ec-0x40b 0x47c-0x493
0x4cc-0x4db
cs: IO port probe 0x3d4-0x4ff: excluding 0x3ec-0x40b 0x47c-0x493
0x4cc-0x4db
cs: IO port probe 0x3c0-0x3d2: clean.
cs: IO port probe 0x3c0-0x3d2: clean.
cs: IO port probe 0x100-0x3af: excluding 0x200-0x207 0x220-0x22f
0x330-0x337 0x378-0x37f 0x388-0x38f
cs: IO port probe 0x100-0x3af: excluding 0x200-0x207 0x220-0x22f
0x330-0x337 0x378-0x37f 0x388-0x38f
cs: IO port probe 0xc00-0xcff: clean.
cs: IO port probe 0xc00-0xcff: clean.
cs: IO port probe 0x800-0x8ff: clean.
cs: IO port probe 0x800-0x8ff: clean.
cs: IO port probe 0xa00-0xaff: clean.
cs: IO port probe 0xa00-0xaff: clean.
cs: memory probe 0xa0000000-0xa0ffffff: clean.
  ASIC rev 1,<6>eth0: Megahertz 574B at io 0x300, irq 3, hw_addr
00:50:DA:E9:A1:33.
 64K FIFO split 1:1 Rx:Tx, autoselect MII interface.
eth0: found link beat
eth0: autonegotiation complete: 100baseT-FD selected
sirius:~#
sirius:~# pccardctl ident
Socket 0:
  no product info available
Socket 1:
  product info: "3Com", "Megahertz 574B", "", "001"
  manfid: 0x0101, 0x0574
  function: 6 (network)
sirius:~# ls /sys/bus/pcmcia/devices
1.0
sirius:~# ls /sys/bus/pcmcia/devices/1.0
allow_func_id_match  card_id  func_id   manf_id   net:eth0  prod_id1
prod_id3
bus                  driver   function  modalias  power     prod_id2
prod_id4

As you can see, the 3Com pcmcia card is now detected, and all is working
fine. Now I can connect to the internet ok. (I also did another lspci,
but the ouput from that command had not changed.)

But what worries me are the error messages that showed up in the dmesg
log. (That is why I showed you the output of dmesg before and after).

pcmcia: Detected deprecated PCMCIA ioctl usage.
pcmcia: This interface will soon be removed from the kernel; please
expect breakage unless you upgrade to new tools.
pcmcia: see
http://www.kernel.org/pub/linux/utils/kernel/pcmcia/pcmcia.html for
details.

cardmgr seems to be an outdated tool that could break in the next kernel
version. So how do I do this with the new tools that come with
pcmciutils?

It does not seem like the rules in the /etc/udev/rules.d/60-pcmcia.rules
is of any help, since no new modules needed to be loaded. I just need a
way to get the system to recognize that it has an ethernet card plugged
in after reboot, the same way that cardmgr do for me now.

Thank you for your help.

Terje Bråten.





More information about the linux-pcmcia mailing list